我位于 Windows 环境中的 E:/foo/bar 文件夹内。我有一个 jar 文件,名为 E:/foo/bar/a.jar。 foo/bar 里面还有很多 jar 文件。另外,在 foo/bar 下还有另一个名为 ext 的目录。它还包含许多 jar 文件。
我想运行 a.jar 并将这些 jar 包含在类路径(当前目录和 ext 目录)中。所以我就用了这个。
java -jar a.jar -classpath *:/ext/*
这不起作用。我没有在 a.jar 的 MANIFEST.MF 中添加任何条目,认为这将从 -classpath 条目中获取。我在这里做错了什么?
谢谢
最佳答案
如果指定了 -jar
,则忽略 -classpath
选项。
我可以看到两种可能的行动方案:
- 将 list 放入主 Jar 中,指定其他 Jars。
- 指定运行时的类路径。
- 删除调用的
-jar
选项。 - 指定所有依赖的Jars
- 将完全限定的类名添加到命令末尾,例如
java -classpath *:/ext/* com.our.MainClass
- 删除调用的
关于java - 使用文件夹中的 jar 执行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001518/