[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16435160#comment-16435160 ] Björn Kautler commented on LOG4J2-2129: --- Well, if you have to use that evil plugin [~Johnston], then at least configure it correctly. Your problem has nothing to do with this bug, but that you leave out necessary files. It is surely significant, that the plugins documentation even uses {{log4j}} as example for preventing the minimizing: [https://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html] last example > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.11.0 > Environment: Java 9 >Reporter: Blazej >Priority: Major > Fix For: 2.11.0 > > Attachments: log4j-api-patch.jar > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16427332#comment-16427332 ] Christopher commented on LOG4J2-2129: - The issue is related to using the shade plugin to build my jar. If I don't set minimizeJar to true log4j is callable during runtime. If I don't set minimizeJar, the error is generated at runtime. I'm not sure what the intended functionality is to be. Here is my example: // example\src\main\java\myco\mypro\MyClass.java package com.myco.mypro; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MyClass { private static final Logger LOGGER = LogManager.getLogger(MyClass.class); public static void main(String[] args) throws Exception { LOGGER.info("Here\n"); } } http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> 4.0.0 com.myco mypro 0.01 2.11.0 2.11.0 org.apache.logging.log4j log4j-api ${log4japi.version} org.apache.logging.log4j log4j-core ${log4jcore.version} MyClass org.apache.maven.plugins maven-compiler-plugin 3.7.0 1.8 1.8 **${project.build.sourceEncoding}** org.apache.maven.plugins maven-shade-plugin 3.1.0 package shade true com.myco.mypro.MyClass > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.11.0 > Environment: Java 9 >Reporter: Blazej >Priority: Major > Fix For: 2.11.0 > > Attachments: log4j-api-patch.jar > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16426521#comment-16426521 ] Björn Kautler commented on LOG4J2-2129: --- Do you mean a nasty fat JAR when you say executable? While "executable" actually is the wrong word, as the JAR is not really executed, or only means that the main class attribute is set in the manifest. If you meant a fat JAR, did you maybe forget to package the services files from META-INF too? If not, do you have an MCVE that you can provide? > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.11.0 > Environment: Java 9 >Reporter: Blazej >Priority: Major > Fix For: 2.11.0 > > Attachments: log4j-api-patch.jar > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16426333#comment-16426333 ] Christopher commented on LOG4J2-2129: - I get a similar error (jdk 9.0.4) using log4j 2.11.0 during runtime of an executable jar. I extracted the jar and the classes are there, but java -jar MyClass.jar outputs: Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.util.PropertiesUtil at org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:78) at org.apache.logging.log4j.LogManager.(LogManager.java:60) at com.myco.project.subproject.MyClass.(MyClass.java:37) private static final Logger LOGGER = LogManager.getLogger(MyClass.class); // 37 > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.11.0 > Environment: Java 9 >Reporter: Blazej >Priority: Major > Fix For: 2.11.0 > > Attachments: log4j-api-patch.jar > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16402115#comment-16402115 ] Björn Kautler commented on LOG4J2-2129: --- Just in case someone needs a workaround because he cannot update, here is an easy one. Compile a class named {{Log4JModulePatch}} that lies in package {{org.apache.logging.log4j}}. Content of the class: {code} package org.apache.logging.log4j; import org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory; import org.apache.logging.log4j.util.PropertiesUtil; import org.apache.logging.log4j.util.PropertySource; public class Log4JModulePatch { public static void patch() { //TODO: Remove with log4j 2.11.0 or newer Module log4jApiModule = PropertiesUtil.class.getModule(); log4jApiModule.addUses(PropertySource.class); log4jApiModule.addUses(ThreadInfoFactory.class); } } {code} Package it as a JAR and use {{--patch-module org.apache.logging.log4j=path/to/log4j-api-patch.jar}} on execution. You can also simple use the attached [^log4j-api-patch.jar] and use the {{--patch-module}} parameter mentioned above. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.11.0 > Environment: Java 9 >Reporter: Blazej >Priority: Major > Fix For: 2.11.0 > > Attachments: log4j-api-patch.jar > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319060#comment-16319060 ] Blazej commented on LOG4J2-2129: I think that this commit: https://github.com/apache/logging-log4j2/commit/81458cf2c8383abbd4a50a3bd79bc11c4add8610 removes all automatic-module-name entries. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > Fix For: 2.10.1 > > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317744#comment-16317744 ] ASF subversion and git services commented on LOG4J2-2129: - Commit 34a310442c075aa73d4607cd8cf40171dafd0da3 in logging-log4j2's branch refs/heads/master from [~blejzu] [ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=34a3104 ] LOG4J2-2129 Added missing entries in module-info.java for Log4J API > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316440#comment-16316440 ] ASF GitHub Bot commented on LOG4J2-2129: Github user remkop commented on the issue: https://github.com/apache/logging-log4j2/pull/136 Can you be more specific? What is the error? Do you have a failing test or at least steps to reproduce? Why does the proposed change fix the problem? > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316216#comment-16316216 ] ASF GitHub Bot commented on LOG4J2-2129: Github user Vampire commented on the issue: https://github.com/apache/logging-log4j2/pull/136 @timofonic what do I have to do with this? > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316180#comment-16316180 ] ASF GitHub Bot commented on LOG4J2-2129: Github user timofonic commented on the issue: https://github.com/apache/logging-log4j2/pull/136 @bbucko @remkop @Vampire @mikaelstaldal @garydgregory @rgoers @mikaelstaldal What about this code? Any review or opinions about it? Any news? > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266852#comment-16266852 ] Blazej commented on LOG4J2-2129: I've been also playing with jlink to create a self-contained image and I think that some additional tweaking is needed. I'll try to fix travis and prepare a jdk9 build plus a sample application to demonstrate the problem. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266254#comment-16266254 ] Ralph Goers commented on LOG4J2-2129: - That's OK. Did you verify that a uses for PropertiesUtil is necessary or will it work with just the uses for PropertySource? > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266252#comment-16266252 ] Blazej commented on LOG4J2-2129: Ok, i’ll check that tomorrow. I created this PR to fix my first j9 module so it’s far from complete. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266241#comment-16266241 ] Ralph Goers commented on LOG4J2-2129: - Have you found any documentation on why the two "uses" declarations are necessary? All I could find is that uses is required to name the class used by the ServiceLoader. Not that there is anything wrong with your fix but I am wondering why it is needed. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266192#comment-16266192 ] ASF GitHub Bot commented on LOG4J2-2129: GitHub user bbucko opened a pull request: https://github.com/apache/logging-log4j2/pull/136 LOG4J2-2129 Added missing entries in module-info.java for Log4J API This is only a quick fix for my sample project (https://github.com/bbucko/log4j2-jpms-sample). You can merge this pull request into a Git repository by running: $ git pull https://github.com/bbucko/logging-log4j2 master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/logging-log4j2/pull/136.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #136 commit 3417e3a5044d6064f8d323d125130e3833b5c6c7 Author: Blazej BuckoDate: 2017-11-26T21:17:34Z LOG4J2-2129 Added missing entries in module-info.java for Log4J API > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (LOG4J2-2129) Log4j2 throws NoClassDefFoundError in Java 9
[ https://issues.apache.org/jira/browse/LOG4J2-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266177#comment-16266177 ] Blazej commented on LOG4J2-2129: One more addition: same code runs fine if executed with previous version of log4j2 and an auto-generated module name in module-info.java. > Log4j2 throws NoClassDefFoundError in Java 9 > > > Key: LOG4J2-2129 > URL: https://issues.apache.org/jira/browse/LOG4J2-2129 > Project: Log4j 2 > Issue Type: Bug > Components: API >Affects Versions: 2.10.0, 2.10.1 > Environment: Java 9 >Reporter: Blazej > > When I execute a sample project > (https://github.com/bbucko/log4j2-jpms-sample) in Java 9 a following > exception is thrown: > {code} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class org.apache.logging.log4j.util.PropertiesUtil > at > org.apache.logging.log4j/org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:71) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} > Exception is a little bit misleading because it seems that true root cause > can be found here: > {code} > java.util.ServiceConfigurationError: > org.apache.logging.log4j.util.PropertySource: module org.apache.logging.log4j > does not declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:574) > at java.base/java.util.ServiceLoader.(ServiceLoader.java:503) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1684) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:319) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil$Environment.(PropertiesUtil.java:310) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:69) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.PropertiesUtil.(PropertiesUtil.java:49) > at > org.apache.logging.log4j/org.apache.logging.log4j.util.Constants.(Constants.java:30) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:375) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.createClassForProperty(AbstractLogger.java:198) > at > org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLogger.(AbstractLogger.java:88) > at > org.apache.logging.log4j/org.apache.logging.log4j.LogManager.(LogManager.java:60) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)