版本7u25之后,Java Web Start不起作用

时间:2013-07-16 08:36:27

标签: java security java-web-start

我有一个通过java web start(使用glassfish 4.0)发布的java应用程序。更新到java 7u25后,它不再起作用。以下是错误消息的一部分。

Missing Permissions manifest attribute for: http://localhost:8080/___JWSappclient/___system/s1as/glassfish/modules/javax.security.auth.message-api.jar
Missing Codebase manifest attribute for: http://localhost:8080/___JWSappclient/___system/s1as/glassfish/modules/javax.security.auth.message-api.jar
Missing Permissions manifest attribute for: http://localhost:8080/___JWSappclient/___system/s1as/glassfish/modules/web-naming.jar
Missing Codebase manifest attribute for: http://localhost:8080/___JWSappclient/___system/s1as/glassfish/modules/web-naming.jar
#### Java Web Start Error:
#### java.lang.ClassCircularityError: com/sun/enterprise/security/ee/PermissionCache
Exception in thread "Javaws Secure Thread" java.lang.ClassCircularityError: com/sun/enterprise/security/ee/PermissionCache
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.isCheckMemberAccessOverridden(Unknown Source)
    at java.lang.Class.checkMemberAccess(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at java.net.URL.getURLStreamHandler(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)

首先,为什么突然出现ClassCircularityError?此外,要消除属性警告,我可能会将属性添加到清单中。但修改第三方罐子真是一个好计划吗?

2 个答案:

答案 0 :(得分:1)

在jar的manifest.mf文件中添加PermissionsCodebase属性可能会解决您的问题。这些是update 25中的最新更新。关于提示的第二个问题,第三方罐子的变化是不可理解的。我自己坚持要求删除这些提示。

答案 1 :(得分:1)

我们也注意到了这个问题,并通过刚刚打开的GlassFish issue 20711进行跟踪。