2

Netbeans 7.1 から実行すると完全に動作する Java アプリケーションがありますが、ビルド 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 Home Premium SQL Server 2008 (localhost) Netbeans 7.1 (Netbeans から実行するとアプリケーションは正常に動作します) Java バージョン 1.6 で実行しています。

スレッドダンプ

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)

何が原因でしょうか?

4

2 に答える 2

1

DriverManager.getConnection 呼び出しが無期限にハングするという同じ問題がありました。

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

于 2011-10-27T08:28:17.037 に答える
0

jarファイルの実行時にSQLServerドライバを含めるようにCLASSPATHを設定していない可能性がありますが、Netbeansにはすでに含まれている可能性があります。

于 2011-10-25T16:55:38.053 に答える