为什么打的jar包,引用的其它jar包里面的类运行时找不到报NoClassDefFoundError? 40C

Web工程,部署在linux系统weblogic目录下, 所有jar包都在lib目录下,新打了个jar包,这个jar包里面的一个类引用了另一个jar包里面的类
,然后运行时jvm却找不到这个类,NoClassDefFoundError,但这个类明明在jar包里面存在

        是怎么回事,是打包时要注意什么吗,我用eclipse打的
0

4个回答

出现NoClassDefFoundError错误,应该是jvm在编译时能找到引用的类,而在运行时找不到引用的类导致的错误。就是说在编译时对应的类可用,而运行时在Java的classpath路径中,对应的类不可用导致错误。
检查下有没把对应的类加载到classpath中,或者检查为什么类在classpath中是不可用的;
类并没有在jar文件的manifest文件中的classpath属性中定义;
可能程序的启动脚本覆盖了原来的classpath环境变量;
因为NoClassDefFoundError是java.lang.LinkageError的一个子类,所以可能由于程序依赖的原生的类库不可用而导致;
检查日志文件中是否有java.lang.ExceptionInInitializerError这样的错误,NoClassDefFoundError有可能是由于静态初始化失败导致的;
环境中有多个不同的类加载器,也可能导致NoClassDefFoundError;
诊断方法:
在程序中打印出System.getproperty(“java.classpath”),可以得到程序实际运行的classpath;
运行时明确指定你认为程序能正常运行的 -classpath 参数,如果增加之后程序能正常运行,说明原来程序的classpath被其他程序修改覆盖了。

0

通常这种错误都是jar包冲突引起的,weblogic经常发生这种问题,解决有三,1,在项目WEB-INF目录下配置weblogic.xml,优先引用本项目的jar包;2,在weblogic的models目录下找到与项目本身冲突的jar包,比较版本并替换。第三种是放到domain域下边的一个目录里,好像是lib还是bin来着,我也记不清了,你可以先试试前两种。

0

是不是jar包冲突了或者类名取得一样了导致的,比如weblogic服务器里面本身的lib包目录下与你打的jar包有冲突的地方

0

看日志,有可能是这个类加载失败了,也可能是有重名冲突了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
NoClassDefFoundError类存在,但是找不到
NoClassDefFoundError类存在,但是找不到,引用jar包或者第三方项目时 如:引用nineoldandroid-2.4.0-2.jar时,出现以下情况: 06-15 01:01:23.472: E/AndroidRuntime(2218): java.lang.NoClassDefFoundError: com.nineoldandroids.animation.Ani
文件上传 导入所需的jar包启动服务后依然报错找不到jar包里的类 ClassNotFoundException
问题报错:报java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory 浏览器上报错404路径找不到,这里报404是因为所引的jar包没有找到 解决了很长时间,纠结的淡疼,刚开始自学,初学者勿喷,哈哈。还是没有经验解决办法 1. 首先确认下那个jar里有FileItemFactory这个类不
Eclipse 引用外部library工程,运行时报NoClassDefFoundError的解决
好久没有碰过Eclipse了,公司这边现在在用这个做开发。 在将工程作为library引用至项目的过程中,运行时报错NoClassDefFoundError。 假设我现在是MultiDexApplication工程要引用AndFixLib工程 网上大部分说的操作是: 这么添加,并且 这里要勾选一下。 而实际中测试,Order and Export 勾选不勾选,引用了An
打Jar包部分类找不到问题
最近开发遇到一个奇葩的问题就是打出来的jar包。除了几个个别的类 出现找不到 其他的都可以。一直困惑不知道原因。知道今天我终于找到了问题所在。在这里记录一下。     其实发生这种问题的原因就在于:这些找不到的类,他们当中肯定是引用了第三方的jar包,而你使用的工程中并没有他需要的jar包。这样会有什么影响呢,不知道你们有没有观察到log 你会发现dalvik 虚拟机 会报一个leank 失败的错
java 运行jar包时 找不到jdk 中的类
今天打了个jar 包,总是会报错,找不到 jdk 中的类 java.lang.NoClassDefFoundError: javax/xml/ws/Service 这个Service 明明是 jdk 中 rt.jar 中的 类,怎么会找不到呢? 开始不停地修改环境变量中···· 无果··· 思考要不要砸电脑中···· 最后··同事在我电脑上一看··哇·你怎么装了那么多jdk··1.7,
Tomcat 引入jar包导致的 NoClassDefFoundError 报错的问题解决
问题处理 今天在慕课网上学习时用到了一个问题:在 Tomcat 下跑项目时 new SAXreader(); 方法不执行。项目运行到 SAXReader reader = new SAXReader(); 时直接跳出整个方法,没有执行后面的代码,且控制台没有报错信息。 我使用 Maven 构建项目,pom 文件中的确引入了相关依赖,而且是目前最新的版本,不存在版本不兼容问题。 <!-- ...
已导入jar包,但是总包类找不到的终极解决办法
找不到jar包解决办法
springboot 打jar包,无法引用jar包里面的类
今天用springboot给公司封装了一个模板工具类,用于生产各种各样的Word文档的模板,一起开发就绪,但是在打包的时候出现了问题,打完包将它拷到其他项目中,可是该项目无法引用该工具类。经过百度。。。。。。找到问题,共享出来,提供给和我一样遇到此问题的小伙伴。 解决方法,更换plugin <build> <plugins> <plug...
导入了Jar包但是无法引入Jar包中的类
关于这个问题真的感到很邪门 配置EurakaServer的时候明明引入了依赖 <dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-eureka-server</artifactId> <...
Maven项目加入jar包能编译,运行时报错找不到jar包的类
Maven项目加入jar包能编译,运行时报错找不到jar包的类背景介绍 正在做一个基于SSM用mave管理依赖的项目,其中需要java-1.0.2.jar的MultimediaInfo类和Encoder类,先前再pom中没有写找个包的依赖,遂直接将包加在了Build Path下。能正常编译,当运行的时候就报错,找不到类。 报错如下:java.lang.ClassNotFoundException
java动态加载指定的类或者jar包反射调用其方法-涉及其他jar中的类就报ClassNotFound问题分析及解决思路
在这篇博文中java动态加载指定的类或者jar包反射调用其方法,介绍动态加载指定的类,当时我是拿URLClassLoader介绍的,当然可以自定义一个ClassLoader重新对应的方法, 不过这个有现成的比自己重写更强大为何不用。        话不多说,很久不写博客了,时间太紧了,起因还是一个网友私信我,说他反射创建某个对象时涉及其他jar中的类就会报ClassNotFound异常。
解决java项目打jar包,项目中引用有其他jar包的问题
大家都知道一个Java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.
新导入Jar包时遇到NoClassDefFoundError 的解决方法
软件之前运行得很好,为了使用某个控件,重新下载并导入了一个jar包(之前就有该Jar包), 编译的时候没问题,但一到手机上运行就报错,出现NoClassDefFoundError, 很郁闷,在网上找了好多方法都不行,后来发现其实很简单: Properties——Java Build Path——勾选该导入的jar包——clean——Debug 就OK了~~~~
引入新版本jar包,提示找不到方法
今天遇到一个问题,公司原本使用的solr3.6的版本的jar包,因为项目的需要,需要将jar包升级,我将旧版本的jar包删除以后,引入新版本的jar,但是一直提示找不到方法。下面这段代码可以检测class走的哪个jar包的代码。 ClassLoader classloader = org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getC...
android项目导入外部jar包后不报错但运行时报找不到类的问题
解决办法: 一、 在项目右键--> Build Path --> Configure Build Path --> 在Libraries tab中 点击右边的Add Library --> User Libraries --> New --> 输入你的Library名字,确定 --> Add Jars --> 添加你的jar包。 完成这一步之后,项目中就不会报错的了,但是一运行,就会报找
记一次springboot打jar包,无法引用其中的类的问题
解决方法,更换plugin 原来使用的是springboot的打包插件,打包后,开始的BOOT开头的包 更换maven插件 即可正常引用
maven生成jar执行报错:某个类未定义或找不到
这类问题一般都是由jar包引用路径不正确引起的,网上参考了一下解决方法:http://www.cnblogs.com/huhu0013/archive/2012/11/09/2762573.html 其宗旨就是修改jar包内目录META-INF下的MANIFEST.MF文件,添加Class-Path,如:Class-Path: lib/some.jar lib/some2.jar。 编写MAN
android已经导入jar包后运行找不到相关类
android已经导入jar包后运行找不到相关类 http://blog.csdn.net/liushaogeng/article/details/6641704   若出现这个错误 java.lang.IllegalArgumentException: already added: Lorg/apache/commons/httpclient/AutoCloseInputStream;
引入了jar包,还是找不到 class 的问题
第一次用java 做 web 项目,遇到个奇怪的问题,引入了jar  包,但是还是找不到对应的class 解决办法: 右键项目     选  p'roperties       deployment  assembly     add  jar包
Spark2.2.0 idea引入第三方 集群运行时 jar 无法找到类错误
更新 spark2.2.0 版本打包第三方 jar 错误新版 spark 生成 jar 无需引入本地 jars 文件夹,否则重复出错。 项目使用已有 jar 导致出现各种 No Class found 错误。万念俱灰下,发现源代码中有一个 scala 的文件调用的 jar 没有报错,这个文件包括object和空的 class,同理修改报错的其他代码文件,集群运行一切正常。 原因不清楚
linux运行jar找不到类
Class-Path后面写linux里jar的绝对地址,这里不写的话也可以添加这个路径到/etc/profile里 不过这里会覆盖/etc/profile配置
Jar包已经导入,但类还是报错或者引用不到
    今天同事给我一个测试的java web小项目,我一导入,就各种的报错。     烦我的问题就有这个:      Jar包我明明在build里面导入了,可是该jar包里面的类就是找不到那个Jar!!       解决办法:      1、Java Build path --Libraries-->Add JARs或者Add External JARs--你Jar包的位置 ...
Maven项目引用本地jar包,编译后出现java.lang.NoClassDefFoundError
解决办法如下: 1.首先在src目录下创建libs目录并把jar包复制进去,然后加到build path里面,确定加到build path里面后 2.项目右键→Properties→Deployment Assembly→Add→Java Build Path Entries→Next→选择jar包→Finish→Apply→OK. 不需要再在pom.xml文件里面配置。 我遇...
apk自带某些jar包,却报找不到某个方法问题(自带jar包包含此方法)
售后报一个问题,升级系统后,某彩票apk 打开后黑屏, 但是该apk再该平台升级以前是运行良好的. 查看log,发现 报以下问题:  5252 01-01 13:49:08.567 I/System.out(13643): java.lang.NoSuchMethodError: org.jsoup.parser.Parser.xmlParser  5253 01-01 13:49:0
tomcat类加载器找不到jar包中的类问题分析与解决思路
在这篇博文中java动态加载指定的类或者jar包反射调用其方法,介绍动态加载指定的类,当时我是拿URLClassLoader介绍的,当然可以自定义一个ClassLoader重写对应的方法, 不过这个有现成的比自己重写更强大为何不用。 话不多说,很久不写博客了,时间太紧了,起因还是一个网友私信我,说他反射创建某个对象时涉及其他jar中的类就会报ClassNotFound异常。 其实,我也遇到
关于Android studio在导jar包之后报类找不到问题
Build->Rebuild Project一次然后再次运行即可。
springboot jar包 类引用不了
我遇到的这个问题是由于打包造成的。 问题描述: 我的目录结构是一个父项目,下面有三个子项目client,common,server。client是对外提供的所有接口。在将这个项目打包之后,client的包对外提供。现在的问题是别的项目依赖了这个包之后无法引用里面的类。并且在打包时必须先compile才能install,不然install时client会报无法引用common中的类。 解决方案...
解决Eclipse中Android导入第三方jar所引起的找不到类,Java.lang.NoClassDefFoundError
1 将第三方jar放入项目下的libs文件夹(如果没有,新建一个). 2 然后在eclipse中,右击libs文件夹 BuildPath ->Use as src folder 3 在libs文件夹中右击我们刚刚放入的jar,add to build path 大功告成!
tomcat启动时提示找不到jar包里的class,但是编译已经通过
最近要做一个android APP,需要调用服务器接口,于是自己写了个servlet想着来给android发送数据,其中引用到一个JSONObject这个类,于是在之前的项目里拷贝一个jar包到这个项目里,编译和启动都没有问题,但是访问地址的时候一直提示java ClassNotFoundException ,而且报错的地方就在JSONObject这个类下面,去百度上搜了一下,都说去web-inf...
module,jar包中的类无法被编译器检测到
这个bug是在一次电脑蓝屏之后出现的,module,jar包中的类无法被引用。 解决方法: 1 删除项目下的build文件夹,然后Rebuild project; 2 删除该目录下的modules缓存 3更新module里面的依赖
tomcat启动时提示找不到jar包里的class
这两天玩spring,配置完,启动tomcat的时候出现了以下错误 java.lang.NoClassDefFoundError: org/apache/tiles/listener/TilesListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListene
maven管理的项目配置找不到jar包中的类
.classpath文件中配置为 运行项目时报找不到类(maven管理的jar包中的类) 修改为 项目正常运行
关于为什么jar包放入classpath为什么启动tomcat还报找不到类的错误
正确的路径是WEB-INF/lib,否则进不了tomcat容器。
SpringMVC + mybatis 无法读取JAR包中的XML配置文件问题
SpringMVC + mybatis 无法读取JAR包中的XML配置文件问题 在进行SpringMVC+Mybatis进行整合时,如果Mybatis的XML配置文件存在于JAR包中,当工程运行时会报出找不到方法异常。 如:                                                    classpath:com/sdzn/*/dao/xml
Maven 项目依赖本地工程 运行时出现ClassNotFoundException的问题
相信大家都碰见过maven配置的依赖或者是jar包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看maven依赖的文件的时候,就能直接查看到源码。   一、本地工程依赖   举个例子,其架构如下所示(以下均使用eclipse中m2eclipse插件进行演示)—— 此时,这里依赖的“dependency-to-hello”指代的是eclipse工作空间中的工程,这样,我们直
明明jar包已经引入了,并且编译不报错,但是运行却还提示classnotfound,什么原因?
我在写cxf的客户端代码调用cxf接口的时候,编译不报错,但是运行这一句的时候的时候报错: Client client = clientFactory.createClient("http://XX.XX.XX.XX:8080/XX/XXService?wsdl"); 报错提示: Caused by: java.lang.ClassNotFoundException: com.sun.t
关于引入第三方jar包引发的java.lang.NoClassDefFoundError解决
在我们引入第三方jar包的时候,有时候编译不报错,但运行会报java.lang.NoClassDefFoundError; 针对这个问题,以下两种方案可以解决问题,但建议选取第二种,因为第一种会很大程度上的增大包大小: 第一种方案: 1、将需要的第三方包拷贝进libs 文件夹。 2、将引用的第三方包,添加进工作的build path -->工程上右键 -->Properties -
运行jar包找不到依赖包的解决方法
将Java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常, 解决办法1: 将第三方jar包放到JRE的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext), 解决方法2: 修改jar包的MANIFEST.MF文件 详细如下: 通过不断地试验,终于成功了! 1、新建文件夹test位于D盘; 2、将
JAR包引用其它JAR包的classpath问题
运行jar包的命令: java -jar hello.jar 不过如果工程引用到了其它jar,虽然用ide工具打包时可以看到引用的JAR已经加入到了自己的JAR中,但运行时却会提示ClassNotFoundException。 此时需要修改ide工具自动生成的hello.jar中的MANIFEST.MF,通过MANIFEST.MF中的Class-Path 来指定运行时需要用到的其他jar,其
myeclipse控制台报某jar包里某个类找不到,查看该jar包是否引入
有时候tomcat启动时,经常报某个类not found,有些错误直接指向jar包的,所以如何查看这个类是在哪个jar包里呢,进而确认该jar是否引入 例如控制台报RequestMapping这个类找不到,我们可以把RequestMapping这类名放到任意一个类中,如下图: 然后用鼠标点击这个类名,进入下面一个页面,如下图 从左侧就可
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 报游戏开发培训班 报大数据班

相似问题