-
Notifications
You must be signed in to change notification settings - Fork 102
Description
We upgraded from 2.0.12, and we are getting random failures which suggest a messy classpath:
09:46:23,906 [INFO] [jenkins-event-spy] Generated /root/workspace/XWiki_xwiki-platform_master@tmp/withMaven396ee96d/maven-spy-20240819-091633-6207538017429734947557.log
09:46:23,906 [ERROR] Failed to execute goal org.jvnet.jaxb:jaxb-maven-plugin:2.0.14:generate (default) on project xwiki-platform-netflux-rest: Execution default of goal org.jvnet.jaxb:jaxb-maven-plugin:2.0.14:generate failed: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jvnet.jaxb:jaxb-maven-plugin:2.0.14:generate (default) on project xwiki-platform-netflux-rest: Execution default of goal org.jvnet.jaxb:jaxb-maven-plugin:2.0.14:generate failed: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.jvnet.jaxb:jaxb-maven-plugin:2.0.14:generate failed: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
at com.gradle.maven.scan.extension.internal.d.a.executeMojo (SourceFile:123)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.xerces.impl.dv.DVFactoryException: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
at org.apache.xerces.impl.dv.DTDDVFactory.getInstance (Unknown Source)
at org.apache.xerces.impl.dv.DTDDVFactory.getInstance (Unknown Source)
at org.apache.xerces.impl.xs.opti.SchemaParsingConfig.<init> (Unknown Source)
at org.apache.xerces.impl.xs.opti.SchemaParsingConfig.<init> (Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.<init> (Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.<init> (Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.<init> (Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.<init> (Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.<init> (Unknown Source)
at org.apache.xerces.jaxp.validation.XMLSchemaValidatorComponentManager.<init> (Unknown Source)
at org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.<init> (Unknown Source)
at org.apache.xerces.jaxp.validation.AbstractXMLSchema.newValidatorHandler (Unknown Source)
at com.sun.tools.xjc.SchemaCache.newValidator (SchemaCache.java:91)
at com.sun.tools.xjc.reader.xmlschema.bindinfo.AnnotationParserFactoryImpl$1$1.startElement (AnnotationParserFactoryImpl.java:88)
at com.sun.xml.xsom.impl.parser.state.NGCCRuntime.startElement (NGCCRuntime.java:228)
at org.xml.sax.helpers.XMLFilterImpl.startElement (XMLFilterImpl.java:539)
at com.sun.tools.xjc.util.SubtreeCutter.startElement (SubtreeCutter.java:78)
at com.sun.tools.xjc.reader.ExtensionBindingChecker.startElement (ExtensionBindingChecker.java:120)
at org.xml.sax.helpers.XMLFilterImpl.startElement (XMLFilterImpl.java:539)
at com.sun.tools.xjc.reader.xmlschema.parser.IncorrectNamespaceURIChecker.startElement (IncorrectNamespaceURIChecker.java:98)
at org.xml.sax.helpers.XMLFilterImpl.startElement (XMLFilterImpl.java:539)
at com.sun.tools.xjc.reader.xmlschema.parser.CustomizationContextChecker.startElement (CustomizationContextChecker.java:163)
at org.xml.sax.helpers.XMLFilterImpl.startElement (XMLFilterImpl.java:539)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner$LocationResolver.startElement (DOMForestScanner.java:117)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:222)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:259)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:228)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:259)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:228)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:259)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit (DOMScanner.java:228)
at com.sun.xml.bind.unmarshaller.DOMScanner.scan (DOMScanner.java:102)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner.scan (DOMForestScanner.java:62)
at com.sun.tools.xjc.reader.internalizer.DOMForestScanner.scan (DOMForestScanner.java:70)
at com.sun.tools.xjc.reader.internalizer.DOMForestParser.parse (DOMForestParser.java:74)
at com.sun.tools.xjc.ModelLoader$XMLSchemaParser.parse (ModelLoader.java:210)
at com.sun.xml.xsom.impl.parser.NGCCRuntimeEx.parseEntity (NGCCRuntimeEx.java:351)
at com.sun.xml.xsom.impl.parser.ParserContext.parse (ParserContext.java:98)
at com.sun.xml.xsom.parser.XSOMParser.parse (XSOMParser.java:141)
at com.sun.xml.xsom.parser.XSOMParser.parse (XSOMParser.java:130)
at com.sun.tools.xjc.ModelLoader.createXSOM (ModelLoader.java:475)
at com.sun.tools.xjc.ModelLoader.loadXMLSchema (ModelLoader.java:319)
at com.sun.tools.xjc.ModelLoader.load (ModelLoader.java:121)
at com.sun.tools.xjc.ModelLoader.load (ModelLoader.java:76)
at org.jvnet.jaxb.maven.XJC2Mojo.loadModel (XJC2Mojo.java:58)
at org.jvnet.jaxb.maven.XJC2Mojo.doExecute (XJC2Mojo.java:48)
at org.jvnet.jaxb.maven.XJC2Mojo.doExecute (XJC2Mojo.java:28)
at org.jvnet.jaxb.maven.RawXJC2Mojo.doExecute (RawXJC2Mojo.java:491)
at org.jvnet.jaxb.maven.RawXJC2Mojo.execute (RawXJC2Mojo.java:330)
at com.gradle.maven.cache.extension.d.c.a (SourceFile:27)
at com.gradle.maven.cache.extension.d.n.a (SourceFile:23)
at com.gradle.maven.cache.extension.d.h.a (SourceFile:28)
at com.gradle.maven.cache.extension.d.m.a (SourceFile:27)
at com.gradle.maven.cache.extension.d.a.c (SourceFile:118)
at com.gradle.maven.cache.extension.d.a.a (SourceFile:62)
at com.gradle.maven.cache.extension.d.e.a (SourceFile:27)
at com.gradle.maven.cache.extension.d.l.a (SourceFile:17)
at com.gradle.maven.cache.extension.d.d.a (SourceFile:47)
at com.gradle.maven.cache.extension.d.b.a (SourceFile:26)
at com.gradle.maven.cache.extension.d.f$1.run (SourceFile:35)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute (SourceFile:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute (SourceFile:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute (SourceFile:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute (SourceFile:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute (SourceFile:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute (SourceFile:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run (SourceFile:47)
at com.gradle.maven.cache.extension.d.f.a (SourceFile:31)
at com.gradle.maven.cache.extension.d.k.a (SourceFile:80)
at com.gradle.maven.cache.extension.h.b.lambda$createProxy$0 (SourceFile:79)
at jdk.proxy247.$Proxy1147.execute (Unknown Source)
at com.gradle.maven.scan.extension.internal.d.a.executeMojo (SourceFile:116)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Here is a more complete context with the relevant verbose part of the Maven build log.
The xjcPluginArtifacts log is a bit surprising, it feels like it's loading all the dependencies of the module it's building in its classpath, and that's where Xerces is coming from I guess (this module indeed depends indirectly on Xerces). But I don't quite understand why it needs to load all that.
with the following parent pom.xml setup
<plugin>
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-maven-plugin</artifactId>
<!-- Lock down plugin version for build reproducibility -->
<version>${jaxb.tools.version}</version>
<configuration>
<extension>true</extension>
<args>
<arg>-Xfluent-api</arg>
</args>
<verbose>true</verbose>
<removeOldOutput>false</removeOldOutput>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>${jaxb.tools.version}</version>
</plugin>
</plugins>
</configuration>
</plugin>
used for example with
<plugin>
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-maven-plugin</artifactId>
<configuration>
<generatePackage>org.xwiki.annotation.rest.model.jaxb</generatePackage>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
I unfortunately don't have much to give you as simple reproduction project/steps since it's quite random on our CI (but we never got that with 2.0.12) and I was never able to reproduce locally.
On the CI, java -version gives:
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
and it's using Maven 3.9.6.