2011-10-25 9 views
2

Netbeans 7.1から完全に動作するJavaアプリケーションがありますが、ビルドjarを使用するとクラッシュします。netbeansからアプリケーションを実行してjarを実行することとの違いは何ですか?

私はこの問題を調査しており、アプリケーションがDriverManager.getConnection()を呼び出すことによって保持されていることに気付きました。

私が何かやっている:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:2304;user=username;password=12345;database=databasename"); 

を私はまたJTDSを試みたが、それは同じ結果になります。

私は上で実行しているWindows 7のホームプレミアム のSQL Server 2008(ローカルホスト) Javaバージョン1.6

スレッドダンプ はNetbeans 7.1(Netbeansのから実行するときにアプリケーションが正常に動作します)

java.lang.Exception: Stack trace 
    at java.lang.Thread.dumpStack(Unknown Source) 
    at joomlasyncrnzr.JoomlaSyncrnzrApp.getCon(JoomlaSyncrnzrApp.java:314) 
    at joomlasyncrnzr.JoomlaSyncrnzrApp.taxas(JoomlaSyncrnzrApp.java:604) 
    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 org.jdesktop.application.ApplicationAction.noProxyActionPerformed(Ap 
licationAction.java:662) 
    at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicatinAction.java:698) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Window.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$000(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

何これを引き起こす可能性がありますか?

+0

「クラッシュ」を定義します。 Stacktraceが役に立ちます。 –

+0

スタックトレースはありません。アプリケーションがgetConnectionを呼び出した後に保持するだけなので、スタックトレースはありません。例外はスローされず、GUIは応答を停止します。 – woozy

+0

@woozyあなたは何が起こっているかを見るためにスレッドダンプを取ることができますか? – r0ast3d

答えて

0

jarファイルを実行しているときにSQL Serverドライバを含むようにCLASSPATHを設定していないことがありますが、Netbeansには既に含まれている可能性があります。

+0

ご返信ありがとうございます。私は正しいクラスパスを持っています。また、それが問題だった場合、例外がスローされる可能性があり、そうではありません。アプリケーションはただ保持します。 – woozy

1

私は、無期限にハングするDriverManager.getConnection呼び出しで同じ問題を抱えていました。

私が問題を解決したのはJava 6 Update 25に戻っていました。アップデート29では、SQL ServerへのJDBC接続でバグが発生するようです。私はUpdate 27(またはそれ以前)はまだ問題なく動作していると思います。

関連する問題