【发布时间】:2023-01-07 23:14:26
【问题描述】:
我已经在 Linux 上的 Netbeans 上使用 jpackage 成功创建了我的 JavaFX maven 项目的可执行文件:
./jpackage --input ~/Documents/NetBeans/MyFX/target/ --dest ~/Documents/NetBeans/MyFX/ --name "MyFX" --main-jar MyFX-2.0.jar --main-class my.myfx.App --icon ~/Documents/NetBeans/MyFX/mypic.png --add-modules javafx.controls,javafx.fxml
该程序安装正常,但在从终端运行时,会出现以下错误:(为了相关性而将其修剪)
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml@19/javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
at javafx.fxml@19/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
.
.
.
Caused by: java.lang.NoClassDefFoundError: java/sql/DriverManager
at my.myfx.DB.init(DB.java:22)
... 50 more
Caused by: java.lang.ClassNotFoundException: java.sql.DriverManager
... 57 more
有问题的行是:
java.sql.Conection conn;
String fileName="a.db";
**conn=java.sql.DriverManager.getConnection("jdbc:sqlite:"+fileName);**
这是module-info:
module my.myfx {
requires javafx.controls;
requires javafx.fxml;
requires java.logging;
requires java.base;
requires java.sql;
requires org.apache.poi.poi;
requires org.apache.poi.ooxml;
requires jarchivelib;
opens my.myfx to javafx.fxml;
exports my.myfx;
}
POM夹杂物
javafx-controls
javafx-fxml
maven-jar-plugin
maven-dependency-plugin
javafx-maven-plugin
【问题讨论】: