這是我第一次嘗試使用 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。
uj5u.com熱心網友回復:
我按照新 JavaFX 專案向導的想法創建了一個新專案,選擇 Gradle 作為構建工具和 OpenJDK 18。
生成的專案運行良好。
生成的 build.gradle 檔案在塊中包含以下行plugins:
id 'org.openjfx.javafxplugin' version '0.0.10'`
你的repositories設定很奇怪。
生成的構建檔案repositories塊只有:
mavenCentral()
很可能,您的本地存盤庫設定配置錯誤,并且不包括javafxplugin或不代理對 maven 中央存盤庫的訪問以從那里獲取它。
構建.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'
}
uj5u.com熱心網友回復:
以下添加到 settings.gradle 讓我解決了這個問題:
pluginManagement {
repositories {
maven {
url "https://local.repository1/content/groups/public-maven.dev/"
}
}
}
感謝所有回答和幫助的人。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/480791.html
