1

我正在尝试从命令行运行 VLCJ 测试 jar。VLCJ 需要两个外部 JAR

  • jna.jar
  • 平台.jar

如果我将这些 jar 放在与我尝试运行的可执行 jar 相同的目录中,我可以成功运行它。但是,如果我将它们放在自己的目录中并执行以下操作:

java -classpath "C:\Users\Constantin\workspace\Java Libraries\JNA" -jar executable.jar

它无法从 JNA 库中找到类。我对 Java 很陌生,我的搜索没有找到可能的答案。所以我希望有人可以帮助回答:

我该如何调试?为什么找不到罐子?我的 -classpath 有问题吗?

先感谢您!

康斯坦丁

4

1 回答 1

6

显式包含 jar,或使用简单的*通配符,但包含可执行 jar。在命令行上指定可执行 jar 的main类(它将在清单中)。

java -classpath "C:\Users\Constantin\workspace\Java Libraries\JNA\*;executable.jar" com.foo.Bar

com.foo.Bar(包含main方法的类,应用程序入口点在哪里。)

请参阅Java 选项文档——一旦jar指定,所有其他类路径信息都将被丢弃,并且您指定的 jar 必须包含所有用户类。


不相关,但我总是尽量避免在 Windows 上包含空格的路径。嗯,无处不在,尤其是在处理与 Java 相关的东西时。它应该可以工作,并且通常可以,但是在某些情况下它不能工作(我在看你,一些应用服务器的某些版本)。

于 2012-02-25T00:32:38.413 回答