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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Java爬虫之JSoup使用教程

title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin