我在我的项目中使用外部专有jar.当我在我的pom.xml中对路径进行硬编码时,它可以正常工作:
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>bar</artifactId>
<version>5.2</version>
<scope>system</scope>
<type>jar</type>
<systemPath>D:\workspace\myproj\external\companyname\lib\proprietary_api.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用$ {basedir}变量时,maven无法找到jar:
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>bar</artifactId>
<version>5.2</version>
<scope>system</scope>
<type>jar</type>
<systemPath>${basedir}\external\companyname\lib\proprietary_api.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
pom位于D:\ workspace\myproj中
这也需要跨平台兼容(在Windows上开发,在Linux上部署).
谢谢!
我不确定这是否有帮助,但请尝试使用正斜杠 ( /) 而不是向后\斜杠 ( ) 。另外,尝试使用mvn -eand运行它mvn -X(后者会产生大量调试行) - 这可能会帮助您查明问题。
这是一个例子:
${basedir}以您想要的方式使用。
顺便说一句,为什么不mvn install:install-file使用依赖项而不是使用systemPath?看:
| 归档时间: |
|
| 查看次数: |
14533 次 |
| 最近记录: |