IDEA开发JavaWeb项目导入jar包后提示ClassNotFound的解决办法


IDEA是Java开发的一个强有力的IDE,不过很多人都不推荐初学者使用IDEA,我在学习Java时,对比了Eclipse和IDEA两个IDE,虽然当时刚刚接触Java,但我感觉IDEA比Eclipse好用多了,至少代码提示不用去按Alt+?来显示,所以自从我接触Java以来,基本一直在用IDEA,但今天在写一个Java Web的项目时,明明导入了Jar包,可还是提示ClassNotFound,同一个jar包,开发java程序能用,但Java Web却不能用,研究了有一会,终于还是解决了这个问题。

使用IDEA开发Java项目时,导入Jar包的方法是这样的:File -> Project Structure -> Modules ->Dependencies -> 右侧加号 -> 要导入的jar包 -> OK,这样jar包就导入进来了,比如MySQL的驱动,开发时就可以直接使用了。以前用IDEA大多数写的都是一些本地程序,没做过Java Web项目,本以为Java Web项目导入jar包的方法和Java项目一样,但按照原来的方法导入jar包后,编辑器是没有出现红波浪线这些错误提示,但运行起来tomcat后,在浏览器中访问,控制台便出现ClassNotFoundException的提示,网上找了一圈,也没看到多么靠谱的方法,都没有效果,但在网上的这些信息的启发下,我最终解决了问题。

原因

IDEA在编译文件之后,会先生成war包,然后tomcat解压war包,得到Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等,但IDEA默认打包只包含Seervlet和JSP页面这些内容,需要我们手动将jar包等文件包含进去。

解决方法

1.按照Java项目导入jar包的方式先将jar包导入。
2.在WEB-INF目录下新建lib目录,将jar包拷到目录下。
3.File -> Project Structure -> Artifacts -> 项目名: war exploded -> Output Layout -> 点击WEB—INF -> 点击上面的“+”号 -> 选择Dirctory Content -> 选择刚刚新建的lib目录,然后确定即可

这次,我终于理解了为什么很多人不推荐初学者使用IDEA,因为它功能强大,但在项目新建初期配置比较复杂,新手可能会无从下手,信心受到打击,甚至可能会因此认为太难了,放弃学习Java。

声明:楓の街|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - IDEA开发JavaWeb项目导入jar包后提示ClassNotFound的解决办法


Just For Fun...