开发者社区> 问答> 正文

编译通过,运行ClassNotFoundException,什么原因? 400 报错

编译通过,运行ClassNotFoundException,什么原因? 400 报错

我在对jitsi进行二次开发,整在做一个通过网络导入联系人的功能,但是保class not found异常,编译可以通过,这是原因啊


Caused by: java.lang.ClassNotFoundException: javax.xml.parsers.DocumentBuilderFactory not found by net.java.sip.communicator.swingui [87]

at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812)
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807)
at java.lang.ClassLoader.loadClass(Unknown Source)

展开
收起
爱吃鱼的程序员 2020-05-29 20:15:14 646 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    编译时,不会jar中的代码的依赖是否存在

    这个一般都是少jar 包的。。。。

    ######jar不在###### 看一下包是否重复了。。。######

    引用来自“乾坤摄”的答案

    编译时,不会jar中的代码的依赖是否存在

    这个一般都是少jar 包的。。。。

    这个是jre自带的rt.jar包中的类

    ######

    引用来自“cloudsea”的答案

    jar不在
    这个是jre自带的rt.jar包中的类
    ######OSGi Classloader######回复 @qhboy : MANIFEST.MF文件中Export-Package和Import-Package分别是导入包和导出包, 在OSGi环境中只有导出的包才能被导入, 非本Bundle的包导入后才能在本Bundle中加载, 否则ClassNotFound######回复 @純白陰影 : 首先谢谢您,您的答案是最靠谱的,但是我还有几个问题 javax.xml.parsers所在的Bundle,我可能能找到,但是如何导出和导入包呢?######首先在javax.xml.parsers所在的Bundle导出这个包 再在使用这个类的Bundle导入javax.xml.parsers######应该是这个问题,能说下如何加载吗######

    引用来自“柳遵飞”的答案

    看一下包是否重复了。。。

    没有重复,这个项目使用了ant,osgi,我不懂,是不是是动态加载类啊,需要在某个地方先声明一下

    ######

    引用来自“qhboy”的答案

    引用来自“柳遵飞”的答案

    看一下包是否重复了。。。

    没有重复,这个项目使用了ant,osgi,我不懂,是不是是动态加载类啊,需要在某个地方先声明一下

    应该是类加载器的问题,类在虚拟机里是一个特定的类加载器绑定的,同一个类文件,不同的类加载器,虚拟机会当作不同的类
    2020-05-29 20:15:15
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载