2017-12-19 11 views
0

私はApache Derbyデータベースを使用してデスクトップアプリケーションを構築しています。 Netbeansからアプリケーションを実行すると問題なく動作しますが、アプリケーションの実行可能なjarファイルを実行すると、 "java.lang.ExceptionInInitializerError"が発生します。原因:java.lang.IllegalStateException:クローズ時に操作を実行しようとしていますEntityManager。 "データベースを持つアプリケーションをNetBeansの実行可能なJarにエクスポート

Netbeansでプロジェクトを右クリックし、[Clean and Build]をクリックするとjarファイルが作成されました。

私は、次のリソースを見てきましたが、情報は適用されませんでした:

これは、それはおそらくですので、ダービーを使用して私の最初の時間です私は行方不明の単純なものです。

スタックトレース:

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 
+0

ここで起こっていること: 'Main.java:70' –

+0

プログラムのメインGUIオブジェクトを作成します。その際、データベースへの複数の呼び出しを行います。 – amcgreagor

答えて

0

結局のところ、私は私のコードで(非常に)愚かなミスを犯しました。私はクエリでgetSingleResult()を呼び出す前に、その行でクエリを作成したEntityManagerを閉じました。 Netbeansからこのプログラムを実行したときに、なぜプログラムが動作したのかよく分かりませんが、問題は今解決されています。

関連する問題