Maven


原文链接: Maven

强制更新依赖

mvn clean install -e -U 
-e详细异常
-U强制更新

打包并跳过测试

mvn clean install -Dmvn.skip.test=true

自定义变量名

NAME="WindchillDS"
FULLNAME="PTC Windchill Directory Server"
LOWERCASENAME="windchillds"
VERSIONQUALIFIER="Build_002"

mvn -Dproduct.name="$NAME"  -Dproject.name="$FULLNAME" -DlowerCaseProductName="$LOWERCASENAME" -DdocHomepageUrl="$DOCHOMEPAGE" -DdocWikiUrl="$DOCWIKIURL" -DdocGuideRefUrl="$DOCGUIDEURL" -DdocGuideAdminUrl="$DOCGUIDEURL" -DparsedVersion.qualifier="$VERSIONQUALIFIER" -X install

-Dproject.version=12.0.50-SNAPSHOT
-Dproject.finalName=$TRAVIS_TAG


mvn  clean package -P${DRONE_BRANCH} -DskipTests=true -Dproject.finalName=$TRAVIS_TAG

mvn clean package -Dmaven.test.skip=true



#将jar安装到本地maven库中:
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

mvn install:install-file -Dfile=lib/hsf.services-1.6.1.jar -DgroupId=com.taobao.hsf -DartifactId=hsf.services -Dversion=1.6.1 -Dpackaging=jar

使用多个配置

mvn clean install -Dmaven.test.skip=true -P jdk8,int

## 指定war包名
mvn -Dwar.warName=ice package

跳过测试

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:

mvn package -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

mvn package -Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

项目启用阿里云镜像 pom.xml

  <repositories>
    <repository>
      <id>aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </pluginRepository>
</pluginRepositories>

全局使用阿里云镜像库的方法是修改 ~/.m2/settings.xml,在mirrors节点下添加

<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>

`