[jira] [Created] (BATIK-1260) Java11 module-info batik-script/batik-bridge compatibility issue
"Roman Valls Guimera (JIRA)" <[email protected]> Wed, 3 Apr 2019 05:25:00 +0000 (UTC)
| Newsgroups | gmane.text.xml.batik.devel |
|---|---|
| Message-ID | <[email protected]> |
Roman Valls Guimera created BATIK-1260:
------------------------------------------
Summary: Java11 module-info batik-script/batik-bridge compatibility issue
Key: BATIK-1260
URL: https://issues.apache.org/jira/browse/BATIK-1260
Project: Batik
Issue Type: Bug
Components: Bridge, Scripting
Affects Versions: 1.11
Environment: openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
Reporter: Roman Valls Guimera
Hello Batik devs,
I'm refreshing a legacy genomics visualization application (IGV) towards Java11 dependencies:
[https://github.com/igvteam/igv/pull/620]
I've found the following Java11+Batik hiccups.
When I use the following maven artifacts to fix a SVG issue in the application I'm working on:
[https://github.com/igvteam/igv/pull/620/commits/f30bc3699856afa68277595a2392c2f34392c165]
**Everything works in runtime** (as in _./gradlew run_ and then File->Save Image as SVG, generates a correct .svg).
But strangely, *when running the tests* (as in _./gradlew test_) I'm faced with this:
{code:java}
Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for /Users/romanvg/.gradle/caches/modules-2/files-2.1/org.apache.xmlgraphics/batik-script/1.11/f7284dabc28aaa7407bef45f31dd204e58a35810/batik-script-1.11.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.batik.bridge.RhinoInterpreterFactory not in module
Process 'Gradle Test Executor 46' finished with non-zero exit value 1
org.gradle.process.internal.ExecException: Process 'Gradle Test Executor 46' finished with non-zero exit value 1
{code}
Here's a more detailed TravisCI run and Gradle scan, for reference:
[https://travis-ci.org/umccr/igv/builds/514966124]
[https://scans.gradle.com/s/z3oulnfefttkm/console-log]
Then my first attempt is to just exclude _batik-bridge_ and _batik-script_ via Gradle:
{code:java}
exclude group: 'org.apache.xmlgraphics', module: 'batik-bridge'
exclude group: 'org.apache.xmlgraphics', module: 'batik-script'
{code}
But unfortunately this goes further down the dependencies rabbit hole with xalan, bsf et al:
{code:java}
Error occurred during initialization of boot layer java.lang.module.FindException: Unable to derive module descriptor for /Users/romanvg/.gradle/caches/modules-2/files-2.1/xalan/xalan/2.7.2/d55d3f02a56ec4c25695fe67e1334ff8c2ecea23/xalan-2.7.2.jar Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module Process 'Gradle Test Executor 188' finished with non-zero exit value 1{code}
Can somebody tell me if in _batik-script-1.11.jar_ the Java11 module-info.class, services, etc... We have not found a module descriptor within the _batik-script_ jar. We suspect that the RhinoInterpreterFactory service reference points to a different jar file, namely:
{code:java}
org.apache.batik.script.InterpreterFactory -> org.apache.batik.bridge.RhinoInterpreterFactory
{code}
Is there an easy fix so that the _RhinoInterpreterFactory_ error does not show up in the first place?
Thanks in advance for any hint!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)