码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Maven实战: 从工程创建自定义archetype


    在上一节中(创建自定义archetype)我们手动创建了一个项目模板,经过5步能创建出一个项目模板,如果我有一个现成的项目,想用这个项目作为模板来生成其他项目呢?Maven提供了基于项目生成archetype模板的能力,我们分3步来讲解

    1. 从项目生成archetype,执行mvn archetype:create-from-project生成archetype
    2. 安装archetype到仓库
    3. 使用自定义archetype

    1. 从项目生成archetype

    我们有一个DiveInSpring工程,项目结构如下图,有个DiveInMain.java是应用的启动类,service包下有个ProductService.java类。现在要基于这个项目生成一个archetype项目模板。

    通过执行mvn archetype:create-from-project,Maven自动为我们生成archetype模板项目的工程,存放在target/generated-sources/archetype下,我们看一下生成的目录结构,可以看到很多熟悉的身影,archetype-metadata.xml、archetype-resources等等。

    2. 安装archetype到仓库

    target/generated-sources/archetype就是我们的项目模板,现在我们要将它安装到仓库,执行mvn install通过输出查看GAV信息

    1. D:\Workspace\DiveInSpring\target\generated-sources\archetype>mvn install
    2. ...
    3. [INFO] --- install:3.1.2:install (default-install) @ DiveInSpring-archetype ---
    4. [INFO] Installing D:\Workspace\DiveInSpring\target\generated-sources\archetype\pom.xml to C:\Users\randa\.m2\repository\
    5. com\keyniu\dis\
    6. DiveInSpring-archetype\
    7. 0.1\
    8. DiveInSpring-archetype-0.1.pom
    9. ...

    你也可以在对应的目录下,查看生成的pom.xml文件

    3. 使用自定义archetype

    使用mvn archetype:generate命令,利用上面生成的模板,创建工程,使用如下命令创建新项目

    1. mvn archetype:generate -DarchetypeGroupId=com.keyniu.dis
    2. -DarchetypeArtifactId=DiveInSpring-archetype
    3. -DarchetypeVersion=0.1
    4. -DgroupId=com.keyniu.generate.example
    5. -DartifactId=GenFromProject
    6. -Dversion=0.1
    7. -Dpackage=com.keyniu.gen.exa
    8. -DinteractiveMode=false

    4. 验证新工程

    生成工程之后,我们使用IDE打开工程,或者使用mvn命令编译打包,然后执行该工程,可以看到是执行成功的。

  • 相关阅读:
    啃完这35个Java技术栈,冲刺年薪百万
    c语言:求逆序后四位
    Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
    老年患者植入LVAD的挑战:胃肠道出血
    echarts-初识
    到广阔的边缘市场去,浪潮信息首次发布全栈边缘计算软硬件新品
    【ARMv8/ARMv9 硬件加速系列 3.5 -- SVE 谓词寄存器Pg修改详细介绍】
    推荐几款比较使用的idea插件
    编译原理第三版课后答案
    LeetCode刷题(13)
  • 原文地址:https://blog.csdn.net/randavy/article/details/139454170
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号