1、更新eclipse的classpath加入新依赖
1、在dependencyManagement里面加入包括版本在内的依赖信息,如: <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId>
<version>1.6.2</version>
</dependency>
2、在同级的dependencies节点里面加入该依赖,如: <dependency> <groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
3、使用mvn eclipse:clean删除当前的工程配置文件,并用mvn eclipse:eclipse重新生成。
4、导入或刷新该eclipse工程。
问题:Project configuration is not up-to-date with pom.xml
导入maven工程后,出现如下错误:
Description Resource Path Location Type
Project configuration is not up-to-date with pom.xml. Run project configuration update rdc line 1 Maven Configuration Problem
解决办法就是:
右键项目,【Maven】--》【Update Project Configuration...】即可。。。
3、如何修改默认GBK的资源过滤
Using platform encoding (GBK actually) to copy filtered resources
需要指定字符集: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.2</version> <configuration>
<encoding>UTF-8</encoding> </configuration>
</plugin>
4、不支持范型的JDK版本问题
maven打包时始终出现TripApplyAction.java:[267,6]-source 1.3中不支持泛型(请使用-source 5或更高版本以启用泛型)Map<String, Object> map = new HashMap<String, Object>();
解决方法,指定JDK版本:
在pom.xml文件中加入下一面一段语句来指定所用的版本,尽管在eclipse中配置了正确的“Build Path”: <build> <plugins> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.5</target> <source>1.5</source> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
重新运行mvn clean eclipse:eclipse -Dmaven.test.skip=true,接着mvn package,问题解决。
5、如何在使用命令方式下载依赖的同时下载源码
1. 使用maven命令:mvn dependency:sources 下载依赖包的源代码。
2. 使用参数: -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。
6、maven打包,忽略test的参数
mvn -Dmaven.test.failure.ignore=true package mvn -Dmaven.test.skip=true clean package
7、web.xml which will be ignored
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
在使用Maven 编译项目的时候会出现
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored
解决方法:
<plugin>
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration>
<!-- http://maven.apache.org/plugins/maven-war-plugin/ --> <packagingExcludes>WEB-INF/web.xml</packagingExcludes> </configuration> </plugin>
9、Maven3.04暂时不支持Servlet3的无web.xml形式
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war
(default-war) on project prospringmvc01: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) ->
10. The container 'Maven Dependencies' references non existing library 'E:\m2e\repository\org\apache\httpcomponents\httpclient\4.5.2\httpclient-4.5.2.jar'
在更新依赖包是由于网络问题没有更新成功经常会出现依赖包找不到的问题,此时通过浏览器去私服页面查看,发现依赖包坐标是存在的,对应的文件(比如jar文件). 或者私服上面也找不到文件,但是引入的中央仓库或者其他公服上面有文件.
解决方案
上面问题往往是在下载依赖过程中网络出现问题导致的.
此时我们本机已经开始下载依赖代码,但是下载失败,本机仓库中会在${MAVEN_repo}/${groupid}/${artifactid}/${version} 路径下面生成 *.lastUpdated 的文件.
*.lastUpdated实在可恶,下次再下载时由于它的存在Maven不会再去私服中下载
解决方法:(针对PC与Maven私服之间网络传输问题)
打开本地仓库所在目录, 通过win文件夹的搜索功能,查找 *.lastUpdated ,然后将找到的文件全部删除
重新 Maven Update Project,
若在eclipse中操作时勾选上 Force Update of Snapshots / Releases
若在命令行操作时增加 -U 参数
参考:http://wenku.baidu.com/view/4fd678cd2cc58bd63186bdcd.html