0

我在 Windows 环境中的 E:/foo/bar 文件夹中。我有一个 jar 文件作为 E:/foo/bar/a.jar。在 foo/bar 里面也有很多 jar 文件。在 foo/bar 下还有另一个名为 ext 的目录。它还包括很多 jar 文件。

我想使用包含在类路径(当前目录和 ext 目录)中的那些 jar 来运行 a.jar。所以我用了这个。

java -jar a.jar -classpath *:/ext/*

这没有用。我没有在 a.jar 的 MANIFEST.MF 中添加任何条目,认为这将从 -classpath 条目中获取。我在这里做错了什么?

谢谢

4

1 回答 1

1

如果指定,-classpath则忽略该选项。-jar

我可以看到两种可能的行动方案:

  1. 将清单放在指定其他 Jar的主 Jar中。
  2. 在运行时指定类路径。
    1. 删除-jar调用的选项。
    2. 指定所有依赖的jar
    3. 将完全限定的类名添加到命令的末尾,例如
      java -classpath *:/ext/* com.our.MainClass
于 2012-01-25T11:36:52.240 回答