Maven 示例

2024 年 8 月 29 日 | 阅读 3 分钟

我们可以通过执行 mvn 工具archetype:generate 命令来创建一个简单的 maven 示例。

要使用 maven 创建一个简单的 java 项目,您需要打开命令提示符并运行 mvn 工具的 archetype:generate 命令。

语法

生成项目架构的 语法 如下:

mvn archetype:generate -DgroupId=groupid -DartifactId=artifactid 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=booleanValue

示例

生成项目架构的 示例 如下:

mvn archetype:generate -DgroupId=com.javatpoint -DartifactId=CubeGenerator 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

注意:这里,我们使用 maven-archetype-quickstart 来创建一个简单的 maven 核心项目。如果您使用 maven-archetype-webapp,它将生成一个简单的 maven web 应用程序。

输出

现在它将在 命令提示符中生成以下代码

mvn archetype:generate -DgroupId=com.javatpoint -DartifactId=Cub
eGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=fa
lse
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
-
[INFO] Generating project in Batch mode
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav
en-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mave
n-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.jar (5 KB at 3.5 KB/se
c)
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav
en-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mave
n-archetype-quickstart/1.0/maven-archetype-quickstart-1.0.pom (703 B at 0.9 KB/s
ec)
[INFO] -------------------------------------------------------------------------
---
[INFO] Using following parameters for creating project from Old (1.x) Archetype:
 maven-archetype-quickstart:1.0
[INFO] -------------------------------------------------------------------------
---
[INFO] Parameter: groupId, Value: com.javatpoint
[INFO] Parameter: packageName, Value: com.javatpoint
[INFO] Parameter: package, Value: com.javatpoint
[INFO] Parameter: artifactId, Value: CubeGenerator
[INFO] Parameter: basedir, Value: C:\Users\SSS IT
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\Users\SSS IT\CubeGene
rator
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.913s
[INFO] Finished at: Thu Dec 26 16:45:18 IST 2013
[INFO] Final Memory: 9M/25M
[INFO] ------------------------------------------------------------------------
'cmd' is not recognized as an internal or external command,
operable program or batch file.

生成的目录结构

现在转到您执行 mvn 命令的当前目录。例如:C:\Users\SSS IT\CubeGenerator。您将看到创建了一个简单的 java 项目,它具有以下目录

CubeGenerator
-src
--main
---java
----com
-----javatpoint
------App.java
--test
---java
----com
-----javatpoint
------AppTest.java
-pom.xml

如您所见,创建了 3 个文件 pom.xml、App.java 和 AppTest.java。让我们快速浏览一下这些文件

1) 自动生成的 pom.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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.javatpoint</groupId>
  <artifactId>CubeGenerator</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>CubeGenerator</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

2) 自动生成的 App.java 文件

package com.javatpoint;
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

3) 自动生成的 AppTest.java 文件

package com.javatpoint;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }
    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

编译 Maven Java 项目

要编译项目,请转到项目目录

例如:C:\Users\SSS IT\CubeGenerator 并在命令提示符中编写以下命令

mvn clean compile

现在,您将在命令提示符上看到很多执行过程。如果您检查您的项目目录,则会创建 target 目录,其中包含 class 文件。


运行 Maven Java 项目

要运行项目,请转到项目目录\target\classes

例如:C:\Users\SSS IT\CubeGenerator\target\classes 并在命令提示符中编写以下命令

java com.javatpoint.App

现在,您将在命令提示符上看到输出

maven 示例的输出

Hello World!

如何构建 maven 项目或如何打包 maven 项目?

mvn package 命令完成 maven 项目的构建生命周期,例如

  1. validate
  2. 编译
  3. 测试
  4. package
  5. 集成测试
  6. verify
  7. 安装
  8. deploy

访问此链接以了解有关构建生命周期的更多信息 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

您需要在命令提示符下执行以下命令来打包 maven 项目

mvn package

现在您将看到 在 project/target 目录中创建了一个 jar 文件

您也可以通过 jar 文件运行 maven 项目。为此,请转到 maven 项目目录,例如:C:\Users\SSS IT\CubeGenerator 并在 cmd 上执行以下命令

java -classpath target\CubeGenerator-1.0-SNAPSHOT.jar;.; com.javatpoint.App

现在您将看到以下输出

Hello World!
下一个主题Maven Web 应用程序