Maven实践遇到问题总结
问题
提示Cannot be Read or is Not a Valid ZIP file相关问题,如何解决?
出现此问题的很可能的原因是,下载的jar损坏了,需要重新下载
Maven error “Failure to transfer…”
请参考Maven error “Failure to transfer…”
移除所有失败的下载:
find ~/.m2 -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;
然后选择Maven->"Update Project ..."
Dynamic Web Module 3.1 requires Java 1.7 or newer
参考How to solve “Dynamic Web Module 3.1 requires Java 1.7 or newer” in Eclipse
在build
中添加如下的plugin
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
Cannot change version of project facet Dynamic Web Module to 3.0?
在有的Maven项目中,需要把project facet中的Dynamic Web Module 设置为2.3 以上,此时会提示出错
参考Cannot change version of project facet Dynamic Web Module to 3.0?,按照其说明,我使用的解决方案是:
在pom.xml中添加如下的内容:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
然后可能还需要编辑setting中的org.eclipse.wst.common.project.facet.core.xml
,改变<installed facet="jst.web" version="2.5"/>
,将2.5改变为3.1获取其它的,然后Maven » Update Project
即可
Maven的一些配置
Maven创建项目的时候,默认的jdk总是1.5,可以设置为别的jdk版本
Maven的设置
全局配置,修改settings.xml
<profile>
<id>jdk17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
设置局部的jdk,在项目的pom,xml文件中添加如下build元素
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
在使用Maven打包package项目时,提示
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
我这里的原因是,一个测试用例失败,所以要在package时,忽略Tests。
参考Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
也可以如下设置,勾选Skip Tests