quarkus實戰之五:細說maven外掛

2023-07-25 09:00:35
  • quarkus的maven外掛非常重要,管理和構建工程時都離不開,本篇就來一起了解和掌握它

歡迎存取我的GitHub

這裡分類和彙總了欣宸的全部原創(含配套原始碼):https://github.com/zq2599/blog_demos

本篇概覽

  • 本文是《quarkus實戰》系列的第五篇,一起去熟悉quarkus的maven外掛(就是下圖紅框中的那個plugin),用好它可以使我們更加得心應手的在專案中設定和控制quarkus

  • 外掛quarkus-maven-plugin提供了豐富的功能,它們都有對應的命令,執行mvn quarkus:xxx即可執行,其中xxx就是具體的命令,例如mvn quarkus:help,接下來一起用實際操作來熟悉這些命令

幫助(help)

  • mvn quarkus:help是首先要掌握的命令,它告訴了大家quarkus的maven外掛到底有哪些能力,作為工具書,今後隨時可能用到,如下所示,篇幅所限,僅列出部分內容:
% mvn quarkus:help
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:help (default-cli) @ hello-quarkus ---
[INFO] Quarkus Platform - Quarkus Maven Plugin 2.7.3.Final
  Quarkus Universe platform aggregates extensions from Quarkus Core and those
  developed by the community into a single compatible and versioned set that
  application developers can reference from their applications to align the
  dependency versions

This plugin has 25 goals:

quarkus:add-extension
  Allow adding an extension to an existing pom.xml file. Because you can add one
  or several extension in one go, there are 2 mojos: add-extensions and
  add-extension. Both supports the extension and extensions parameters.

quarkus:add-extensions
  Allow adding extensions to an existing pom.xml file. Because you can add one
  or several extension in one go, there are 2 mojos: add-extensions and
  add-extension. Both supports the extension and extensions parameters.

quarkus:analyze-call-tree
  Analyze call tree of a method or a class based on an existing report produced
  by Substrate when using -H:+PrintAnalysisCallTree, and does a more meaningful
  analysis of what is causing a type to be retained.

quarkus:build
  Builds the Quarkus application.
...  

建立工程(create)

  • 首先要掌握的mvn命令是建立工程,回顧前文中建立工程的命令:
mvn "io.quarkus:quarkus-maven-plugin:create" \
  -DprojectGroupId="com.bolingcavalry" \
  -DprojectArtifactId="hello-quarkus" \
  -DprojectVersion="1.0-SNAPSHOT" \
  -DclassName="HobbyResource" \
  -Dpath="actions"
  • 建立工程時有很多引數可以設定,它們的預設值的作用如下表
引數 預設值 說明
projectGroupId org.acme.sample group id,GAV座標中的G
projectArtifactId mandatory artifact id, GAV座標中的A
projectVersion 1.0.0-SNAPSHOT version, GAV座標中的V
platformGroupId io.quarkus.platform 在依賴quarkus的BOM,以及quarkus外掛時,都要指定GAV,這是G
platformArtifactId quarkus-bom 在依賴quarkus的BOM,以及quarkus外掛時,都要指定GAV,這是A
platformVersion 2.7.1.Final 在依賴quarkus的BOM,以及quarkus外掛時,都要指定GAV,這是V,預設值會自動更新到最新穩定版
className 無預設值 指定後,會自動建立一個類
path 無預設值 如果指定了className,此時再指定path的話,path會作為類的web介面的path
extensions 所需的quarkus外掛列表
quarkusRegistryClient true 是否聯網獲取最新的quarkus外掛列表,如果設定為false,列表只能根據BOM獲取,得不到最新的線上資料

檢視工程資訊(info)

  • 檢視工程資訊的命令是mvn quarkus:info,使用頻率很高,如下,可以觀察當前的BOM和擴充套件外掛情況:
(base) willdeMBP:hello-quarkus will$ mvn quarkus:info
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.1.Final:info (default-cli) @ hello-quarkus ---
[WARNING] quarkus:info goal is experimental, its options and output may change in future versions
[INFO] Looking for the newly published extensions in registry.quarkus.io
[INFO] Quarkus platform BOMs:
[INFO]   io.quarkus:quarkus-bom:pom:2.7.1.Final
[INFO] 
[INFO] Extensions from io.quarkus:quarkus-bom:
[INFO]   io.quarkus:quarkus-arc
[INFO]   io.quarkus:quarkus-resteasy
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.828 s
[INFO] Finished at: 2022-03-04T08:40:44+08:00
[INFO] ------------------------------------------------------------------------

paltform列表(list-platforms)

  • 回顧專案的pom.xml檔案,如下圖,紅框中是依賴的平臺資訊,所有quarkus依賴庫都由這個平臺統一管理

  • 上圖紅框中的平臺,在quarkus中有多個,我們可以按照自己的實際情況選擇,quarkus外掛的list-platforms命令可以檢視一共有哪些平臺型別,完整命令是
mvn quarkus:list-platforms
  • 控制檯輸出所有平臺資訊
% mvn quarkus:list-platforms
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:list-platforms (default-cli) @ hello-quarkus ---
[INFO] io.quarkus.platform:quarkus-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-optaplanner-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-kogito-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-qpid-jms-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-cassandra-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-amazon-services-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-camel-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-hazelcast-client::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-debezium-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-blaze-persistence-bom::pom:2.7.3.Final
[INFO] io.quarkus.platform:quarkus-google-cloud-services-bom::pom:2.7.3.Final
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

擴充套件元件:檢視(list-extensions)

  • 擴充套件元件(extensions)是quarkus的一大特色,web、序列化、資料庫等豐富的功能,都有對應的元件提供
  • 命令mvn quarkus:list-extensions可以檢視支援的擴充套件元件列表:
(base) willdeMBP:hello-quarkus will$ mvn quarkus:list-extensions
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.1.Final:list-extensions (default-cli) @ hello-quarkus ---
[INFO] Looking for the newly published extensions in registry.quarkus.io
[INFO] Current Quarkus extensions available: 
[INFO] 
[INFO] ✬ ArtifactId                                         Extension Name
[INFO] ✬ quarkus-agroal                                     Agroal - Database connection pool
[INFO] ✬ quarkus-amazon-lambda                              AWS Lambda
[INFO] ✬ quarkus-amazon-lambda-http                         AWS Lambda HTTP
[INFO] ✬ quarkus-amazon-lambda-rest                         AWS Lambda Gateway REST API
[INFO] ✬ quarkus-amazon-lambda-xray                         AWS Lambda X-Ray
[INFO] ✬ quarkus-apicurio-registry-avro                     Apicurio Registry - Avro
[INFO] ✬ quarkus-avro                                       Apache Avro
[INFO] ✬ quarkus-awt                                        AWT
[INFO] ✬ quarkus-azure-functions-http                       Azure Functions HTTP
[INFO] ✬ quarkus-cache                                      Cache
[INFO] ✬ quarkus-config-yaml                                YAML Configuration
...
  • 如果想看更豐富的資訊,可以增加引數-Dformat=full,如下圖紅框所示,新增了兩個欄位:

擴充套件元件:檢視分類(list-categories)

  • 直接用list-extensions命令可以看到所有擴充套件元件,我們當然不會全部都用,所以最好能有個分類的功能,然後我們在合適的類目中找尋自己需要的元件
  • quarkus已經為我們準備好了分類功能,首先,執行以下命令檢視有哪些分類(-Dformat引數可選,有了它會展示更詳細的資訊)
mvn quarkus:list-categories -Dformat=full
  • 控制檯輸出如下,列出了所有分類和說明
% mvn quarkus:list-categories -Dformat=full
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:list-categories (default-cli) @ hello-quarkus ---
[INFO] Available Quarkus extension categories: 
[INFO] 
[INFO] Category                       CategoryId           Description
[INFO] Alternative languages          alt-languages        Support for other JVM based languages
[INFO] Alternative languages          alternative-languages Support for other JVM based languages
[INFO] Business Automation            business-automation  Rules engine, BPM, etc
[INFO] Cloud                          cloud                Useful for Cloud Native deployments platforms like Kubernetes and cloud providers
[INFO] Compatibility                  compatibility        Support for alternative programming models on Quarkus
[INFO] Core                           core                 Core Quarkus components: engine, logging, etc.
[INFO] Data                           data                 Accessing and managing your data (RDBMS, NoSQL, caching, transaction management, etc)
[INFO] Integration                    integration          Connectors to read to write from a skew of systems (file, S#, Twitter, etc)
[INFO] Messaging                      messaging            Send and receives message to various messaging systems (AMQP, KAfka etc)
[INFO] Miscellaneous                  miscellaneous        Mixed bag of good stuff
[INFO] Observability                  observability        Metrics, tracing, etc
[INFO] Reactive                       reactive             Non blocking stack and connectors
[INFO] Security                       security             Everything you need to secure your application
[INFO] Serialization                  serialization        Serializing and deserializing various formats
[INFO] Web                            web                  Everything you need for REST endpoints, HTTP and web formats like JSON
[INFO] gRPC                           grpc                 gRPC integration
[INFO] 
[INFO] To list extensions in given category, use:
`./mvnw quarkus:list-extensions -Dcategory="categoryId"`
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
  • 如果我對訊息相關的元件感興趣,可以看messaging這個類目,命令是
mvn quarkus:list-extensions -Dcategory="messaging"
  • 此時控制檯會列出messaging這個類目下的所有元件
% mvn quarkus:list-extensions -Dcategory="messaging"              
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:list-extensions (default-cli) @ hello-quarkus ---
[INFO] Current Quarkus extensions available: 
[INFO] 
[INFO] ✬ ArtifactId                                         Extension Name
[INFO]   quarkus-artemis-jms                                Artemis JMS
[INFO] ✬ quarkus-google-cloud-pubsub                        Google Cloud Pubsub
[INFO] ✬ quarkus-kafka-client                               Apache Kafka Client
[INFO] ✬ quarkus-kafka-streams                              Apache Kafka Streams
[INFO] ✬ quarkus-qpid-jms                                   AMQP 1.0 JMS client - Apache Qpid JMS
[INFO]   quarkus-rabbitmq-client                            RabbitMQ Client
[INFO]   quarkus-reactive-messaging-http                    Reactive HTTP and WebSocket Connector
[INFO] ✬ quarkus-smallrye-reactive-messaging                SmallRye Reactive Messaging
[INFO] ✬ quarkus-smallrye-reactive-messaging-amqp           SmallRye Reactive Messaging - AMQP Connector
[INFO] ✬ quarkus-smallrye-reactive-messaging-kafka          SmallRye Reactive Messaging - Kafka Connector
[INFO] ✬ quarkus-smallrye-reactive-messaging-mqtt           SmallRye Reactive Messaging - MQTT Connector
[INFO] ✬ quarkus-smallrye-reactive-messaging-rabbitmq       SmallRye Reactive Messaging - RabbitMQ Connector
[INFO] 
[INFO] To get more information, append `-Dformat=full` to your command line.
[INFO] 
[INFO] Add an extension to your project by adding the dependency to your pom.xml or use `./mvnw quarkus:add-extension -Dextensions="artifactId"`
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

擴充套件元件:新增(add-extension、add-extensions)

  • mvn quarkus:list-extensions列出所有擴充套件元件後,可根據實際需要將列出的元件加入自己專案,例如我需要quarkus-jackson這個元件,執行以下命令即可
mvn quarkus:add-extension -Dextensions="quarkus-jackson"
  • 控制檯輸出如下,提示新增成功
% mvn quarkus:add-extension -Dextensions="quarkus-jackson"
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:add-extension (default-cli) @ hello-quarkus ---
[INFO] [SUCCESS] ✅  Extension io.quarkus:quarkus-jackson has been installed
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.756 s
[INFO] Finished at: 2022-03-05T15:36:40+08:00
[INFO] ------------------------------------------------------------------------
  • 再去看pom.xml,如下圖紅框,檔案已被改動,新增依賴quarkus-jackson

  • 還可以同時新增多個,命令是add-extensions,注意多了個s,多個元件之間用逗號分隔
mvn quarkus:add-extensions -Dextensions="quarkus-jdbc-mysql,quarkus-config-yaml"
  • 為了方便使用者,add-extensions除了精確匹配,還會模糊查詢,輸入下面的命令試試
quarkus:add-extensions -Dextensions="agroal"
  • 控制檯輸出如下,quarkus-agroal會被找到並新增
% mvn quarkus:add-extensions -Dextensions="agroal"   
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:add-extensions (default-cli) @ hello-quarkus ---
[INFO] [SUCCESS] ✅  Extension io.quarkus:quarkus-agroal has been installed
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.832 s
[INFO] Finished at: 2022-03-05T16:16:53+08:00
[INFO] ------------------------------------------------------------------------
  • 當匹配結果有多個的時候,quarkus外掛會提示失敗,以jdbc為例,如下所示,有多個匹配結果,因此quarkus外掛不知道該選哪個,就報錯了:
% mvn quarkus:add-extension -Dextensions="jdbc"   
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:add-extension (default-cli) @ hello-quarkus ---
[INFO] [ERROR] ❗  Multiple extensions matching 'jdbc'
     - io.quarkus:quarkus-agroal
     - io.quarkus:quarkus-elytron-security-jdbc
     - io.quarkus:quarkus-jdbc-db2
     - io.quarkus:quarkus-jdbc-derby
     - io.quarkus:quarkus-jdbc-h2
     - io.quarkus:quarkus-jdbc-mariadb
     - io.quarkus:quarkus-jdbc-mssql
     - io.quarkus:quarkus-jdbc-mysql
     - io.quarkus:quarkus-jdbc-oracle
     - io.quarkus:quarkus-jdbc-postgresql
     - org.kie.kogito:kogito-addons-quarkus-persistence-jdbc
     - org.apache.camel.quarkus:camel-quarkus-jdbc
     Be more specific e.g using the exact name or the full GAV.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.500 s
[INFO] Finished at: 2022-03-05T16:18:34+08:00
[INFO] ------------------------------------------------------------------------
  • 再用info命令檢視當前工程,可以看到剛才新增的元件
[INFO] Quarkus platform BOMs:
[INFO]   io.quarkus.platform:quarkus-bom:pom:2.7.3.Final
[INFO] 
[INFO] Extensions from io.quarkus.platform:quarkus-bom:
[INFO]   io.quarkus:quarkus-jackson
[INFO]   io.quarkus:quarkus-config-yaml
[INFO]   io.quarkus:quarkus-arc
[INFO]   io.quarkus:quarkus-jdbc-mysql
[INFO]   io.quarkus:quarkus-resteasy
[INFO]   io.quarkus:quarkus-agroal
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

擴充套件元件:刪除(remove-extension、remove-extensions)

  • 如果要刪除已新增的quarkus元件,例如quarkus-jackson,執行以下命令即可
mvn quarkus:remove-extension -Dextensions="quarkus-jackson"
  • 控制檯輸入如下,提示刪除成功,再去看pom.xml發現quarkus-jackson的依賴也已經被刪除了
% mvn quarkus:remove-extension -Dextensions="quarkus-jackson"    
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:remove-extension (default-cli) @ hello-quarkus ---
[INFO] [SUCCESS] ✅  Extension io.quarkus:quarkus-jackson has been uninstalled
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
  • 也有批次刪除功能,命令是remove-extensions,注意多了個s,多個元件之間用逗號分隔
mvn quarkus:remove-extensions -Dextensions="quarkus-config-yaml,quarkus-jdbc-mysql"
  • 控制檯輸出
% mvn quarkus:remove-extensions -Dextensions="quarkus-config-yaml,quarkus-jdbc-mysql"
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:remove-extensions (default-cli) @ hello-quarkus ---
[INFO] [SUCCESS] ✅  Extension io.quarkus:quarkus-config-yaml has been uninstalled
[INFO] [SUCCESS] ✅  Extension io.quarkus:quarkus-jdbc-mysql has been uninstalled
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
  • 再用info命令檢視當前工程,被刪除的元件已不在列表
% mvn quarkus:info
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.3.Final:info (default-cli) @ hello-quarkus ---
[WARNING] quarkus:info goal is experimental, its options and output may change in future versions
[INFO] Looking for the newly published extensions in registry.quarkus.io
[INFO] Quarkus platform BOMs:
[INFO]   io.quarkus.platform:quarkus-bom:pom:2.7.3.Final
[INFO] 
[INFO] Extensions from io.quarkus.platform:quarkus-bom:
[INFO]   io.quarkus:quarkus-arc
[INFO]   io.quarkus:quarkus-resteasy
[INFO]   io.quarkus:quarkus-agroal
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

檢視依賴樹(dependency-tree)

  • 我們常用mvn dependency:tree命令檢視maven工程的依賴樹,此命令是根據pom.xml的依賴資訊分析出所有直接和間接依賴關係,然而,在quarkus應用中存在一些特殊情況:quarkus的maven外掛參與了構建,它會根據當前的quarkus擴充套件元件(extensions)去新增對應的依賴,這是maven本身不知道的,因此,推薦使用mvn quarkus:dependency-tree命令檢視quarkus應用的依賴關係:
(base) willdeMBP:hello-quarkus will$ mvn quarkus:dependency-tree
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.bolingcavalry:hello-quarkus >-------------------
[INFO] Building hello-quarkus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- quarkus-maven-plugin:2.7.1.Final:dependency-tree (default-cli) @ hello-quarkus ---
[INFO] Quarkus application PROD mode build dependency tree:
[INFO] com.bolingcavalry:hello-quarkus:pom:1.0-SNAPSHOT
[INFO] ├─ io.quarkus:quarkus-arc-deployment:jar:2.7.1.Final (compile)
[INFO] │  ├─ io.quarkus:quarkus-core-deployment:jar:2.7.1.Final (compile)
[INFO] │  │  ├─ org.aesh:readline:jar:2.2 (compile)
[INFO] │  │  │  └─ org.fusesource.jansi:jansi:jar:1.18 (compile)
[INFO] │  │  ├─ org.aesh:aesh:jar:2.6 (compile)
[INFO] │  │  ├─ org.apache.commons:commons-lang3:jar:3.12.0 (compile)
[INFO] │  │  ├─ org.wildfly.common:wildfly-common:jar:1.5.4.Final-format-001 (compile)
...

離線構建(go-offline)

  • 先回顧一個maven命令mvn dependency:go-offline,其作用是預先下載所有依賴庫到本地,這樣構建的時候就算沒有網路,也能成功構建
  • 但是對於quarkus應用,因為quarkus擴充套件元件(extensions)不能被maven識別和處理,因此無法分析出這些quarkus擴充套件元件的依賴庫,導致mvn dependency:go-offline命令無法下載這些依賴庫
  • 為了解決上述問題,建議使用mvn quarkus:go-offline命令,此命令會分析擴充套件元件的依賴項,然後下載快取到本地

更多資訊

歡迎關注部落格園:程式設計師欣宸

學習路上,你不孤單,欣宸原創一路相伴...