设置类路径仍然无法找到外部Jar

时间:2012-02-25 00:23:12

标签: java vlcj

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

  • jna.jar
  • platform.jar

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

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

它找不到JNA库中的类。我是Java的新手,我的搜索没有揭示可能的答案。所以我希望有人可以帮忙回答:

我该如何调试?为什么找不到罐子?我的-classpath做错了什么?

提前谢谢!

1 个答案:

答案 0 :(得分:5)

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

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

(其中com.foo.Bar是包含main方法的类,即应用入口点。)

请参阅Java options docs - 一旦指定jar,就会丢弃所有其他类路径信息,并且您指定的jar必须包含所有用户类。


不相关,但我总是尽量避免在Windows上使用空格的路径。好吧,到处都是,但特别是在处理与Java相关的东西时。它应该工作,并且通常会这样做,但是当它没有(我正在看着你,某些应用服务器的某些版本)时会有边缘情况。