gpt4 book ai didi

java - 将 SELF 与 Java 9 模块一起使用

转载 作者:太空狗 更新时间:2023-10-29 22:41:41 25 4
gpt4 key购买 nike

我设置了一个小test project使用 Java 9 模块。结构如下所示:

.
├── build.gradle
└── src
├── main
│   └── java
│   ├── module-info.java
│   └── slfTest
│   └── Main.java
└── test
└── java
└── slfTest
└── MainTest.java

(随意克隆并自己看看:git clone https://github.com/michas2/slfTest.git)

类 Main 和 Main Test 只记录一些简单的输出:

    Logger logger = LoggerFactory.getLogger(Main.class);
logger.info("Hello World");

现在 gradle run 按预期工作,但是 gradle test 给出了 ClassCastException。

    $ gradle run -q
[main] INFO slfTest.Main - Hello World
$ gradle test -q
java.lang.ClassCastException: org.slf4j.simple/org.slf4j.simple.SimpleLoggerFactory cannot be cast to org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext
at org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer.configure(Slf4jLoggingConfigurer.java:42)
at org.gradle.internal.logging.config.LoggingSystemAdapter.startCapture(LoggingSystemAdapter.java:54)
at org.gradle.internal.logging.services.DefaultLoggingManager$StartableLoggingSystem.start(DefaultLoggingManager.java:297)
at org.gradle.internal.logging.services.DefaultLoggingManager.start(DefaultLoggingManager.java:73)
at org.gradle.internal.logging.services.DefaultLoggingManager.start(DefaultLoggingManager.java:37)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:83)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:64)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:62)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:67)

删除 java 9 模块可以使一切恢复正常。因此我假设存在模块访问问题。 - 什么是正确的修复方法?


module-info.java的内容是:

module slfTest {
requires org.slf4j;
exports slfTest;
}

当 gradle 运行测试时,gradle 会尝试注入(inject)自己的日志记录后端。 - 猜猜这是出现某些模块访问问题的部分。

最佳答案

关于java - 将 SELF 与 Java 9 模块一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com