archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

时间:2023-01-25 15:53:18

 

目            录

1在eclipse中修改maven配置

      1.1将eclipse自带的修改为自己系统安装的

      1.2 使用自己的配置文件

      1.3 修改maven的setting.xml文件

2修改project中的pom.xml文件

      2.1 引入archetype插件

      2.2 添加distributionManagement配置

      2.3 修改project的版本号

3执行maven命令

      3.1 配置工程并且执行archetype:create-from-project命令

      3.2 在target目录里的pom.xml中添加配置

      3.3 在archetype目录下执行maven的 install命令

      3.4 在archetype目录下执行maven的 deploy命令

4测试-新建maven工程

5其它说明

      5.1 关于distributionManagement的配置

      5.2 在很对artchetype执行maven命令时候的问题


1在eclipse中修改maven配置

1.1将eclipse自带的修改为自己系统安装的

         archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

1.2 使用自己的配置文件

  archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

1.3 修改maven的setting.xml文件

    在servers节点的中增加配置:

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)
xml配置内容是:   
注意:

       其中id可以随便填,的是要和待会的pom.xml里的id对应上,username和password是可以登录nexus搭建的maven私服系统,并且拥有部署权限的用户名和密码,nexus默认的部署用户就是deployment,密码是deployment123


2修改project中的pom.xml文件

2.1 引入archetype插件

         该配置放在<plugins></plugins>节点内


       

2.2 添加distributionManagement配置

该配置放在< project ></project >节点内就行

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

代码是:
    

注意:上面的两个id需要和maven的serttin.xml中配置在serviers节点内的server节点的id对应起来。


2.3 修改project的版本号

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

注意:         将0.0.1-SNAPSHOT 改成 1.0.0以上,这样,就会发布在realease目录里。

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


3执行maven命令

3.1 配置工程并且执行archetype:create-from-project命令


 右键打开配置界面:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


进行配置:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


注意:MavenRuntime一定要选中刚才自己安装的maven,注意Base directory的位置,那里填的是工程的根目录。


点击apply 使得配置有效,点击Run执行,执行成功后控制台输出:

   

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


3.2 在target目录里的pom.xml中添加配置


 

    maven命令执行成功后,此时工程的target目录下多了东西:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


      打开上图红框中的pom.xml文件,注意是target下面的,而不是工程最外层的那个pom.xml,路径:自己的工程路径/target/generated-sources/archetype/pom.xml

 添加部署的配置:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


          注意:上面的两个id需要和maven的serttin.xml中配置在serviers节点内的server节点的id对应起来。上面这个步骤很关键,一定要打开/target/generated-sources/archetype/pom.xml ,进行配置,注意这次是在target里的pom.xm,不是工程src目录下的那个pom.xml了,这点很关键。


3.3 在archetype目录下执行maven的 install命令


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)



                注意:Base  directory的地方不是工程的跟目录,而是target里面的archetype目录,

  工程位置\arget\generated-sources\archetype

 

点击Appy,点击Run,执行成功后,控制台输出:



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)



3.4 在archetype目录下执行maven的 deploy命令


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


              注意:Base  directory的地方不是工程的跟目录,而是target里面的archetype目录,

  工程位置\arget\generated-sources\archetype



点击Appy,点击Run,执行成功后,控制台输出:




archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


模板工程部署到私服已经成功了,登录nexus系统来查看:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)

4 测试-新建maven工程

新建工程

      


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


连续两个下一步,然后点击configue



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


点击add Remote Catalog



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)



在catalog File一栏中填上已经发布成功的archetype-catalog.xml的url路径:

  http://localhost:8081/nexus/content/repositories/releases/archetype-catalog.xml

在description一栏填上你对该模板的描述,描述可以任意写。



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


点击Apply,点击OK按钮,然后就可以看到:


archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)




          注意:如果你没有按照之前的步骤修改模板工程的版本号,而是使用默认的0.0.1-SNAPSHOT,那么你需要勾选中Include snapshot archetypes,才能看到你发布的模板。

 

选中模板,下一步之后,弹出填写工程名字的对话框:



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


    填上一个名称,版本号可改也可不改,不改这里就用默认的0.0.1.SNAPSHOT。

  点击Finish,可以看到已经使用模板,成功的创建了一个工程,模板中有的东西,新工程里都有了。



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


5其它说明

      在很对artchetype执行maven命令时,你如果不在Maven  Runtime 的配置中选择自己安装的maven,而是使用eclipse自带的

archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


你有可能会得到一个错误 ,该错误是:



archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)


重点看:

   archetype:create-from-project命令创建maven模板工程(自定义项目模板并且上载到maven私服)



INFO] BUILD FAILURE

[INFO]------------------------------------------------------------------------

[INFO] Total time: 1.741 s

[INFO] Finished at: 2016-09-06T20:49:20+08:00

[INFO] Final Memory: 15M/155M

[INFO]------------------------------------------------------------------------

[ERROR] Failed to execute goalorg.apache.maven.plugins:maven-archetype-plugin:2.4:create-from-project(default-cli) on project webproject: ${maven.home} is not specified as adirectory: 'E:\eclipse_workspace_2015\webproject\EMBEDDED'. -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of theerrors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch toenable full debug logging.


       解决该错误的方法,最好就是配置MavenRuntime,当然配置环境变量也可以解决该问题,但如果你使用配置环境变量的方法的话,记得需要重启eclipse。