我正在开发两个相关项目。其中一个是"帮手"一个又一个是"主要"一。我不断更新" main",但我不时也在更新"帮助"一。之后我在gradle的maven插件中运行install
目标并在当地的maven repo中获取罐子。之后,我在" main"中进行gradle更新。项目并更新了罐子链接。
有两个问题。
1)如果使用maven插件,那么如何将源代码发布到本地maven repo中呢?
2)我可以在没有maven插件的情况下进行类似操作,只能使用Gradle吗?
答案 0 :(得分:14)
使用“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
答案 1 :(得分:1)
也许你对一个多模块项目更好。然后安装的必要性根本没有出现。
讨论-sources.jar
的主题here
答案 2 :(得分:1)
我相信一个更干净,更简洁的解决方案是使用maven-plugin
,它提供了与Maven的install
任务相匹配的install
任务。更新您的build.gradle
以包括以下内容:
apply plugin: 'maven'
然后将其发布(例如安装)到Maven本地存储库,运行:gradle install
或./gradlew install
。
另请参阅以下解决方案:
Gradle alternate to mvn install
注意:当前的Gradle文档(从v4.9开始)说maven-plugin
是“ Old Maven插件”(但不建议使用)。
https://docs.gradle.org/current/userguide/maven_plugin.html
我认为这是目前此问题最简单的解决方案。