社区
Java EE
帖子详情
系统报java.lang.NoClassDefFoundError错误
lazyfox
2012-10-24 10:01:50
我就很郁闷阿,刚刚开始的时候也没有出现这个问题,后来也没有对这块的代码做更改,怎么就报这种错误呢。
现在的情况是:Tomcat启动正常,系统许多功能正常,但是点击部分功能的时候就会出现这个错误。请问大家有碰到过这种问题么?小弟在这里先谢谢各位咯、
...全文
229
10
打赏
收藏
系统报java.lang.NoClassDefFoundError错误
我就很郁闷阿,刚刚开始的时候也没有出现这个问题,后来也没有对这块的代码做更改,怎么就报这种错误呢。 现在的情况是:Tomcat启动正常,系统许多功能正常,但是点击部分功能的时候就会出现这个错误。请问大家有碰到过这种问题么?小弟在这里先谢谢各位咯、
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lazyfox
2012-10-25
打赏
举报
回复
嗯 。谢谢哥们 。
最后找负责人,他说忘记给我几个dll文件了,我晕倒了、。。。。
加进去就好了,好像是公司人写的连接打印机,还有其它的什么东西的文件。
最后,感谢大家的回复。祝大家生活愉快,事业顺心!
lazyfox
2012-10-24
打赏
举报
回复
大哥真人也,哈哈,就是这个问题。[Quote=引用 4 楼 的回复:]
这问题一般是jar包问题,多或者少的事情。
[/Quote]
lazyfox
2012-10-24
打赏
举报
回复
我shit,找到原因了。原来 是个ProductLineModel类中定义了加载Java2C类库。
static
{
System.loadLibrary("Java2C");
}
去掉就好了,可是我想问下,这个是去哪加载?一般项目没有做更改,为啥会有问题呢?
[Quote=引用 3 楼 的回复:]
jar包打包好没关系(不需要知道jar包中源码的),只要找到项目中使用jar包中类的入口点就行,希望找到欲使用却找不到的类的类名
createNewModel开始往下
[/Quote]
dracularking
2012-10-24
打赏
举报
回复
不都是一样的错误吗?只不过你现在列出的stack trace自forName0以下有更详细的了
java.lang.UnsatisfiedLinkError:
no Java2C in java.library.path
看一下Java2C什么类,应该在哪个jar包的
lazyfox
2012-10-24
打赏
举报
回复
刚刚细细查看下发现、。
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
com.innet.base.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:72)
root cause
java.lang.UnsatisfiedLinkError: no Java2C in java.library.path
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
java.lang.Runtime.loadLibrary0(Runtime.java:822)
java.lang.System.loadLibrary(System.java:993)
com.innet.application.model.ProductLineModel.<clinit>(ProductLineModel.java:33)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
com.icbc.marmot.core.model.ModelEngine.createNewModel(ModelEngine.java:32)
com.icbc.marmot.core.controller.BaseAction.execute(BaseAction.java:87)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.innet.base.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:72)
第一次打开页面的时候报上面的错误,再刷新的时候就一直报帖子里面的那个截图错误了。[Quote=引用 3 楼 的回复:]
jar包打包好没关系(不需要知道jar包中源码的),只要找到项目中使用jar包中类的入口点就行,希望找到欲使用却找不到的类的类名
createNewModel开始往下
[/Quote]
花谢尊前不敢香
2012-10-24
打赏
举报
回复
这问题一般是jar包问题,多或者少的事情。
dracularking
2012-10-24
打赏
举报
回复
jar包打包好没关系(不需要知道jar包中源码的),只要找到项目中使用jar包中类的入口点就行,希望找到欲使用却找不到的类的类名
createNewModel开始往下
lazyfox
2012-10-24
打赏
举报
回复
这个项目是管理系统,你懂得,左边一列菜单。部分菜单下的功能可以,有几个报这个错误。
关键几个jar包都是公司老一辈人写好打包好的。。。。
[Quote=引用 1 楼 的回复:]
刚开始有点击这个部分吗?
不能保证整个项目没有一丝变化吧?报错是找不到类,基本就是找不到含此类的jar包,可以调试定位的
[/Quote]
dracularking
2012-10-24
打赏
举报
回复
刚开始有点击这个部分吗?
不能保证整个项目没有一丝变化吧?报错是找不到类,基本就是找不到含此类的jar包,可以调试定位的
dracularking
2012-10-24
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
我shit,找到原因了。原来 是个ProductLineModel类中定义了加载Java2C类库。
static
{
System.loadLibrary("Java2C");
}
去掉就好了,可是我想问下,这个是去哪加载?一般项目没有做更改,为啥会有问题呢?
引用 3 楼 的回复:
jar包打包好没关系(不需要知道jar包中源码的),只要找到项目中使用jar……
[/Quote]
原来如果存在这段代码,很有可能仍是需要的,现在去掉的话,问题可能只是暂时不出现。
library路径一般是由这个jvm变量指定的 java.library.path
基本上就是启动时没加jvm参数:
-Djava.library.path="xxx"
详细:
http://blog.csdn.net/forandever/article/details/5983846
System.loadLibrary 参数为库文件名,不包含库文件的扩展名。
例如你可以这样载入一个windows平台下JNI库文件
System. loadLibrary ("TestJNI");
这里,TestJNI.dll 必须是在java.library.path这一jvm变量所指向的路径中。
可以通过如下方法来获得该变量的值:
System.getProperty("java.library.path");
默认情况下,在Windows平台下,该值包含如下位置:
1)和jre相关的一些目录
2)程序当前目录
3)Windows目录
4)系统目录(system32)
5)系统环境变量path指定目录
5.0
系统
以下应用程序启动失败,
报
java
.
lan
g.
NoClassDefFoundError
错误
本文介绍了解决Dex方法数超过限制导致程序在Android 5.0以下版本崩溃的问题。通过引入特定的jar包后,程序在5.0以上
系统
运行正常,但在5.0以下版本出现
java
.
lan
g.
NoClassDefFoundError
错误
。文章提供了详细的解决方法。
解决
java
.
lan
g.
NoClassDefFoundError
错误
文章详细介绍了
Java
开发中遇到的
NoClassDefFoundError
错误
,解释了该
错误
与ClassNotFoundException的区别,以及在运行时类找不到的原因。解决方案包括检查类路径、静态初始化
错误
、类库和dll问题、J2EE环境中的类加载器问题等。同时,文章提供了示例代码帮助理解
错误
的发生情况。
关于怎么解决
java
.
lan
g.
NoClassDefFoundError
错误
本文详细解析了
Java
中
NoClassDefFoundError
和ClassNotFoundException的区别。
NoClassDefFoundError
通常在编译时类可用,运行时找不到,而ClassNotFoundException在编译时就无法找到类。解决
NoClassDefFoundError
的关键在于检查运行环境和类路径,可能涉及jar包、classpath设置、静态初始化失败等问题。了解这些
错误
有助于更有效地排查和修复
Java
应用程序的运行时问题。
怎么解决
java
.
lan
g.
NoClassDefFoundError
错误
本文深入探讨了
Java
开发中常见的
NoClassDefFoundError
错误
,解析其成因与 ClassNotFoundException 的区别,并提供了多种实用解决方案。
httpclient工具类
java
.
lan
g.
NoClassDefFoundError
博主使用Httpclient工具类时遇到问题,
报
java
.
lan
g.
NoClassDefFoundError
错误
,推测是包的问题,尝试无果后放弃。还指出网上创建httpclient对象的方法有坑,应创建CloseableHttpClient ,并会给出maven导包解决找不到类的问题。
Java EE
67,535
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章