Maven 用户指南
安装
sdkman
sdkman 支持多版本 maven 及 jdk 切换,本身依赖 zip 软件运行。
apt install zip
curl -s "https://get.sdkman.io" | bash
source "/root/.sdkman/bin/sdkman-init.sh"
sdk i java 17.0.3-oracle
sdk i maven 3.8.5
常用命令
Maven 基于各种插件,命令行语法为 mvn [plugin-name]:[goal-name] 形式。
新建项目
mvn archetype:generate \
-DgroupId=PACKAGE_NAME \
-DartifactId=APP_NAME \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
跳过测试打包
mvn -e -DskipTests=true clean package
mvn -e -X -DskipTests=true clean package
Docker
# 项目根目录执行
docker run -it --rm -v "$(pwd)":"/mnt" maven:3 bash
docker run -it --rm -v "$(pwd)":"/mnt" -v "/root":"/root" maven:3 bash
常用设置
代理
在 maven 配置文件 ~/.m2/settings.xml 中可以设置代理:
<settings
xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<proxies>
<proxy>
<id>default</id>
<active>true</active>
<protocol>http</protocol>
<host></host>
<port></port>
<nonProxyHosts>localhost|127.*.*.*</nonProxyHosts>
</proxy>
</proxies>
</settings>
常用插件
Azure App Service
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.13.0</version>
</plugin>
Tomcat
使相关应用可在本地运行,位于 Build 标签:
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>