java - 带有JavaFX组件的Gradle构建jar文件找不到主类
问题描述
我正在尝试为我的 JavaFX 项目创建一个 jar 文件,但我似乎无法让它工作。根据我所做的,我会混合两种不同的错误:
Error: Could not find or load main class mapsRUs.MapsRUs
& Error: JavaFX runtime components are missing, and are required to run this application
。使用此配置,它是两者中的第一个。
我的 build.gradle 看起来像这样:
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.7'
}
javafx {
modules = [ 'javafx.controls', 'javafx.fxml' ]
}
applicationDefaultJvmArgs = ["-Xmx4g"]
mainClassName = 'mapsRUs.MapsRUs'
dependencies {
compile 'com.google.guava:guava:23.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2'
// Use JUnit test framework
testCompileOnly 'junit:junit:4.12'
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.3.1'
}
repositories {
jcenter()
}
test {
useJUnitPlatform()
}
jar {
baseName = "Maps R Us"
manifest {
attributes 'Main-Class': mainClassName
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
jar-task 生成的清单文件如下所示:
Manifest-Version: 1.0
Main-Class: mapsRUs.MapsRUs
我的主要课程包括这个(它还有一些对这个主题不重要的东西):
public class MapsRUs extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
... some code ...
}
谁能弄清楚这里出了什么问题?提前致谢!
解决方案
推荐阅读
- python - YOLO Training error with shape for my own dataset,有人可以帮助理解这一点并帮助解决问题吗
- javascript - 将firestore时间戳转换为不同的格式
- c# - 在非 c# 文件的 dotnet 新模板中添加可选内容
- php - 无法为 php-fpm 设置 Tombs zend 扩展
- liquibase - Liquibase 上下文感叹号运算符
- ruby - Ruby 从哈希数组中排除特定数据
- exception - 操作数类型冲突:xml 与文本不兼容
- javascript - 在 JavaScript 中按给定的垂直滚动百分比滚动
- javascript - webrtc 适用于 Intranet 但不适用于 Internet
- css - @include 参数内的 @each 循环