Maven 使用记录

记录了使用Maven的一些命令

常用命令

构建打包

1
mvn -U -B clean package

参考链接: package

构建部署

常规部署

1
mvn -U -B clean deploy

指定私服地址

1
2
3
4
5
6
7
8
9
10
11
# 插件小于3.0版本
mvn -B -U clean deploy \
-DaltDeploymentRepository=maven-release::default::http://192.168.110.35:8081/repository/maven-release \
-DaltDeploymentRepository=maven-snapshots::default::http://192.168.110.35:8081/repository/maven-snapshots

mvn deploy:deploy-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=<package> -Dfile=<file> -Durl=<url> -DrepositoryId=<repositoryId>

mvn deploy:deploy-file -Dfile=<file> -DrepositoryId=<repositoryId> -Durl=<url> -DpomFile=<pomFile> -Dpackaging=jar

mvn deploy:deploy-file -Dfile=<file> -DrepositoryId=<repositoryId> -Durl=<url> -DpomFile=<pomFile> -Dpackaging=pom

参考链接: maven-deploy-plugin

获取项目信息

1
2
mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout
mvn help:evaluate -Dexpression=project.version -q -DforceStdout

参考链接: evaluate-mojo

sonar 扫描

1
2
3
4
5
6
7
8
9
10
11
12
mvn -U -B clean package sonar:sonar \
-Dmaven.test.skip=true \
-Dsonar.scm.disabled=true \
-Dsonar.projectName=$SONAR_PROJECT \
-Dsonar.projectKey=$SONAR_PROJECT \
-Dsonar.host.url=$SONAR_HOST_URL \
-Dsonar.login=$SONAR_LOGIN \
-Dsonar.sources=$SONAR_SOURCES \
-Dsonar.java.binaries=$SONAR_JAVA_BINARIES \
-Dsonar.exclusions=$SONAR_EXCLUSIONS \
-Dsonar.java.covergaePlugin=jacoco \
-Dsonar.jacoco.reportPaths=target/jacoco.exec

参考链接: sonarscanner-for-maven

常用配置

Mirrors

一般情况下配置文件可放在${user.home}/.m2/settings.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<settings>
...
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>local</id>
<name>Local Mirror Repository</name>
<url>http://192.168.110.35:8081/repository/maven-public</url>
<mirrorOf>maven-release</mirrorOf>
</mirror>
</mirrors>
...
</settings>

参考链接: guide-mirror-settings