个性化阅读
专注于IT技术分析

Maven的例子

本文概述

我们可以通过执行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.srcmini -DartifactId=CubeGenerator 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

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

输出

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

mvn archetype:generate -DgroupId=com.srcmini -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.srcmini
[INFO] Parameter: packageName, Value: com.srcmini
[INFO] Parameter: package, Value: com.srcmini
[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
-----srcmini
------App.java
--test
---java
----com
-----srcmini
------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.srcmini</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.srcmini;
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

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

package com.srcmini;

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

现在, 你将在命令提示符下看到很多执行。如果检查项目目录, 则会创建包含类文件的目标目录。


运行Maven Java项目

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

例如:C:\ Users \ SSS IT \ CubeGenerator \ target \ classes, 然后在命令提示符下输入以下命令:

java com.srcmini.App

现在, 你将在命令提示符下看到输出:

maven示例的输出

Hello World!

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

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

  1. 验证
  2. 编译
  3. 测试
  4. 整合测试
  5. 校验
  6. 安装
  7. 部署

访问此链接以了解有关构建生命周期的更多信息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.srcmini.App

现在, 你将看到以下输出:

Hello World!
赞(0)
未经允许不得转载:srcmini » Maven的例子

评论 抢沙发

评论前必须登录!