У меня есть проект бэкэнда java, который включает службы для импорта данных из базы данных. Во время работы над новыми функциями мне иногда нужно развернуть и запустить код на моей локальной машине. Поскольку на самом деле я не хочу подключаться к производственной базе данных при запуске экспериментального кода, я настроил макет класса данных с использованием Mockito.Исключая Mock Datasource In Maven Профиль
Mock datasource отлично работает и делает то, что я хочу, работая локально. Проблема, с которой я сталкиваюсь, заключается в том, что я не хочу включать этот класс и связанные с ним зависимости при выполнении производственного развертывания. Я добавил раздел <excludes>
в раздел конфигурации maven-compiler-plugin. Я добавил конкретные зависимости Mock к разделу «локальный» профиль. Однако, когда я пытаюсь выполнить компиляцию с использованием maven, я получаю ошибки компиляции в классе mock datasource, который должен был быть исключен. Я опубликую соответствующие фрагменты из моего .pom-файла ниже. Я попытался помещать оператор исключений в определенный профиль и в «default», как показано ниже. Любая помощь с этим была бы весьма признательна.
<profiles>
<profile>
<id>local</id>
<properties>
<config>config.dev.properties</config>
</properties>
<dependencies>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</profile>
...
</profiles>
<build>
<finalName>order</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<excludes>
<exclude>com/tura/order/guice/mock/**</exclude>
</excludes>
<compilerId>groovy-eclipse-compiler</compilerId>
</configuration>
</plugin>
</plugins>
</build>
Я не уверен, что решение будет работать для этого проекта, но я могу дать ему шанс, если я не смогу найти лучший способ. Не могли бы вы указать мне на учебник или пример где-нибудь, где объясняется, как настроить проект, как вы описали? – pbuchheit