maven java archetype_基于 Maven Archetype 创建项目

eaebe618e72c

maven-logo-black-on-white.png

说说如何使用 Maven Archetype 来创建项目模版,从项目模块结构上,统一开发规范。

Maven Archetype

了解 maven 的同学,应该使用过如下命令来构建一个空的 maven 项目骨架

mvn archetype:generate -DgroupId=net.fabself.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

这里我们看到下面的参数就是用于指定了一种空的项目骨架原型名称

-DarchetypeArtifactId=maven-archetype-quickstart

*下面开始创建一套自定义项目骨架原型,并集成 spring-boot *

定义项目原型结构

以 trade 项目为例,建立如下模块结构:

trade

├── trade-access-launcher

├── trade-common

├── trade-dao

├── trade-schedule-launcher

├── trade-service

trade-access-launcher

springMVC 启动模块,用于服务接口发布

trade-schedule-launcher

调度服务启动模块,用于定时任务

trade-common

通用接口 & 工具模块

trade-service

业务逻辑服务层模块

trade-dao

数据库访问层模块

基于以上项目结构,开始创建项目 Archetype

建立项目

项目目录结构与文件

fabself-archetype-springboot

├── pom.xml

└── src

└── main

└── resources

├── META-INF

│ └── maven

│ └── archetype-metadata.xml

└── archetype-resources

├── __rootArtifactId__-access-launcher

│ ├── pom.xml

│ └── src

│ ├── main

│ │ ├── java

│ │ └── resources

│ └── test

│ ├── java

│ └── resources

├── __rootArtifactId__-common

│ └── pom.xml

├── __rootArtifactId__-dao

│ ├── pom.xml

│ └── src

│ ├── main

│ │ └── java

│ └── test

├── __rootArtifactId__-schedule-launcher

│ ├── pom.xml

│ └── src

│ └── main

│ └── java

├── __rootArtifactId__-service

│ ├── pom.xml

│ └── src

│ └── main

│ └── java

├── pom.xml

注意:

这里子模块目录命名以 __rootArtifactId__ 为前缀,用于动态指定 artifactId 进行替换。

根 pom.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ">

4.0.0

net.fabself.archetype

fabself-archetype-springboot

1.0.0-SNAPSHOT

archetype-metadata.xml 文件

archetype-metadata.xml 中用于定义这个项目骨架中元数据,文件拷贝,过滤规则

整个拷贝过来,便于大家使用:

xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"

xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

name="app-root">

API

name="${rootArtifactId}-access-launcher">

src/main/java

**/*.**

src/main/resources

**/*.**

src/test/java

**/*.**

src/test/resources

**/*.**

pom.xml

name="${rootArtifactId}-schedule-launcher">

src/main/java

**/*.**

src/main/resources

**/*.**

src/test/java

**/*.**

src/test/resources

**/*.**

pom.xml

name="${rootArtifactId}-common">

src/main/java

**/*.**

src/main/resources

**/*.**

src/test/java

**/*.**

src/test/resources

**/*.**

pom.xml

name="${rootArtifactId}-dao">

src/main/java

**/*.**

src/main/resources

**/*.**

src/test/java

**/*.**

src/test/resources

**/*.**

pom.xml

name="${rootArtifactId}-service">

src/main/java

**/*.**

src/main/resources

**/*.**

src/test/java

**/*.**

src/test/resources

**/*.**

pom.xml

App.java spring-boot 启动类

package ${package};

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**

*

*/

@SpringBootApplication

@EnableSwagger2

public class App {

public static void main(String[] args) {

SpringApplication.run(App.class, args);

}

}

本地安装 & 使用

安装

mvn clean install

使用以下命令就可以开始创建自己的项目框架了

mvn archetype:generate -DarchetypeGroupId=net.fabself.archetype -DarchetypeArtifactId=fabself-archetype-springboot -DarchetypeVersion=1.0.0-SNAPSHOT -DarchetypeCatalog=local

接下来

在此框架下,可以继续扩展代码模版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值