У меня есть файл свойств со следующими
junit.version=3.8.1
dbcp.version=5.5.27
oracle.jdbc.version=10.2.0.2.0
Я пытаюсь прочитать эти свойства из моего pom файла, как показано ниже.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>dbcp</groupId>
<artifactId>dbcp</artifactId>
<version>${dbcp.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>${oracle.jdbc.version}</version>
<scope>provided</scope>
</dependency>
и конфигурация плагина
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<!-- Associate the read-project-properties goal with the initialize phase, to read the properties file. -->
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>../live.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
Я нахожу, что когда я запускаю mvn clean install, он не находит свойства, вместо этого он вызывает следующие ошибки:
'dependencies.dependency.version' for junit:junit:jar must be a valid version but is '${junit.version}'. @ line 23, column 16
'dependencies.dependency.version' for dbcp:dbcp:jar must be a valid version but is '${dbcp.version}'. @ line 31, column 12
'dependencies.dependency.version' for com.oracle:ojdbc14:jar must be a valid version but is '${oracle.jdbc.version}'. @ line 37, column 13
Вышеупомянутые ошибки оказываются в ситуациях, когда я ссылаюсь на свойство, когда я объявляю зависимость. Я обнаружил, что в некоторых других ситуациях свойство считывается из файла. Например, он работает, если я использую свойство в теге версии проекта (не версия зависимостей)
Кажется, что свойство не считывается из файла, если оно ссылается на объявление зависимости, но читается, если его ссылают из другого места. Любые идеи?