Java从命令行运行JAR文件并指定类路径
我已经编译了一个JAR文件,并在清单中指定了Main-Class(我使用了Eclipse Export函数)。我的依赖项都在标有的目录中lib
。在指定应将JAR文件lib/*
用作类路径的同时,我似乎无法获得关于如何执行我的JAR文件的直接答案。
我试过了:
]$ java -jar -cp .:lib/* MyJar.jar]$ java -cp .:lib/* -jar MyJar.jar
]$ java -cp .:lib/* com.somepackage.subpackage.Main
等等…
每个都给出一个错误说:
Error: Could not find or load main class ....
或NoClassDefFoundError指示未找到库。
我什至尝试重新制作JAR文件,并包括lib目录和内容,但仍然没有问题。
如何从命令行执行JAR文件并指定要使用的类路径?
回答:
指定-jar
后,该-cp
参数将被忽略。
从文档中:
使用此选项时,JAR文件是所有用户类的源,而其他用户类路径设置将被忽略。
你也不能将所需的jar文件“包含”到另一个jar文件中(你需要提取它们的内容并将.class文件放入你的jar文件中)
你有两种选择:
将lib
目录中的所有jar文件都包含到清单中(你可以在其中使用相对路径)
使用以下命令在命令行中指定所有内容(包括 jar)-cp:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
以上是 Java从命令行运行JAR文件并指定类路径 的全部内容, 来源链接: utcz.com/qa/436215.html