国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > web前端 > htmlcss > 【问题解决】IDEA-Maven下Tomcat发布Web项目,遇到Jar包无法找到

【问题解决】IDEA-Maven下Tomcat发布Web项目,遇到Jar包无法找到

来源:程序员人生   发布时间:2017-02-24 11:08:18 阅读次数:5385次

转载请注明出处:http://blog.csdn.net/qq_26525215

本文源自【大学之旅_谙忆的博客】


这个毛病坑了我半天!!!百度谷歌上的解决方案差不多全部尝试了。
还是没法解决。后来是解决了。

问题是这样的:
集成工具是:IDEA
Maven建了1个Web项目,通过Tomcat发布了.

SpringMVC依赖了1个文件上传的Jar包。我用Maven添加进去的。
但是没起作用,在项目用Tomcat发布以后(可以正常发布),用到那个Jar包时会出现找不到类的毛病。

exception:
javax.servlet.ServletException: Servlet.init() for servlet springMvc threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    .........

root cause:
java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)

    .........


root cause:
java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)

    .........

意思是找不到org.apache.commons.fileupload.FileItemFactory这个路径下的jar
或是jar不完全致使的
当时我用的版本是1.2.2.

pom.xml中添加的是这样的:

<!--文件上传依赖的Jar包-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.2</version>
        </dependency>

在项目中可以看到这个包的结构,也就是成功导入了。

可是还是会出现这个问题。

我的解决办法是这样的:

首先删除这个包的dependency

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.2</version>
        </dependency>

保存,
项目右键–>Maven–>Reimport .

然后再编辑pom.xml:
添加:

<dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.2</version>
        </dependency>

还有,我估摸着这个1.2.2的版本有问题,如果你其他的包出现了问题,无妨换个版本试试!!!

还有1件事要做:

你需要把这个包从项目中put到tomcat中这个项目的lib中去!这步很关键。

有的时候,也有多是这步的问题哦。

我这个问题估计是由于在maven down依赖的时候出现中断,然后jar包里面的类不全致使的,或是1.2.2这个版本的包有问题。

然后重新发布,OK。
其他的包出现没法找到的情况,可以参考本篇哦。

希望能解决你的问题。

本文章由[谙忆]编写, 所有权利保存。
欢迎转载,分享是进步的源泉。

转载请注明出处:http://blog.csdn.net/qq_26525215

本文源自【大学之旅_谙忆的博客】

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生