Tôi có một tập tin bất động sản như sauMaven - Đọc một tài sản từ một thuộc tính bên ngoài tập tin
junit.version=3.8.1
dbcp.version=5.5.27
oracle.jdbc.version=10.2.0.2.0
Tôi cố gắng đọc những thuộc tính từ tập tin pom của tôi như hình dưới đây
<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>
và cấu hình 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>
Tôi thấy rằng khi tôi chạy cài đặt sạch sẽ không tìm thấy thuộc tính, thay vào đó nó sẽ xuất hiện các lỗi sau:
'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
Các lỗi trên có vẻ như trong trường hợp tôi đề cập đến thuộc tính khi tôi khai báo sự phụ thuộc. Tôi thấy rằng trong một số trường hợp khác, tài sản được đọc từ tệp. Ví dụ: nó hoạt động nếu tôi sử dụng thuộc tính trên thẻ phiên bản dự án (không phải phiên bản phụ thuộc)
Dường như thuộc tính không được đọc từ tệp nếu được nhắc từ khai báo phụ thuộc nhưng được đọc nếu được gọi từ bất cứ nơi nào khác. Bất kỳ ý tưởng?
điểm của việc có những phiên bản trong một tệp riêng là gì? – artbristol
Tôi đang chia sẻ tệp thuộc tính đó với một dự án khác tạo lớp phủ chiến tranh bằng các phiên bản. – ziggy