我正在尝试向system
我的 POM 添加范围依赖项。诀窍是我没有systemPath
. 相反,我有一个属性文件的路径,其中包含我可以用作路径的属性。
我尝试使用properties-maven-plugin来处理这个问题,但似乎系统依赖项在插件运行之前得到了解决,因此我试图定义的属性还不够快。
这是我的 POM 的部分:
<profiles>
<profile>
<id>dylink</id>
<dependencies>
<dependency>
<artifactId>outside-lib</artifactId>
<groupId>com.foo</groupId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${outsidelib.location}/outside-lib.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>C:\path\to\file.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
我运行类似的东西mvn -P dylink compile
并被告知 mysystemPath
无效,因为它不是绝对路径。(该属性包含绝对路径)
或者,还有其他方法可以做到这一点吗?我需要能够查询主机系统以获取系统范围依赖项的位置。仅将路径硬编码到 POM 中是行不通的。