[英]Compiling and executing a java program with a jar library package
我正在尝试编译和执行使用JTidy的Java程序。 我设法使用以下命令来编译程序:
javac -classpath jtidy-r938.jar @sourcefile
这似乎工作正常。 但是,当我尝试使用以下命令运行程序时(Top是包含程序主要部分的类的名称):
java -classpath jtidy-r938.jar Top
我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Top
Caused by: java.lang.ClassNotFoundException: Top
...
Could not find the main class: Top. Program will exit.
通过简单的解决方案,这很可能是一个非常愚蠢的问题,但这却使我发疯。 请帮忙!!
您是否在使用Top
类的完全限定名称,即您的Top
类没有包装? 如果不是,则需要提供完全限定的类名才能使上述命令起作用。 确保您还通过将其他JAR依赖项与之分开来将它们放入类路径中;
或:
取决于您的目标平台。
编辑:另外,如下所述,请确保还包括.
(或适当的位置)在类路径中,如果您的类依赖关系不仅在JAR中,而且在文件系统中也为.class
文件。
您正在删除路径“。” (当前目录)在设置时来自类路径。
试试java -classpath .;jtidy-r938.jar Top
。
这样,它应该可以找到您的班级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.