maven 知识:
1)
pom.xml标签意义:
modelVersion: 这个XML文件所使用的POM格式的版本
groupId: 相当于这个project的所有者或者机构的一个标识,一般是com.company.xxx这种格式
artifactId: 这个project最后所生成的文档(jar、war)的名字,比如对于junit这个开源的project,它的artifactId就是junit
packaging: 这个project的打包的类型,一般是war、jar等值
version: project的版本
name: project的名字,生成文档等内容的时候会用的这个名字
2)maven里面有一个repository的概念,当我们的项目依赖于某个jar时,maven会去repository里面去找。repository分两种,一种是远程的,一种是本地的。如果有几个project都用到junit,我们可以把junit放在repository里面,几个project可以公用,节约存储空间而且方便管理,这个repository的位置可以在pom.xml里面通过填写
<dependency> ...... </dependency>设置。
3)本地的默认的路径是安装用户的目录下的 .m2\repository 文件夹。如果一个依赖项在本地的repository里面没有,那么maven会去他自己的远程的repositoryhttp://repo.maven.apache.org/maven2 去下载后放到本地的repository里面。
1.pom.xml版本使用统一变量
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.0.2.RELEASE</spring.version>
</properties>
如: <version>${spring.version}</version>
2.eclipse提示:dynamic web module 3.1 requires 1.7
方案:在pom.xml加入:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
3.当前端传来的Bean中含有枚举变量,浏览器报400错误。
解决:在springmvc.xml
加入
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.yz.demo.TestConverter" />
</set>
</property>
</bean>
testConverter:
public class TestConverter implements Converter<String, DemoEnum> {
@Override
public DemoEnum convert(String source) {
try {
return DemoEnum.getStatusChange(Integer.parseInt(source));
} catch (Exception e) {
return null;
}
}
}