Tag: java web start

无法使用Java 7u21启动applet

所以我们安装了Java 7u21版本,该版本应该会加强applet的安全性。 不幸的是,它收紧了很多,以至于我们的applet不再运行了。 不好。 有趣的是,它只在我们使用JWS操作时才停止工作。 如果我们从标准网页将其作为标准applet启动,一切正常。 在JWS模式下,我们至少会遇到reflection和java.lang.Thread.setDefaultUncaughtExceptionHandler安全问题。 证书看起来不错。 来自Oracle的发行说明没有提供与JWS相关的任何内容的大量输入。 因此,我对社区的问题是:是否有人有想法或(甚至更好)解决这个问题? 与给定建议/评论相关的其他信息: 这个小程序由全球数百个第三方客户运行,因此不幸的是,更改安全策略是不可取的。 该问题对于客户来说是可重现的。 但我可以确认更改策略文件可以解决问题。 当我从Eclipse启动的Tomcat运行applet时(因此当然没有签名的applet),它会按预期在浏览器中显示警告通知。 作为一个容易上当的人,我允许applet运行,因为它是从我自己的开发环境启动的。 这仍然会导致安全性失败。 我已经考虑过,如果这是Java中的错误,但我想看看是否有其他人看到同样的问题。 我想我们都知道Oracle修复bug的周转时间并不总是最好的…… 感谢您的任何意见。 非常感谢Tony,你的建议让我能够在7u21中创建applet,正确地说; 我认为这是一个向前的步骤,我正在通过浏览器签署和唤醒许多小程序,这些超过7u21。 我今天早些时候不想这样做。 但是我被困了好几个小时,事实上我还没有从我的遗留应用程序中唤醒我的第一个第三方applet(即在JVM 1.6或更老版本中工作正常)。 涉及的applet,我签了他们,但我总是得到错误:SecurityException – “Bad applet class name”。 我有一些applet和html代码调用它们,问题是我的第一个applet链(在调用链中没有任何其他)可能不像其他签名的applet那样正在做(这些applet来自java网站进行培训),这个第3方applet简单不运行并抛出上面提到的exception。 我的第三部分applet我不知道它在内部做了什么。 对不起,如果没有源代码,我可能会要求一个不易解决的特殊情况,但是,无论如何,请相信告诉我任何想法。 最好的祝福

我可以从Java应用程序中删除下载的JNLP文件(Java Web start / JWS)吗?

Google Chrome不会自动启动JNLP文件,因此我向我们的用户推荐此解决方案 。 它可以工作,但下载的JNLP文件仍保留在下载文件夹中。 手动删除它们很麻烦。 我想在Java应用程序中添加一个函数: Google Chrome会下载JNLP文件并将其打开。 JNLP文件启动我们的Java应用程序。 Java应用程序删除JNLP文件(<=我想要这个函数!) 我可以获取启动Java应用程序的下载JNLP文件的文件路径吗? 原因是,我们的Java应用程序jar已签名并可以访问本地资源。

jnlp href属性中的url参数

我一直在使用url参数将参数传递给.jar应用程序的main方法。 在Windows 7上更新到最新的jre 7u7后,Java-web-start启动程序在启动文件时崩溃。 (JNLP download-servlet和jsp-page解析url-parameters并在参数中进一步输入它们) jsp的有趣部分 … 所以这可能是也可能不是bug, Q1:我一直在以正确的方式使用href属性吗? Q2:任何聪明的想法如何解决问题?

如何在jnlp文件中指定JRE范围?

我们有一个使用Java Web Start的Java应用程序。 jnlp文件配置为[j2se version =“1.5+”]。 因此,如果安装了JRE 1.5和1.6,则应用程序将在1.6上运行。 现在,我们要求应将应用程序限制为仅在范围内运行 – JRE 1.5.0_07到JRE 1.5.0_17 [j2se version =“1.5 *”]将无效 – 它将始终使用1.5系列中最新的jre启动应用程序。 我可以通过包含href属性来请求确切的产品版本。 [j2se version =“1.5.0_14”href =“http://java.sun.com/products/autodl/j2se”/] 但是如何在jnlp文件中指定特定范围的JRE,以便JWS仅从该范围中获取JRE? 因此,如果安装了1.5.0_07,1.5.0_17和JRE 6,它应该在1.5.0_17上运行应用程序。 有没有一个很好的方法来实现这一目标?

如何使用JNLP将命令行参数传递给应用程序?

我的应用程序有一个JNLP包。 现在我需要将命令行参数传递给我的应用程序。 如何扩展我的JNLP文件以列出命令行参数? 例如,我需要说java main.class arg1 arg2和arg1和arg2需要作为JNLP文件的一部分提到。

为什么Java 7请求签名应用程序的网络权限?

从Java 7 Update 5开始,我的Java Web Start应用程序正在请求建立连接的权限。 该应用程序使用有效证书进行签名。 将显示一个弹出窗口,其中包含以下文本: 该应用程序已请求与www.example.com建立连接的权限。 你想允许这个动作吗? [确定] [取消] 在拒绝请求时,我在控制台上获得此跟踪: Uncaught error fetching image: java.lang.SecurityException at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkConnect(Unknown Source) at com.sun.javaws.security.JavaWebStartSecurity.checkConnect(Unknown Source) at sun.awt.image.URLImageSource.checkSecurity(Unknown Source) at sun.awt.image.ImageRepresentation.imageComplete(Unknown Source) at sun.awt.image.InputStreamImageSource.errorConsumer(Unknown Source) at sun.awt.image.InputStreamImageSource.setDecoder(Unknown Source) at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source) at sun.awt.image.ImageFetcher.fetchloop(Unknown Source) at sun.awt.image.ImageFetcher.run(Unknown Source) 这是请求权限时的线程转储: “Image Fetcher 2” daemon prio=8 tid=0x04198000 […]

导入“javax.jnlp”无法解析

我正在学习Java并尝试使用Java web start运行一些示例。 但是,我似乎无法找到包javax.jnlp 。 同样的错误让我在windows和linux上都遇到了困难。我在windows上安装了oracle jdk 7.OpenJDK 1.6是在linux上安装的版本。 在没有运气的情况下在互联网上搜索包。它在oracle的网站上不再可用,因为他们坚持认为包是jdk的一部分。 我在安装目录中搜索了它。它声称它在jnlp.jar文件中,其他人在javaws.jar文件中声明…这两个文件都不是我安装的一部分。

Java Web Start应用程序故障排除和访问日志文件

我正在启动一个突然关闭的Java Web Start应用程序。 有没有人知道如何访问Java Web Start的日志。 是否有任何已知的原因导致它突然关闭?

自JDK 1.7以来,Java Web Start已经破产

回答:回答:通过我们的测试,Java 7 Web Start要求您使用SSL证书在服务器上托管资源。 您的证书不必签名,但未签名的证书将提示客户端他们可以忽略的信任消息。 有关详细信息,请参阅以下答案 我们有一个内部应用程序,我们已经使用多年了。 为了使这个应用程序的维护更容易,我们没有向员工提供可安装的应用程序版本,我们只是给他们一个.jnlp的链接,并使用JWS在他们的盒子上启动它。 到目前为止,这种方法效果很好,但是一旦我们的任何员工更新到Java 7,JWS系统就会停止在他们的计算机上运行。 我们检查,重新检查,甚至validation了我们的JNLP模式,这很好,这使我们认为Web Start本身存在问题。 当用户单击jnlp文件时,它会启动Java 7启动屏幕,然后开始下载我们需要的资源。 从那里它只是挂起,JWS启动应用程序的进度条保持在零百分比。 有任何想法吗? 这很大程度上是因为他们升级到了Java 7.同时我们建议所有员工继续使用Java 6,直到另行通知为止。 我们所有的代码都已正确签名。 这是我们JNLP的副本: PEI Portal Application Petz Enterprises, Inc.

将命令行参数传递给javaws(Java WebStart)可执行文件

对于那些可能不想阅读那么多的人的摘要: 我该怎么做呢: ? 如果我们可以将ad-hoc命令行参数传递给javaws,那么javaws应用程序可能更像是“一等公民”“普通应用程序”。 例如,我们可以传递要打开的文件的文件名。 我想知道是否有办法将“ad-hoc”命令行参数传递给javaws可执行文件。 我已经知道如何在JNLP文件中指定它们: … 虽然这可以用于我想要完成的任务,但我将此视为一种解决方法。 我试过了 javaws http://example.org/launch.jnlp 但是,我认为“一些CLI args在这里”被忽略了。 如果我们可以将ad-hoc命令行参数传递给javaws,那么javaws应用程序可能更像是“一等公民”“普通应用程序”。 例如,我们可以传递要打开的文件的文件名。 比如说 javaws [options] http://example.org/launch.jnlp my_file.jpg 在JNLP中使用硬编码的参数不满足此用例。