在命令行上将多个 jar 添加到类路径 [重复]

Posted

技术标签:

【中文标题】在命令行上将多个 jar 添加到类路径 [重复]【英文标题】:Adding multiple jars to classpath on commandline [duplicate] 【发布时间】:2014-04-04 23:50:28 【问题描述】:

我正在运行 Ubuntu,并希望通过包含多个 jar 文件从终端执行 Java 文件。

我所有的 jar 都包含在 tha jar 文件夹中。

我试过了

javac -cp jar/A.jar: jar/B.jar: jar/C.jar: jar/D.jar MyFile.java

我得到以下错误。

javac: invalid flag: jar/B.jar:
Usage: javac <options> <source files>
use -help for a list of possible option

任何人都可以指导如何在类路径中使用多个 jar 吗?

【问题讨论】:

【参考方案1】:

从类路径中删除空格并添加当前路径

javac -cp jar/A.jar:jar/B.jar:jar/C.jar:jar/D.jar:. MyFile.java

从 Java 6 开始,您可以使用类路径通配符

javac -cp jar/*:. MyFile.java

【讨论】:

如果我必须执行类文件怎么办?? 相同的类路径将适用于 JVM 谢谢。像魔术一样工作。 如果我想在 Main.java 文件所在的目录中包含一个 jar 和另一个自定义类怎么办?我试过javac -classpath ./guava-18.0.jar:. Main.java ,但没有找到自定义类。 试试javac -classpath ./guava-18.0.jar:. *.java【参考方案2】:

通过命令提示符设置的ClassPath 仅适用于当前cmd 窗口。一旦你关闭它并打开一个新的 cmd 窗口,它将无法工作。与其从命令提示符设置类路径,不如保留系统属性的相关路径:

对于窗户:

转到我的电脑--> 属性--> 高级系统设置--> 环境变量--> CLASSPATH--> 像这样输入你的路径--> path1;path2;path3;. 不要忘记保留 . (DOT)在最后。

【讨论】:

在系统级别指定特定于应用程序的 jar 不是一种方法。这就是为什么存在启动脚本通常很混乱但更灵活的原因。

以上是关于在命令行上将多个 jar 添加到类路径 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将json-simple添加到类路径后仍然无法解析简单符号[重复]

Spring Boot 从命令行执行将文件添加到类路径

在 Windows 7 上将“python2”路径添加到命令行

Spark.jars 未将 jars 添加到类路径

在 Windows 7 上将“django-admin.py”路径添加到命令行

在运行时将jar添加到类路径