在命令行上将多个 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添加到类路径后仍然无法解析简单符号[重复]
在 Windows 7 上将“python2”路径添加到命令行