如何使用Gradle将源发布到本地maven存储库?
我正在开发两个相关的项目。 其中一个是“帮手”,另一个是“主要”。 我不断更新“主要”,但我不时也更新“帮助”。 之后我在gradle的maven插件中运行install
目标并在本地maven repo中获取jar。 之后,我在“主”项目中进行gradle更新并更新了jar子链接。
有两个问题。
1)如果使用maven插件,那么如何将源代码发布到本地maven repo中呢?
2)我可以在没有maven插件的情况下进行类似操作,只能使用Gradle吗?
使用“maven-publish”插件发布源代码很容易:
apply plugin: "maven-publish" task sourceJar(type: Jar) { from sourceSets.main.allJava } publishing { publications { mavenJava(MavenPublication) { from components.java artifact sourceJar { classifier "sources" } } } }
然后去发布到本地maven run: gradle publishToMavenLocal
更多信息请参阅文档: https : //docs.gradle.org/current/userguide/publishing_maven.html#gsc.tab=0
也许你对一个多模块项目更好。 然后根本不会出现安装的必要性。
这里讨论-sources.jar
的主题
我相信更清洁,更简洁的解决方案就是使用maven-plugin
,它提供了与Maven install
任务相匹配的install
任务。 更新build.gradle
以包含以下内容:
apply plugin: 'maven'
然后发布(例如安装)到Maven本地存储库,运行: gradle install
或./gradlew install
。 另请参见此解决方案: Gradle替代mvn install
注意:当前的Gradle文档(截至v4.9)说maven-plugin
是“Old Maven插件”(但不推荐使用)。 https://docs.gradle.org/current/userguide/maven_plugin.html
我认为这是目前这个问题最简单的解决方案。