gpt4 book ai didi

command-line - 如何使用 .m2 中的所有 .jar 进行编译?

转载 作者:行者123 更新时间:2023-12-04 23:08:14 25 4
gpt4 key购买 nike

我正在尝试调试 mvn compile具有许多依赖项的文件 javac .

这就是我试图做到这一点的方式:

CLASSPATH=`find ~/.m2 -name *.jar -print0`; javac -verbose BogusFile.java

我的问题是我不知道如何告诉 find 用 unix 文件分隔符( : )分隔找到的每个 jar。

也许是 -printf有解决方案吗?

最佳答案

抱歉,我无法回答您的问题,但提供了其他可能的解决方案。

如果你需要为你的 Maven 项目构建一个类路径,你可以运行 Maven Dependency Plugin 的 copy-dependencies 目标。在您的项目中:

mvn dependency:copy-dependencies

Maven 会将您项目的所有依赖项(也是可传递的)复制到 target/dependency目录和类路径可以设置为 target/dependency/*; (您仍然必须包含您的 Artifact jar )。

示例:

代码:
import org.apache.commons.lang.WordUtils;
import org.apache.log4j.Logger;

public class Bogus {

private static final Logger LOG = Logger.getLogger(Bogus.class);

public static void main(final String[] args) {
LOG.debug(WordUtils.capitalize("hello world"));
}
}

目录:
C:.

├───src
│ └───main
│ └───java
│ Bogus.java

└───target
└───dependency
commons-lang-2.6.jar
log4j-1.2.16.jar

编译命令:
.....\bogus>javac -cp target\dependency\*; src\main\java\Bogus.java

结果:
C:.

├───src
│ └───main
│ └───java
│ Bogus.class
│ Bogus.java

└───target
└───dependency
commons-lang-2.6.jar
log4j-1.2.16.jar

关于command-line - 如何使用 .m2 中的所有 .jar 进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6073176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com