一、常用操作

1.配置凭据

设置凭证

请将下列配置添加到您的 settings.xml 文件中:如何找到 settings.xml 文件位置

1
2
3
4
5
6
7
8
9
10
11
12
<!-- 一般情况 maven 的通用 settings.xml 在 .m2 文件夹下, 项目内 settings.xml 也可以进行设置,优先级更高 -->
<settings>
<!-- omitted xml -->
<!-- 请妥善保管好您的配置,不要随意分享给他人 -->
<servers>
<server>
<id>www-SoSSim-glsp-server</id>
<username>用户名</username>
<password>密码</password>
</server>
</servers>
</settings>

2.推送

(1) 请将以下配置添加到您的 pom.xml 文件中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<project>
<!-- 必要属性 -->
<groupId>[GROUP_ID]</groupId>
<artifactId>[ARTIFACT_ID]</artifactId>
<version>[VERSION]</version>

<!-- omitted xml -->
<distributionManagement>
<repository>
<!--必须与 settings.xml 的 id 一致-->
<id>www-SoSSim-glsp-server</id>
<name>glsp-server</name>
<url>http://www-maven.pkg.devops.avic-digital.com/repository/SoSSim/glsp-server/</url>
</repository>
</distributionManagement>
</project>

(2)在命令行执行以下命令推送制品:

1
mvn deploy

(3)如果使用项目下 settings.xml 作为配置文件,请执行:

1
mvn deploy -s "./settings.xml"

3.拉取

  1. 请将下列配置添加到您的 settings.xml 文件中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<settings>
<!-- omitted xml -->
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>www-SoSSim-glsp-server</id>
<name>glsp-server</name>
<url>http://www-maven.pkg.devops.avic-digital.com/repository/SoSSim/glsp-server/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
  1. 请将以下配置添加到您的 pom.xml 文件中:
1
2
3
4
5
6
7
8
9
<project>
<dependencies>
<dependency>
<groupId>[GROUP_ID]</groupId>
<artifactId>[ARTIFACT_ID]</artifactId>
<version>[VERSION]</version>
</dependency>
</dependencies>
</project>
  1. 请在命令行执行以下命令进行拉取:
1
mvn install   

如果使用项目下 settings.xml 作为配置文件,请执行:

1
mvn install -s "./settings.xml"

4.镜像源加速

请将下列配置添加到您的 settings.xml 文件中:

1
2
3
4
5
6
7
8
9
<mirrors>
<mirror>
<id>nexus-tencentyun</id>
<!-- 此配置避免了本仓库制品的拉取流量被切换到腾讯云镜像源,保证您在使用镜像加速的同时可以从本仓库拉取制品 -->
<mirrorOf>!www-SoSSim-glsp-server</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
</mirrors>

二、常用命令

1.install

在Maven项目中,执行默认的命令mvn install会将本地的jar包安装到本地的仓库中,以便于在其他项目通过pom依赖的方式使用。同时,执行该命令还会对项目进行编译、打包和发布操作,便于在其他环境中进行部署使用。

2.clean

mvn clean表示运行清理操作,会默认把target文件夹中的数据清理。在Maven生命周期中,执行后面的命令时,前面的命令会自动执行。例如,执行mvn clean package时,会先执行清理操作,然后执行打包操作。

3.compile

mvn compile是编译命令,作用是将项目中的Java代码编译为.class文件。编译后的.class文件会被拷贝到target/classes目录下。该操作使用maven-compiler-plugin插件来完成。

4.package

mvn package是一个打包命令,作用是将项目打包成一个资源包。如果是一个Java project,那么打包成jar包;如果是web project,那么打包成war包。打包命令执行之前会自动执行compile和test命令。打包后的文件位于target目录下。

5.test

mvn test是执行单元测试方法的命令。它只会执行Maven项目中src/test/java目录下的测试类,并且只有类的命名规范满足XxxTest.java才会执行。该操作使用maven-surefire-plugin插件来完成。

6.组合命令

在实际应用中,我们可以通过组合使用这些命令来自动化构建和测试我们的项目。例如,我们可以使用mvn clean compile来先清理再编译项目,或者使用mvn clean package来清理并打包项目。在开发过程中,我们通常会频繁使用clean和compile命令来快速编译和清理临时文件,而使用install命令来将项目安装到本地仓库中以便于其他项目引用。
需要注意的是,在使用install命令时,可以通过选项来控制执行过程中的一些特定操作。例如,-Dmaven.test.skip=true可以跳过测试过程,加快构建过程,但可能会导致潜在的线上问题;-Dmaven.site.skip=true可以跳过生成站点文档过程;-Dmaven.javadoc.skip=true可以跳过生成javadoc文档过程。
另外,有时我们需要将一个本地已有的jar包安装到本地maven仓库中,这时我们可以执行mvn install:install-file命令来完成这个过程。该命令需要指定文件位置、groupId、artifactId、版本号、打包方式和是否生成pom文件等参数。
最后,使用Maven的插件maven-assembly-plugin可以方便地构建出可执行的jar包,并将所有的依赖包打成一个大的jar包,以方便在其他环境中运行。