代码之家  ›  专栏  ›  技术社区  ›  racumin

基于maven构建生成类路径字符串

  •  1
  • racumin  · 技术社区  · 7 年前

    我的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
    

    CLASSPATH=./lib/*
    

    问题是,当我回显类路径时,它按字母顺序加载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
    

    CLASSPATH=C:\.m2\repository\com\project\3.jar;\.m2\repository\com\project\1.jar;...
    

    我认为我可以修改生成的输出,但我正在寻找更好的解决方案。

    有什么想法吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Community CDub    4 年前

    您可以使用 prefix 参数到 dependency:build the docs

    前缀

    每个依赖工件上的前缀。如果未定义,则路径指的是存储在本地存储库中的实际文件(stripVersion参数则不执行任何操作)。

    例如:

    mvn dependency:build-classpath -Dmdep.outputFile=cp.txt -Dmdep.prefix=/lib