有没有办法在运行.jar
应用程序时传递外部jar文件?
我正试图像这样运行我的罐子:
java -jar myJar.jar -cp externalJar.jar
jar文件执行正常,但我想在外部文件中查找类。我不能将其他类包含到我的jar中,因为我希望能够将任何jar文件放在与我的Jar文件相同的文件夹中,并在那里查找类。
现在实现此目的的唯一方法是运行我的应用程序:
java -cp myJar.jar;externalJar.jar MainClass
我不想显式输入我的MainClass的路径来运行它的main方法。
答案 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文件添加到该文件夹中?