IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> (一) Maven Archetype模板工程入门——local方式 -> 正文阅读

[Java知识库](一) Maven Archetype模板工程入门——local方式

目录

一、软件准备

二、微服务模板工程开发环境搭建前置准备

1. 构建Springboot demo模板项目

(1) 选择工程类型

?编辑?(2) 添加模板工程测试依赖包

(3) 查看模板工程运行情况?编辑

(4) 模板工程构建完成

2. 使用Maven生成本地模板

(1) 依据工程目录创建项目模板文件

(2) 安装项目模板至仓库

(3) 查看模板工程

(4) 查看模板工程配置文件信息

3. 使用模板生成新工程

(1) 命令行方式生成

(2) 查看依据项目模板生成的新工程情况

三、启动新工程

四、手动生成模板工程步骤

五、FAQ

问题1:maven-compiler-plugin:3.8.1 Fatal error compiling: 无效的目标发行版: 17

问题2:maven-archetype-plugin:3.2.1:create-from-project 依据当前项目创建失败


一、软件准备

软件名称或操作系统

版本

备注

Mac OSX/Win10/Win11

11.2/x64/x64

IntelliJ IDEA

2019+

安装插件lombok

Maven

3.6.1

软件安装步骤:略

二、微服务模板工程开发环境搭建前置准备

1. 构建Springboot demo模板项目

(1) 选择工程类型

1) 该教程以模板工程:Spring Initializar做为示范工程。如下图所示:


2) 依据实际情况填写,选择需要的组件,参考下图亦可。

最后点击【Finish】,创建mavenArchetype模板工程。


3) 构建完成的项目结构。


?
?
4) 打开模板项目等待依赖项下载完成。


?
(2) 添加模板工程测试依赖包

选择【pom.xml】文件,查看Web测试依赖包。
?

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>mysql</groupId>-->
<!--            <artifactId>mysql-connector-java</artifactId>-->
<!--            <scope>runtime</scope>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

(3) 查看模板工程运行情况

(4) 模板工程构建完成

至此,模板工程构建完成,满足以下功能(请自行测试,此处不做赘述):

1) Web服务;

2) 数据库访问;

3) 热部署;

4) Lombok自动生成getter与setter;

5) Maven自动构建。

2. 使用Maven生成本地模板

(1) 依据工程目录创建项目模板文件

工程根目录键入如下命令:

mvn archetype:create-from-project

项目模板存放:

项目根目录/target/generated-sources/archetype/src/main/resources/archetype-resource

项目模板配置文件:

项目根目录/target/generated-sources/archetype/src/main/resources/maven/archetype-metadata.xml

(2) 安装项目模板至仓库

PS:此处为本地仓库,远程仓库后续再做讲解

1) 进入项目根目录/target/generated-sources/archetype

2) 执行以下命令:

mvn clean install

3) 执行成功如下所示:


完成模板工程在本地仓库的安装。

4) 核对模板工程目录结构,如下图所示:

至此,模板工程创建成功。

(3) 查看模板工程

进入系统默认maven本地仓库目录:

macOS:

/usr/{用户名}/.m2/repository


Windows:

C:/用户/{用户名}/.m2/repository

(4) 查看模板工程配置文件信息

模板工程archetype-catalog.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>com.maven.archetype</groupId>
      <artifactId>mavenArchetype-archetype</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <description>Demo project for Spring Boot</description>
    </archetype>
  </archetypes>
</archetype-catalog>


3. 使用模板生成新工程

(1) 命令行方式生成

命令解析:

命令行

作用与说明

mvn archetype:generate

-DgroupId=com.maven.archetype.test?????????????

#新建项目的工程名

-DartifactId=mavneArchetypeTest

#要创建的项目名称

-Dversion=1.0.0-SNAPSHOT

#要创建的项目的版本号

-Dpackage=com.maven.archetype

#要创建的项目的基础包名

-DarchetypeGroupId=com.maven.archetype

#./m2下的xml里<archetype>的<groupId>标签值

-DarchetypeArtifactId=mavenArchetype-archetype

#./m2下的xml里<archetype>的<artifactId>标签值

-DarchetypeVersion=0.0.1-SNAPSHOT

#./m2下的xml里<archetype>的<version>标签值

-B

-DarchetypeCatalog=local

#从本地仓库选取模板

-DinteractiveMode=false

Windows下可执行命令:

命令1:

mvn archetype:generate ^

-DgroupId=com.maven.archetype.test ^ ????

-DartifactId=mavneArchetypeTest ^

-Dversion=1.0.0-SNAPSHOT ^

-Dpackage=com.maven.archetype ^

-DarchetypeGroupId=com.maven.archetype ^

-DarchetypeArtifactId=mavenArchetype-archetype ^

-DarchetypeVersion=0.0.1-SNAPSHOT ^

-B ^

-DarchetypeCatalog=local ^

-DinteractiveMode=false

命令2:

mvn archetype:generate -DgroupId=com.maven.archetype.test -DartifactId=mavneArchetypeTest -Dversion=1.0.0-SNAPSHOT -Dpackage=com.maven.archetype -DarchetypeGroupId=com.maven.archetype -DarchetypeArtifactId=mavenArchetype-archetype -DarchetypeVersion=0.0.1-SNAPSHOT -B -DarchetypeCatalog=local -DinteractiveMode=false

MacOS下可执行命令:

mvn archetype:generate \

-DgroupId=com.maven.archetype.test \ ????

-DartifactId=mavneArchetypeTest \

-Dversion=1.0.0-SNAPSHOT \

-Dpackage=com.maven.archetype \

-DarchetypeGroupId=com.maven.archetype \

-DarchetypeArtifactId=mavenArchetype-archetype \

-DarchetypeVersion=0.0.1-SNAPSHOT \

-B \

-DarchetypeCatalog=local \

-DinteractiveMode=false

(2) 查看依据项目模板生成的新工程情况

新工程与模板工程目录结构请自行比对:

Pom.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.7</version> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.maven.archetype.test</groupId>
    <artifactId>mavneArchetypeTest</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <name>mavneArchetypeTest</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>mysql</groupId>-->
<!--            <artifactId>mysql-connector-java</artifactId>-->
<!--            <scope>runtime</scope>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>


?

三、启动新工程


四、手动生成模板工程步骤

MacOS生成方式

1. mvn archetype:create-from-project

2. cd target/generated-sources/archetype

3. mvn clean install

4. mvn archetype:generate -DarchetypeCatalog=local

5. open /Users/test/mavenArchtypeTest/

6. mvn archetype:create-from-project

7. mvn install

8. mvn clean install

9. mvn archetype:crawl

10. mvn deploy

说明:其中第9,第10步需要结合Nexus方可完成,同时需要配置pom.xml中私服的相关配置,待后续文章中逐一阐述。

Windows部分命令请自行调整

模板工程源码下载:https://gitee.com/CodeCaptain/mavenArchetype.giticon-default.png?t=M4ADhttps://gitee.com/CodeCaptain/mavenArchetype.git

新工程源码下载:https://gitee.com/CodeCaptain/mavenArchetypeTest.giticon-default.png?t=M4ADhttps://gitee.com/CodeCaptain/mavenArchetypeTest.git

五、FAQ

问题1:maven-compiler-plugin:3.8.1 Fatal error compiling: 无效的目标发行版: 17

解决方法:

修改pom.xml中以下信息,<source>与<target>标签为1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <groupId>org.apache.maven.plugins</groupId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

问题2:maven-archetype-plugin:3.2.1:create-from-project 依据当前项目创建失败

描述:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.1:create-from-project (default-cli) on project maven Archetype: Invoker process ended with result different than 0!


解决方法:

尝试在以下目录加入maven 的settings.xml。此处可复用,maven安装目录下conf中的settings.xml至:

macOS:

/usr/{用户名}/.m2/repository

Windows:

C:/用户/{用户名}/.m2/repository

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:13:45  更:2022-05-16 11:16:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:07:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码