java - 构建 Maven jar 不起作用

标签 java maven javafx

我是 JavaFX 的新手。我用 Maven 创建了 JavaFX 项目并添加了所有依赖项。 idea 中的项目完美运行,但是当我在 maven 中构建它并尝试在目标文件夹中打开时,jar 没有反应,并且出现以下错误。

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at sample.JdbcPlainTest.createConnection(JdbcPlainTest.java:21) at sample.JdbcPlainTest.ProductsSelectQuery(JdbcPlainTest.java:84) at sample.Controller.initialize(Controller.java:84) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.load(Unknown Source) at sample.Main.start(Main.java:14) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153 (Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$51/881058039.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$45/584634336.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Sourc e) at com.sun.javafx.application.PlatformImpl$$Lambda$47/474818150.run(Unkn own Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown S ource) at com.sun.javafx.application.PlatformImpl$$Lambda$46/501263526.run(Unkn own Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source) at com.sun.glass.ui.win.WinApplication$$Lambda$37/96639997.run(Unknown S ource) at java.lang.Thread.run(Unknown Source) Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unk nown Source) at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Sou rce) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown So urce) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147( Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$48/815033865.run(Unkn own Source) at java.lang.Thread.run(Unknown Source) Caused by: javafx.fxml.LoadException: file:/D:/work%20proyeqt%20immidetely/JASMIN/Qassa%20-%20CopyWORKING/target/Qassa Copy-1.0-SNAPSHOT.jar!/sample.fxml

    at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml.FXMLLoader.load(Unknown Source)
    at sample.Main.start(Main.java:14)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153

(Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$51/881058039.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$45/584634336.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Sourc e) at com.sun.javafx.application.PlatformImpl$$Lambda$47/474818150.run(Unkn own Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown S ource) at com.sun.javafx.application.PlatformImpl$$Lambda$46/501263526.run(Unkn own Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source) at com.sun.glass.ui.win.WinApplication$$Lambda$37/96639997.run(Unknown S ource) ... 1 more Caused by: java.lang.NullPointerException at sample.JdbcPlainTest.ProductsSelectQuery(JdbcPlainTest.java:108) at sample.Controller.initialize(Controller.java:84) ... 23 more Exception running application sample.Main

最佳答案

似乎您的依赖项未包含在您的 jar 中。打开您的 .jar 并查看是否所有依赖类(如 com.mysql.cj.jdbc.Driver)都在里面。如果不是,请参阅 Including dependencies in a jar with Maven .

关于java - 构建 Maven jar 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50740971/

相关文章:

java - Maven:将多个模块 jar 组合成一个 war 文件?

java - 将组件保留在后台以便稍后在 javafx 中重用它们

css - 如何从 JavaFX 按钮中删除圆 Angular

java - 可以跟踪我在字符串中的位置、空白并停止循环的方法

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:用户“@'localhost”对数据库的访问被拒绝

java - 从 BigQuery 下载日期时将 long 转换为时间戳 - java

java - 仅从表中选择某些列

java - 无法在 Maven 中向 jar 添加资源

hibernate - 配置 hibernate.reveng.xml 以使用 hibernate3-maven-plugin 和 Postgre 检测序列 PK 生成器

javafx - 如何使用 JavaFX 为未装饰的舞台添加阴影?