【发布时间】:2011-01-08 10:06:52
【问题描述】:
虽然信息量很大,但它们并不足以让我发现问题的根源。我的代码不包含在 JAR 文件中,并且客户要求我们不要这样发货。
我在 Eclipse 中构建了应用程序,然后它运行良好。我已经设置了一个脚本,该脚本将修改其中一个 java 文件的 main 方法以进行测试。我想在修改后使用来自 Python 的调用来运行应用程序。但是,当我尝试使用java 或java -cp . 调用程序时,从命令行出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: DemoAPIFunctionality
Caused by: java.lang.ClassNotFoundException: DemoAPIFunctionality
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: DemoAPIFunctionality. Program will exit.
我的项目依赖于几个不在根目录中的 JAR 和一个 DLL 文件,同样不在根目录中。我希望它与其中一个的位置有关,但我不确定并且进展甚微。这里是DemoAPIFunctionality.java:
public class DemoAPIFunctionality
{
public final static void main(String[] args)
{
DemoAPIFunctionality demo = new DemoAPIFunctionality();
如果对您有所帮助,我很乐意列出更多信息。 (不,我不是体育经纪人。)我需要做些什么才能让它至少从命令行工作?
提前致谢。
【问题讨论】:
-
DemoAPIFunctionality在包中吗? (如果您可以显示完整的源代码,那将有所帮助。)您的目录和文件结构是什么?.class文件位于何处?
标签: java command-line classnotfound