簡體   English   中英

將帶有數據庫的應用程序導出到Netbeans中的可執行Jar

[英]Exporting Applications with Databases to Executable Jar in Netbeans

我正在使用Apache Derby數據庫構建桌面應用程序。 當我從Netbeans運行該應用程序時,它運行良好,但是當我運行該應用程序的可執行jar文件時,出現“ java.lang.ExceptionInInitializerError”錯誤,原因是:java.lang.IllegalStateException:試圖在封閉狀態下執行操作EntityManager。”

右鍵單擊Netbeans中的項目,然后單擊“清理並構建”,即可創建jar文件。

我查看了以下資源,但該信息不適用:

這是我第一次使用Derby,因此可能缺少一些簡單的東西。

堆棧跟蹤:

java.lang.ExceptionInInitializerError
    at myProject.Main.start(Main.java:70)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(Unknown Source)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.verifyOpenWithSetRollbackOnly(EntityManagerImpl.java:1923)
    at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:508)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:400)
    at graphics.view.Read.<clinit>(Read.java:50)
    ... 10 more

事實證明,我在代碼中犯了一個(非常)愚蠢的錯誤。 在對查詢調用getSingleResult()之前,我關閉了在其上進行查詢的EntityManager。 當我從Netbeans中運行該程序時,我不太確定為什么該程序可以運行,但是現在問題已解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM