2017-09-10 92 views
0
import io.vertx.core.AbstractVerticle; 
import io.vertx.core.Vertx; 
import io.vertx.ext.web.Router; 
public class app extends AbstractVerticle{ 
    @Override 
    public void start() throws Exception{ 
     Router router = Router.router(vertx); 
     router.route().handler(routingContext -> { 
      routingContext.response() 
      .putHeader("content-type", "text/html") 
      .end("hello vert.x"); 
     }); 
     vertx.createHttpServer().requestHandler(router::accept).listen(8888); 
    } 
    public static void main(String[] args) { 
     Vertx vertx = Vertx.vertx(); 
     vertx.deployVerticle(new app()); 
    } 
} 

然後發生錯誤爲java.lang.NoSuchMethodError:io.netty.resolver.HostsFileParser.parseSilently()Ljava/util/Map;關於錯誤的問題「線程中的異常」main「java.lang.NoSuchMethodError:io.netty.resolver.HostsFileParser.parseSilently()Ljava/util/Map;」

+0

我會檢查類路徑,因爲看起來你的Netty版本不兼容。 – tsegismont

回答

0

嘗試這種方式

import io.vertx.core.AbstractVerticle; 
import io.vertx.ext.web.Router; 

public class Server extends AbstractVerticle { 

    @Override 
    public void start() throws Exception { 

    Router router = Router.router(vertx); 

    router.route().handler(routingContext -> { 
     routingContext.response().putHeader("content-type", "text/html").end("hello vert.x"); 
    }); 

    vertx.createHttpServer().requestHandler(router::accept).listen(8080); 
    } 
} 

運行mvn clean package然後java -jar /path/to/jar

而且在Java中app是不是一個有效的類名。 類名以大寫字母開頭,例如App

+0

謝謝你的回答。其實我只是這方面的大一新生。我使用IntelliJ IDEA軟件,因此我不確定如何根據您的建議運行mvn clean package和java -jar/path/to/jar。只有更改名稱實際上不起作用。另外,如果我導入io.vertx.example.util.Runner,我應該部署哪個jar? – SunnieX

+0

@SunnieX sry爲亞軍。刪除了。它不需要。如果您使用maven作爲您的構建工具,請在終端中運行'mvn clean package'。然後轉到/ target目錄並用'java -jar whatever-jar'運行jar來部署你的verticle。如果你是新生,我​​建議在YouTube上查找。這方面有很多資源 – Beckham

相關問題