1.maven的主要内容和pom文件中的各组分含义
http://www.cnblogs.com/shengs/p/5516964.html
2.依赖关系及解耦逻辑
拆分成多个模块,每个模块的依赖关系。
3.eclipse批量修改文件里的内容:
ctrl+h——调为file——粘贴需替换部分(小心)——replace...粘贴替换后的部分
4.将第三方jar包安装到本地maven库
1.完整写法
将jar包导入到本地仓库的命令为:
mvn install:install-flle -Dflle=<path-to-jarflle> -Dgroupld=<group-id> -Dartifactld=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
(若有空格需要加上双引号)
2.简略写法
如果你有该jar包的pom.xml文件,那么可以这么写:
mvn install:install-flle -Dflle=<path-to-jarflle> -DpomFiIe=<path-to-pomflIe>
3.终极简略写法
而当你的maven-install-plugin插件版本在2.5或以上时,事情会变得好办多了。因为如果你的jar包是用maven打包的,那么在该jar包的META_INF文件夹的子目录下就会存在pom.xml文件,而插件会自动
识别出来当做-DpomFile的默认值。在这种情况下,只需这么写命令就可以了:
mvn install:install-flle -Dflle=<path-to-flle>
补充:目前最新的3.2.9版本的maven中默认使用的依然是2.4版本的插件,所以建议使用完整的命令。
本次安装的两个jar包。
5.maven编译插件的问题:
会生成重复的pom.xm文件,造成文件上传失败HTTPERROR:——200
观察response:java.util.zip.ZipException: duplicateentry,pom多余
问题原因:
windows机器maven插件install时会生成对应的帮助linux解析的maven信息的解释文件,linux打包则不会生成,这时就有可能产生问题,由于统一编译安装都用install,可以加入这去掉插件自动生成的解释文件
<plugins>
<plugin>
<artifactld>maven-jar-plugin</artifactld>
<conflguration>
<archive>
<addMavenDescriptor>faIse</addMavenDescriptor>
</archive>
</configuration>
</plugin>
</plugins>
6.由于maven仓库的配置地址可能每个人有差异,所以在pom文件中加入远程仓或者镜像的地址
<repositories>
<repositorY>
<id>nexus</id>
<url>htt://rnd-mirrors.huawei.com/maven/</url>
</repository>
</repositories>
7.由于有的包远程下不下来,需要在本地lib加中,所以pom加<extdirs>lib</extdirs><!--此处是重点-->来添加jar报包
<plugins>
<plugin>
<groupld>org.apache.maven.plugins</groupld>
<artifactld>maven-compiler-plugin</artifactld>
<version>2.3.2</version>
<conflguration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>UTF8</encoding>
<!--将资源文件打到classes目录下——>
<!-- <webResources> -->
<!--<resource>-->
<!--<directorY>conf</directory>-->
<!--<targetPath>WEB-lNF/classes</targetPath>-->
<!--<flltering>true</flltering>-->
<!--</resource>-->
<!--</webResources>-->
<compiIerArguments>
<extdirs>lib</extdirs><!--此处是重点-->
</compiIerArguments>
</configuration>
</plugin>
</plugins>
8.batch脚本执行一次mvn install就会关闭的问题:另用一个进行call调用,同时调用多个即可。
9.mvn install junit版本过低,导致test周期时检测出的问题无法过滤(应该可以过滤),需要升级到4以上,然后用注解@Ignore,忽略类或方法。