• 脚手架项目生成记录


            公司每次做新项目都要去搭建一套新的架子,形成新的服务。其实大部分的架子都差不多,但是每次都要重新建包,引入pom依赖,配置数据源,修改日志文件,配置文件修改,类目录结构修改等等。每次步骤都差不多,主要是耗时,有时候甚至出个问题都要解决半天。那么有没有一种方式可以从这里面解放出来? 有,就是maven的脚手架。

            以我自己搭建的一套服务为准,现在把这套搭建好的架子使用脚手架的方式重新生成。先看下当前的目录      

       这个是当前大概的目录结构,我以这个为基准,在搭建一套新的服务。就是变下名称,以下是步骤:

      1)在当前目录下 使用maven命令:

         

        mvn clean archetype:create-from-project
       
     
        用这个命令的主要目的是生成target 文件,在target里面有maven给我们生成好的可编译文件。生成好的截图如下(如有问题下面有记录)
      
        
     
    2)进入到target目录的generated-sources的 archetype 目录下,执行命令 

     

    mvn clean archetype:create-from-project -Darchetype.properties

     

      主要是使用archetype生成源码。注意一定要是在指定的target目录下,注意一定要是在指定的target目录下,

    注意一定要是在指定的target目录下,重要事情说3遍。以我的为例:

        /Users/fan/workspace/summary/target/generated-sources/archetype

     

    3) 第二步执行成功后, 使用命令.

       mvn  clean install 

     

        主要是使用成archetype生成jar包。注意 当前操作仍然是在target目录下

    注意 当前操作仍然是在target目录下。

    注意 当前操作仍然是在target目录下。 我的为例

      /Users/fan/workspace/summary/target/generated-sources/archetype

     

      以上三步都成功后,就可以使用命令行生成项目了

    4)以这个项目为例,打开一个新的文件,使用命令行:

       

    mvn archetype:generate -DarchetypeGroupId=com.sq.summary

    -DarchetypeArtifactId=summary-archetype

    -DarchetypeVersion=0.0.1-SNAPSHOT

    -Ddatabase=olympic-winter

    -DgroupId=com.sq.summary

    -DartifactId=summary-archetype

    -Dversion=0.0.1-SNAPSHOT

    -DapplicationName=summaryTest

    -Dpackage=com.sq.summary

    ----------------------------------------------------------------

    需要配置的参数说明
    -DarchetypeGroupId=com.sq (可以看target/generated-sources/archetype/的pom文件的groupId)
    -DarchetypeArtifactId=summary-archetype (可以看target/generated-sources/archetype/的pom文件的artifactId)
    -DarchetypeVersion=1.0-SNAPSHOT (可以看target/generated-sources/archetype/的pom文件的version)

    -DartifactId=summary-archetype(新的artifactId)

    -Dversion=0.0.1-SNAPSHOT(新的version)

    -DapplicationName=summaryTest(新的服务名称)

    -Dpackage=com.sq.summary(新的包名)

    生成完成打开查看和现在的目录一模一样,只是包名、version等改为了我们这次新命名的了。

     
     
       遇到的问题记录
        1) 使用命令行mvn clean archetype:create-from-project  步骤一时候报错,

    Invoker process ended with result different than 0!

    原因:使用 mvn的archetype生成的jar包的默认artifactId带有后缀 -archetype,但是命令行里面没有带 需要带上才行:

      

    mvn archetype:generate -DarchetypeGroupId=com.sq.summary -DarchetypeArtifactId=summary-archetype -DarchetypeVersion=0.0.1-SNAPSHOT -Ddatabase=olympic-winter -DgroupId=com.sq.summary -DartifactId=summary-archetype -Dversion=0.0.1-SNAPSHOT -DapplicationName=summaryTest -Dpackage=com.sq.summary

        遇到的问题大概有这些。记录下。

  • 相关阅读:
    python : matplotlib does not work in Eclipse
    在线代码生成器的设计和使用
    Hama——BSP、Graph教程
    oozie:hadoop中的工作流引擎
    oracle命令建库全过程
    IntelliJ IDEA 自动生成方法注释(含参数及返回值)转+亲测IDEA2018.3
    转:Can't connect to MySQL server on 'XXXX' (10055) 解决方案
    资源的释放
    java中的break、continue、return的区别
    解析xml文件的方式
  • 原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/14063612.html
Copyright © 2020-2023  润新知