Thu*_*fir 5 java javafx gradle build.gradle gradle-kotlin-dsl
如何应用插件来JavaFX使用 Kotlin DSL?手册建议:
apply plugin: 'org.openjfx.javafxplugin'
而我使用的是 Gradle Kotlin DSL,而不是普通的 Gradle。
当前错误:
thufir@dur:~/NetBeansProjects/helloWorldJavaFX$
thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ gradle clean
> Configure project :
e: /home/thufir/NetBeansProjects/helloWorldJavaFX/build.gradle.kts:15:5: Unresolved reference: javafxplugin
FAILURE: Build failed with an exception.
* Where:
Build file '/home/thufir/NetBeansProjects/helloWorldJavaFX/build.gradle.kts' line: 15
* What went wrong:
Script compilation error:
Line 15: javafxplugin
^ Unresolved reference: javafxplugin
1 error
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
thufir@dur:~/NetBeansProjects/helloWorldJavaFX$
Run Code Online (Sandbox Code Playgroud)
构建文件:
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/5.0/userguide/tutorial_java_projects.html
*/
plugins {
// Apply the java plugin to add support for Java
java
// org.openjfx.javafxplugin
javafxplugin
// Apply the application plugin to add support for building an application
application
}
//apply plugin: 'org.openjfx.javafxplugin'
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
// This dependency is found on compile classpath of this component and consumers.
// implementation("com.google.guava:guava:26.0-jre")
compile (group = "org.openjfx" , name = "javafx" , version = "12.0.1")
compile (group = "org.openjfx" , name = "javafx-base" , version = "12.0.1")
compile (group = "org.openjfx" , name = "javafx-controls" , version = "12.0.1")
compile (group = "com.google.api-client" , name = "google-api-client" , version = "1.29.2")
compile (group = "com.google.maps" , name = "google-maps-services" , version = "0.9.3")
compile (group = "org.slf4j" , name = "slf4j-api" , version = "1.7.21")
compile (group = "org.slf4j" , name = "slf4j-nop" , version = "1.8.0-beta4")
compile (group = "com.google.cloud" , name = "google-cloud-translate" , version = "1.77.0")
compile (group = "com.google.apis" , name = "google-api-services-books" , version = "v1-rev106-1.25.0")
// implementation 'com.google.maps:google-maps-services:(insert latest version)'
// implementation 'org.slf4j:slf4j-simple:1.7.25'
// Use TestNG framework, also requires calling test.useTestNG() below
// testImplementation("org.testng:testng:6.14.3")
}
application {
// Define the main class for the application
mainClassName = "net.bounceme.dur.fx.App"
}
val test by tasks.getting(Test::class) {
// Use TestNG for unit tests
useTestNG()
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找从 JavaFX 运行示例。
Gradle 插件门户提供了在 Groovy 和 Kotlin 中声明插件的示例。GitHub 存储库的 README还提供了每种语言的示例。基本上,应用该插件如下所示:
plugins {
application // built-in plugins are declared differently
id("org.openjfx.javafxplugin") version "0.0.7"
}
Run Code Online (Sandbox Code Playgroud)
然后要添加您需要的 JavaFX 模块,您可以使用:
javafx {
// will pull in transitive modules
modules("javafx.controls", "javafx.fxml") // replace with what you modules need
// another option is to use:
// modules = listOf("javafx.controls", "javafx.fxml")
version = "12.0.1" // or whatever version you're using
}
repositories {
mavenCentral() // I believe jcenter() should work as well
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将为运行 Gradle 守护进程的操作系统引入javafx.base、javafx.graphics、javafx.controls和模块。javafx.fxml它将它们添加到implementation配置中。不要手动声明任何 JavaFX 依赖项。
注意:该org.openjfx.javafxplugin插件还应用了com.google.osdetector和org.javamodularity.moduleplugin插件;至少,它在版本中是这样的0.0.7。
构建文件的其余部分将类似于:
java {
// replace with the Java version you're using
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
application {
mainClassName = /* your main class */
}
dependencies {
// add your other dependencies
}
tasks {
test {
useTestNG()
}
}
Run Code Online (Sandbox Code Playgroud)
Gradle Kotlin DSL Primer页面是 Kotlin DSL 的一个很好的起始资源。如果您是 Kotlin 新手,我建议您阅读参考文档。
| 归档时间: |
|
| 查看次数: |
4144 次 |
| 最近记录: |