我知道这是一个非常有帮助的社区..所以我希望我能得到我的问题的答案。实际上,我有一个swing应用程序通过JDBC联系oracle数据库。
现在我想通过WebStart部署它。我在应用程序中有一个打印日志消息的文本区域。
一切顺利,jnlp在客户端下载我的应用程序jar。但突然间,日志区域显示,它无法连接到数据库。我的意思是,我在建立与数据库的连接时遇到SQL异常。
可能出了什么问题。 我应该在通过网络启动部署应用程序时包含任何其他jar /库。 但我听说我只能通过webstart下载一个jar文件 jar不能包含另一个jar文件。请帮忙。
这是我的JNLP文件
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="0.2 1.0" codebase="http://172.16.3.214:8080/CRM" href="CsvClient.jnlp">
<information>
<title>CSV Import Client</title>
<vendor>CRM Software</Vendor>
<homepage href="index.jsp" />
<description>CSV Import client</description>
<icon href="csv.gif" />
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+" />
<jar href="csv.jar" />
</resources>
<application-desc main-class="org.csv.Main" />
</jnlp>
这是我用来获取jar文件的Manifest.txt文件..
Manifest-Version: 1.0
Main-Class: org.csv.Main
答案 0 :(得分:1)
您当然需要包含应用程序所需的特定jdbc驱动程序。你可以在jnlp资源中拥有几个jar。 您可能还需要指定安全性约束,默认情况下,jnlp应用程序在沙盒环境中运行,因此可能不允许它连接到另一个主机(如数据库服务器)。但是显示SQL异常,它应该包含什么错误的线索。
Here是一个不错的起点
答案 1 :(得分:0)
您可以在JNLP中拥有多个jar资源。 JNLP文件也可以使用扩展JNLP文件。清单中的Main-Class
条目用于java -jar
并被WebStart忽略。
Oracle提供了许多类型的数据库驱动程序。你可能想要纯Java。您还需要安排从与数据库相同的计算机(或至少看起来是)提供应用程序。对于较大的项目,经常使用应用程序层(可能有点过于急切,因为它会导致更复杂的项目)。
答案 2 :(得分:0)
如果您的数据库与Web服务器不是同一个主机,那么您将超越沙箱边界。
您必须签署代码才能允许其无限制访问。检查JNLP文档。