已经多次询问过这个问题,但不知怎的,我不知道这个问题。 Gradle是一个很棒的工具,但它的文档不是很好。没有任何例子使得几乎不可能理解每天不使用它的人。
我正在使用Android Studio,我想将模块输出jar上传到我当地的Maven存储库。
apply plugin: 'java'
dependencies {
compile 'com.google.http-client:google-http-client-android:1.18.0-rc'
}
apply plugin: 'maven'
configure(install.repositories.mavenInstaller) {
pom.project {
groupId 'com.example'
artifactId 'example'
packaging 'jar'
}
}
当我在Android Studio中开始构建时,我可以在Gradle选项卡上看到
:install
被调用。我的build文件夹中也有一个新的jar,但是jar没有上传到Maven。 [Maven回购存在且Google appengine gradle插件从同一项目的另一个模块上传它的jar就好了。]
我错过了什么?
答案 0 :(得分:5)
我怀疑问题是你只是在编辑POM(通过pom.project
),而不是配置用于安装的实际Maven坐标。请尝试以下方法:
// best way to set group ID
group = 'com.example'
install {
repositories.mavenInstaller {
// only necessary if artifact ID diverges from project name
// the latter defaults to project directory name and can be
// configured in settings.gradle
pom.artifactId = 'myName'
// shouldn't be needed as this is the default anyway
pom.packaging = 'jar'
}
}
PS:完整Gradle发行版中的samples
目录包含许多示例版本,也适用于maven
插件。
答案 1 :(得分:0)
Peter N在接受的答案的注释中是正确的,这是可行的,但不应作为接受的答案。
您应该将此文件保存在build.gradle
文件中
apply plugin: "maven"
然后您可以做一个
$ ./gradlew install
或使用内置任务
$ ./gradlew publishToMavenLocal
这两种方法都将工件安装在$HOME/.m2/com/example/example/version