我的pom.xml中有依赖项,如下所示:
<dependency>3.jar</dependency>
<dependency>1.jar</dependency>
<dependency>4.jar</dependency>
<dependency>2.jar</dependency>
我有一个maven项目,在部署时,会有一个像这样的目录结构:
myproj/
|_lib/
|_1.jar
|_2.jar
|_3.jar
|_4.jar
|_start.sh
start.sh加载lib文件夹中的所有jar,如下所示:
CLASSPATH=./lib/*
问题是,当我回显CLASSPATH时,它会按字母顺序加载jar:
CLASSPATH=/lib/1.jar;/lib/2.jar;/lib/3.jar;/lib/4.jar;
我希望它成为maven使用的:
CLASSPATH=/lib/3.jar;/lib/1.jar;/lib/4.jar;/lib/2.jar;
我能做到
mvn dependency:build-classpath -Dmdep.outputFile=cp.txt
但它打印出我本地存储库中的jar:
CLASSPATH=C:\.m2\repository\com\project\3.jar;\.m2\repository\com\project\1.jar;...
我想我可以修改生成的输出,但我正在寻找更好的解决方案。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
您可以使用prefix
参数dependency:build
。来自the docs:
前缀
前缀在每个依赖工件上。如果未定义,则路径引用本地存储库中的实际文件存储(stripVersion参数不执行任何操作)。
用户属性是:mdep.prefix。
例如:
mvn dependency:build-classpath -Dmdep.outputFile=cp.txt -Dmdep.prefix=/lib