明明导入了jar包,idea下仍然classnotfoundexception. 如果没有jar包冲突

Posted 梧桐将秋色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了明明导入了jar包,idea下仍然classnotfoundexception. 如果没有jar包冲突相关的知识,希望对你有一定的参考价值。

ZT:https://blog.csdn.net/wn084/article/details/80482187

        如果你的问题属于“引入jar包后编译能通过但在web中调用就报ClassNotFoundException”,请认真看下面的解决方案。不属于请自觉绕道。^_^

        出现这种问题就说明你引入的jar包在WEB-INFlib下不存在。那为什么能通过编译呢?拜托,编译的时候又不从WEB-INFlib目录下寻找类,是从classpath下寻找的,也就是说你引入的jar包只是存在于classpath下。既然分析清楚问题出在哪里,下面就分别演示在IDEA和Eclipse下怎么把jar包正确的引入WEB-INFlib里面。

在Eclipse下:

    在Eclipse下,很多人会这样引入jar包:

    先在项目根目录下创建一个文件夹,将jar包放入:

    技术图片

    再选中所有jar包,单击右键,点击Add to Build Path

    技术图片

    这时候项目就会出现这个Libraries:

    技术图片

    这样就引入了Junit的包,可以使用Junit进行单元测试,因为简单的Junit测试并不涉及web环境,所以这样并不会报错。

    若你引入的jar包中会在web环境中使用,上述引入方法就行不通了。因为需要从WEB-INFlib中寻找jar包,而不是classpath下,所以需要将jar包放在WEB-INFlib下。项目中出现Web App Libraries代表引入成功。如果没有出现,需要右键jar包,选择Add to Build Path,否则无法通过编译。


在IDEA下:

  • 如果创建的web项目中WEB-INF下存在lib目录,将jar包放入其中后右键,选择Add as Library...即可
  • 如果没有,可以自行创建后执行上述步骤
  • 如果不想创建,请看如下步骤:
        技术图片

        创建一个文件夹将jar包放入,后右键选择Add as Library...

        之后打开项目结构界面:

        技术图片

        打开后按照这个步骤操作即可:

           技术图片
















    以上是关于明明导入了jar包,idea下仍然classnotfoundexception. 如果没有jar包冲突的主要内容,如果未能解决你的问题,请参考以下文章

    idea导入maven jar包的路径问题

    aide如何导入jar

    idea lib怎么导入jar包

    maven工程有包却提示没有包

    AndroidStudio怎样导入jar包

    intellij idea怎么导入jar包