从Gradle迁移到Java 11

时间:2018-11-06 02:25:04

标签: java gradle javafx java-module java-11

在fileTree依赖项下面的Gradle构建文件中,正在加载一些本地jar,但是编译失败,并出现诸如“未命名模块中声明groovy.text包,但groovy.text模块不读取它”之类的错误。我不确定问题出在哪里,可能是我还必须在compileJava任务中添加一些内容吗?当前配置用于JavaFx应用程序,如this thread

中所述
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.gradle:osdetector-gradle-plugin:1.6.0'
    }
}

apply plugin: 'application'
apply plugin: 'com.google.osdetector'

ext.platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os

repositories {
    mavenCentral()
    flatDir {
        dirs 'src/main/lib'
    }
}

dependencies {
    compile fileTree(dir: 'src/main/lib', include: ['*.jar'])
    compile "org.openjfx:javafx-base:11:$platform"
    compile "org.openjfx:javafx-graphics:11:$platform"
    compile "org.openjfx:javafx-controls:11:$platform"
    compile "org.openjfx:javafx-web:11:$platform"
}

compileJava {
    doFirst {
        options.compilerArgs = [
                '--module-path', classpath.asPath,
                '--add-modules', 'javafx.controls',
                '--add-modules', 'javafx.graphics',
                '--add-modules', 'javafx.web'
        ]
    }
}

run {
    doFirst {
        jvmArgs = [
                '--module-path', classpath.asPath,
                '--add-modules', 'javafx.controls'
        ]
    }
}

mainClassName = 'HelloFX'

0 个答案:

没有答案