通过JNLP的Java Applet:System.Properties没有“设置”
我从事Java工作已有好几年了(这是我的借口)。
我正在尝试将Java Swing UI作为Applet启动(之前通过Web Start完成)。
我修改了jnlp文件以反映我知道applet所需的更改(例如使用applet-desc而不是application-desc)。
在jnlp文件的标记内,我们设置了如下系统属性:
在主类的init方法中,我们尝试读取其中一些系统属性,并始终将“null”作为值。
-
有没有人有任何想法为什么系统属性不“坚持”?
-
可能有相关的陌生感:我设置Java以在运行时打开控制台。 当我用这个小程序加载页面时,控制台窗口打开TWICE,两个窗口显示加载jnlp的详细信息,但只有一个窗口继续完整的应用程序加载。
更新:
这是jnlp文件:
app
您需要对JNLP文件进行签名才能设置系统属性(除具有特殊豁免的属性外)。 看看你想要设置的一些属性!
要签署JNLP文件,请在签署jar之前在JNLP-INF / APPLICATION.JNLP中放置一个逐字节的副本(最好坚持使用US-ASCII(!))。
只花了2天试图解决这个问题,试图签署jar子和其他文件……然后我发现解决方案似乎很简单,工作正常:
我在我的JRE-home-director * y(jre7 / lib)中放入了一个带有以下内容的jndi.properties文件 :
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=jnp://localhost:1099
从Java 1.6更新到Java 1.7时遇到此问题…