[英]Why classifier is removed from artifact while installing on local maven repo?
我有一個實用程序項目,它使用gradle生成JAR工件。 雖然生成JAR神器,我使用的classifier
jar任務的屬性解釋這里 。 我在build.gradle中使用的代碼是:
def artifactClassifier = project.hasProperty('classifier') ? classifier : "dev"
jar {
classifier = artifactClassifier
}
我可以看到JAR是按照預期生成的( myutils-1.0-test.jar
),同時我按照gradle構建運行。
$ gradle clean build -Pclassifier=test
現在,我嘗試使用以下命令將此工件安裝到我的本地M2存儲庫:
$ mvn:install install-file -Dfile=/path/to/myutils-1.0-test.jar -DgroupId=my.group -DartifactId=myutils -Dversion=1.0 -Dclassifiers=test
這個安裝很成功,但是當我檢查了我的M2 ~/.m2/repository/my/group/myutils/1.0/myutils-1.0.jar
,我看到JAR文件位於: ~/.m2/repository/my/group/myutils/1.0/myutils-1.0.jar
。 已安裝的工件名稱中缺少分類器值test
。 然后,我嘗試將其添加為依賴項:
<dependency>
<groupId>my.group</groupId>
<artifactId>myutils</artifactId>
<version>1.0</version>
<classifier>test</classifier>
</dependency>
但是,maven無法解決它。 刪除classifier
標簽后,maven可以解決依賴關系。 Gradle也發生了同樣的事情。 當我添加了以下內容時,Gradle無法解決依賴關系(我試過沒有@jar
,這也沒有用。
ext {
myutils.version = "1.0"
}
compile "my.group:myutils:${myutils_version}:test@jar"
而在刪除:test@jar
讓Gradle解析依賴關系。
我正在使用Gradle v2.3
和Maven v3.3.1
我錯過了什么嗎? 有人能幫助我嗎?
嘗試使用-Dclassifier
(不帶s)作為mvn install:install-file
。
即:
$ mvn install:install-file -Dfile=/path/to/myutils-1.0-test.jar -DgroupId=my.group -DartifactId=myutils -Dversion=1.0 -Dclassifier=test
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.