【发布时间】:2022-01-19 17:44:28
【问题描述】:
我用 jpackage 构建了一个 java 应用程序。该应用程序在 eclipseT 中运行。 jpackage 的结果可以安装在 windows 上并启动。该应用程序使用 javafx ui。该应用程序基于 Java 17 和使用模块。到目前为止,一切都很好。该应用程序应该写入 MySQL 数据库并从这里开始问题。 mysql-connector-java-8.0.27.jar 不支持模块,因此不能像 --module-path 下的其他 jar 一样声明。我用 --java-options -Dclasspath=C:\Users\home\mysql-connector-java-8.0.27.jar 来克服。在 app.cfg 文件中,生成了以下条目:java-options=-Dclasspath=C:\Users\home\mysql-connector-java-8.0.27.jar。 在 ConnectDB 类中,我使用 conn = DriverManager.getConnection(DB_JDBC_CONNECT, connectionProps);这适用于 eclipse,但不适用于 jpackage 生成的 java 应用程序。所以我添加了 Class.forName("com.mysql.cj.jdbc.Driver"),但这会引发 ClassNotFoundException! 任何想法如何说服 java 应用程序查看 mysql-connector-java-8.0.27.jar 的 com.mysql.cj.jdbc.Driver?
【问题讨论】:
-
您在 jpackage 发布结构中省略了所需的 JDBC jar,与其他问题相同:JPackage (incubator) and SQLite database problem
标签: java jdbc classpath jpackage