2013-01-22 72 views
3

我有一個項目有兩個模塊:客戶端和服務器。在父pom.xml中我添加了部署階段的信息,以便部署到本地目錄:maven deploy:如何限制只部署工件? (多模塊環境)

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.my</groupId> 
    <artifactId>myTest</artifactId> 
    <version>0.1</version> 
    <packaging>pom</packaging> 
    <name>myTest</name> 
    <modules> 
    <module>server</module> 
    <module>client</module> 
    </modules> 

<!-- for: mvn deploy --> 
<distributionManagement> 
    <repository> 
     <id> myRepo </id> 
     <url> file:myDeployDir </url> 
    </repository> 
</distributionManagement> 

</project> 

當我運行mvn deploy不僅服務器0.1.jar和客戶0.1.jar被複制到myDeploy,但總數爲33(!)個文件:* pom * sha1 * md5 * xml用於pom,元數據和jar。

如何設置只應複製server-0.1.jar和client-0.1.jar?

謝謝!

+0

嗯,這是可能的,但不建議。你爲什麼想做這個? –

+0

您正在將工件部署到存儲庫,這意味着在Maven中存在工件(.jar,.pom,.sha1,.md5等)。此外,我會建議使用存儲庫管理器,而不是文件系統。如果你喜歡只有罐子,你需要以不同的方式做。 – khmarbaise

+0

@AndrewLogvinov也許我誤解了「部署」階段的實際含義。我認爲部署是將最終的工件(只有.jar)放到最終用戶將要使用的地方。 I.E.如果我開發了一個新的unix命令,然後通過部署它,我明白如果您只想將一些工件複製到文件中,則將可執行文件複製到(說)/ usr/local/bin – cibercitizen1

回答

1

使用Maven deploy-file

部署:部署文件用於其 POM沿安裝一個假象。在這種情況下,可以從 中獲取工件信息(可選地指定pomFile),但可以使用 命令行完成/重寫。