Ho un file di proprietà con il seguenteMaven - La lettura di un immobile da una proprietà esterne File
junit.version=3.8.1
dbcp.version=5.5.27
oracle.jdbc.version=10.2.0.2.0
provo a leggere quegli oggetti di mio file pom come illustrato di seguito
<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>
e la configurazione del plugin
<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>
trovo che quando ho eseguito mvn nuova installazione non trova le proprietà, invece si arriva wi th i seguenti errori:
'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
I fallimenti sopra appaiono in situazioni in cui i riferimento alla proprietà quando dichiaro la dipendenza. Ho trovato che in alcune altre situazioni la proprietà viene letta dal file. Ad esempio funziona se uso una proprietà sul tag di versione del progetto (non la versione di dipendenza)
Sembra che la proprietà non venga letta dal file se viene richiamata dalla dichiarazione di dipendenza ma viene letta se riferita a da qualsiasi altra parte. Qualche idea?
Qual è il punto di avere quelle versioni in un file separato? – artbristol
Sto condividendo quel file di proprietà con un altro progetto che crea un overlay di guerra usando le versioni. – ziggy