1

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

我正在尝试像这样运行我的 jar:

java -jar myJar.jar -cp externalJar.jar

jar 文件执行得很好,但我想在外部文件中查找类。我不能将其他类包含到我的 jar 中,因为我希望能够将任何 jar 文件与我的 Jar 文件放在同一个文件夹中并在其中查找类。

现在唯一的方法是像这样运行我的应用程序:

java -cp myJar.jar;externalJar.jar MainClass

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

4

2 回答 2

1

当您使用 -jar 选项时,似乎完全忽略了 -cp 选项。至少这是您可以在 java 手册页上阅读的关于 -jar 选项的内容:

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

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

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

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

于 2013-06-12T16:22:44.753 回答
0

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

于 2013-06-12T16:04:35.187 回答