[英]java.lang.NoClassDefFoundError at Runtime: Need Class not on Classpath
I have tried several approaches as suggested on this website as well as several others to no avail. 我尝试了本网站上建议的几种方法,但也没有尝试其他几种方法。
-Running Angstrom embedded Linux, OpenJDK6, Shark VM. -运行Angstrom嵌入式Linux,OpenJDK6,Shark VM。
All .java and .jar files are stored in directory ./src 所有.java和.jar文件都存储在目录./src中
jarfiles: j1.jar j2.jar jarfiles:j1.jar j2.jar
Source code: Coder.java, WrapperClass.java 源代码:Coder.java,WrapperClass.java
Successfully compiles, outputs Coder.class, WrapperClass.class, as well as several other files including Coder$1.class through Coder$6.class, as well as Coder$Main_thread.class and Coder$Progress_Bar_Thread.class, any insight onto what all these .class files are for? 成功编译,输出Coder.class,WrapperClass.class以及其他几个文件,包括通过Coder $ 6.class编写的Coder $ 1.class以及Coder $ Main_thread.class和Coder $ Progress_Bar_Thread.class,可了解所有这些内容.class文件用于?
Run attempts all terminate in java.lang.ClassNotFoundException. 运行尝试均终止于java.lang.ClassNotFoundException。
Thank you very much for your help. 非常感谢您的帮助。 I have run this on NetBeans and can verify that it's functional code, just a matter of getting it to run on Linux.
我已经在NetBeans上运行了它,并且可以验证它的功能代码,仅是使其在Linux上运行即可。
Stacktrace is: Stacktrace是:
Exception in thread "main" java.lang.NoClassDefFoundError: Package/Coder Caused by: java.lang.ClassNotFoundException: Package.Coder 线程“主”中的异常java.lang.NoClassDefFoundError:程序包/编码器原因:java.lang.ClassNotFoundException:Package.Coder
at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method) 在java.security.AccessController.doPrivileged(本机方法)
at java.net.URLClassLoader.findClass(URLClassLoader.java:321) 在java.net.URLClassLoader.findClass(URLClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334) 在java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: Package.Coder. 找不到主类:Package.Coder。 Program will exit
程序将会退出
Assuming this structure 假设这种结构
/coder
/src
/Package
/Coder.java
/WrapperClass.java
/j1.jar
/j2.jar
You will need to compile from /src
as 您将需要从
/src
编译为
javac -cp j1.jar:j2.jar Package/Coder.java Package/WrapperClass.java
This will create .class
files in /Package
. 这将在
/Package
创建.class
文件。 You can then run it, again from /src
as 然后,您可以再次从
/src
运行它
java -cp j1.jar:j2.jar Package.Coder
assuming the Coder
class has a main
method which is your entry point. 假设
Coder
类具有main
方法,这就是您的入口点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.