Maven自定义骨架工程
工作生活是做不完的需求,建不完的工程,每次创建初始工程,需要进行配置完善,这个完善的动作在同类工程中是重复的,所幸maven提供了骨架工程的方式解决这个事情。
网上有很多这类文章,笔者写这篇,主要留个自己一个备忘,有需要同学也可以参照。
接下来通过几个步骤,实现骨架工程的创建、发布、基于骨架创建项目。
创建工程
如图所示,这里我直接创建了maven工程,选择的是idea中已经有的骨架工程,也可以创建原生的java project,之后再转maven project。
修改配置
修改pom.xml文件,可以根据自己的需要修改。
需要注意配置插件 maven-archetype-plugin
<!-- springboot web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<!-- springboot 默认支持yml配置 以此 支持xml properties配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- log -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<!-- mysql 驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency> -->
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- 不传递依赖,限当前工程 -->
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!-- json 处理 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
<!-- springboot test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
org.apache.maven.plugins maven-archetype-plugin org.mybatis.generator mybatis-generator-maven-plugin 1.3.2 ${basedir}/src/main/resources/mybatis/mybatis-generator.xml true true
增加目录和配置文件:
maven 命令处理
打开终端,来到工程目录下
执行命令,生成骨架工程:
mvn archetype:create-from-project
来到archetype目录下 cd target/generated-sources/archetype
执行mvn install 部署到本地库
执行mvn deploy 部署到私服
登录私服查看
到这里骨架工程创建并发布成功
项目使用
创建工程
点击 【add archetype】 按钮
输入骨架工程信息:
点击【OK】,看到了我们自定的骨架
选中自定义的骨架工程,点击【下一步】,输入工程信息ddd,点击【完成】,生成工程结构如下:
总结
自此使用maven自定义骨架工程及应用完成。
总结:有两点要注意:
1、pom.xml中添加插件maven-archetype-plugin,
2、执行maven命令,需要注意对应的目录。