Java 下拖无效记录器接口
我正在尝试用这个api启动一个简单的api服务器。这是我的启动代码Java 下拖无效记录器接口,java,logging,minecraft,undertow,Java,Logging,Minecraft,Undertow,我正在尝试用这个api启动一个简单的api服务器。这是我的启动代码 this.server = Undertow.builder().addHttpListener(this.port, this.host).setHandler(new HttpHandler() { @Override public void handleRequest(HttpServerExchange exchange) throws Exception { ex
this.server = Undertow.builder().addHttpListener(this.port, this.host).setHandler(new HttpHandler() {
@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {
exchange.getResponseSender().send("Hello World");
}
}).build();
this.server.start();
我将得到以下错误:
[22:26:46] [Server thread/ERROR]: Error occurred while enabling MWS v1.0-SNAPSHOT (Is it up to date?)
java.lang.ExceptionInInitializerError
at io.undertow.Undertow.start(Undertow.java:113) ~[?:?]
at me.ripes.mws.server.ApiServer.startServer(ApiServer.java:30) ~[?:?]
at me.ripes.mws.MWS.onEnable(MWS.java:20) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:376) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:326) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:750) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.Bukkit.reload(Bukkit.java:540) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchServerCommand(CraftServer.java:636) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at net.minecraft.server.v1_11_R1.DedicatedServer.aM(DedicatedServer.java:437) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-d276ab1-1f6c04c]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
Caused by: java.lang.IllegalArgumentException: Invalid logger interface io.undertow.UndertowLogger (implementation not found in org.bukkit.plugin.java.PluginClassLoader@12cb152a)
at org.jboss.logging.Logger$1.run(Logger.java:2556) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529) ~[?:?]
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516) ~[?:?]
at io.undertow.UndertowLogger.<clinit>(UndertowLogger.java:59) ~[?:?]
... 19 more
[22:26:46][Server thread/ERROR]:启用MWS v1.0-SNAPSHOT时出错(它是最新的吗?)
java.lang.ExceptionInInitializeError
在io.undertow.undertow.start(undertow.java:113)~[?:?]
at me.ripes.mws.server.ApiServer.startServer(ApiServer.java:30)~[?:?]
at me.ripes.mws.mws.oneable(mws.java:20)~[?:?]
在org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271)~[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:376)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:326)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:750)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.bukkit.reload(bukkit.java:540)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25)[spiget-1.11.2.jar:git-spiget-d276ab1-1f6c04c]
在org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650)[spiget-1.11.2.jar:git-spiget-d276ab1-1f6c04c]
在org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchServerCommand(CraftServer.java:636)[spiget-1.11.2.jar:git-spiget-d276ab1-1f6c04c]
在net.minecraft.server.v1_11_R1.dicatedserver.aM(dicatedserver.java:437)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在net.minecraft.server.v1_11_R1.dicatedserver.D(dicatedserver.java:400)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576)[spigot-1.11.2.jar:git-spigot-d276ab1-1f6c04c]
在java.lang.Thread.run(未知源代码)[?:1.8.0_131]
原因:java.lang.IllegalArgumentException:无效的记录器接口io.undertow.UndertowLogger(在org.bukkit.plugin.java中找不到实现)。PluginClassLoader@12cb152a)
在org.jboss.logging.Logger$1.run(Logger.java:2556)~[?:?]
在java.security.AccessController.doPrivileged(本机方法)~[?:1.8.0131]
在org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)~[?:?]
在org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)~[?:?]
在io.undertower.UndertowLogger.(UndertowLogger.java:59)~[?:?]
... 还有19个
我认为这是一个问题与拖航记录器,但我不知道如何解决它。
请帮助我:)您使用的依赖项是否正确?我使用了与官方网站中提到的相同的依赖项,它在Java1.8下对我有效 HelloWorldServer.java
package undertow;
import io.undertow.Undertow;
import io.undertow.server.HttpHandler;
import io.undertow.server.HttpServerExchange;
import io.undertow.util.Headers;
public class HelloWorldServer {
public static void main(final String[] args) {
HelloWorldServer helloWorldServer = new HelloWorldServer();
helloWorldServer.initiateServer();
}
private void initiateServer() {
this.server = Undertow.builder().addHttpListener(this.port, this.host).setHandler(new HttpHandler() {
@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {
exchange.getResponseSender().send("Hello World 312");
}
}).build();
this.server.start();
}
Undertow server = null;
int port= 8080;
String host = "localhost";
}
pom.xml
<dependencies>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-core</artifactId>
<version>1.4.12.Final</version>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-servlet</artifactId>
<version>1.4.12.Final</version>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-websockets-jsr</artifactId>
<version>1.4.12.Final</version>
</dependency>
</dependencies>
尾随
底拖缆芯
1.4.12.最终版本
尾随
下拖servlet
1.4.12.最终版本
尾随
下拖式网箱jsr
1.4.12.最终版本
控制台输出
Jul 11, 2017 10:45:33 PM org.xnio.Xnio <clinit>
INFO: XNIO version 3.3.6.Final
Jul 11, 2017 10:45:33 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.3.6.Final
2017年7月11日10:45:33 PM org.xnio.xnio
信息:XNIO版本3.3.6.Final
2017年7月11日晚上10:45:33 org.xnio.nio.NioXnio
信息:XNIO NIO实现版本3.3.6.Final
本地主机:8080打印“Hello World 312”
io.undertowg.UndertowLogger
是一个接口,它使用jboss.logging
注释之一进行注释。编译接口时,将执行注释处理器,该处理器将生成记录器实现
错误消息意味着,在运行时,JBoss logger无法加载实现类
如果所讨论的类是由您生成的,请检查在生成过程中是否正在运行注释处理器。Maven有时会发疯,拒绝运行注释处理器。如果是这样,mvn clean
通常会解决这个问题
如果该类是由第三方提供的,那么您可能缺少一些依赖项。您的堆栈跟踪包含很多内容:~[?:?]。如果您在jar上运行proguard来缩小和模糊,那么它可能会删除您需要的记录器接口。禁用proguard,然后重试。我发现有相同的问题,并且指示重新编译修复了该问题。一些“糟糕的工作区内依赖项”的评论打破了它,并通过禁用maven依赖项得到修复。这两种都有帮助吗?谢谢!但我不是一个独立的应用程序。它只是一个Spigot插件(Spigotmc.org)
Caused by: java.lang.IllegalArgumentException: Invalid logger interface io.undertow.UndertowLogger (implementation not found in org.bukkit.plugin.java.PluginClassLoader@12cb152a)
at org.jboss.logging.Logger$1.run(Logger.java:2556) ~[?:?]