2017-09-10 6 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

は、javaのappでもjava -jar /path/to/jar

が有効なクラス名ではありません、実行mvn clean package

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); 
    } 
} 

この方法を試してみてください。 クラス名は大文字で始まります。 App

+0

あなたの答えをありがとう。実際、私はこの分野の新入生です。私はIntelliJ IDEAソフトウェアを使用しているので、mvn cleanパッケージとjava -jar/path/to/jarを推奨どおりに実行する方法がわかりません。名前を変更するだけでは実際には動作しません。また、io.vertx.example.util.Runnerをインポートした場合、どのjarをデプロイする必要がありますか? – SunnieX

+0

@SunnieXランナーのために叫ぶ。それを取り除いた。その必要はありません。ビルドツールとしてmavenを使用している場合、ターミナルで 'mvn clean package'を実行してください。/targetディレクトリに移動し、あなたのverticleを展開する 'java -jar whatever-jar'でjarを実行します。もしあなたが新入生なら、私はyoutubeを見上げることをお勧めします。これにはたくさんのリソースがあります – Beckham

関連する問題