我有一个实用程序项目,它使用gradle生成JAR工件。在生成JAR工件时,我使用 Jar 任务解释here的classifier
属性。我在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 repo时,我看到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
我错过了什么吗?有人能帮助我吗?
答案 0 :(得分:2)
尝试使用<div class="fader"></div>
(不带s)作为-Dclassifier
的参数。
即:
mvn install:install-file