2012-03-18 57 views
0

tomcat的裏面\的webapps \ swingapp \我的應用程序的JNLP文件simple.jnlp內simple.jarJNLP應用程序無法找到Mysql數據庫驅動程序

<?xml version="1.0" encoding="utf-8"?> 
<jnlp 
    spec="1.0+" 
    codebase="http://localhost:8080/swingapp/" 
    href="simple.jnlp"> 
    <information> 
    <title>Simple Swing application</title> 
    <vendor>Me</vendor> 
    <description>Simple Swing Demo Application</description> 
    <description kind="short">Simple Swing Demo Application.</description> 
    <offline-allowed/> 
    </information> 
    <resources> 
    <j2se version="1.7.0+"/> 
    <jar href="simple.jar"/> 
    </resources> 
    <application-desc/> 
</jnlp> 

我的MANIFEST.MF文件中包含這些項:

Manifest-Version: 1.0 
Class-path: mysql-connector-java-5.1.18-bin.jar 
Sealed: true 
Created-By: 1.7.0_01 (Oracle Corporation) 
Main-Class: com.ui.LoginForm 

simple.jar - 我有一個簡單的swing登錄窗口,在這裏我查看了一個mysql表格的用戶名/密碼。

當我從命令執行jar時,它工作正常。它連接到mysql數據庫並檢查用戶名/密碼。

但是當我使用url「http:// localhost:8080/swingapp/simple.jnlp」啓動應用程序時,它找不到mysql驅動程序。儘管我在使用'jar xf'解鎖時可以在jar中看到它。從日誌文件 「C:\ Documents和Settings \用戶\應用數據\太陽\的Java \部署\登錄」

<record> 
    <date>2012-03-18T23:15:39</date> 
    <millis>1332092739265</millis> 
    <sequence>0</sequence> 
    <logger>com.sun.deploy</logger> 
    <level>FINE</level> 
    <class>com.sun.deploy.trace.LoggerTraceListener</class> 
    <method>print</method> 
    <thread>8</thread> 
    <message>user name : admin 
</message> 
</record> 
<record> 
    <date>2012-03-18T23:15:39</date> 
    <millis>1332092739265</millis> 
    <sequence>1</sequence> 
    <logger>com.sun.deploy</logger> 
    <level>FINE</level> 
    <class>com.sun.deploy.trace.LoggerTraceListener</class> 
    <method>print</method> 
    <thread>8</thread> 
    <message>password : swingAdmin 
</message> 
</record> 
<record> 
    <date>2012-03-18T23:15:39</date> 
    <millis>1332092739281</millis> 
    <sequence>2</sequence> 
    <logger>com.sun.deploy</logger> 
    <level>FINE</level> 
    <class>com.sun.deploy.trace.LoggerTraceListener</class> 
    <method>print</method> 
    <thread>8</thread> 
    <message>java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
</message> 
</record> 
<record> 

可能是什麼原因嗎?

+0

使用[JaNeLA](http://pscode.org/janela/)檢查JNLP。是在瀏覽器中有效的http:// localhost:8080/swingapp/mysql-connector-java-5.1.18-bin.jar URL(例如,您可以將其複製/粘貼到地址欄中,按回車並獲取Jar )?您之前是否有關於服務器的MySQL的另一個問題? – 2012-03-18 17:52:51

+0

@AndrewThompson localhost:8080/swingapp/mysql-connector-java-5.1.18-bin.jar這顯然會拋出404,因爲這個jar在jar'simple.jar'裏面這是我第一個關於Mysql – sachinrahulsourav 2012-03-18 17:57:27

+0

*的問題罐子裏面的jar'simple.jar'「*這不會使用標準的類加載器。把它放在我在鏈接中顯示的URL(所以它不是404)。此外,請回答我對[此評論](http://stackoverflow.com/questions/9755756/no-suitable-driver-when-running-but-not-in-ide#comment12413555_9755756)詢問的問題不同的人(在非常相似的情況下)。 – 2012-03-18 18:06:49

回答

0

解壓mysqlconnect.jar。 複製包的父文件夾中的com,META-INF,org文件夾。 創建jar文件。 創建密鑰庫 將密鑰庫綁定到jar 創建jnlp文件 運行! 注意:mysql驅動程序允許使用「localhost」,因此應用程序只能在同一臺計算機域上運行。 for keystore,binding concepts check:http://www.mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/

相關問題