如何解决Gradle替代mvn install
| 我在mvn上有2个不同的项目。我正在尝试替换为Gradle。 项目1是SDK,项目2使用sdk(示例) 在进行Maven时,它会使用mvn install创建工件,从而将整个项目添加到本地存储库中。 我喜欢这样工作。我喜欢项目1 build.gradle需要将其发布为gradle本地存储库,然后示例项目需要使用它。 在maven中,我们进行mvn install,它将项目工件添加到.m2文件夹中,但是如何在gradle中进行操作,以便可以将项目工件添加到本地存储库中。 我有办法吗?解决方法
sdk/build.gradle
:
apply plugin: \"maven\"
group = \"foo\"
version = \"1.0\"
example/build.gradle
:
repositories {
mavenLocal()
}
dependencies {
compile \"foo:sdk:1.0\"
}
$sdk> gradle install
$example> gradle build
,您可能正在寻找:
gradle publishToMavenLocal
适用于:
apply plugin: \'maven-publish\'
请参阅:https://docs.gradle.org/current/userguide/publishing_maven.html
,查看有关多项目构建的Gradle文档。
这是一个示例,带有一些额外的依赖关系。只需在根文件夹中调用gradle install
,便会构建所有文件并将其放入本地存储库。
资料夹结构:
root
+--> build.gradle
+--> settings.gradle
+--> sdk
| +--> build.gradle
+--> example
+--> build.gradle
root / build.gradle:
allprojects {
apply plugin: \'java\'
apply plugin: \'maven\'
group = \'myGroup\'
version = \'0.1-SNAPSHOT\'
}
root / settings.gradle:
include \'sdk\'
include \'example\'
root / sdk / build.gradle:
dependencies {
// just an example external dep.
compile group:\'commons-lang\',name:\'commons-lang\',version:\'2.3\'
}
root / example / build.gradle:
dependencies {
compile project(\':sdk\')
compile group:\'log4j\',name:\'log4j\',version:\'1.2.16\'
}
,您需要将自己的库发布到本地存储库。您可以通过以下方式进行操作:
添加maven-publish
插件:
plugins {
// your other plugins come here...
id \'maven-publish\'
}
将发布部分添加到您的构建文件中:
publishing {
publications {
myCoolLibrary(MavenPublication) {
from components.java
}
}
}
运行gradle build publishToMavenLocal
在文档中查找更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。