Note that there are some explanatory texts on larger screens.

plurals
  1. POjava.security.AccessControlException when using Ant, but runs ok when invoking java from console
    primarykey
    data
    text
    <p>I have the following <strong>Ant &lt; java ></strong> task:</p> <pre><code>&lt;property name="classpath-run.msg" refid="run.classpath"/&gt; &lt;echo message="running the app with classpath = ${classpath-run.msg}"/&gt; &lt;echo message="Java version used (ant.java.version): ${ant.java.version}"/&gt; &lt;echo message="Java version used ( java.version): ${java.version}"/&gt; &lt;java classname ="${project.MainClass.name}"&gt; &lt;permissions&gt; &lt;grant class="java.security.AllPermission"/&gt; &lt;grant class="javax.management.MBeanTrustPermission" action="register"/&gt; &lt;/permissions&gt; &lt;classpath refid="run.classpath"/&gt; &lt;/java&gt; </code></pre> <p>When I run <strong>Ant</strong> the execution of the <strong></strong> task fails (see trace below). When I copy-paste the echoed classpath and run my code from the command line with <strong>java -classpath ..</strong> the execution succeeds!</p> <p>In both cases the same version of <strong>java</strong> is used.</p> <p>How is it possible that I observe different behavior ? A <strong>java.security.AccessControlException</strong> sits at the root of the stacktrace but I've already granted my <strong>Ant java</strong> task all security permissions, including, explicitly the <strong>MBeanTrustPermission</strong> for the action <strong>register</strong> which also appears in the stack trace.</p> <p>Trace (when run under <strong>Ant</strong>) is found below:</p> <pre><code> [java] java.lang.ExceptionInInitializerError [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194) [java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:771) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221) [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135) [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108) [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] at java.lang.reflect.Method.invoke(Method.java:601) [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] at org.apache.tools.ant.Task.perform(Task.java:348) [java] at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] at java.lang.reflect.Method.invoke(Method.java:601) [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] at org.apache.tools.ant.Task.perform(Task.java:348) [java] at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] at java.lang.reflect.Method.invoke(Method.java:601) [java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] at org.apache.tools.ant.Task.perform(Task.java:348) [java] at org.apache.tools.ant.Target.execute(Target.java:390) [java] at org.apache.tools.ant.Target.performTasks(Target.java:411) [java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [java] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [java] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [java] at org.apache.tools.ant.Main.runBuild(Main.java:809) [java] at org.apache.tools.ant.Main.startAnt(Main.java:217) [java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) [java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) [java] Caused by: java.lang.ExceptionInInitializerError [java] at TranslationClient.main(TranslationClient.java:5) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] at java.lang.reflect.Method.invoke(Method.java:601) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217) [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152) [java] ... 34 more [java] Caused by: net.sf.ehcache.CacheException: java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register") [java] at net.sf.ehcache.management.sampled.SampledMBeanRegistrationProvider.initialize(SampledMBeanRegistrationProvider.java:98) [java] at net.sf.ehcache.management.provider.MBeanRegistrationProviderImpl.initialize(MBeanRegistrationProviderImpl.java:63) [java] at net.sf.ehcache.CacheManager.doInit(CacheManager.java:454) [java] at net.sf.ehcache.CacheManager.init(CacheManager.java:374) [java] at net.sf.ehcache.CacheManager.&lt;init&gt;(CacheManager.java:356) [java] at TranslationCache.&lt;clinit&gt;(TranslationCache.java:10) [java] ... 41 more [java] Caused by: java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register") [java] at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366) [java] at java.lang.SecurityManager.checkPermission(SecurityManager.java:585) [java] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848) [java] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:322) [java] at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:512) [java] at net.sf.ehcache.management.sampled.SampledMBeanRegistrationProvider.registerCacheManagerMBean(SampledMBeanRegistrationProvider.java:118) [java] at net.sf.ehcache.management.sampled.SampledMBeanRegistrationProvider.initialize(SampledMBeanRegistrationProvider.java:95) [java] ... 46 more </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload