Java项目重构Maven之pom使用总结

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,忽略类或方法。

转载于:https://my.oschina.net/u/3536805/blog/919818

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值