Maven编译打包过程

下面是一个简单的案例,演示如何使用Maven来编译一个Java项目。

1. 项目结构

假设我们有一个非常基础的Maven项目,其结构如下:

my-maven-project/
|-- src/
| |-- main/
| | |-- java/
| | | |-- com/
| | | | |-- example/
| | | | | |-- App.java
| |-- test/
| | |-- java/
| | | |-- com/
| | | | |-- example/
| | | | | |-- AppTest.java
|-- pom.xml

App.java 是我们的主应用程序类,AppTest.java 是我们的单元测试类。

2. POM文件

在项目的根目录下,我们需要一个pom.xml文件来定义项目的依赖和构建配置。

xml

4.0.0

<groupId>com.example</groupId>
<artifactId>my-maven-project</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
    <!-- 这里可以添加项目的依赖 -->
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>${maven.compiler.source}</source>
                <target>${maven.compiler.target}</target>
            </configuration>
        </plugin>
    </plugins>
</build>

3. 编译过程

要编译项目,我们需要执行以下Maven命令:

sh
mvn compile

以下是该命令执行时发生的过程:

  • 验证: Maven验证项目是否正确配置,确保所有必要的信息都可用。
  • 初始化: Maven初始化构建状态,例如创建构建目录(通常是target目录)。
  • 生成源码: 如果有源代码生成插件配置,它们将被执行。
  • 编译: Maven将src/main/java目录下的Java源文件编译成.class文件,并将它们放置在target/classes目录下。

如果编译成功,你将在控制台看到类似以下输出:

[INFO] Scanning for projects…
[INFO]
[INFO] --------------------------< com.example:my-maven-project >--------------------------
[INFO] Building my-maven-project 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ my-maven-project —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /path/to/my-maven-project/src/main/resources
[INFO]
[INFO] — maven-compiler-plugin:3.8.1:compile (default-compile) @ my-maven-project —
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /path/to/my-maven-project/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.415 s
[INFO] Finished at: 2023-11-03T10:00:00+00:00
[INFO] ------------------------------------------------------------------------

4. 运行测试

编译完成后,你可以运行测试来验证代码的正确性:

sh
mvn test

这会编译src/test/java目录下的测试代码,并执行它们。

5. 打包

最后,你可以将项目打包为一个可分发的格式,通常是JAR文件:

sh
mvn package

这会执行以下步骤:

  • 编译: 如果之前没有编译,会编译主代码。
  • 测试: 如果之前没有测试,会运行测试。
  • 打包: Maven将编译后的.class文件打包成一个JAR文件,通常是target/my-maven-project-1.0-SNAPSHOT.jar

以上就是使用Maven编译和打包Java项目的基本过程。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值