У меня есть мой проект, чтобы загрузить файлы свойств из пути к классам. Как я могу указать каталог этих файлов свойств, чтобы Maven установил это в пути к классам перед запуском тестов?Maven - Добавить каталог в путь к классам при выполнении тестов
ответ
Вы можете использовать build-helper-maven-plugin для указания дополнительных каталогов тестовых ресурсов следующим образом. Используя приведенную ниже конфигурацию, содержимое каталога тест-ресурсов будут скопированы в каталог целевой/тест-классов в течение порождающих испытаний источников фаза:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>add-test-resource</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>path/to/additional/test/resources</directory>
<excludes>
<exclude>**/folder-to-exclude/**</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Если вы просто хотите поставить свою собственность файлы где-то на диске, и не хотите, чтобы скопировать эти файлы свойств целевой/тест-классов во время сборки, вы можете сделать это таким образом
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>/add/this/to/path</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
К сожалению, m2e не забирает конфигурацию Surefire при выполнении тестов из Eclipse. Слишком плохо, потому что это немного проще, чем цель add-test-resource build-helper-maven-plugin. – thSoft
Почему бы просто не использовать test/resources
и разместить свои свойства в пути к классам от это пункт. Они будут только на тестовой стадии.
У одной есть только одна такая папка, но часто более чем одна тестовая среда. – 30thh
Проверьте профили maven, друг мой. –
Если у вас есть несколько ресурсов, вы можете использовать профиль maven и поместить различные ресурсы в соответствии с профилем, который вы тестируете.
test/resources/uat
test/resources/prod
test/resources/dev
Но если вы обычно работают на жидком нужно, что вы делаете тест интеграции, то вам не нужно наращивание хелперов-Maven-плагин.
maven-resources-plugin
имеет цель copy-resources
, которая позволит вам копировать ресурсы. Например:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>additional-resources</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/conf</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Это будет копировать содержимое папки conf
в базе Вашего проекта в папку target/test-classes
(если не изменено project.build.testOutputDirectory), который будет добавлен к классам во время модульных тестов ,
Вы также можете добавить новые папки тестовых ресурсов.
<build>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/something_else</directory>
</testResource>
</testResources>
</build>
Первый путь, src/test/resources
, по умолчанию. Предполагая, что вы все еще хотите использовать путь по умолчанию, убедитесь, что он включен. (Тег testResources
перезаписывает ваши значения по умолчанию, поэтому, если вы не указали путь по умолчанию явно, он перестанет использоваться.)
Это сработало для меня. +1 для указания необходимости дефолта. –
Это именно то, что я искал, спасибо! Гораздо проще, чем принятое решение 'build-helper-maven-plugin'. Для тех, кто ищет хороший способ сделать это, конструкцию '
- 1. Gradle - добавить каталог в путь к классам
- 2. NetBeans + Maven, путь к классам
- 3. Добавить каталог конфигурации в путь к классам, используя весеннюю загрузку
- 4. команда Maven: добавить путь к классам каталога для выполнения Java
- 5. Maven: добавить внешнюю папку jar в путь к классам
- 6. Как добавить ресурсы в путь к классам плагинов Maven?
- 7. Исключение геба при выполнении тестов в maven
- 8. Исключение при выполнении интеграционных тестов в maven
- 9. Добавить сгенерированный файл сборки в путь к классам
- 10. maven-assembly-plugin, предваряющий путь к классам
- 11. Maven - специфичный для проекта путь к классам
- 12. Как добавить ресурсы в путь к классам
- 13. maven добавить каталог локальных классов в путь к модулю
- 14. Clojure - добавить файл в путь к классам
- 15. Добавить servlet.jar в мой путь к классам
- 16. Добавление файла .jar в путь к классам через maven
- 17. В Maven, каким образом используется путь к классам?
- 18. Как добавить log4j2.xml в путь к классам в проекте Netbeans maven
- 19. как добавить Maven путь к классам при подаче задания Hadoop в узел Hadoop
- 20. Аркильские файлы в пути к классам, хотя они не определены в WebArchive при выполнении тестов
- 21. Установить пользовательский путь к классам maven-jar-plugin
- 22. Хадсон не использует порожденный Maven путь к классам?
- 23. Добавить файлы конфигурации пружинных к пути к классам при выходе из Maven зависимостях
- 24. изменения в Appassembler путь к классам - Maven Plug-In
- 25. Как передать каталог src в путь к классам с плагином maven eclipse
- 26. Как добавить каталог в путь к определенному контенту Tomcat 7?
- 27. Как указать дополнительный путь к классам в командной строке при запуске приложения Spring Boot через Maven?
- 28. Как добавить путь к jar в maven?
- 29. Добавить путь к классам манифестировать с дескриптором пользовательские сборки
- 30. Путь печати spring.xml в пути к классам
Это не имеет значения функционально, но для упорядоченности фаза не должна генерировать-тест -ресурсы вместо генерации-тестовых источников? – thSoft