[
https://issues.apache.org/jira/browse/LOG4J2-2922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17353821#comment-17353821
]
Matt Sicker commented on LOG4J2-2922:
-------------------------------------
This issue seems to be mostly resolved now in master. You can compile the whole
thing with Java 11, or you can even try to compile with newer versions (I tried
with Java 15).
> Simplify Java compiler build requirements
> -----------------------------------------
>
> Key: LOG4J2-2922
> URL: https://issues.apache.org/jira/browse/LOG4J2-2922
> Project: Log4j 2
> Issue Type: Improvement
> Components: Build
> Reporter: Matt Sicker
> Priority: Major
>
> The current toolchain setup requires either two or three versions of the JDK
> plus a toolchains.xml Maven configuration. While this setup was sufficient to
> introduce support for Java 9+ APIs, it has made development slower and more
> difficult. Some problems include:
> * Any module that depends on a java9 piece breaks incremental compilation;
> Maven recompiles the entire module every time! This makes it tedious to use
> {{mvn test}} on individual tests.
> * IDEs have difficulty importing and executing toolchain-based Maven projects
> * Contributors have a fairly esoteric hurdle to jump over now to contribute
> to Log4j
> * As Java continues its release cadence of two releases a year, this makes
> it harder to test or develop Log4j on newer JDKs. This has become a more
> obvious problem ever since IDEs like IntelliJ switched from Java 8 to Java 11
> as the default JDK.
> To improve this situation, I propose the following build changes to simplify
> the scenario:
> * Require Java 11 to compile everything.
> * Introduce the animal-sniffer and enforcer Maven plugins to ensure that
> modules aren't unintentionally using or linking to Java APIs added in
> versions 9+
> * Fix log4j-jmx-gui to use the jdk.jconsole module instead of linking to
> tools.jar from the JDK.
> * Find a better multirelease pattern as documented here:
> [https://maven.apache.org/plugins/maven-compiler-plugin/multirelease.html]
> This should result in a build that creates Java 8 compatible artifacts but
> requires Java 11 and only Java 11 to build, therefore significantly
> simplifying development environment setup for this project.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)