2011-11-25 50 views
1

我是新手入门,我们使用exe4j从One-jar创建可执行文件。在-为了使“网络版启动”我们的应用程序我试图午餐使用Web Start与指定的主类,但我收到以下错误一JAR -在JWS启动中拒绝PropertyPermission访问

java.security.AccessControlException: access denied (java.util.PropertyPermission one-jar.main-class 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.checkPropertyAccess(Unknown Source) 
    at java.lang.System.getProperty(Unknown Source) 
    at com.simontuffs.onejar.Boot.run(Boot.java:186) 
    at com.simontuffs.onejar.Boot.main(Boot.java:137) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.sun.javaws.Launcher.executeApplication(Unknown Source) 
    at com.sun.javaws.Launcher.executeMainClass(Unknown Source) 
    at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) 
    at com.sun.javaws.Launcher.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

JNLP包括 -

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="" href=""> 
    <information> 
     <title>Applet Takes Params</title> 
     <vendor>Protype example</vendor> 
    </information> 
    <resources> 
     <!-- Application Resources --> 
     <j2se version="1.5+" 
       href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="Application.jar" main="true" /> 
    </resources> 
    <application-desc main-class="com.simontuffs.onejar.Boot"> 
    </application-desc> 
    <update check="background"/> 
</jnlp> 

我试图发动Application.jar直接和com.simontuffs.onejar.Boot是主类指定JAR。我也发现这个link,说我们不能启动与Web开始One-Jar。请帮忙。

+1

顺便说一句 - 用[JaNeLA](http://pscode.org/janela/)验证JNLP是个好主意。 –

+1

顺便说一句 - 我刚刚查看了[One-JAR](http://one-jar.sourceforge.net/)。 *“One-JAR提供自定义类加载器,该类加载器知道如何从存档中的jar加载类和资源”* JWS客户端不会。他们使用标准的类加载器。使用JWS部署Jars的最好方法是在'resources'元素中添加对每个jar的引用。通过指定某些为“懒惰”下载来利用高效更新。 –

+0

谢谢。如果有效,我会尽快回复您。 –

回答

3
access denied (java.util.PropertyPermission one-jar.main-class read) 

一个网络启动应用程序。如果它声明all-permissions可以访问任何属性。如果是沙盒,它只能访问属性,前缀为jnlp &其他一些被认为是“安全”的JRE属性。

+0

谢谢,但我是网络启动新手。你能否详细说明你的建议? –

+0

我也编辑了我原来的帖子。添加了我参考指定主类的图像。 –

+0

屏幕截图不能帮助我以任何方式帮助你。主要是因为我不提供对IDE的支持。 –