【发布时间】:2012-04-03 09:01:48
【问题描述】:
tomcat\webapps\swingapp\simple.jnlp 中我的应用程序的 JNLP 文件
<?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>
simple.jar 中的我的 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 and Settings\user\Application Data\Sun\Java\Deployment\log”的日志文件
<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>
这可能是什么原因?
【问题讨论】:
-
使用 JaNeLA 检查 JNLP。 localhost:8080/swingapp/mysql-connector-java-5.1.18-bin.jar URL 在浏览器中是否有效(例如,您可以将其复制/粘贴到地址栏,按 Enter 并获取 Jar)?您之前是否还有其他关于服务器 MySQL 的问题?
-
@AndrewThompson localhost:8080/swingapp/mysql-connector-java-5.1.18-bin.jar 这显然会抛出 404,因为 jar 在 jar 'simple.jar' 里面 这是我的第一个关于Mysql的问题
-
"jar 在 jar 'simple.jar' 中" 使用标准类加载器将无法正常工作。把它放在我在链接中显示的 URL 上(所以它不是 404)。另外,请将我在this comment 上提出的问题回答给完全不同的人(在非常相似的情况下)。
-
<j2se version="1.7.0+"/>J2SE 7 版本已经推向公众了吗?这里我还在运行 1.6.0_29。 -
@AndrewThompson 好的,我将 mysql 驱动程序提取到 URL 的位置,当我在浏览器中键入 URL 'localhost:8080/swingapp/mysql-connector- 时,mozilla 要求下载 jar 文件java-5.1.18-bin.jar'...但令人惊讶的是我仍然得到'java.lang.ClassNotFoundException:com.mysql.jdbc.Driver'。我相信 Java 1.7 已经在 Oracle 网站上发布了。