2011-10-25 38 views
2

我有一個java應用程序,從Netbeans 7.1運行時完美工作,但如果我使用構建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文件時未將CLASSPATH設置爲包含SQL Server驅動程序,而Netbeans可能已將它包括在內。

+0

謝謝你的回覆。我有正確的類路徑。而且,如果這是問題,則會拋出異常,情況並非如此。該應用程序只是成立。 – woozy

1

我的DriverManager.getConnection調用只是無限期地掛起了同樣的問題。

什麼解決了我回到Java 6 Update 25的問題。更新29似乎引入了與SQL Server的JDBC連接的錯誤。我認爲Update 27(或更早版本)仍然可以正常工作。

相關問題