java.lang.UnsupportedOperationException raised when invoking the <java> task

Rick Hillegas <[email protected]> Fri, 20 Oct 2023 13:39:23 -0700
Newsgroups gmane.comp.jakarta.ant.user
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------BwNz9H0CXxFbj37eW6XpbDF6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

I am running Java 21 (OpenJDK 64-Bit Server VM (build 21+35-2513, mixed 
mode, sharing)) and Ant 1.10.6. The following stanza in my build.xml 
file raises a java.lang.UnsupportedOperationException:

     <java classname="org.apache.derbyBuild.maintversion2props">
         <classpath path="${out.build.dir}"/>
         <arg value="${out.engine.dir}/org/apache/derby/info/engine/info.properties"/>
         <arg value="${release.dir}/maintversion.properties"/>
     </java>

The maintversion2props class is very simple, it just writes a file. I 
would appreciate your advice about how to get over this hurdle.

Thanks,

-Rick

Here is the maintversion2props class:

public class maintversion2props
{
     public static void main(String[] args) throws Exception
     {
         InputStream is = new FileInputStream(args[0]);
         Properties p = new Properties();
         p.load(is);

         String maint = "";
         maint = p.getProperty("derby.version.maint");
         if (maint == null)
         {
             maint = p.getProperty("maint");
         }
         
         Properties p2 = new Properties();
         p2.setProperty("interim", Integer.toString(Integer.parseInt(maint) / 1000000));
         p2.setProperty("point", Integer.toString(Integer.parseInt(maint) % 1000000));
         OutputStream os = new FileOutputStream(args[1]);
         p2.store(os, "");
     }
}

...and here is the full stack trace:

      [java] java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release

      [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)

      [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:861)

      [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)

      [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:292)

      [java]     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

      [java]     at java.base/java.lang.reflect.Method.invoke(Method.java:580)

      [java]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)

      [java]     at org.apache.tools.ant.Task.perform(Task.java:350)

      [java]     at org.apache.tools.ant.Target.execute(Target.java:449)

      [java]     at org.apache.tools.ant.Target.performTasks(Target.java:470)

      [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)

      [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)

      [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

      [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1254)

      [java]     at org.apache.tools.ant.Main.runBuild(Main.java:830)

      [java]     at org.apache.tools.ant.Main.startAnt(Main.java:223)

      [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)

      [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

      [java] Caused by: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release

      [java]     at java.base/java.lang.System.setSecurityManager(System.java:429)

      [java]     at org.apache.tools.ant.types.Permissions.setSecurityManager(Permissions.java:103)

      [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:216)

      [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155)

      [java]     ... 19 more


--------------BwNz9H0CXxFbj37eW6XpbDF6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I am running Java 21 (OpenJDK 64-Bit Server VM (build 21+35-2513,
      mixed mode, sharing)) and Ant 1.10.6. The following stanza in my
      build.xml file raises a java.lang.UnsupportedOperationException:</p>
    <pre>    &lt;java classname="org.apache.derbyBuild.maintversion2props"&gt;
        &lt;classpath path="${out.build.dir}"/&gt;
        &lt;arg value="${out.engine.dir}/org/apache/derby/info/engine/info.properties"/&gt;
        &lt;arg value="${release.dir}/maintversion.properties"/&gt;
    &lt;/java&gt;
</pre>
    <p>The maintversion2props class is very simple, it just writes a
      file. I would appreciate your advice about how to get over this
      hurdle.</p>
    <p>Thanks,</p>
    <p>-Rick<br>
    </p>
    <p>Here is the maintversion2props class:</p>
    <pre>public class maintversion2props
{
    public static void main(String[] args) throws Exception
    {
        InputStream is = new FileInputStream(args[0]);
        Properties p = new Properties();
        p.load(is);

        String maint = "";
        maint = p.getProperty("derby.version.maint");
        if (maint == null)
        { 
            maint = p.getProperty("maint");
        }
        
        Properties p2 = new Properties();
        p2.setProperty("interim", Integer.toString(Integer.parseInt(maint) / 1000000));
        p2.setProperty("point", Integer.toString(Integer.parseInt(maint) % 1000000));
        OutputStream os = new FileOutputStream(args[1]);
        p2.store(os, ""); 
    }
}</pre>
    <p>...and here is the full stack trace:</p>
    <pre>     [java] java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:861)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)</pre>
    <pre>     [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)</pre>
    <pre>     [java]     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)</pre>
    <pre>     [java]     at java.base/java.lang.reflect.Method.invoke(Method.java:580)</pre>
    <pre>     [java]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)</pre>
    <pre>     [java]     at org.apache.tools.ant.Task.perform(Task.java:350)</pre>
    <pre>     [java]     at org.apache.tools.ant.Target.execute(Target.java:449)</pre>
    <pre>     [java]     at org.apache.tools.ant.Target.performTasks(Target.java:470)</pre>
    <pre>     [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)</pre>
    <pre>     [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)</pre>
    <pre>     [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)</pre>
    <pre>     [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1254)</pre>
    <pre>     [java]     at org.apache.tools.ant.Main.runBuild(Main.java:830)</pre>
    <pre>     [java]     at org.apache.tools.ant.Main.startAnt(Main.java:223)</pre>
    <pre>     [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)</pre>
    <pre>     [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)</pre>
    <pre>     [java] Caused by: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release</pre>
    <pre>     [java]     at java.base/java.lang.System.setSecurityManager(System.java:429)</pre>
    <pre>     [java]     at org.apache.tools.ant.types.Permissions.setSecurityManager(Permissions.java:103)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:216)</pre>
    <pre>     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155)</pre>
    <pre>     [java]     ... 19 more</pre>
    <p><br>
    </p>
  </body>
</html>

--------------BwNz9H0CXxFbj37eW6XpbDF6--