再び:
私は、単純なアプリケーションは、Java 11に書かれているmvn clean verify
(3.6.0をMavenの)エラーで実行します。
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project parser: Compilation failure
[ERROR] ...src/main/java/module-info.java:[2,32] module not found: org.apache.logging.log4j
依存性:
<log4j.version>2.11.1</log4j.version>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
Module-info.java:
module abc {
requires org.apache.logging.log4j;
}
Log4j2の設定がデフォルトと.xmlファイルです。使用法:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
private static final Logger logger = LogManager.getLogger(Abc.class);
logger.info("Boom!");
私は成功しませんstackoverflowの上のすべての関連質問を試してみました。
また:
あなたは、にアップグレードするものとmaven-compiler-plugin:3.8.0
し、11通りのリリースを指定します。
その理由は記述上、いるlog4j-api.jar
使用して--release 11
あなたのディレクティブのように状態と同じ名前を。
jar --file=.../.m2/repository/org/apache/logging/log4j/log4j-api/2.11.1/log4j-api-2.11.1.jar --describe-module --release 11
releases: 9
org.apache.logging.log4j jar:file://.../.m2/repository/org/apache/logging/log4j/log4j-api/2.11.1/log4j-api-2.11.1.jar/!META-INF/versions/9/module-info.class
exports org.apache.logging.log4j
exports org.apache.logging.log4j.message
exports org.apache.logging.log4j.simple
exports org.apache.logging.log4j.spi
exports org.apache.logging.log4j.status
exports org.apache.logging.log4j.util
requires java.base mandated
uses org.apache.logging.log4j.message.ThreadDumpMessage$ThreadInfoFactory
uses org.apache.logging.log4j.spi.Provider
uses org.apache.logging.log4j.util.PropertySource
これにlog4j-APIであるため、主にあるモジュラー瓶。
一方、log4j-core
として導出される自動モジュールの中に上書きされ、まだMANIFEST.MFとして
org.apache.logging.log4j.core