繁体   English   中英

使用jar库包编译和执行Java程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM