需要帮助获得蚂蚁撒克逊变换'-?'工作

问题描述 投票:0回答:1

我在使用 ant 运行 saxon 程序时遇到问题 -? arg。根据我的经验,这在 Linux(Ubuntu 风格)和 Windows 10 上失败。

这是 build.xml 中失败的代码:

 <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};." failonerror="true">
            <arg value="-?" description="help information"/>
        </java>

请注意,这似乎有效:

$ java -cp "java/lib/saxon-he-11.2.jar;java/lib/xmlresolver-4.2.0.jar;java/lib/xmlresolver-4.2.0-data.jar" net.sf.saxon.
Transform '-?'
SaxonJ-HE 11.2 from Saxonica
Usage: see http://www.saxonica.com/documentation/index.html#!using-xsl/commandline
Format: net.sf.saxon.Transform options params
Options available: -? -a -catalog -config -cr -diag -dtd -ea -expand -explain -export -ext -im -init -it -jit -json -l -lib -license -nogo -now -ns -o -opt -or -outval -p -quit -r -relocate -repeat -s -sa -scmin -strip -t -T -target -TB -threads -TJ -Tlevel -Tout -TP -traceout -tree -u -val -versionmsg -warnings -x -xi -xmlversion -xsd -xsdversion -xsiloc -xsl -y --?
Use -XYZ:? for details of option XYZ
Params:
  param=value           Set stylesheet string parameter
  +param=filename       Set stylesheet document parameter
  ?param=expression     Set stylesheet parameter using XPath
  !param=value          Set serialization parameter

典型的堆栈跟踪如下所示:

BUILD FAILED
C:\x3d-code\www.web3d.org\x3d\stylesheets\build.xml:364: The following error occurred while executing this line:
C:\x3d-code\www.web3d.org\x3d\stylesheets\build.xml:164: java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
        at java.base/java.lang.System.setSecurityManager(System.java:416)
        at org.apache.tools.ant.types.Permissions.setSecurityManager(Permissions.java:103)
        at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:216)
        at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155)
        at org.apache.tools.ant.taskdefs.Java.run(Java.java:891)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:577)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        at org.apache.tools.ant.Task.perform(Task.java:350)
        at org.apache.tools.ant.Target.execute(Target.java:449)
        at org.apache.tools.ant.Target.performTasks(Target.java:470)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
        at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:577)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        at org.apache.tools.ant.Task.perform(Task.java:350)
        at org.apache.tools.ant.Target.execute(Target.java:449)
        at org.apache.tools.ant.Target.performTasks(Target.java:470)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        at org.apache.tools.ant.Main.runBuild(Main.java:818)
        at org.apache.tools.ant.Main.startAnt(Main.java:223)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

Total time: 0 seconds

如果有人能够想出适当的 ant 配置或语法来完成这项工作,那就太酷了。

java ant saxon
1个回答
0
投票

在 Windows 10 和 Java 20 上发现同样的 bug,解决方案是在 java 命令中添加 fork="yes"。自 Java 18 以来,这一直是一个问题,截至本文发布之日尚未修复。

© www.soinside.com 2019 - 2024. All rights reserved.