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> <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>
</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--