最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven中自定義MavenArchetype的實現(xiàn)

 更新時間:2025年01月03日 09:30:27   作者:只年  
Maven自身提供了許多Archetype來方便用戶創(chuàng)建Project,為了避免在創(chuàng)建project時重復(fù)的拷貝和修改,我們通過自定義Archetype來規(guī)范顯得還蠻有必要,下面就來介紹一下,感興趣的可以了解一下

Maven自身提供了許多Archetype來方便用戶創(chuàng)建Project,但是每個團隊都可能會有一些常用的文件或配置,為了避免在創(chuàng)建project時重復(fù)的拷貝和修改,我們通過自定義Archetype來規(guī)范顯得還蠻有必要,下面簡單介紹下使用maven-archetype-archetype來構(gòu)建自己的Archetype的過程。

1、創(chuàng)建項目

示例

mvn archetype:generate    \
-DgroupId=com.zn.opit.template    \
-DartifactId=zn-springboot-template    \
-DarchetypeArtifactId=maven-archetype-quickstart    \
-DinteractiveMode=false
  • groupId: 項目的包名,通常是公司或組織的反向域名。
  • artifactId: 項目的名稱,代表項目在 Maven 中的標(biāo)識。
  • archetypeArtifactId: 我們使用 maven-archetype-quickstart 來創(chuàng)建一個簡單的 Maven 項目。

創(chuàng)建完成后,你將有一個基本的 Maven 項目目錄結(jié)構(gòu)。

2、編寫你的項目結(jié)構(gòu)和代碼

將Java文件和目錄保持你項目的標(biāo)準結(jié)構(gòu)。這樣,你已經(jīng)完成了原型項目的編寫。

3、轉(zhuǎn)換為 Maven Archetype

現(xiàn)在你需要將該項目轉(zhuǎn)換為 Maven Archetype。首先,你需要確保項目編譯無誤:

mvn clean install

之后,使用以下命令將現(xiàn)有項目打包為 Archetype:

mvn archetype:create-from-project

此命令將項目轉(zhuǎn)換為 Archetype,并在 target/generated-sources/archetype 目錄中生成 Archetype 的源碼。

4、安裝 Archetype 到本地倉庫

將生成的 Archetype 安裝到本地倉庫中:

cd target/generated-sources/archetype
mvn clean install

這將把 Archetype 安裝到你的本地 Maven 倉庫,通常位于 ~/.m2/repository。

5、使用生成的 Archetype 創(chuàng)建新項目

現(xiàn)在,你已經(jīng)有了一個本地安裝的 Archetype,可以使用它來生成新項目。

首先,列出本地可用的 Archetype:

mvn archetype:generate

在這個列表中,查找你剛剛創(chuàng)建的 chaos-template。你應(yīng)該能夠找到它。

6、確認生成的項目是否正確

  • 打開你生成的新項目,檢查文件結(jié)構(gòu)是否和你原始項目一致。
  • 運行項目,確認代碼沒有問題。

7、在 IDE 中使用本地 Archetype

在 New Project 中,你應(yīng)該能夠選擇 “Maven Archetype”,并在本地 Archetype 列表中看到 zn-springboot-tpl。

詳細說明:

  • Archetype 是什么: Maven Archetype 是一個項目模板,可以用來快速生成帶有特定結(jié)構(gòu)和內(nèi)容的項目。我們將上述代碼作為模板,以便可以反復(fù)使用。
  • ${package} 的作用: 在 Archetype 中,你可以使用 ${package} 這種變量,它會在生成項目時自動替換為實際的包名。這讓 Archetype 更加靈活。
  • 安裝到本地倉庫的目的是: 通過將 Archetype 安裝到本地倉庫,你可以在沒有遠程倉庫的情況下,通過 IDE 或 Maven 使用本地模板來生成項目。

通過這些步驟,你將成功構(gòu)建一個 Maven Archetype,并使用它來生成基于你代碼模板的新項目。

FAQ

?org.apache.maven.archetype.source.ArchetypeDataSourceException: org.eclipse.aether.transfer.MetadataNotFoundException: Failure to find /archetype-catalog.xml in http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced

這個錯誤是由于 Maven 在嘗試從遠程倉庫中下載 Archetype catalog 時失敗,尤其是在訪問阿里云的 Maven 倉庫時,無法找到 archetype-catalog.xml 文件。它最終會回退到使用本地或內(nèi)部的 Archetype catalog。

你可以通過以下幾種方式解決這個問題:

檢查你的 Maven 的 settings.xml 配置文件,確保配置的遠程倉庫可用。你可以在 ~/.m2/settings.xml 中配置阿里云的鏡像,但如果它不可用,可能需要更新或切換到其他可用的公共倉庫。
在 settings.xml 中,檢查是否有類似的配置:

<mirrors>
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

嘗試將這個 mirror 替換為更穩(wěn)定的倉庫,比如 Maven Central:

<mirrors>
    <mirror>
        <id>maven-default-mirror</id>
        <mirrorOf>central</mirrorOf>
        <name>Maven Central</name>
        <url>https://repo.maven.apache.org/maven2/</url>
    </mirror>
</mirrors>

保存并重試命令。

  • 強制更新倉庫

由于該錯誤提到緩存可能導(dǎo)致不能自動重新下載文件,你可以使用 -U 選項來強制更新 Maven 倉庫中的緩存:

mvn archetype:generate -U
  • 手動下載 Archetype catalog

如果遠程倉庫的問題持續(xù),另一種解決辦法是手動下載 archetype-catalog.xml 文件并將其放入本地倉庫。你可以從其他 Maven 倉庫或官方網(wǎng)站找到這個文件,然后放置在本地倉庫合適的位置。

  • 使用本地 Archetype

由于你已經(jīng)創(chuàng)建并安裝了 Archetype 在本地倉庫,可以通過以下命令使用本地的 Archetype 來生成項目:

mvn archetype:generate \
  -DarchetypeCatalog=local \
  -DarchetypeGroupId=com.zn.opit.chaos \
  -DarchetypeArtifactId=chaos-template \
  -DarchetypeVersion=1.0-SNAPSHOT \
  -DgroupId=com.example \
  -DartifactId=my-new-project

不用上述命令,此時已經(jīng)可以執(zhí)行install命令成功。

?在idea的New Project頁面選擇Archetype時并沒有自己制作的那個

mvn clean install
# 生成本地 archetype-catalog.xml
# 當(dāng)你在本地創(chuàng)建了 Archetype 后,Maven 需要生成一個 archetype-catalog.xml 文件,以便 IDE 能夠識別本地的 Archetype。
# 使用以下命令生成本地的 Archetype 目錄:
mvn archetype:crawl
# 該命令會在 ~/.m2/repository 目錄下生成一個 archetype-catalog.xml 文件,該文件會包含所有本地安裝的 Archetype 信息。
# 你可以在命令行中檢查是否生成了此文件,通常路徑是:
~/.m2/repository/archetype-catalog.xml

此時還沒有,可以在 New Project → Catalog → Manage catalogs → 新增一個路徑(name自定義、type是Local、location選擇archetype-catalog.xml的路徑,例如: /Users/zhinian/.m2/repository/archetype-catalog.xml)
。此時New Project,Catalog選擇zhinian-tpl,下方已經(jīng)有可選項了

在這里插入圖片描述

到此這篇關(guān)于maven中自定義MavenArchetype的實現(xiàn)的文章就介紹到這了,更多相關(guān)自定義MavenArchetype內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 從基礎(chǔ)實現(xiàn)到性能優(yōu)化詳解Java實現(xiàn)Word轉(zhuǎn)HTML的完整指南

    從基礎(chǔ)實現(xiàn)到性能優(yōu)化詳解Java實現(xiàn)Word轉(zhuǎn)HTML的完整指南

    本文將基于實際項目經(jīng)驗,介紹 Java 中 Word 轉(zhuǎn) HTML 的幾種實現(xiàn)方案,并以其中一種為例詳細講解轉(zhuǎn)換過程中的關(guān)鍵配置,性能優(yōu)化及常見問題處理
    2026-04-04
  • SpringData JPA快速上手之關(guān)聯(lián)查詢及JPQL語句書寫詳解

    SpringData JPA快速上手之關(guān)聯(lián)查詢及JPQL語句書寫詳解

    JPA都有SpringBoot的官方直接提供的starter,而Mybatis沒有,直到SpringBoot 3才開始加入到官方模版中,這篇文章主要介紹了SpringData JPA快速上手,關(guān)聯(lián)查詢,JPQL語句書寫的相關(guān)知識,感興趣的朋友一起看看吧
    2023-09-09
  • SpringBoot應(yīng)用線上重啟腳本的命令詳解

    SpringBoot應(yīng)用線上重啟腳本的命令詳解

    這篇文章主要介紹了SpringBoot應(yīng)用線上重啟腳本,通過查找應(yīng)用進程PID,殺死應(yīng)用進程PID,運行啟動腳本,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 解決Spring或SpringBoot開啟事務(wù)以后無法返回自增主鍵的問題

    解決Spring或SpringBoot開啟事務(wù)以后無法返回自增主鍵的問題

    這篇文章主要介紹了解決Spring或SpringBoot開啟事務(wù)以后無法返回自增主鍵的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 使用IDEA深度調(diào)試MyBatis SQL執(zhí)行流程的實用指南

    使用IDEA深度調(diào)試MyBatis SQL執(zhí)行流程的實用指南

    在軟件開發(fā)的世界中,調(diào)試不僅是解決問題的工具,更是理解系統(tǒng)運行機制的窗口,對于像MyBatis這樣復(fù)雜的持久層框架,掌握高效的調(diào)試技巧能夠讓我們真正洞察SQL從方法調(diào)用到數(shù)據(jù)庫執(zhí)行的完整生命周期,所以本文給大家介紹了使用IDEA深度調(diào)試MyBatis SQL執(zhí)行流程的實用指南
    2025-10-10
  • SpringBoot詳細講解yaml配置文件的用法

    SpringBoot詳細講解yaml配置文件的用法

    這篇文章主要介紹了SpringBoot中的yaml配置文件問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Spring  ApplicationContextAware 接口的作用及使用方式

    Spring  ApplicationContextAware 接口的作用及使用方式

    Spring提供了許多回調(diào)接口,用于Bean生命周期中執(zhí)行特定的操作,通過實現(xiàn)ApplicationContextAware接口,Spring提供了一種便捷的方式讓 Bean獲取對Spring容器的引用,本文介紹ApplicationContextAware接口的作用、使用方式,以及在實際應(yīng)用中的常見場景,感興趣的朋友一起看看吧
    2024-01-01
  • 將SpringBoot項目無縫部署到Tomcat服務(wù)器的操作流程

    將SpringBoot項目無縫部署到Tomcat服務(wù)器的操作流程

    SpringBoot 是一個用來簡化 Spring 應(yīng)用初始搭建以及開發(fā)過程的框架,我們可以通過內(nèi)置的 Tomcat 容器來輕松地運行我們的應(yīng)用,本文給大家介紹 SpringBoot 項目部署到獨立 Tomcat 服務(wù)器的操作流程,需要的朋友可以參考下
    2024-05-05
  • 如何利用Java使用AOP實現(xiàn)數(shù)據(jù)字典轉(zhuǎn)換

    如何利用Java使用AOP實現(xiàn)數(shù)據(jù)字典轉(zhuǎn)換

    這篇文章主要介紹了如何利用Java使用AOP實現(xiàn)數(shù)據(jù)字典轉(zhuǎn)換,AOP也是我們常說的面向切面編程,AOP在我們開發(fā)過程中應(yīng)用也比較多,在這里我們就基于AOP來實現(xiàn)一個數(shù)據(jù)字典轉(zhuǎn)換的案例
    2022-06-06
  • Java Swing JProgressBar進度條的實現(xiàn)示例

    Java Swing JProgressBar進度條的實現(xiàn)示例

    這篇文章主要介紹了Java Swing JProgressBar進度條的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評論

靖州| 高雄市| 三台县| 平顶山市| 盖州市| 荔浦县| 鄂尔多斯市| 高雄县| 平定县| 和硕县| 满洲里市| 巴里| 珲春市| 定远县| 乐东| 东乡族自治县| 平南县| 岳西县| 电白县| 库车县| 余江县| 阜阳市| 嘉义县| 三台县| 盈江县| 马公市| 凉城县| 广西| 绥江县| 简阳市| 凤台县| 莒南县| 宣恩县| 峡江县| 珲春市| 牟定县| 德兴市| 永城市| 靖安县| 湖南省| 河源市|