使用命令行创建 Maven 项目

本指南将引导您通过命令行创建一个简单的 Maven 项目。本教程假设您已经在您的机器上安装了 Maven 和 JDK 21。

第一步:验证 Maven 和 Java 安装

在开始之前,我们需要验证 Maven 和 Java 是否已正确安装在您的系统上。

验证 Maven 安装

打开命令行终端并输入以下命令:

sh 复制代码
mvn -v

您应该看到类似以下的输出:

复制代码
Apache Maven 3.8.5 (b89d5959fcde851dcb1c8946e2987cb6db844df6)
Maven home: /usr/local/apache-maven-3.8.5
Java version: 21, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-21
验证 Java 安装

输入以下命令检查您的 Java 版本:

sh 复制代码
java -version

您应该看到类似以下的输出:

复制代码
java version "21" 2023-09-21 LTS
Java(TM) SE Runtime Environment (build 21+36-LTS-1491)
Java HotSpot(TM) 64-Bit Server VM (build 21+36-LTS-1491, mixed mode, sharing)
第二步:创建简单的 Maven 项目

我们将使用 Maven 的 archetype:generate 目标来创建一个简单的项目。此目标基于预定义的原型生成项目结构。

在终端中运行以下命令:

sh 复制代码
mvn archetype:generate -DgroupId=com.companyname.projectname -DartifactId=simple-maven-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

此命令创建一个新 Maven 项目,参数如下:

  • groupId: 项目的组标识符,通常遵循反向域名约定。
  • artifactId: 项目的名称。
  • archetypeArtifactId: 指定要使用的原型。maven-archetype-quickstart 是一个适合初学者的简单原型。
  • interactiveMode: 如果设置为 false,则以批处理模式运行,不会提示用户输入。

执行命令后,您应该看到类似以下的输出:

复制代码
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.345 s
[INFO] Finished at: 2024-11-21T14:50:30+05:30
[INFO] ------------------------------------------------------------------------
第三步:导航到项目目录

切换到新创建的项目目录:

sh 复制代码
cd simple-maven-project
第四步:理解项目结构

生成的项目结构如下:

复制代码
simple-maven-project
│   pom.xml
└───src
    ├───main
    │   └───java
    │       └───com
    │           └───companyname
    │               └───projectname
    │                   └───App.java
    └───test
        └───java
            └───com
                └───companyname
                    └───projectname
                        └───AppTest.java

关键文件和目录

  • pom.xml: 项目对象模型文件,用于定义项目配置和依赖项。
  • src/main/java: 包含应用程序的源代码。
  • src/test/java: 包含应用程序的测试代码。
第五步:更新 pom.xml 文件

打开 pom.xml 文件并更新以下内容,以确保我们使用最新版本的 Java 和 JUnit:

xml 复制代码
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.companyname.projectname</groupId>
    <artifactId>simple-maven-project</artifactId>
    <version>1.0-SNAPSHOT</version>

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

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.9.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <source>21</source>
                    <target>21</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
第六步:构建项目

运行以下命令来构建项目:

sh 复制代码
mvn clean install

此命令将编译项目并运行任何测试。输出应指示构建成功:

复制代码
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.companyname.projectname.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.345 s
[INFO] Finished at: 2024-11-21T14:52:30+05:30
[INFO] ------------------------------------------------------------------------
第七步:运行应用程序

"Hello World!" 消息来自 Maven 原型创建的 App.java 文件。打开 src/main/java/com/companyname/projectname/App.java 文件,您将看到以下代码:

java 复制代码
package com.companyname.projectname;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}
打包并运行 JAR 文件

首先使用 Maven 将应用程序打包成 JAR 文件:

sh 复制代码
mvn package

此命令将在 target 目录中创建一个 JAR 文件。

导航到 target 目录并使用以下命令运行 JAR 文件:

sh 复制代码
java -jar target/simple-maven-project-1.0-SNAPSHOT.jar

您应该看到以下输出:

复制代码
Hello World!

结论

在本教程中,我们通过命令行创建了一个简单的 Maven 项目。我们使用了 Maven 的 archetype:generate 目标生成项目结构,更新了 pom.xml 以使用最新版本的 Java 和 JUnit,构建了项目,并运行了打包后的 JAR 文件。Maven 简化了项目管理和依赖管理,是 Java 开发者的重要工具。

相关推荐
逆境不可逃5 分钟前
Pi Agent 学习笔记:多个工具怎样并行执行
java
Flynt1 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet1 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
星云API技术支持1 小时前
企业微信二次开发:群权限设置、成员管理与群资料维护的接口组合实践
java·前端·企业微信
niucloud-admin2 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
海宇AI3 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
cfm_29144 小时前
单例模式详解
java
我叫张土豆4 小时前
本体论、DDD、SDD、TDD:AI 编程时代的四层认知栈
java·人工智能
白远山4 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
海南java第二人5 小时前
从诞生到回收:JVM对象生命周期与垃圾回收全链路解析
java