我无法使用gradle导入快照。

3

我无法解决SNAPSHOT依赖项。我已经将项目发布到oss sonatype

我的主类:

package com.github.sitrakary.unitconvert.gui;

// import a class from the SNAPSHOT dependencies.
import com.github.sitrakary.unitconvert.Converter; // Can't resolve 'Converter'

public class App {
  public static void main(String args[]) {
    System.out.println();
  }
}

Gradle构建文件:

group 'com.github.sitrakary'
version '0.1-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'com.github.sitrakary',  name:'unit-converter', version:'1.0-SNAPSHOT', changing: true

    testCompile group: 'junit', name: 'junit', version: '4.12'

}

错误

Information:java: Errors occurred while compiling module 'unit-converter-gui_main'
Information:javac 9.0.1 was used to compile java sources
Information:Module "unit-converter-gui_main" was fully rebuilt due to project configuration/dependencies changes
Information:26/01/2018 12:30 - Compilation completed with 1 error and 0 warnings in 3s 470ms
Error:java: Illegal char <:> at index 84: C:\Users\Sitraka\IdeaProjects\unit-converter-gui\Could not find com.github.sitrakary:unit-converter:1.0-SNAPSHOT.

这张图片展示了依赖关系


1
你应该提供更多的信息 - 比如说你得到了什么错误,期望发生什么,不应该发生什么。现在来看,你的问题太笼统/不清楚你在问什么。 - Asunez
mavenCentral和oss sonatype是两个不同的仓库。 - JB Nizet
2个回答

3

我在build.gradle文件中添加了sonatype到repositories,解决了这个问题。

group 'com.github.sitrakary'
version '0.1-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    // add sonatype repository
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
}

dependencies {
    compile group: 'com.github.sitrakary',  name:'unit-converter', version:'1.0-SNAPSHOT', changing: true

    testCompile group: 'junit', name: 'junit', version: '4.12'
}

0

看起来问题出在Java版本上。你的错误提示显示 javac 9.0.1被用于编译Java源代码,但是你的代码中有 sourceCompatibility = 1.8。所以看起来错误可能是因为你在使用一个使用Java 1.8的项目中使用了Java 1.9的快照版本。


使用低版本的JDK源代码兼容性构建代码有什么问题吗?javac有一个-s选项可以定义它。 - Przemysław Różycki
我已经一年多没有使用Java了。我真的不记得这个答案的理由了。 - bremen_matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接