Gradle 找不到 javafxplugin
Gradle cannot find javafxplugin
这是我第一次尝试使用 Gradle 实现 JavaFX。我的构建从未完成,出现以下错误:
Plugin [id: 'org.openjfx.javafxplugin', version: '0.0.9'] was not found in any of the following resources
我已经访问了我们在此处内部使用的 Maven 存储库并找到了 JavaFX 插件,尽管只有一个 pom 文件,没有 jar 或其他可执行代码。这是我的 Gradle 设置。
plugins {
id 'java-library'
id 'maven'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.9'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
sourceCompatibility = 11.0
targetCompatibility = 11.0
javafx {
version = '15.0.1'
modules = ['javafx.fxml', 'javafx.controls', 'javafx.graphics']
}
repositories {
mavenLocal()
maven {
url "https://local.repository.1/content/groups/public-maven"
}
maven {
url "https://local.repository.2/content/groups/public-maven"
}
maven {
url "https://local.repository.3/service/local/repositories/onewaymirror/content"
}
maven {
url "https://local.repository.4/content/groups/public_maven_release_snapshots_dev/"
}
}
dependencies {
implementation "org.openjfx:javafx-plugin:0.0.9"
testImplementation group: 'junit', name: 'junit', version '4.12'
}
如果您能提供任何帮助,我们将不胜感激。提前致谢。
编辑: 似乎即使我注释掉 JavaFX 插件和脚本的 JavaFX 部分,构建的其他部分也会出现相同的“未找到”情况我知道的其他依赖项在存储库中。这似乎是一个普遍的 Gradle 问题,并非特定于 JavaFX。
我按照 idea new JavaFX project wizard 创建了一个新项目,选择 Gradle 作为构建工具和 OpenJDK 18。
生成的项目运行良好。
生成的 build.gradle 文件,在 plugins
块中包含以下行:
id 'org.openjfx.javafxplugin' version '0.0.10'`
你的 repositories
设置很奇怪。
生成的构建文件 repositories
块只有:
mavenCentral()
您的本地存储库设置可能配置错误,不包含 javafxplugin
或者没有代理访问 Maven 中央存储库以从那里获取它。
build.gradle
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.10'
id 'org.beryx.jlink' version '2.24.1'
}
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
ext {
junitVersion = '5.8.2'
}
sourceCompatibility = '18'
targetCompatibility = '18'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
application {
mainModule = 'com.example.gradlecheck'
mainClass = 'com.example.gradlecheck.HelloApplication'
}
javafx {
version = '18.0.1'
modules = ['javafx.controls', 'javafx.fxml']
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
}
test {
useJUnitPlatform()
}
jlink {
imageZip = project.file("${buildDir}/distributions/app-${javafx.platform.classifier}.zip")
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
launcher {
name = 'app'
}
}
jlinkZip {
group = 'distribution'
}
添加到 settings.gradle 的以下内容帮助我解决了问题:
pluginManagement {
repositories {
maven {
url "https://local.repository1/content/groups/public-maven.dev/"
}
}
}
感谢所有回复和帮助的人。
这是我第一次尝试使用 Gradle 实现 JavaFX。我的构建从未完成,出现以下错误:
Plugin [id: 'org.openjfx.javafxplugin', version: '0.0.9'] was not found in any of the following resources
我已经访问了我们在此处内部使用的 Maven 存储库并找到了 JavaFX 插件,尽管只有一个 pom 文件,没有 jar 或其他可执行代码。这是我的 Gradle 设置。
plugins {
id 'java-library'
id 'maven'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.9'
}
apply plugin: 'org.springframework.boot'
apply plugin: 'java'
sourceCompatibility = 11.0
targetCompatibility = 11.0
javafx {
version = '15.0.1'
modules = ['javafx.fxml', 'javafx.controls', 'javafx.graphics']
}
repositories {
mavenLocal()
maven {
url "https://local.repository.1/content/groups/public-maven"
}
maven {
url "https://local.repository.2/content/groups/public-maven"
}
maven {
url "https://local.repository.3/service/local/repositories/onewaymirror/content"
}
maven {
url "https://local.repository.4/content/groups/public_maven_release_snapshots_dev/"
}
}
dependencies {
implementation "org.openjfx:javafx-plugin:0.0.9"
testImplementation group: 'junit', name: 'junit', version '4.12'
}
如果您能提供任何帮助,我们将不胜感激。提前致谢。
编辑: 似乎即使我注释掉 JavaFX 插件和脚本的 JavaFX 部分,构建的其他部分也会出现相同的“未找到”情况我知道的其他依赖项在存储库中。这似乎是一个普遍的 Gradle 问题,并非特定于 JavaFX。
我按照 idea new JavaFX project wizard 创建了一个新项目,选择 Gradle 作为构建工具和 OpenJDK 18。
生成的项目运行良好。
生成的 build.gradle 文件,在 plugins
块中包含以下行:
id 'org.openjfx.javafxplugin' version '0.0.10'`
你的 repositories
设置很奇怪。
生成的构建文件 repositories
块只有:
mavenCentral()
您的本地存储库设置可能配置错误,不包含 javafxplugin
或者没有代理访问 Maven 中央存储库以从那里获取它。
build.gradle
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.10'
id 'org.beryx.jlink' version '2.24.1'
}
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
ext {
junitVersion = '5.8.2'
}
sourceCompatibility = '18'
targetCompatibility = '18'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
application {
mainModule = 'com.example.gradlecheck'
mainClass = 'com.example.gradlecheck.HelloApplication'
}
javafx {
version = '18.0.1'
modules = ['javafx.controls', 'javafx.fxml']
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
}
test {
useJUnitPlatform()
}
jlink {
imageZip = project.file("${buildDir}/distributions/app-${javafx.platform.classifier}.zip")
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
launcher {
name = 'app'
}
}
jlinkZip {
group = 'distribution'
}
添加到 settings.gradle 的以下内容帮助我解决了问题:
pluginManagement {
repositories {
maven {
url "https://local.repository1/content/groups/public-maven.dev/"
}
}
}
感谢所有回复和帮助的人。