在Linux中,如何使用外部jar文件执行Java jar文件?

Gow*_*ham 8 java linux jar execution

在Linux中,如何使用外部jar文件执行Java jar文件?

Sea*_*oyd 11

使用-cp标志:

java -cp /path/to/somefolder/*.jar:/path/to/otherfolder/*.jar com.YourMainClass
Run Code Online (Sandbox Code Playgroud)

或者Class-Path:在jar的清单中添加一个标题(参见Jigar的答案)


回答其他人的注意事项java -jar <etc>:该-jar标志取消激活标准-cp标志和CLASSPATH环境变量,因为它从JAR清单中检索类路径.任何结合的答案,任何-jar一个-cp$CLASSPATH不起作用.

这个信息很好隐藏,但我终于找到了一个参考:

-jar
执行封装在JAR文件中的程序.第一个参数是JAR文件的名称而不是启动类名称.为了使此选项起作用,JAR文件的清单必须包含Main-Class:classname形式的一行.这里,classname标识具有public static void main(String[] args)作为应用程序起点的方法的类.有关使用Jar文件和Jar文件清单的信息,请参阅Jar工具参考页面和Java Tutorial的Jar跟踪.使用此选项时,JAR文件是所有用户类的源,并忽略其他用户类路径设置.

来源: java - Java应用程序启动器


Jig*_*shi 7

java -jar /path/to/externalJarFile.jar
Run Code Online (Sandbox Code Playgroud)

更新

您可以使用Class-Path:标头在清单中添加所需的库

例如 :

Class-Path: MyUtils.jar
Run Code Online (Sandbox Code Playgroud)

看到