我有一个实用程序项目,它使用gradle生成JAR工件。在生成JAR工件时,我使用这里解释的JAR任务的分类器
属性。我在构建中使用的代码。格雷德尔是:
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无法解决这个问题。在我移除
分类器
标记后,maven可以解决依赖关系。格拉德尔也发生了同样的事情。当我添加以下内容时,Gradle未能解决依赖关系(我尝试在没有@jar
的情况下解决,但也没有成功。
ext {
myutils.version = "1.0"
}
compile "my.group:myutils:${myutils_version}:test@jar"
而在删除
时:test@jar
让Gradle解决依赖关系。
我正在使用Gradle
v2.3
和Mavenv3.3.1
我遗漏了什么吗?有人能帮我吗?
尝试使用-dclassizer
(不带s)作为mvn安装:安装文件的参数。
即:
$ mvn install:install-file -Dfile=/path/to/myutils-1.0-test.jar -DgroupId=my.group -DartifactId=myutils -Dversion=1.0 -Dclassifier=test
问题内容: 我希望能够在OSX中的Vagrant之外使用docker。现在这是不可能的。是什么原因使其不仅仅限于linux安装? 问题答案: Docker只是系统提供的容器之上的抽象和自动化层。 技术上的限制是OS X不支持操作系统级别的虚拟化,例如Linux中的容器或FreeBSD中的jail(即使OS X是半血的BSD)。 但是,尽管如此,Docker仍旨在提供一种共享容器映像的简便方法,并确
我点击图片,弹出效果很好。但是,当我在弹出窗口外单击时,iframe allowfullscreen和frameborder属性将被删除。我再次点击弹出窗口,全屏工作,有一条白线。我希望弹出停止视频播放一旦关闭和iframe返回没有src和保留其属性。 我试过: 使用JavaScript/jQuery更新属性 通过JavaScript/jQuery替换html(已注释掉) HTML
在本地多模块项目上运行时,它会构建项目工件并将其安装到本地repo中。似乎可以清理项目特定的目标目录。 我对maven使用什么命令来让它从本地repo卸载我的项目模块?例如,我的项目输出foo-0.1.jar和bar-0.2.jar,我希望将它们从本地repo中删除,而不必亲自去那里删除它们。
问题内容: Java在Java 5中引入了带有泛型的类型擦除,因此它们可以在Java的旧版本上使用。这是兼容性的折衷。从那以后,我们就失去了兼容性–字节码可以在JVM的更高版本上运行,但不能在较早的版本上运行。这似乎是最糟糕的选择:我们丢失了类型信息,并且仍然无法在较旧版本上运行针对较新版本JVM编译的字节码。发生了什么? 具体来说,我是在问是否存在任何技术原因,导致无法在下一版JVM中删除类型擦
我有一个用户 - 一个通道关系(频道有一个头像,它存储在本地驱动器上,数据库存储照片的路径。删除通道时,从本地驱动器中删除文件的最佳位置和方式在哪里?在外观、服务或每天检查一次数据库是否包含实体并且文件夹与之对应,如果文件夹存在但实体不存在,则删除它? 目前我只是使用实体管理器删除,但它不会从本地驱动器中删除照片
Java在Java5中引入了泛型的类型擦除,因此它们可以在Java的旧版本上工作。这是一个兼容性的折衷。从那以后,我们就失去了兼容性[1][2][3]--Bytecode可以在JVM的更高版本上运行,但不能在更早的版本上运行。这看起来可能是一个更糟糕的选择:我们丢失了类型信息,并且仍然无法在旧版本的JVM上运行为较新版本的JVM编译的字节码。怎么了? 具体地说,我想问的是,在JVM的下一个版本中为