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

本文介绍了如何在Eclipse中修改Maven配置,然后使用archetype:create-from-project命令创建Maven模板工程,并将其部署到本地Maven私服。详细步骤包括修改pom.xml文件,配置distributionManagement,执行install和deploy命令,以及测试新建Maven工程。过程中需要注意pom.xml的配置与Maven setting.xml的对应,以及在不同目录下执行Maven命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目            录

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自带的修改为自己系统安装的

         

1.2 使用自己的配置文件

  

1.3 修改maven的setting.xml文件

    在servers节点的中增加配置:


xml配置内容是:
   

     
	
      
      
       
        nexus-snapshots
       
      
       
        deployment
       
      
       
        deployment123
       
    
      
	
	
      
      
       
        nexus-releases
       
      
       
        deployment
       
      
       
        deployment123
       
    
      
    
  
     

注意:

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


2修改project中的pom.xml文件

2.1 引入archetype插件

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


        

   
            
    
     org.apache.maven.plugins
    
            
    
     maven-archetype-plugin
    
            
    
     2.4
    

   
   
        
    
            
     
      nexus-snapshots
     
            
     
      Snapshots
     
            
     
      http://localhost:8081/nexus/content/repositories/snapshots/
     
        
    
        
    
            
     
      nexus-releases
     
            
     
      Releases
     
            
     
      http://localhost:8081/nexus/content/repositories/releases/
     
        
    
 
   

2.2 添加distributionManagement配置

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



代码是:

    

    
            
     
      org.apache.maven.plugins
     
            
     
      maven-archetype-plugin
     
            
     
      2.4
     

    
    
        
     
            
      
       nexus-snapshots
      
            
      
       Snapshots
      
            
      
       http://localhost:8081/nexus/content/repositories/snapshots/
      
        
     
        
     
            
      
       nexus-releases
      
            
      
       Releases
      
            
      
       http://localhost:8081/nexus/content/repositories/releases/
      
        
     
 
    

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


2.3 修改project的版本号



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




3执行maven命令

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


 右键打开配置界面:





进行配置:





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


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

   




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


 

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




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

 添加部署的配置:




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


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





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

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

 

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






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




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

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



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






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






4 测试-新建maven工程

新建工程

      




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





点击add Remote Catalog






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

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

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





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






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

 

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





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

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





5其它说明

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



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





重点看:

   



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。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值