Я пытаюсь настроить среду интеграционного тестирования, используя Maven для своего проекта, но получаю следующую ошибку, когда запускаю цель компиляции.
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-resources-plugin:3.0.2:ресурсы (ресурсы по умолчанию) в проекте mavenintegrationtest: ошибка при загрузке файла свойств '/Users/xxx/dev/poc/java /mavenintegrationtest/profiles/dev/config.properties' -> [Справка 1]
Ошибка, кажется, жалуется, что не может найти файл config.properties в правильном месте. По какой-то причине он удалил бит «src/main/resources» из пути к файлу.
Таким образом, правильный полный путь:
/Users/xxx/dev/poc/java/mavenintegrationtest/src/main/resources/profiles/dev/config.properties
, но по какой-то причине он удалил src/main/resources и поэтому ищет,
/Users/xxx/dev/poc/java/mavenintegrationtest/profiles/dev/config.properties
Кто-нибудь знает, что вызывает это?
Мой POM показан ниже, и я получаю эту ошибку, когда раскомментирую следующий тег «фильтр»,
<filter>${basedir}/profiles/${build.profile.id}/config.properties</filter>
Я попытался удалить оператор ${basedir} и все равно получаю ту же ошибку.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow</groupId>
<artifactId>mavenintegrationtest</artifactId>
<version>1.0-SNAPSHOT</version>
<name>mavenintegrationtest</name>
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<filters>
<filter>${basedir}/profiles/${build.profile.id}/config.properties</filter>
</filters>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
</build>
<!-- Profile configuration -->
<profiles>
<!-- The configuration of the development profile -->
<profile>
<id>dev</id>
<!-- The development profile is active by default -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
</profile>
<!-- The configuration of the integration-test profile -->
<profile>
<id>integration-test</id>
<properties>
<build.profile.id>integration-test</build.profile.id>
</properties>
</profile>
</profiles>
</project>