类未找到错误,但类位于类路径中的JAR文件中
问题描述:
从命令行调用Java类时Java无法找到可执行类,即使它位于类路径中的JAR文件中。我在Python脚本中调用了这个函数,但是同样的行为发生在命令行上(Windows上的DOS)。任何人都可以建议吗?类未找到错误,但类位于类路径中的JAR文件中
c:\nco> java -mx1200m -cp C:\tmp\lib\indices-0.0.2-SNAPSHOT.jar nidis.indices.GriddedIndexCalculator
Error: Could not find or load main class nidis.indices.GriddedIndexCalculator
c:\nco> jar -tf C:\tmp\lib\indices-0.0.2-SNAPSHOT.jar | find "GriddedIndexCalculator"
nidis/indices/GriddedIndexCalculator.class
答
由于安全原因,当您使用java -jar
运行Java时,Java省略了类路径变量。
解决的办法是在MANIFEST.MF
文件的Class-Path:
属性中定义相关性。
这个类有主要方法吗? – sidgate 2014-09-05 13:39:53
为什么不是java -jar C:\ tmp \ lib \ indices-0.0.2-SNAPSHOT.jar? – JSlain 2014-09-05 13:46:46
是的,这里有一个主要的方法。在类路径中还有其他的JAR,为了简洁起见,所讨论的单个JAR文件仅仅被显示。 – 2014-09-05 14:44:59