第一个maven构建

来源:互联网 发布:sql select 结果 左链 编辑:程序博客网 时间:2024/06/05 21:02

1.创建简单项目maven_test

          1.1 使用archetype:create或archetype:generate插件生成简单项目

  命令如下:mvn archetype:create -DartifactId=maven_test  -DgroupId=com.mastery -DpackageName=com.mastery -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

若是该命令报错,则可能你安装的maven的版本是3.0(包括3.0)以上的,则需要将create改成generate,如下:

mvn archetype:generate -DartifactId=maven_test  -DgroupId=com.mastery -DpackageName=com.mastery -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

参数解释:

-DartifactId:在 groupId 下的表示一个单独项目的唯一标识符;(指定需要构建项目的名称)

-DgroupId:团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创
建这个项目的组织名称的逆向域名(reverse domain name)开头。来自Sonatype
的项目有一个以com.sonatype开头的 groupId ,而Apache Software的项目有以
org.apache开头的 groupId;

-DpackageName:设置包名的默认值,如果省略了该参数,则默认包名为-DgroupId设定的值;

-Dversion:一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个
特定的版本。而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上
一个“SNAPSHOT”的标记;

-DarchetypeArtifactId:制定使用何种开发模式,常见的有maven-archetype-webapp和maven-archetype-quickstart以及允许自定义;

-DinteractiveModel:表示是否使用交互模式,交互模式会让用户填写版本信息之类的,非交互模式采用默认值

这样一来我们的maven_test项目就快速构建完成了。目录树如下:

 maven_test
    ├── pom.xml
    ├── src
    │   ├── main
    │   │   └── java
    │   │       └── com
    │   │           └── mastery
    │   │               └── App.java
    │   └── test
    │       └── java
    │           └── com
    │               └── mastery
    │                   └── AppTest.java

1.2 运行项目

mvn exec:java -Dexec.mainClass=com.mastery.App


结果如下:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building maven_test 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ maven_test ---
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.385 s
[INFO] Finished at: 2015-06-11T20:54:49+08:00
[INFO] Final Memory: 9M/246M
[INFO] ------------------------------------------------------------------------


0 0