2015-04-29 115 views
0

我有一個通過xampp連接到MySQL的GUI應用程序。使用netbeans運行沒問題,但是當我使用Launch4j從jar中打包時,它無法連接到數據庫(即使界面仍在工作,它也會發生異常)從jar中的exe無法從本地主機訪問MySQL

我選擇了自定義類路徑和它包含mysql庫。

enter image description here

而這正是引發異常:

try 
     { 
      // create our mysql database connection 
      Class.forName("com.mysql.jdbc.Driver"); 
      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vietcombank.db?useUnicode=yes&characterEncoding=UTF-8","admin", "123456789"); 
     } 
     catch (Exception e) 
     { 
      System.err.println(e.getMessage()); 
     } 

異常的輸出是com.mysql.jdbc.Driver。但是,如果我通過cmd直接運行罐子本身就是java -jar "D:\Network Programming\ServerATM\dist\ServerATM.jar",它運行得很好。是否因爲Launch4j沒有包含這些庫?

謝謝。

+0

的代碼無法識別com.mysql.jdbc.Driver。您需要在所需的類路徑中添加罐子 –

+1

使用'e.printStackTrace()'而不是'e.getMessage()'。你有沒有複製'lib'目錄以及exe(不熟悉Launch4j) – MadProgrammer

+0

@KalaiarasanManimaran當我選擇像上面的圖像這樣的主類時,它會自動檢測這兩個庫。我不能手動將類路徑指向特定的jar庫。 –

回答

0

,而不是這樣的:

private String url = "jdbc:mysql://localhost/your-database-name";

嘗試使用此:

private String url = "jdbc:mysql://127.0.0.1/your-database-name";