Java运行jar文件&包括外部罐子

时间:2013-06-12 15:56:27

标签: java jar include external

有没有办法在运行.jar应用程序时传递外部jar文件?

我正试图像这样运行我的罐子:

java -jar myJar.jar -cp externalJar.jar

jar文件执行正常,但我想在外部文件中查找类。我不能将其他类包含到我的jar中,因为我希望能够将任何jar文件放在与我的Jar文件相同的文件夹中,并在那里查找类。

现在实现此目的的唯一方法是运行我的应用程序:

java -cp myJar.jar;externalJar.jar MainClass

我不想显式输入我的MainClass的路径来运行它的main方法。

2 个答案:

答案 0 :(得分:1)

使用-jar选项时,似乎完全忽略了-cp选项。至少这是你可以在java关于-jar选项的联机帮助页面上阅读的内容:

  

执行封装在JAR文件中的程序。第一个论点是   JAR文件的名称而不是启动类名称。为了   要使用此选项,JAR文件的清单必须包含一行   Main-Class形式:classname。这里,classname标识了   类具有public static void main(String [] args)方法   作为您的应用程序的起点。请参阅Jar工具   参考页面和Java Tutorial的Jar跟踪信息   关于使用Jar文件和Jar文件清单。

     

使用此选项时, JAR文件是所有用户类和其他用户的来源   类路径设置被忽略。

     

请注意,可以使用“java -jar”选项运行的JAR文件可以   设置了执行权限,以便可以在不使用的情况下运行它们   “java -jar”。请参阅Java Archive(JAR)文件。

我在这篇博文中找到了这个:http://happygiraffe.net/blog/2009/04/30/java-jar-blats-your-classpath/

答案 1 :(得分:0)

您是否尝试在启动期间将特定文件夹添加到类路径中,然后将jar文件添加到该文件夹​​中?

相关问题