我一直在“运动鞋网”一套罐子,我最终会发布到Gradle友好的回购(Artifactory)但是,暂时,必须留在我的机器本地。
我需要在Gradle项目中使用这些jar,它们不仅需要能够将它们列为dependencies
,而且还使用Eclipse插件来解析Eclipse IDE中的依赖项。
这些罐子都有POM并且有自己的传递依赖(所有这些都在Maven Central和JCenter等典型的存储库中)。
我正在寻找一种在我的文件系统上某处保存这些jar的方法,然后将它们解析为正常dependencies
,包括解决它们的传递依赖性,并且还要使它与Gradle兼容Eclipse插件工作正常。
同样,期望的结果将是:
~/special-jars/*
gradle eclipse
时,Gradle也会从文件系统中删除它们这可能吗?如果是这样,怎么样?
答案 0 :(得分:1)
听起来你想将你的罐子存放在本地的maven存储库中。
本地Maven Repo默认居住在这里~/.m2/repository
使用本地maven存储库,目录结构将是严格的,例如,这是我本地的gson
$ ls -d $PWD/*
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-javadoc.jar
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-javadoc.jar.sha1
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-sources.jar
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-sources.jar.sha1
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar.sha1
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.pom
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.pom.sha1
使用这个我可以使用传递依赖的典型gradle依赖。
repositories {
mavenLocal()
}
dependencies {
compile "com.google.code.gson:gson:2.6.2"
}
您可以通过flatdir
导入jar,但是会丢失在pom中声明的传递依赖项。
答案 1 :(得分:0)
除了JBirdVegas' answer之外,您还可以使用自定义位置。例如,您可以使用项目子文件夹
repositories {
maven {
url file("${rootProject.projectDir}/mavenRepo")
}
}
或者
repositories {
maven {
url file("c:/path/to/repo")
}
}