idea 创建 maven 父子工程 原创

发布于 2022-2-13 16:22
浏览
0收藏

春节不停更,此文正在参加「星光计划-春节更帖活动

日积月累,水滴石穿 😄

在工作中,准备从零开始搭建一个项目,于是,本文产生了。

创建父工程

file—–>new—->project ,注意选择 maven,Create from archetype不要勾选。

idea 创建 maven 父子工程-开源基础软件社区
然后点击 next 按钮,填写 GroupId 、ArtifactId 完成项目创建。

  • GroupId 是项目组织唯一的标识符,实际对应着包的结构。GroupId一般分为三段

    • 第一段:域。常见的有:cn(china),org(非营利组织),com(商业组织)。
    • 第二段:组织。比如说阿里,就是 alibaba。
    • 第三段:子项目。对应项目名称。比如说:org.springframework.boot,其中 boot 就是子项目。当然第三段可以不写。
  • ArtifactId 是项目的唯一的标识符,实际对应项目的名称,ArtifactId 分为两段

    • 第一段:其实就是子项目,也就是项目名称。
    • 第二段:子项目还能继续细分,比如公用项目,那就是 awesome-common。

比如我创建个人项目,我会将 GroupId 设置为cn.cxyxj,cn表示域为中国,cxyxj是我笔名缩写,ArtifactId 设置为 awesome(牛逼),表示你这个项目的名称是 awesome。
idea 创建 maven 父子工程-开源基础软件社区
创建完成,项目结构如下:

idea 创建 maven 父子工程-开源基础软件社区

父工程的 src 目录是没有作用,可以删除。

父工程创建完成了,接下来就是创建子工程了。

创建子工程

在父工程上进行右击,选择 new -》Module。
idea 创建 maven 父子工程-开源基础软件社区
还是选择 maven项目,Create from archetype不要勾选。然后点击 next按钮。

注意要选择 parent
idea 创建 maven 父子工程-开源基础软件社区
点击 Finish按钮,项目创建完成!

那怎么看这个父子工程是否创建完成呢?

  • awesome-api项目pom.xml需要包含红框中的标签 <parent>
    idea 创建 maven 父子工程-开源基础软件社区
  • awesome项目的 pom.xml需要包含红框中的标签<modules>
    idea 创建 maven 父子工程-开源基础软件社区

看到如上标签说明父子工程创建成功,然后就是往工程中添砖加瓦了。

搭建 Spring Boot

我们先在父工程 awesome 的 pom.xml 中加入 spring-boot-starter-web依赖。

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.2.4.RELEASE</version>
	<relativePath />
</parent>

然后在子工程awesome-api的 pom.xml 中加入 spring-boot-starter-parent依赖。

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

创建项目文件夹,可以看到小杰的命名。
idea 创建 maven 父子工程-开源基础软件社区

配置项目启动类

@SpringBootApplication(scanBasePackages = "cn.cxyxj.awesome")
public class AwesomeApplication {

    public static void main(String[] args) {
        SpringApplication.run(AwesomeApplication.class, args);
    }
}

配置自定义banner

配置

resource 目录加入 banner.txt文件。内容如下:

${AnsiColor.BRIGHT_GREEN}
:::'###::::'##:::::'##:'########::'######:::'#######::'##::::'##:'########:
::'## ##::: ##:'##: ##: ##.....::'##... ##:'##.... ##: ###::'###: ##.....::
:'##:. ##:: ##: ##: ##: ##::::::: ##:::..:: ##:::: ##: ####'####: ##:::::::
'##:::. ##: ##: ##: ##: ######:::. ######:: ##:::: ##: ## ### ##: ######:::
 #########: ##: ##: ##: ##...:::::..... ##: ##:::: ##: ##. #: ##: ##...::::
 ##.... ##: ##: ##: ##: ##:::::::'##::: ##: ##:::: ##: ##:.:: ##: ##:::::::
 ##:::: ##:. ###. ###:: ########:. ######::. #######:: ##:::: ##: ########:
..:::::..:::...::...:::........:::......::::.......:::..:::::..::........::

Application Version: ${application.formatted-version}
Spring Boot Version: ${spring-boot.formatted-version}
${AnsiColor.DEFAULT}
  • ${AnsiColor.BRIGHT_GREEN} 、${AnsiColor.DEFAULT}:设置控制台中输出内容的颜色,可以自定义。代码定义可以具体参考org.springframework.boot.ansiAnsiColor,颜色与编码之间的关系可以参考:颜色转换
  • ${application.formatted-version}:格式化的{application.version}版本信息,也就是 Spring的版本。
  • ${spring-boot.formatted-version}:格式化的{spring-boot.version}版本信息。

启动类内容修改如下:

public static void main(String[] args) {
    // 启动颜色格式化
    AnsiOutput.setEnabled(AnsiOutput.Enabled.ALWAYS);
    new SpringApplicationBuilder(AwesomeApplication.class)
            .main(SpringVersion.class) // 这个是为了可以加载 Spring 版本
            .bannerMode(Banner.Mode.CONSOLE)// 控制台打印
            .run(args);
}

启动效果

idea 创建 maven 父子工程-开源基础软件社区

生成 banner 在线工具

找到了生成的工具,然后为了生成自己想要的效果,就差不多找了十几分钟。为了让大家节省时间,这里推荐一下小杰用的字体(如果觉得不错就可以用),小杰用的是第二个网站,字体为 banner3-D。

idea 创建 maven 父子工程-开源基础软件社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-2-15 10:31:58修改
2
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐