2012-03-18 83 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/

相关问题