maven 自定义骨架(二)

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配置内容是:
   
[plain] view plain copy
 
  1. nexus-snapshotsdeploymentdeployment123nexus-releasesdeploymentdeployment123  
注意:

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

 

 

2修改project中的pom.xml文件

2.1 引入archetype插件

 

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

       
[plain] view plain copy
 
  1. org.apache.maven.pluginsmaven-archetype-plugin2.4nexus-snapshotsSnapshotshttp://localhost:8081/nexus/content/repositories/snapshots/nexus-releasesReleaseshttp://localhost:8081/nexus/content/repositories/releases/  
 

2.2 添加distributionManagement配置

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

 
代码是:
 
    
[plain] view plain copy
 
  1. org.apache.maven.pluginsmaven-archetype-plugin2.4nexus-snapshotsSnapshotshttp://localhost:8081/nexus/content/repositories/snapshots/nexus-releasesReleaseshttp://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。

 

posted @ 2018-01-03 14:44  人生如茶几  阅读(493)  评论(0)    收藏  举报