it-swarm.com.de

Führen Sie Vertx in einem IDE

Gibt es eine Möglichkeit, Vertx in einer IDE auszuführen? Ich weiß, ich kann einen Server in einer Datei erstellen und dann anrufen 

vertx run server.Java

von der Befehlszeile aus, aber gibt es eine Möglichkeit, die server.Java-Datei in einer IDE auszuführen?

14
j will
  • erstellen Sie ein Maven-Projekt wie das manual sagt.

  • Dann importieren Sie das Projekt als Maven-Projekt

  • Erstellen Sie ein neues Startprogramm (Eclipse), das als Hauptklasse verwendet wird 

    • Für Vert.x 2.x: " org.vertx.Java.platform.impl.cli.Starter "
    • Für Vert.x 3.x: " io.vertx.core.Starter "
  • Geben Sie auf der Registerkarte "Programmargumente" Folgendes ein: " Führen Sie your.package.ServerVerticle -conf conf.json aus."

Sie können die Option conf.json weglassen. Wenn Sie keine haben, ist dies nur ein Beispiel, um zu zeigen, dass Sie jede andere Option dort setzen können, die Sie mit dem Starten von Vert.x von der Befehlszeile aus starten würden.

PRO TIP: Wenn Ihr Verticle in einer anderen Sprache geschrieben ist, verwenden Sie das Präfix mit dem Namen der Sprache wie folgt:

  • " scala ausführen: com.acme.MainVerticle -conf conf.json "
  • " Jython ausführen: MainVerticle.py -conf conf.json "
  • " jruby ausführen: MainVerticle.rb -conf conf.json "
  • " Rhino ausführen: MainVerticle.js -conf conf.json "
  • " groovy ausführen: MainVerticle.groovy -conf conf.json "

Und so weiter.

28
sscarduzio

Die akzeptierte Antwort ist vollkommen in Ordnung. Nur der Vollständigkeit halber können Sie auch einfach eine alte Java-Hauptklasse ausführen, indem Sie die Vertx-Instanz als Hauptstart starten.

Code sollte so aussehen:

public static void main(final String... args) {
    Vertx vertx = Vertx.vertx();
    vertx.deployVerticle(/* put your stuff here */);
}

Da gehst du hin.

14
Psyx

Vert.x 3

Ich habe zuvor eine frühere Antwort bearbeitet, aber ich trenne sie aus Gründen der Klarheit.

Das folgende Beispiel ist für Eclipse, aber dieselbe Grundvoraussetzung sollte mit jeder IDE funktionieren.

Konfiguration

  • Richten Sie Ihr Maven , Gradle oder ein anderes Projekt ein und importieren Sie es in Eclipse

  • Erstellen Sie eine run oder debug config und legen Sie io.vertx.core.Launcher als Hauptklasse fest.

  • Legen Sie auf der Registerkarte Argumente die Programmargumente: run org.example.InitVerticle -conf <path to config> fest. wobei org.example.InitVerticle Ihr Haupt- oder Intialisierer ist. 

Debuggen

Beim Debuggen in Vert.x 3 stellen Sie möglicherweise fest, dass ein blockierter Thread-Watchdog ständig Warnungen (und möglicherweise Ausnahmen) auf der Konsole ausgibt. Sie können dieses Verhalten zwar verhindern, indem Sie die folgende Eigenschaft in VM argumente Ihrer Debug-Konfiguration festlegen:

-Dvertx.options.blockedThreadCheckInterval=2147483647

Beachten Sie, dass Ihr Debugging in verschiedenen Szenarien Zeitüberschreitungen auslöst, z. B. einen Haltepunkt, der eine Antwort auf den Eventbus verzögert. Sie sehen Warnungen wie:

WARNING: Message reply handler timed out as no reply was received - it will be removed

Wenn Sie nicht aufpassen, kann dies natürlich andere Kontrollabläufe beim Debuggen als bei der tatsächlichen Ausführung bedeuten. 

8
Marc Savy

Meine Einstellung unten wird bei IntelliJ 15.0.1 mit vert.x 3.2.0 für Java vorgenommen

  1. laden Sie die Vertx-Bibliothek ( http://vertx.io/download/ ) herunter und entpacken Sie sie
  2. bei IntelliJ 'Neues Projekt' -> Java und Project SDK 1.8 auswählen -> Weiter
  3. aktivieren Sie 'Projekt aus Vorlage erstellen' und 'Befehlszeilen-App' -> Weiter
  4. geben Sie den gewünschten 'Projektnamen' ein -> Fertigstellen
  5. 'Datei' -> 'Projektstruktur ...' -> 'Bibliotheken' auswählen
  6. '+' (Neue Projektbibliothek) -> 'Java' -> Hinzufügen von (Irgendwo) /vert.x-3.2.0-full/lib -> 'OK'
  7. füge New Verticle hinzu wie:

    public class HiVerticle extends AbstractVerticle {
    @Override
    public void start() throws Exception {
        super.start();
        System.out.println("Hi");
    }}
    
  8. 'Ausführen' -> 'Konfigurationen bearbeiten ...' -> Ersetzen Sie 'Main class:' in ' io.vertx.core.Launcher ', 

    eingabe ' cchcc.hi.HiVerticle ' um ausführen 'Programmargumente:' -> 'OK'

  9. Laufen und debuggen!

Ergebnis

4
cchcc

Ich würde vorschlagen, was Fran bereits angedeutet hat. Am besten erstellen Sie Ihr Maven-Projekt aus dem Archetyp ( http://vertx.io/maven_dev.html ), z

mvn archetype:generate -Dfilter=io.vertx: -DgroupId=your.group.id -DartifactId=your-artifact -Dversion=0.0.1-SNAPSHOT

und fügen Sie die IDE-Spezifikationen über maven hinzu, beispielsweise für Eclipse

mvn Eclipse:eclipse

Damit haben Sie ein einsatzbereites und einsatzbereites Projekt in Eclipse.

Um es dann wirklich zu starten, würde ich nicht direkt für eine Haupt- oder Starter-Ecke gehen, sondern es einfach als Munk in Eclipse ausführen, als neue Laufkonfiguration. Erstellen Sie eine neue Maven Run-Konfiguration und legen Sie sie als Ziele fest

clean compile vertx:runMod

Es startet die mod.json konfigurierte "Main" -Klasse.

Hinweis: clean compile ist nicht erforderlich, aber wenn Sie es einmal erstellen und Jars Ihres Projekts installiert haben, funktioniert die automatische Bereitstellung nicht mehr, da der Build statt des entwickelten Codes ausgewählt wird.

So haben Sie das Beispiel PingVerticle direkt ausgeführt und können auch herumalbern, wenn die automatische Neuverwendung in der mod.json aktiviert ist.

Wenn Sie dann weitere Konfigurationen usw. benötigen, können Sie mit Starter Verticles die Parameter bearbeiten oder sogar dem pom.xml vertx-maven-plugin hinzufügen.

Ich hoffe das hilft.

Beste

4
INsanityDesign

Wenn Sie neben dem Erstellen eines Maven-Projekts nach Optionen suchen (in den anderen Antworten vorgeschlagen), können Sie Folgendes tun:

  • Laden Sie die neueste Version von http://vertx.io/downloads.html herunter.
  • Entpacken Sie es und fügen Sie alle JARs im lib-Ordner zur Bibliothek Ihres Projekts hinzu. Fügen Sie sie Ihrem Klassenpfad hinzu
  • Erstellen Sie eine Laufkonfiguration für Ihr Projekt mit org.vertx.Java.platform.impl.cli.Starter als Main-Klasse.
  • Fügen Sie führen Sie Ihren.Paket.Server -cp $ {project_loc:/YourProject}/bin aus als Argumente zu Ihrer Laufkonfiguration. 
  • Führen Sie Ihr Projekt mit der neu erstellten Laufkonfiguration aus!
1
nachi