我认为这可能与publish artifact overwrite other artifact in Gradle
有关如果我有一套出版物,例如
publishing {
publications {
serverpub(IvyPublication) {
artifact(ejbJar) {
name 'ejb'
}
}
clientpub(IvyPublication) {
artifact(clientEjbJar) {
name 'client-ejb'
}
}
modulepub(IvyPublication) {
artifact(moduleJar) {
name 'cname-core'
}
}
persistpub(IvyPublication) {
artifact(persistenceJar) {
name 'core-entities'
}
}
}
}
做'发布'之后
<Project Name>/ivy/<version>/ivy/ivy-<version>.xml
文件仅包含出版物列表中的第一项
<artifact name="ejb" type="jar" ext="jar"/>
如果我将所有工件都归入单一出版物,即。 serverpub然后ivy.xml文件将包含所有正确的工件,但jar文件本身都是相同的,因此我有与前一个链接相同的错误。
我做错了什么,因为到目前为止Gradle已经证明了出版工件的括号中的一个痛苦。
答案 0 :(得分:0)
您已声明了四个独立的出版物,每个出版物都会生成自己的模块描述符。要生成包含多个工件的Ivy模块,您必须在同一个出版物下列出它们。关于“Jar文件是相同的”问题,一个最小的自包含可重复的例子会有所帮助。
请注意,您使用的新ivy-publish
插件仍然是孵化并且可能存在缺陷。我们非常感谢您提供更好的反馈意见。联系Gradle开发人员和专家的最佳地点是http://forums.gradle.org。