2017-07-01 71 views
0

我试图用undertow.io API启动一个简单的api服务器。这是我的启动代码。Undertow无效的记录器接口

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 [email protected]) 
    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 

我认为这是有暗流记录一个问题,但我不知道解决它。 请帮我:)

+0

我发现[此消息](http://lists.jboss.org/pipermail/undertow-dev/2013-February/000155.html)与同样的问题和[回复](http://lists.jboss.org/pipermail/undertow-dev/2013-February/000157.html)表示重新编译修复了它。 [这篇文章](https://developer.jboss.org/thread/222022?_sscc=t)评论说,一些“糟糕的工作区内依赖关系”打破了它,并通过禁用Maven依赖关系来解决。这些帮助? – Draco18s

回答

0

您是否使用了正确的依赖关系?我使用了官方网站中提到的相同的依赖关系,它在Java 1.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> 

控制台出

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 

本地主机:80 80打印“Hello World 312”

+0

谢谢!但我不是一个独立的应用程序。它只是Spigot的一个插件(Spigotmc.org) – Markus