Gradle不会从存储库导入jargs

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle不会从存储库导入jargs相关的知识,希望对你有一定的参考价值。

我在我的代码中有这个导入

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'
}

这让我想去的地方。当我使用flagDir时,所有问题区域都会消失,但不会通过Maven仓库进行。我觉得我很亲密。

答案

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

repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    //jcenter()
    mavenCentral()
    maven { url "https://plugins.gradle.org/m2/" }
    maven { url "http://dist.wso2.org/maven2/" }
    /*
    flatDir {
        dirs 'libs'
    }
    */
}

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

另一答案

一方面的设置和另一方面的jargs似乎存在多个问题。

对于您的设置:

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

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

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

关于jargs

  • 看起来像一个奇怪的工件,可以在不同的坐标处找到,具体取决于存储库 你的问题包含一个URL,表明该组是net.sourceforge.jargs而不仅仅是jargs,但它不是在Maven Central中,而是在specific repository中 你的依赖声明使用组jargs,它确实在你link to的其他存储库中有效。

但总而言之,这意味着jargs具有不同的坐标,具体取决于存储库。我会确保你使用项目推荐的版本。

以上是关于Gradle不会从存储库导入jargs的主要内容,如果未能解决你的问题,请参考以下文章

如何从build.gradle导入依赖关系到pom.xml

将工件从 gradle 项目发布到 bintray(maven 存储库)

从 JCenter 迁移到 mavenCentral 存储库时出现 Gradle 问题

如何更改 gradle 插件存储库?

存储库中的文件阻止 IntelliJ 使用星形导入

如何从 url 导入 javascript 库并将其存储在变量中?