2017-03-16 150 views
1

這裏新來的maven來自螞蟻世界構建maven項目以創建客戶端jar的最佳方式是什麼?

我需要創建一個客戶端jar包含幾個文件,這將使我的客戶端能夠寫入我的db並對我的服務進行其他調用。 這些主要是包裝Rest連接和db客戶端的類。

是否有可能產生這個神器作爲我的主Maven項目的副作用? 例如:當我運行mvn包時,主項目會生成一個包,但是我想通過提供一些其他參數生成客戶端jar。

+1

Maven具有標準結構。你必須遵守這一點。標準的Maven生命週期包括包;這就是您可以選擇如何打包應用程序的地方。 – duffymo

回答

0

標準的Maven方式是「一個項目,一個jar」。這意味着實現您的目標的最簡潔的方法是設置一個多模塊項目,您的「普通」罐子和「客戶」罐子都有一個模塊。但也有其他可能性:

  1. 如果你是在談論一個EJB,你可以使用maven-EJB-插件,並創建一個客戶端神器。不幸的是,這兩個工件然後共享相同的pom(並因此具有相同的依賴關係)。

  2. 您可以使用maven-assembly-plugin來組裝一組文件,並將它們部署爲副工件(與(1)中的問題相同)。

  3. 您可以使用maven-install-plugin和maven-deploy-plugin來安裝/部署完全不同的工件以及主工件。這些工件需要在創建之前,例如由一個自定義的Maven插件。

+0

這3個都不會創建可運行的jar。 –

+0

OP在哪裏說罐子應該可以運行? –

+0

你說得對,我的腦子裏裝滿了罐子。垃圾回答。 –

1

這裏你需要的是一個多模塊的maven項目。

的結構是這樣的:

-- Parent Module 
----- Child 1 Module 
----- Child 2 module 

在這裏,你可以有你的主應用程序的所有代碼/文件child 1模塊,並把所有的代碼/文件,客戶端的child 2模塊中。

父模塊只是一個聚合器,它會產生pom類型的工件。而你的每個孩子模塊都會生產個人jars。 然後,你可以在你的客戶端的第二個罐子。

要詳細瞭解多模塊項目的工作原理,請檢查link

相關問題