Maven -Чтение свойства из внешнего файла свойств

У меня есть файл свойств со следующим

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

Вышеупомянутые сбои появляются быть в ситуациях, когда я ссылаюсь на свойство, когда объявляю зависимость. Я обнаружил, что в некоторых других ситуациях свойство читается из файла. Например, это работает, если я использую свойство в теге версии проекта (, а не версии зависимости )

. Кажется, что свойство не читается из файла, если на него ссылается объявление зависимости, но читается, если на него ссылаются из где-нибудь еще. Любые идеи?

17
задан ziggy 28 March 2012 в 18:21
поделиться