On 2017-08-09, Sarika Sinha wrote:

> Eclipse is having issues using Ant 1.10.1 with Java 9

> Bug 520437 - [9] Running Releng script with JRE 9 fails

> We see that the  Java 9
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl class  having
> method  private void transform(Source source, SerializationHandler handler,
> String encoding) throws TransformerException
>   has changed from  Java 8 and Xalan 2.7.2  and gives error in the presence
> of Security Manager.

> Have created a bug with Ant Bugzilla.
> Bug 61389 - Loading Stylesheet - 'xalan://java.lang.String:replaceAll' is
> not allowed when the secure processing feature is set to true

I'll add the same question I'm going to ask here to
https://bz.apache.org/bugzilla/show_bug.cgi?id=61389 as well. What you
see is very similar to something Ant encountered with its own unit tests
and we managed to deal with it with the help of the JAXP team. As far as
I can tell what we recommend in the xslt task's manual page still works
with the latest JDK9 build we've used on Jenkins (not the RC quite yet).

http://ant.apache.org/manual/Tasks/style.html say:

,----
| Note on XSLT extension functions: when using the default TraX
| implementation of the Java class library and a SecurityManager is active
| - e.g. when running from within an IDE - XSLT extension functions cannot
| be used as "secure processing" is active in Java 7 and above. Ant
| contains a special "hack" that allows XSLT extensions to be used in Java
| 7 and 8, but this hack fails for Java 9. If you want to use extensions
| like the redirect extension that are provided by the Java class library
| itself, you can allow them by enabling the feature
| http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions in
| Java 9 and above. If you need to use an extension function not provided
| by Java itself you can set the attribute
| jdk.xml.transform.extensionClassLoader to a classloader (reference to an
| Ant PATH-like structure).
`----

So you should be able to make the build work by setting
http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions to
true. That should be enough for String:replaceAll. Have you tried that?

Cheers

        Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to