Gradle不会从存储库导入罐子

时间:2019-04-30 15:59:11

标签: java maven gradle

我的代码中有此导入

import jargs.gnu.CmdLineParser;

我的build.gradle的“依赖项”中有这个

// https://mvnrepository.com/artifact/net.sourceforge.jargs/jargs
compile group: 'jargs', name: 'jargs', version: '1.0'

对于列出的所有其他依赖项,无论Gradle / Eclipse在做什么,它们都会被导入/下载,但是这个拒绝。我在the jargs Maven page

上进行了监视
Note: this artifact it located at WSO2 Dist repository (http://dist.wso2.org/maven2/)

我进行了一些挖掘,认为此软件包可能不在通常的mavenCentral()上,因此我尝试从研究中发现的示例中添加另一个URL

buildscript {
    repositories {
        mavenCentral()
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url "http://dist.wso2.org/maven2/" }
    }
    dependencies {
        classpath "gradle.plugin.com.github.onslip:gradle-one-jar:1.0.5
    }
}

我通过Eclipse对Gradle项目进行了刷新,但这并没有解决任何问题。在此期间,我正在手动下载jar并将其粘贴在“ libs”文件夹中并添加

flatDir {
    dirs 'libs'
}

哪个可以带我去哪里。当我标记Dir时,所有问题区域都消失了,但没有通过Maven回购协议来解决。我觉得我要那个关闭。

2 个答案:

答案 0 :(得分:0)

我发现,如果将备用网址添加到“存储库”部分中,它将起作用

Math.floor(inputParam1 * (new Random(System.currentTimeMillis())).nextDouble()))

我想我需要更好地了解“存储库”的用途,并且“ buildscript”也具有“存储库”。

答案 1 :(得分:0)

您的设置在一侧,jargs在另一侧,似乎有多个问题。

对于您的设置:

  • buildscript存储库用于插件及其依赖项。这就是设置构建所需要的一切,
  • 常规repositories用于获取在构建中声明的代码依赖关系,我们称它们为项目存储库。

因此,通常需要将特定的存储库添加到项目repositories中。

请注意,您不需要向项目存储库中添加https://plugins.gradle.org/m2/

关于jargs

  • 看起来像一个奇怪的工件,可以根据存储库在不同坐标下找到
    • 您的问题包含一个URL,该URL指示该组是net.sourceforge.jargs,而不仅仅是jargs,而且它不在Maven Central中,而在specific repository
    • 您的依赖项声明使用组jargs,该组在您link to的其他存储库中确实有效。

但是总而言之,jargs的坐标取决于存储库。我会确保您使用项目推荐的版本。