You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by "PJ Fanning (Jira)" <ji...@apache.org> on 2021/12/14 17:32:00 UTC

[jira] [Commented] (XMLBEANS-581) Xmlbeans maven plugin does not work with log4j 2.15.0

    [ https://issues.apache.org/jira/browse/XMLBEANS-581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459350#comment-17459350 ] 

PJ Fanning commented on XMLBEANS-581:
-------------------------------------

So, log4j 2.16.0 has further security enhancements.

[https://lists.apache.org/thread/97q8k8njhb434r87qy79kopfh0dxydn6] is a thread about the xmlbeans 5.0.3 release - maybe you could you try this RC (look at the link to get the repo URL)

This release is likely to be abandoned and a new RC done when log4j issues are fully settled.

If you need an urgent release, can you justify it? log4j issue happens when an untrusted user provides data - I'm not sure if generating source code should be based on untrusted inputs.

> Xmlbeans maven plugin does not work with log4j 2.15.0
> -----------------------------------------------------
>
>                 Key: XMLBEANS-581
>                 URL: https://issues.apache.org/jira/browse/XMLBEANS-581
>             Project: XMLBeans
>          Issue Type: Bug
>            Reporter: Travis Schneeberger
>            Priority: Major
>
> With the following configuration, xmlbeans fails with an error:
> {code:java}
> <plugin>
>   <groupId>org.apache.xmlbeans</groupId>
>   <artifactId>xmlbeans</artifactId>
>   <version>5.0.2</version>
>   <dependencies>
>     <dependency>
>       <groupId>org.apache.logging.log4j</groupId>
>       <artifactId>log4j-core</artifactId>
>       <version>2.15.0</version>
>     </dependency>
>   </dependencies>
> </plugin> {code}
> According to your documentation here: https://xmlbeans.apache.org/guide/Maven.html, adding proper log4j support to the xmlbeans maven plugin requires including the log4j-core dependency to the plugin configuration.  This does not work when upgrading to log4j 2.15.0.  Perhaps, this isn't a problem with xmlbeans at all or maybe this is fixed by XMLBEANS-580.  Either way, here is the error we are seeing with log4j 2.15.0 and the xmlbeans maven plugin:
> Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing org.apache.xmlbeans:xmlbeans:5.0.2:compile: java.lang.NoSuchFieldError: EMPTY_BYTE_ARRAY-----------------------------------------------------
> realm =    plugin>org.apache.xmlbeans:xmlbeans:5.0.2
> strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> urls[0] = file:/home/circleci/.m2/repository/org/apache/xmlbeans/xmlbeans/5.0.2/xmlbeans-5.0.2.jar
> urls[1] = file:/home/circleci/.m2/repository/org/apache/logging/log4j/log4j-core/2.15.0/log4j-core-2.15.0.jar
> urls[2] = file:/home/circleci/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
> urls[3] = file:/home/circleci/.m2/repository/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar
> Number of foreign imports: 1
> import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
> -----------------------------------------------------    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:184)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke (Method.java:566)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)Caused by: java.lang.NoSuchFieldError: EMPTY_BYTE_ARRAYat org.apache.logging.log4j.core.config.ConfigurationSource.<clinit> (ConfigurationSource.java:56)at org.apache.logging.log4j.core.config.NullConfiguration.<init> (NullConfiguration.java:32)at org.apache.logging.log4j.core.LoggerContext.<clinit> (LoggerContext.java:85)at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext (ClassLoaderContextSelector.java:254)at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext (ClassLoaderContextSelector.java:218)at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext (ClassLoaderContextSelector.java:136)at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext (ClassLoaderContextSelector.java:123)at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext (ClassLoaderContextSelector.java:117)at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext (Log4jContextFactory.java:150)at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext (Log4jContextFactory.java:47)at org.apache.logging.log4j.LogManager.getContext (LogManager.java:196)at org.apache.logging.log4j.LogManager.getLogger (LogManager.java:599)at org.apache.xmlbeans.impl.common.XBeanDebug.<clinit> (XBeanDebug.java:22)at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.<init> (SchemaTypeSystemImpl.java:196)at org.apache.xmlbeans.metadata.system.sXMLCONFIG.TypeSystemHolder.<init> (TypeSystemHolder.java:9)at org.apache.xmlbeans.metadata.system.sXMLCONFIG.TypeSystemHolder.<clinit> (TypeSystemHolder.java:6)at java.lang.Class.forName0 (Native Method)at java.lang.Class.forName (Class.java:398)at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl.build (SchemaTypeLoaderImpl.java:161)at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl.build (SchemaTypeLoaderImpl.java:131)at org.apache.xmlbeans.XmlBeans.typeLoaderForClassLoader (XmlBeans.java:425)at org.apache.xmlbeans.impl.schema.StscState.<init> (StscState.java:113)at org.apache.xmlbeans.impl.schema.StscState.<init> (StscState.java:40)at org.apache.xmlbeans.impl.schema.StscState$StscStack.push (StscState.java:1123)at org.apache.xmlbeans.impl.schema.StscState.start (StscState.java:1144)at org.apache.xmlbeans.impl.tool.SchemaCompiler.loadTypeSystem (SchemaCompiler.java:365)at org.apache.xmlbeans.impl.tool.SchemaCompiler.compile (SchemaCompiler.java:668)at org.apache.xmlbeans.impl.tool.MavenPlugin.execute (MavenPlugin.java:303)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke (Method.java:566)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org