2015-08-25 18 views
10

IntelliJ IDEA içinden basit bir Vert.x sunucusunu nasıl başlatırım?Vert.x sunucusu IntelliJ IDEA'dan nasıl başlatılır?

apply plugin: 'java' 

version = '3.0.0' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'io.vertx:vertx-core:3.0.0' 
} 

Benim Vertx-sunucu, MyVertex.java aşağıdaki gibidir:

package com.example; 

import io.vertx.core.AbstractVerticle; 
import io.vertx.core.Future; 

public class MyVerticle extends AbstractVerticle { 

    @Override 
    public void start(Future<Void> fut) { 
     vertx.createHttpServer() 
       .requestHandler(r -> r.response().end("<h1>Hello</h1>")) 
       .listen(8081); 
    } 
} 

Ve IntelliJ çalıştırmak yapılandırma ana sınıf olarak io.vertx.core.Starter ile aşağıdaki gibidir:

Benim build.gradle aşağıdaki gibidir enter image description here

Ancak, çalıştırma yapılandırmayla çalıştırdığımda bu hata iletisini alıyorum :

Error: Could not find or load main class run 

(Çalıştır yapılandırmasında) VM seçeneği yüklemek ve Vert.x-sunucu gelişimi ile yoluma eklemek veya nasıl başlarım gereken run şey mi?

+0

yeni bir örneğini geçebilir? – injecteer

+0

@injecteer: sonra şu hata iletisini alıyorum: 'Hata: Ana sınıf bulunamıyor veya yüklenemiyor com.example.MyVerticle' – Jonas

+0

Bu sayfada," Option https://github.com/vert- VM Opsiyonu olarak " çalıştırın" x3/vertx örnekleri/ağaç/master/gradle-verticles/gradle-verticle – Jonas

cevap

18

Ben vertx 3.2.1 kullanıyorum ve io.vertx.core.Starter hakkında şikayet ediyor. Şimdi kullanımdan kaldırıldı. Yani, io.vertx.core.Launcher kullanmalısınız.

  • Ana Sınıfı: io.vertx.core.Launcher
  • VM Seçenekleri: <up to you, or leave blank>
  • Programı Argümanlar: run com.app.verticle.MyVerticle -conf /path/to/my_config.json

Bu

bir yapılandırma JSON dosyasını belirterek seçeneğiyle intellij yoluyla başlatılması bir örnektir

Bir günlük çerçevesi kullanırken, aşağıdaki VM Seçeneklerine eklenecektir.

log4j veya slf4j delgate biriyle Log4J:

-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.Log4jLogDelegateFactory -Dlog4j.configuration=log4j.xml 

-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory -Dlog4j.configuration=log4j.xml 

Logback:

-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory -Dlogback.configurationFile=logback.xml 
4

Ah, benim hatam: VM seçenekleri IntelliJ IDEA Çalıştır yapılandırmasında olarak değil:

run com.example.MyVerticleProgramı tartışmaların değeri olmalıdır.

1

Bunu kullanmanız gerekir: org.vertx.java.platform.impl.cli.Starter IntelliJ IDEA; ve argümanlar ve bunun gibi şeyler kullanıyorsanız, aşağıdaki gibi bir şey kullanmak isteyebilirsiniz: runmod <groupId>~<artifactId>~<version> [-conf src/main/resources/your_config.json -cp]

Bu project'a bir bakın.

Vert.x 3.0.0 için bunu kullanmanız gerekir: io.vertx.core.Starter Ana Sınıfınız ve run com.example.other.AnyVerticle Program argümanlarınız olarak.

+1

'io.vertx.core.Starter' vert.x 3.2'de kullanımdan kaldırılmıştır; bunun yerine 'io.vertx.core.Launcher' kullanın. – jwd630

6

Basitçe MyVerticle eklemek bu (veya ayrı sınıf):

import io.vertx.core.Launcher; 
... 
public static void main(final String[] args) { 
    Launcher.executeCommand("run", MyVerticle.class.getName()); 
} 

Sonra onu çalıştırmak için sadece Ctrl+Shift+F10 ve IntelliJ otomatik olarak Run Configuration oluşturur.

0

Basitçe bir ana ekleyebilir ve deployVerticle() öğesini kullanabilir ve daha sonra IntelliJ'de kolayca Çalıştırın veya Hata ayıklayabilirsiniz. deployVerticle ile , değil `VM Options` sadece sınıf adı olmalıdır ana/yourMainVerticle.class

Dikey önyükleme veya geçebilir
public class VertxVerticleMain { 

    public static void main(String[] args) { 
     Vertx vertx = Vertx.vertx(); 

     vertx.deployVerticle(new MyVerticle()); 
     //vertx.deployVerticle(MyVerticle.class); 

    } 
} 
İlgili konular