Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用自定义存储库中的依赖项构建JAR_Java_Maven_Kotlin_Gradle - Fatal编程技术网

Java 使用自定义存储库中的依赖项构建JAR

Java 使用自定义存储库中的依赖项构建JAR,java,maven,kotlin,gradle,Java,Maven,Kotlin,Gradle,我正在尝试构建一个JAR工件,它需要来自bintray存储库的自定义依赖项,如: https://dl.bintray.com/foo/bar 是否可以指示使用此类库的项目在额外存储库中解析依赖关系 还是我应该采取另一种方法来提供它?TL;DR 构建一个包含依赖项的胖罐子 长版本 是的,可以指示使用Gradle插件的项目从非默认存储库下载插件依赖项。但它需要用户的干预,而这可能不是你想要听到的 以下设置。gradle应从中检索插件,并从Bintray存储库中解决依赖关系: plugin

我正在尝试构建一个JAR工件,它需要来自bintray存储库的自定义依赖项,如:

    https://dl.bintray.com/foo/bar
是否可以指示使用此类库的项目在额外存储库中解析依赖关系

还是我应该采取另一种方法来提供它?

TL;DR

构建一个包含依赖项的胖罐子

长版本

是的,可以指示使用Gradle插件的项目从非默认存储库下载插件依赖项。但它需要用户的干预,而这可能不是你想要听到的

以下设置。gradle应从中检索插件,并从Bintray存储库中解决依赖关系:

pluginManagement {
    repositories {
        maven {
            url 'https://dl.bintray.com/foo/bar'
        }

        gradlePluginPortal()
    }
}
这在下有记录

请注意,我的回答有点含糊不清,因为我从来没有做过类似的事情。我能告诉你的是,对于快照版本,插件正是这样做的


IMHO,在您的特定情况下,通过构建包含依赖项的胖jar,您可以获得最佳的用户体验。一个了不起的伙伴是。它还为Gradle插件提供了功能,如果您需要的话。

这在maven和Gradle中都应该是现成的。间接依赖关系将以递归方式解决。或者你的意思是在运行时?@Henry I's build.jar,发布到Gradle插件库,并将其设置为备用项目中的一个依赖项-它无法解决这样的Bintray依赖项。如果我直接在那里设置存储库URL,这很好,但这不是重点。在Maven中,要使用库,您需要知道它的坐标(GAV)和它应该从中解析的存储库。@JFMeier我知道我创建的库的坐标和存储库,但是我不知道它的依赖关系,也就是Bintray。如果我正确地按照注释进行操作,那么你正在将一个插件发布到Gradle插件门户,而这个插件与一个库的依赖关系只能在你的额外存储库中找到?我用Shadow准备了一个fatJar。谢谢你的额外解释!