- 问题描述
- 原因分析及解决办法
- 1. `Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory`
- 2. `Error assembling WAR: webxml attribute is required`
Error assembling WAR: webxml attribute is required
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory 问题描述
在SpringMVC学习的过程中使用完全注解开发,配置文件上传和下载的类之后,出现这样的报错
原因分析及解决办法 1. Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory显示的问题是在我配置的WebConfig类中对于文件上传解析器的配置位置
//配置文件上传解析器
@Bean
public CommonsMultipartResolver multipartResolver(){
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
return commonsMultipartResolver;
}
首先这个问题的话就是因为在pom.xml的文件中,确实对于commons-fileupload的相关配置,这个添加上之后reload一下就可以了
commons-fileupload
commons-fileupload
1.3.3
2. Error assembling WAR: webxml attribute is required
在我进行了第一步的解决之后,这个问题又出来了,我想着是不是因为自己添加了pom.xml之后,没有重新打包,所以tomcat不能是被到刚刚新打的包。
于是准备重新打包,但是,不行啊,我这压根都没有web.xml文件了
打包war项目,必须指向一个web.xml文件,没有就会报错,web.xml文件的路径可配置,如下:
org.apache.maven.plugins maven-war-plugin webappsWEB-INFweb.xml
由于我是使用注解进行开发,使用注解类替代配置类(web.xml,SpringMVC.xml),需要在pom.xml使用一个plugin配置
maven-war-plugin 3.2.2



