Community
Participate
Working Groups
During the installation of EDT 070 release build, you will get a warning saying there is unsigned contents for the org.eclipse.edt.runtime.java plugin Currently in 070, this plugin is not signed. Because if it is signed, you would get the following error when running Eunit testing in java eglx.lang.DynamicAccessException Creation of a delegate for function executeLibTest failed due to java.lang.SecurityException: class "org.eclipse.edt.eunit.runtime.MultiStatus"'s signer information does not match signer information of other classes in the same package at eglx.lang.AnyException.fillInStackTrace(AnyException.java:187) at java.lang.Throwable.<init>(Throwable.java:181) at java.lang.Exception.<init>(Unknown Source) at java.lang.RuntimeException.<init>(Unknown Source) at eglx.lang.AnyException.<init>(AnyException.java:32) at eglx.lang.DynamicAccessException.<init>(DynamicAccessException.java:22) at org.eclipse.edt.javart.Delegate.<init>(Delegate.java:33) at eunitgen.aeunit.smoke.SmokeLib.invokeTheTest(SmokeLib.java:38) at eunitgen.RunAllTests_pgm.main(RunAllTests_pgm.java:2002) at org.eclipse.edt.javart.resources.RunUnitBase.start(RunUnitBase.java:239) at eunitgen.RunAllTests_pgm.main(RunAllTests_pgm.java:509) Caused by: java.lang.SecurityException: class "org.eclipse.edt.eunit.runtime.MultiStatus"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(Unknown Source) at java.lang.ClassLoader.preDefineClass(Unknown Source) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getDeclaredMethod(Unknown Source) at org.eclipse.edt.javart.Delegate.<init>(Delegate.java:30) ... 4 more The root cause is because in the EGL workspace, there are egl files created under the same package as the ones inside javaruntime jar, in this case: org.eclipse.edt.eunit.runtime package. Possible Solution 1. sign the java runtime plugin jar, so user won't get the warning during install - split the org.eclipse.edt.eunit.runtime package, so the egl parts in the workspace are in different package. However, user would still hit the same issue, if they have parts that's under any egl system packages (i.e. eglx.lang), according to Brian, it might be ok to put such restriction, user should not declare any egl parts using any of the system package name 2. figure out a way to package java runtime plugin as directory, and have a unsigned jar file within the directory, this might fool the installation, so no warnings - we may need to modify the java classpath for any egl project to use this new jar
target this for EDT 1.0