Maven的例子

本文概述

  • 编译Maven Java项目
  • 运行Maven Java项目
  • maven示例的输出
  • 如何构建Maven项目或如何打包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文件。
【Maven的例子】你还可以通过jar文件运行maven项目。为此, 请转到Maven项目目录, 例如:C:\ Users \ SSS IT \ CubeGenerator并在cmd上执行以下命令:
java -classpath target\CubeGenerator-1.0-SNAPSHOT.jar; .; com.srcmini.App

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

    推荐阅读