簡體   English   中英

將項目中的單個 package 發布為 maven 工件

[英]Publish a single package from a project as maven artifact

我正在開發一個由許多用 Java(spring boot)編寫的 API 組成的微服務系統,我面臨一些實例,其中我必須使用在另一個實例中定義的模型(例如,當發出 API 到 API 請求時)並且需要將結果解析為對象)。 模型通常在“模型”package 中定義,不依賴於其他包。 我不太喜歡從一個項目復制/粘貼到另一個項目的想法,因為它容易出錯並且很容易引入大量開銷(例如,當需要編輯 model 時)。 I was wondering if there is a way, maybe with a maven configuration, to extract only the model package in a separate jar, and then publish it as a maven artifact (we have an internal repository). 這將允許我們自由地將屬於一個項目的模型類用於另一個項目,而不必擔心維護相同 model 的更新的兩個定義。 這也比將模型作為一個完全獨立的項目要好得多。

好吧,最好提取整個模塊而不是 package,只需將其添加到 pom.xml 中即可。

我不知道我是否理解正確-
讓我們考慮一下這種情況:您有項目 A,您有端點,假設您有 class 用戶。 這個 class 應該是“共享的”,所以讓我們把它放在模塊 ProjectA-API 中。 您將 API 打包定義為 jar,並將其添加到 ProjectA-War 模塊的依賴項中。 而且您還將它添加到 ProjectB-War 中的 pom 中,然后您可以在呼叫者和呼叫站點中為用戶使用相同的 model class 。

它有幫助還是您的意思有所不同?

用於可視化的小圖 - 在此處輸入圖像描述

不。

解決方案是讓模型成為一個單獨的項目。

或者,您可以構建多模塊項目,這樣構建許多工件就不那么麻煩了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM