我使用Gradle来管理使用多个eclipse项目的产品构建。
其中一些项目使用的是中央存储库(如MavenCentral)无法提供的jar文件。
我希望有一个我将这些jar放入的eclipse项目,以及一个build.gradle,它将使用我指定的groupId,artifactId和version将这些jar文件放入mavenLocal。
这样我就可以将mavenLocal()
添加到其他项目并指定依赖项。
我有以下build.gradle
:
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
groupId 'myGroupId'
artifactId 'myArtifact'
version '1.2.3'
from <how to reference jar>
}
}
}
我已经尝试了file('myJar.jar')
,但这并未被接受。似乎Gradle想要一个用于from值的工件,但我似乎无法找到如何将预构建的jar文件指定为该工件。
看起来它应该很简单,但我找不到它。
答案 0 :(得分:2)
目前,&#39;来自&#39;只能接受components.java
和components.web
。要包含jar,请使用&#39; artifact&#39;,例如:
publishing {
publications {
maven(MavenPublication) {
groupId 'myGroupId'
artifactId 'myArtifact'
version '1.2.3'
artifact <path to file>
}
}
}
&#39;工件&#39;也可以接受存档任务的输出:
publishing {
publications {
maven(MavenPublication) {
groupId 'myGroupId'
artifactId 'myArtifact'
version '1.2.3'
artifact getlibrary
}
}
}
task getlibrary(type:Jar){
from <directory>
classifier='lib'
}