当前位置: 代码迷 >> J2SE >> java.lang.NoClassDefFoundError 求解决解决办法
  详细解决方案

java.lang.NoClassDefFoundError 求解决解决办法

热度:122   发布时间:2016-04-23 20:24:10.0
java.lang.NoClassDefFoundError 求解决
在eclipse环境下运行都正常,将class文件拷贝到unix环境下,运行就报:
线程 "main" 中发生异常java.lang.NoClassDefFoundError: signStampSend.class
Caused by: java.lang.ClassNotFoundException: signStampSend.class
        at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:653)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
Could not find the main class: signStampSend.class. Program will exit
.
这是什么原因啊,求大神指导! 
------解决方案--------------------
这个类signStampSend  是注入的吗?
检查一下
------解决方案--------------------
是否 signStampSend.class 里面有package 包路径呢?
放到unix下面没有设置相关的package路径,导致Could not find the main class: signStampSend.class. Program will exit
------解决方案--------------------
signStampSend.class 里面有main方法入口吗?

引用:
没有包路径

------解决方案--------------------
linux下面路径设置的问题 看看/etc/profile这个文件的classpath
------解决方案--------------------
引用:
Quote: 引用:

linux下面路径设置的问题 看看/etc/profile这个文件的classpath

我没有设置classpath啊,我加载的jar包都是全路径写的
/usr/java6/bin/java -cp /home/lfa/lib/axis.jar:/home/lfa/lib/ojdbc.jar /home/lfa/bin/signStampSend.class

追加 上dt.jar  tools.jar
------解决方案--------------------
/usr/java6/bin/java -cp  /home/lfa/lib/axis.jar:/home/lfa/lib/ojdbc.jar /home/lfa/bin/signStampSend.class   signStampSend

或者 到signStampSend.class 所在目录
java -cp .  /home/lfa/lib/axis.jar:/home/lfa/lib/ojdbc.jar signStampSend
 注意 . 
------解决方案--------------------
2边环境统一,是不是缺少jar
------解决方案--------------------
这个问题我遇到过,与classloader的机制有关系。
------解决方案--------------------
确认下有main方法类的包名是否正确
  相关解决方案