我知道可以使用与mavenLocal()
相关联的maven
插件在本地安装工件并使用它们。
然而,进一步调查后,我发现这意味着工件被安装到Maven的标准目录~/.m2
下,但与此同时,Gradle自己的缓存位于不同格式的~/.gradle/caches
下。
这对我来说似乎是浪费的,a)处理两个本地缓存,b)需要将mavenLocal()
添加到所有项目中。我想知道是否有一种方法可以将工件发布到Gradle的~/.gradle/caches
中?
我知道可以使用与mavenLocal()
相关联的maven
插件在本地安装工件并使用它们。
然而,进一步调查后,我发现这意味着工件被安装到Maven的标准目录~/.m2
下,但与此同时,Gradle自己的缓存位于不同格式的~/.gradle/caches
下。
这对我来说似乎是浪费的,a)处理两个本地缓存,b)需要将mavenLocal()
添加到所有项目中。我想知道是否有一种方法可以将工件发布到Gradle的~/.gradle/caches
中?
这里有一个带有代码的示例。 由于无法发布到Gradle中,解决方法是发布到Maven并在Gradle中使用它。
步骤1:将代码发布到本地Maven存储库 /users/jay/.m2/repository/
步骤2:在另一个项目中使用本地Maven存储库中的代码。
步骤#1(发布到本地Maven存储库)
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
步骤 #2(在您的Gradle项目中使用本地Maven仓库)
repositories {
// ..... Other repositories
mavenLocal()
}
dependencies {
compile 'com.jai:myapp:1.0.0'
}
allprojects
不起作用,因为我正在将mavenLocal()
添加到buildscript
中。但这确实回答了问题。 - Amir Abiri