使用 macOS Catalina 时,我们遇到以下问题:当应用程序通过双击 JNLP 文件启动时和通过双击安装在桌面上的快捷方式启动时,打开 Java Web Start 应用程序的行为不同。
在第一种情况下(双击下载的 JNLP 文件)应用程序打开时没有访问文件系统的权限 - 尝试以 JAVA 代码获取用户桌面目录中的目录列表总是返回 null。不会向用户显示任何要求访问文件系统的权限的提示。这不是预期的行为。
在第二种情况下(从桌面快捷方式启动),首先提示用户应用程序正在尝试访问文件系统并要求获得许可。当用户允许应用程序访问文件时 - 应用程序正确读取用户的桌面目录。这是预期的行为。
有解决方法吗?如果通过双击JNLP文件启动Catalina上的Web启动应用程序,我们如何使Web启动应用程序访问文件系统(这是应用程序至少第一次启动的方式)?
对于使用webstart启动的应用程序,我在Java控制台上显示输出消息.而不是用户手动清除消息,有没有办法清除代码中的控制台消息?
这些消息以大约每秒1000的速度打印,并且似乎最终使用了太多的内存,我本可以停止打印到控制台,但要求是始终拥有它.
我下载了一个java app webstart.JNLP.我在记事本中打开后,发现它列出了一些资源,我认为,对于应用程序能够加载,那些*.jar必须找到我的电脑中的一些位置.我在哪里可以找到*.jar的路径?有人帮忙吗?
<jar href="sax2.jar"/>
<jar href="soap.jar"/>
<jar href="sslava.jar"/>
<jar href="winpack-3.6.1.jar"/>
<jar href="wsdl4j-1.5.1.jar"/>
<jar href="secprops-prodny.jar"/>
Run Code Online (Sandbox Code Playgroud) 我下载了.jnlp文件并运行它.它运行正常.我关闭它并重新启动它运行正常.
但是在第三次尝试时,它总是抛出java.lang.NullPointerException,应用程序将无法启动.
如果我重新启动计算机,它会再次运行.我怎样才能解决这个问题 ?
java.lang.NullPointerException
at com.sun.javaws.security.SigningInfo.overlapSigners(Unknown Source)
at com.sun.javaws.security.SigningInfo.getCertificates(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 嗨设法为我的Java应用程序创建jar和.jnlp文件,但在运行时遇到麻烦.使用Java Web Start启动好但我认为我需要做一些额外的操作,因为当我运行它时它不会要求获得访问文件I/O的HD的权限.
希望得到一些帮助,并建议知道如何获得许可权利,即我必须做的是我必须做的事情,我的所有课程都不确定.我在Java Web Start中收到的错误消息如下所示.
Exception in thread "AWT-EventQueue-0" java.security.AccessControlException:
access denied (java.io.FilePermission StockDatabase;Stocks.dat read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
at StockCodeDatabase.<init>(OptraderSA.java:782)
at OptraderSA.actionPerformed(OptraderSA.java:136)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unkno
Run Code Online (Sandbox Code Playgroud) 为了玩游戏,我去http://www.gokgs.com/download.jsp用Java Web Start启动客户端.本质上,它是一个.jnlp文件,可以自动更新客户端.
很酷.不过,我想知道如何从这个.jnlp文件中获取底层的.jar文件.我检查了我的本地java 6.0缓存目录,但没有在那里找到任何.jar文件.
谁知道如何获得这个cgoban客户端的独立版本?
可能重复:
我可以从Java应用程序中删除下载的JNLP文件(Java Web start/JWS)吗?
启动webstart而不下载......?
我创建了一个JWS程序,它通过单击将您带到JNLP文件的HTML链接开始.但是,Chrome浏览器的功能是,它会显示一个文件下载对话框,询问您是否要"保留"或"丢弃"该文件.许多用户监督该对话框,从不点击"保持".
但在某些网站中,我看到该对话框不存在,JWS会自动启动.我怎么能这样做呢?
直接发布示例:
http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
我已经jnlp从他们网站上提供的oracle教程中下载了一些文件作为示例.虽然它们运行但是还有什么方法可以从中检索源代码吗?这将真正帮助我更好地理解他们的例子.
Thanx提前!!
我的应用程序中有一个要求,从web-server在浏览器中运行javafx应用程序.我怎么能实现这个目标.
提前致谢.
由于严格的安全限制的7u51,在一月份到期,我想我签字JNLP文件.
我们的应用程序需要设置某些自定义系统属性,其中一些属性的值会根据applet的部署位置而有所不同.我想避免为每个部署重新签名包含JNLP模板的JAR.
放入<property name="my-prop" value="*"/>JNLP模板的天真方法不起作用.
即使<property name="my-prop" value="fixed-value"/>在模板中,我有时会得到一个对话框,说"此应用程序将执行不安全的操作.你想继续吗?":

将系统属性传递给签名的Java RIA的正确方法是什么?