maven 命令2

使用Archetype生成项目骨架

3.5 使用Archetype生成项目骨架

Hello World项目中有一些Maven的约定:在项目的根目录中放置pom.xml,在src/main/java目录中放置项目的主代码,在src/test/java中放置项目的测试代码。之所以一步一步地展示这些步骤,是为了能让可能是Maven初学者的你得到最实际的感受。我们称这些基本的目录结构和pom.xml文件内容称为项目的骨架,当第一次创建项目骨架的时候,你还会饶有兴趣地去体会这些默认约定背后的思想,第二次,第三次,你也许还会满意自己的熟练程度,但第四、第五次做同样的事情,你可能就会恼火了。为此Maven提供了Archetype以帮助我们快速勾勒出项目骨架。

还是以Hello World为例,我们使用maven archetype来创建该项目的骨架,离开当前的Maven项目目录。

如果是Maven 3,简单地运行:
1.mvn archetype:generate


如果是Maven 2,最好运行如下命令:
1.mvn org.apache.maven.plugins:mavenarchetype
plugin:2.0alpha5:generate


很多资料会让你直接使用更为简单的 mvn archetype:generate 命令,但在Maven 2中这是不安全的,因为该命令没有指定Archetype插件的版本,于是Maven会自动去下载最新的版本,进而可能得到不稳定的SNAPSHOT版本,导致运行失败。然而在Maven 3中,即使用户没有指定版本,Maven也只会解析最新的稳定版本,因此这是安全的。具体内容见7.7节。

我们实际上是在运行插件mavenarchetypeplugin,注意冒号的分隔,其格式为 groupId:artifactId:version:goal,org.apache.maven.plugins 是maven官方插件的groupId,mavenarchetypeplugin 是Archetype插件的artifactId,2.0alpha5 是目前该插件最新的稳定版,generate是要使用的插件目标。

紧接着会看到一段长长的输出,有很多可用的Archetype供选择,包括著名的Appfuse项目的Archetype、JPA项目的Archetype等。每一个Archetype前面都会对应有一个编号,同时命令行会提示一个默认的编号,其对应的Archetype为mavenarchetypequickstart,直接回车以选择该Archetype,紧接着Maven会提示输入要创建项目的groupId、artifactId、version以及包名package。如下输入并确认:

1.Define value for groupId: : com.juvenxu.mvnbook
2.Define value for artifactId: : helloworld
3.Define value for version: 1.0SNAPSHOT: :
4.Define value for package: com.juvenxu.mvnbook: :
com.juvenxu.mvnbook.helloworld
5.Confirm properties configuration:
6.groupId: com.juvenxu.mvnbook
7.artifactId: helloworld
8.version: 1.0SNAPSHOT
9.package: com.juvenxu.mvnbook.helloworld
10.Y: : YArchetype


插件将根据我们提供的信息创建项目骨架。在当前目录下,Archetype插件会创建一个名为helloworld(我们定义的artifactId)的子目录,从中可以看到项目的基本结构:基本的pom.xml已经被创建,里面包含了必要的信息以及一个junit依赖;主代码目录src/main/java已经被创建,在该目录下还有一个Java类com.juvenxu.mvnbook.helloworld.App,注意这里使用到了刚才定义的包名,而这个类也仅仅只有一个简单的输出Hello World!的main方法;测试代码目录src/test/java也被创建好了,并且包含了一个测试用例com.juvenxu.mvnbook.helloworld.AppTest。

Archetype可以帮助我们迅速地构建起项目的骨架,在前面的例子中,我们完全可以在Archetype生成的骨架的基础上开发Hello World项目以节省大量时间。

此外,这里仅仅是看到了一个最简单的Archetype,如果有很多项目拥有类似的自定义项目结构以及配置文件,则完全可以一劳永逸地开发自己的Archetype,然后在这些项目中使用自定义的Archetype来快速生成项目骨架。本书后面的章节会详细阐述如何开发Maven Archetype。


Maven2创建Java项目
1、打开命令行窗口,显示在保存项目的位置;

2、创建JAVA项目

命令:mvn archetype:generate

* 输入需要创建的项目,这里创建普通java项目,按照选择输入15,默认就可以了;
* Define value for groupId :输入组织ID;
* Define value for groupId :输入项目名称;
* Define value for version :输入版本号,可以直接回车,默认是1.0-SNAPSHOT;
* Define value for package :java的包名,如com.shichao;
完成以上输入后,命令行显示以上信息,输入y 即完成创建.

3、将maven项目转化为eclipse项目

mvn eclipse:eclipse

maven将生成eclipse需要的配置文件,形成eclipse项目(如.project文件);
打开eclipse,菜单选择:file>import>general>existing projects into workspace,在对话框中选中目录,导入即可;

4、清除eclipse项目相关配置

mvn eclipse:clean

maven将清除项目中eclipse配置文件



Maven2创建WEB项目


在maven的工作空间(这里的工作空间即将要存放所创建的Web项目文件夹的文件夹。如E:\maven)中执行如下的命令:

mvn archetype:create -DgroupId=com.javaeye.webfoo -DartifactId=webfoo -DarchetypeArtifactId=maven-archetype-webapp

再将项目导入eclipse即可!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值