Illegal reflective access by net.sourceforge.plantuml.svg.SvgGraphics

0 votes
asked Jan 13 in Bug by Marc-vA (240 points)

When using the local VSCode extension for generating an SVG from a model I get the following error message:

Error found in diagram LandAdministrationDomainModel
WARNING: An illegal reflective access operation has occurred 
WARNING: Illegal reflective access by net.sourceforge.plantuml.svg.SvgGraphics (file:/C:/Users/<myUserName>/.vscode/extensions/jebbs.plantuml-2.13.6/plantuml.jar) to constructor com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl() 
WARNING: Please consider reporting this to the maintainers of net.sourceforge.plantuml.svg.SvgGraphics 
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 
WARNING: All illegal access operations will be denied in a future release 

I'm running AdoptOpenJDK 11.0.4 on Windows 10.

As a Java developer this seems to me that SvgGraphics is using an internal JRE class, com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl in this case, which is not allowed. In previous Java Runtimes (before Java 9) this could not be detected and prohibited ... but as of Java 9 (with Project Jigsaw) this has become possible and for a reason. It is bad practice to use internal JRE classes instead of the interfaces. They might change without notice from one version to another. Apparently it still works and the PlantUML code is using XSLT from the Xalan package from the JRE. Possible solution might be changing this to (a newer version of) Apache Xalan directly as a dependency instead of using it from the JRE?

1 Answer

0 votes
answered 1 day ago by anonymous
+1 , experienced the same issue here, hope this will be adressed
...