我正在编写从Web下载CSV文件并将数据插入数据库表中的应用程序。问题是我需要通过System.setProperty("http.proxyHost", "http-proxy.domain.com");
等设置代理。我在本地系统上运行应用程序时工作正常,但问题是当我从JNLP启动它时。首先我遇到了签署JAR的问题(我已经设法让它以某种方式完成它)现在我遇到了问题,即使应用程序正在运行,它也没有连接到Web - 它会引发异常消息“连接超时:连接”。
JNLP文件如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp href="launch.jnlp" spec="1.0+">
<information>
<title>TestImporter</title>
<vendor>hol</vendor>
<homepage href=""/>
<description>TestImporter</description>
<description kind="short">TestImporter</description>
</information>
<update check="always"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+"/>
<jar href="TestImporter.jar" main="true"/>
<jar href="lib/ojdbc14.jar"/>
<jar href="lib/mail.jar"/>
</resources>
<application-desc main-class="cz.test.Importer">
</application-desc>
</jnlp>
我正在通过此代码连接到文件:
URLConnection yc = cnb.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
yc.getInputStream()));
提前感谢您的帮助!
答案 0 :(得分:1)
您可以尝试将代码包装在doPrivileged块中。检查一下:
http://download.oracle.com/javase/1.4.2/docs/api/java/security/AccessController.html
如果在实现之后,您的代码仍然失败,也许从Java控制台粘贴日志会有所帮助。