首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

运用archetype自定义项目原型

2013-06-26 
使用archetype自定义项目原型??3.运行完成后,会在hello-maven项目的target/generated-sources/archetype目

使用archetype自定义项目原型

?

?

3.运行完成后,会在hello-maven项目的target/generated-sources/archetype目录下,生成原型项目文件(如果没有看见,可右键点击项目-->Refresh)


运用archetype自定义项目原型
?

?

4.接着把原型项目文件导入一个Maven项目,方便修改。点击菜单项File-->New-->Project..,在弹出窗选择General-->Project,新建一个普通项目hello-maven-archetype

?

5.右键点击新建的hello-maven-archetype项目-->Configure-->Convert to Maven Project,把此项目转换为Maven项目,在弹出窗口输入以下信息,点击Finish按钮:


运用archetype自定义项目原型
?

?

6.转换为Maven项目后,会生成pom.xml文件,备份此文件(可简单右键复制-->粘贴),后面会用到此文件里的信息
运用archetype自定义项目原型
?

?

6.把以上步骤生成的hello-maven项目下的target/generated-sources/archetype下的所有文件复制-->粘贴到hello-maven-archetype项目下(如果提示文件已存在,则选择直接覆盖)。复制后的项目目录如下:
运用archetype自定义项目原型
?

?

7.打开Copy of pom.xml,把此文件里的内容覆盖到相应的pom.xml文件里,然后删除Copy of pom.xml。以下为覆盖后的pom.xml的部分内容:
注意:version需修改为0.0.1,如果版本号带有SNAPSHOT等字样,后期在新建Maven项目时,会选择不到hello-maven-archetype原型
运用archetype自定义项目原型
?
?

8.此时,如果发现hello-maven-archetype有错误,可打开Problem视图,右键点击错误项-->Quick Fix,点击弹出窗口的Finish按钮,更新Maven配置即可
运用archetype自定义项目原型
?

9.右键点击hello-maven-archetype项目-->Run As-->Maven install,把此项目原型安装到Maven仓库,以便后面使用

?

10.下面介绍如何使用hello-maven-archetype。点击菜单项File-->New-->Project..-->Maven-->Maven Project, 新建一个Maven项目。点击Next按钮,在以下界面,点击Add Archetype..按钮,添加我们自定义的hello-maven-archetype
运用archetype自定义项目原型
?

?

11.在弹出窗口输入以下信息(需要与hello-maven-archetype的pom.xml里的信息对应),点击确定按钮(此处添加的信息将会保存在{USER_HOME}\.m2\archetype-catalog.xml):
运用archetype自定义项目原型
?

12.选择Default Local-->hello-maven-archetype,创建hello-maven-one项目,后面步骤省略

注1:如果选择不到,请先确认版本号没有SNAPSHOT字样,然后试试使用-clean参数重启Eclipse

注2:如果直接就可以选到,可跳过前面Add Archetype步骤


运用archetype自定义项目原型
?

以上,hello-maven是已存在的示例项目,hello-maven-archetype是原型项目,hello-maven-one是根据原型项目创建的最终项目,可用于实际开发

?

我们可以修改原型项目里的archetype-metadata.xml,以决定如何创建最终项目。比如可设置原型项目里哪些文件目录需要放入最终项目。具体设置请参考官方文档ArcheTypeDescriptor

?

可设置原型项目里的文件是否经过渲染后,再放入最终项目里。archetype插件使用Velocity作为渲染引擎。并且预先定义了gruopId, artifactId, version, package 四个变量。打开原型项目文件pom.xml:
运用archetype自定义项目原型
?

?

可以看到此文件使用了${gruopId},${artifactId},${version}引用了预定义的变量值:
运用archetype自定义项目原型
?

打开原型项目文件App.java,可见此文件使用了${package}引用了预定义变量值:
运用archetype自定义项目原型
?

在创建Maven项目的最后一步,可以设置这些变量值,而自定义变量值将显示在下面:
运用archetype自定义项目原型
?

以下代码在archetype-metadata.xml里自定义了一个appClassName变量,其默认值为Hello:
运用archetype自定义项目原型
?

可以在项目原型文件里使用${appClassName}引用此变量值,可以使用__appClassName__在项目原型文件名称里引用此变量值,如:运用archetype自定义项目原型
?注:archetype插件暂不支持在项目原型文件名称里引用变量值,但是使用以上格式却可以引用

?

自定义变量需要在archetype.properties里配置默认值,否则在运行mvn install命令时会提示测试不通过:
运用archetype自定义项目原型
?

?

?

?

热点排行