2013-01-18 16 views
1

安裝Maven項目在本地如果一個項目foo的版本爲1.0-SNAPSHOT,應運行命令與分類

mvn install -Dclassifier=bar 

在我的本地.m2目錄中安裝foo-1.0-SNAPSHOT-bar.jar?我試過這樣做,但它安裝了foo-1.0-SNAPSHOT.jarmaven install plugin沒有提供太多關於-Dclassifier選項的詳細信息。

有沒有一種方法來安裝(本地)與分類器的罐子?

回答

1

-Dclassifier參數與install:install-file目標關聯,這不是默認構建生命週期安裝階段執行的目標。相反,它用於以特設命令行方式安裝輔助工件。換句話說,它用於在正常運行的Maven構建的上下文之外的存儲庫中粘貼東西。

當您使用mvn install調用默認的構建生命週期時,他安裝階段執行[install:install][1]目標。所以,當你執行mvn install -Dclassifier=bar時,你執行了默認的構建生命週期,並且該參數沒有用於任何事情。

install:install目標,正如文檔中所述,安裝primary artifact以及secondary,又名attached,工件。你的構建產生的jar是主要的神器。它沒有分類器。所有附加的工件都需要第四個maven座標來從主工件中唯一標識它們。該座標是分類器。

除非附加了工件,否則不需要分類器。附加的工件從哪裏來?除了主要的神器之外,它們是你的構建產生的東西。所以,它可能是由程序集插件構建的東西。它可能是另一個包含項目源文件的jar文件等。分類器由附加次要工件的機制決定,例如,程序集插件。