java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
Posted
技术标签:
【中文标题】java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory【英文标题】: 【发布时间】:2011-07-07 05:13:08 【问题描述】:我正在尝试使用 maven 在 Spring MVC 中上传文件的简单示例,我遵循了这个 tutorial。
但是我收到了这个错误
我还在 pom.xml 中包含了依赖项
<!-- Apache Commons Upload -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
也在 dispatcher-servlet.xml 中
<!-- Configure the multipart resolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000"/>
</bean>
那么,你能帮我解决我哪里出错了吗?
提前致谢。
【问题讨论】:
【参考方案1】:您需要添加commons-fileupload
将此添加到您的 POM
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version> <!-- makesure correct version here -->
</dependency>
【讨论】:
我没有读过印度玫瑰的教程,但它可能在某处使用它。做一件事只是删除它并检查异常或编译错误。并且随时欢迎您(也将答案标记为已接受:)) 版本 1.2.2 可用:mvnrepository.com/artifact/commons-fileupload/… 我有一个类似的 tomcat 7 启动问题,通过准备好 Eclipse 控制台日志,我发现我缺少 Primefaces 文件上传所需的一些 jar。添加这些 jar 即 commons-io 和 commons-fileupload 后,我摆脱了 tomcat 启动问题... :) 请注意,这些依赖项必须在最高的人工制品类加载器上进行(EE 类型,这是您的 EAR,而不是您的 WAR)。 最好将范围缩小到运行时。<scope>runtime</scope>
【参考方案2】:
为了安全使用1.4版:
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
检查:https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
【讨论】:
以上是关于java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory的主要内容,如果未能解决你的问题,请参考以下文章