[ https://issues.apache.org/jira/browse/MANTRUN-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16059904#comment-16059904 ]
Guillaume Boué commented on MANTRUN-200: ---------------------------------------- This can be reproduced for any plugin, not just the Antrun Plugin, so this may be a Maven core concern. > Scriptdef tasks fail to load when running on Java9 > -------------------------------------------------- > > Key: MANTRUN-200 > URL: https://issues.apache.org/jira/browse/MANTRUN-200 > Project: Maven Antrun Plugin > Issue Type: Bug > Affects Versions: 1.8 > Reporter: Dan Berindei > > I have a Maven project using maven-antrun-plugin: > {code} > <?xml version='1.0' encoding='UTF-8'?> > <project> > <modelVersion>4.0.0</modelVersion> > <artifactId>my-test-app</artifactId> > <groupId>my-test-group</groupId> > <version>1.0-SNAPSHOT</version> > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-antrun-plugin</artifactId> > <version>1.8</version> > <executions> > <execution> > <id>compile</id> > <phase>compile</phase> > <configuration> > <target> > <ant antfile="build.xml" inheritRefs="true"> > <target name="all"/> > </ant> > </target> > </configuration> > <goals> > <goal>run</goal> > </goals> > </execution> > </executions> > </plugin> > </plugins> > </build> > </project> > {code} > The Ant build file uses a script: > {code} > <?xml version='1.0' encoding='UTF-8'?> > <project name="scriptdef-test-build"> > <scriptdef name="test-script" language="javascript"> > <![CDATA[ > var System = Java.type('java.lang.System'); > System.out.println("Working!"); > ]]> > </scriptdef> > <target name="all"> > <test-script/> > </target> > </project> > {code} > On Java 8 it works, but on Java 9 (9-ea+162) it can't find the script engine: > {noformat} > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (compile) on > project my-test-app: An Ant BuildException has occured: The following error > occurred while executing this line: > /home/dan/scriptdef-test/build.xml:10: Unable to create javax script engine > for javascript > around Ant part ...<ant antfile="build.xml" inheritRefs="true">... @ 4:47 in > /home/dan/scriptdef-test/target/antrun/build-main.xml > ... > Caused by: /home/dan/scriptdef-test/build.xml:10: Unable to create javax > script engine for javascript > at > org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:84) > at > org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67) > at > org.apache.tools.ant.taskdefs.optional.script.ScriptDef.executeScript(ScriptDef.java:350) > at > org.apache.tools.ant.taskdefs.optional.script.ScriptDefBase.execute(ScriptDefBase.java:50) > at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:547) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:435) > at org.apache.tools.ant.Target.performTasks(Target.java:456) > at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) > at > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) > at org.apache.tools.ant.Project.executeTargets(Project.java:1248) > at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441) > ... 34 more > {noformat} > I have attached a debugger and I saw that the {{ScriptEngineManager}} used by > {{JavaxScriptRunner}} doesn't have any script engines, because the service > loader it uses doesn't find any {{ScriptEngineFactory}} implementations. I > have tried {{\--add-modules jdk.scripting.nashorn}} and {{\--add-opens > jdk.scripting.nashorn/jdk.nashorn.api.scripting=ALL-UNNAMED}}, but neither > helped. -- This message was sent by Atlassian JIRA (v6.4.14#64029)