Java Maven构建案例怎么执行

wen java案例 24

本文目录导读:

Java Maven构建案例怎么执行

  1. Maven基本构建命令
  2. 构建典型案例
  3. 分步构建过程
  4. 实际执行示例
  5. 常见问题解决
  6. 多模块项目构建
  7. 构建输出说明

我来为你详细说明Java Maven项目的构建和执行方法:

Maven基本构建命令

最常用的构建命令

# 清理并构建项目(最常用)
mvn clean package
# 只编译
mvn compile
# 清理并编译
mvn clean compile
# 跳过测试构建
mvn clean package -DskipTests
# 安装到本地仓库
mvn clean install

构建典型案例

案例1:普通Java项目构建

项目结构:

my-project/
├── pom.xml
├── src/
│   ├── main/
│   │   └── java/
│   │       └── com/example/
│   │           └── App.java
│   └── test/
│       └── java/
│           └── com/example/
│               └── AppTest.java

pom.xml:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
        <!-- JUnit测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- 编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
            <!-- JAR包插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.example.App</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

执行构建:

# 1. 清理并构建
mvn clean package
# 2. 运行生成的JAR包
java -jar target/my-project-1.0-SNAPSHOT.jar
# 3. 或者使用exec插件直接运行
mvn exec:java -Dexec.mainClass="com.example.App"

案例2:Spring Boot项目构建

pom.xml:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.0</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

构建并运行:

# 构建
mvn clean package
# 运行Spring Boot应用
java -jar target/spring-boot-app-1.0.0.jar
# 或使用Maven插件直接运行
mvn spring-boot:run

分步构建过程

完整的生命周期命令

# 1. 清理
mvn clean
# 2. 编译
mvn compile
# 3. 运行测试
mvn test
# 4. 打包
mvn package
# 5. 安装到本地仓库
mvn install
# 6. 部署到远程仓库
mvn deploy

常用选项

# 跳过测试
mvn package -DskipTests
# 跳过测试编译和执行
mvn package -Dmaven.test.skip=true
# 指定配置文件
mvn clean package -P production
# 离线模式(不使用网络下载依赖)
mvn clean package -o
# 调试模式
mvn clean package -X
# 多线程构建
mvn clean package -T 4

实际执行示例

步骤1:创建新项目

# 使用Maven原型创建项目
mvn archetype:generate \
    -DgroupId=com.example \
    -DartifactId=my-app \
    -DarchetypeArtifactId=maven-archetype-quickstart \
    -DarchetypeVersion=1.4 \
    -DinteractiveMode=false
# 进入项目目录
cd my-app

步骤2:执行构建

# 编译
$ mvn compile
[INFO] Scanning for projects...
[INFO] Building my-app 1.0-SNAPSHOT
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ my-app ---
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ my-app ---
[INFO] BUILD SUCCESS
# 测试
$ mvn test
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
# 打包
$ mvn package
[INFO] Building jar: /path/to/my-app/target/my-app-1.0-SNAPSHOT.jar
[INFO] BUILD SUCCESS

步骤3:运行应用

# 直接运行JAR
java -cp target/my-app-1.0-SNAPSHOT.jar com.example.App
# 或者用Maven exec插件
mvn exec:java -Dexec.mainClass="com.example.App"

常见问题解决

依赖下载失败

# 清理本地仓库特定依赖
rm -rf ~/.m2/repository/com/example/
# 更新快照依赖
mvn clean install -U
# 使用阿里云镜像(修改~/.m2/settings.xml)
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>central</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

构建错误排查

# 显示详细错误信息
mvn clean package -X
# 检查依赖树
mvn dependency:tree
# 分析依赖冲突
mvn dependency:resolve -Dverbose=true

多模块项目构建

父pom.xml:

<modules>
    <module>module-a</module>
    <module>module-b</module>
</modules>

构建命令:

# 构建所有模块
mvn clean install
# 构建特定模块及其依赖
mvn install -pl module-a -am
# 构建并跳过依赖模块的测试
mvn install -pl module-a -am -DskipTests

构建输出说明

构建成功后,你会看到:

  • target/ 目录包含编译后的class文件
  • target/*.jartarget/*.war 是打包后的文件
  • 控制台输出 BUILD SUCCESS 表示构建成功

按照这些步骤,你就可以成功执行Java Maven项目的构建了!

抱歉,评论功能暂时关闭!