Maven User Guide

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>
命令 作用
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.13.0:config 向 pom.xml 自动添加配置
mvn azure-webapp:config
mvn package azure-webapp:deploy 发布应用

Tomcat

使相关应用可在本地运行,位于 Build 标签:

<plugins>
  <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
  </plugin>
</plugins>
命令 作用
mvn tomcat7:run 构建应用并在 8080 端口启动
mvn package 打包 war 文件
Author: njun
njun's picture
Updated: 2022/05/26