我有使用 gradle 构建的 javafx 应用程序,我正在使用外部库 apache poixml,需要为它创建 jar,当我在 github 上尝试使用 poixml 类示例项目时,它无法运行:https ://github.com/ IslamAssem/HelloFX-Gradle
问问题
1734 次
1 回答
3
我假设您使用单独下载的 OpenJFX14 jar 并将其包含在您的构建路径中。
我会通过 Gradle 将 JavaFX 添加到您的依赖项中。
dependencies {
implementation 'org.apache.poi:poi:4.1.1'
implementation 'org.apache.poi:poi-ooxml:4.1.1'
testCompile group: 'junit', name: 'junit', version: '4.12'
// here starts JavaFX
implementation 'org.openjfx:javafx:14'
compile 'org.openjfx:javafx-base:14'
compile 'org.openjfx:javafx-graphics:14'
compile 'org.openjfx:javafx-controls:14'
compile 'org.openjfx:javafx-fxml:14'
compile 'org.openjfx:javafx-swing:14'
compile 'org.openjfx:javafx-media:14'
compile 'org.openjfx:javafx-web:14'
}
那么我会建议你的 Main 不在从 Application 扩展的类中。
您应该创建一个启动器。
public class Launcher{
public static void main(String[] args){
Application.launch(HelloFX.class,args);
}
}
并用 JavaFX 构建一个 Jar...
将此添加到您的 build.gradle:
jar {
manifest {
attributes(
'Main-Class': 'your.main.package.Launcher' // replace with you main class
)
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
这应该交易。
于 2020-04-23T20:36:36.063 回答