[英]building api only artifact with maven
鑒於我們的maven projet為客戶端提供了一些與之交互的api,這些只是在內部代碼庫中實現的少數Java接口...
現在,如果我們只是構建jar並將其發布,那么任何人都可以看到我們用於實現的內部類,但是我們只需要發布少量java接口(也許還有一些DTO類)...
是否有可能精確地選擇我們要為其構建jar的Java文件並創建兩個工件(例如product.jar / war和product-api.jar)
這樣做的目的是限制其他團隊可能濫用該代碼。
最好的辦法是在Maven中創建單獨的模塊,這些模塊代表您的模塊,例如:
project-api
其中僅包含接口,並且可以由其他人單獨使用。
project-impl
就關注點分離而言,以上使測試更容易等是一個不錯的選擇。
您的問題是關於保護代碼,而不是一般的Maven。 您可以擁有多模塊Maven項目,但是仍然任何人都可以下載該項目並對其進行反編譯。 很少有人像Java那樣有內置的機制來支持這一點,但是有一些解決方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.