Java 如何从IntelliJ IDEA启动Vert.x服务器?

Java 如何从IntelliJ IDEA启动Vert.x服务器?,java,intellij-idea,gradle,vert.x,Java,Intellij Idea,Gradle,Vert.x,如何从IntelliJ IDEA内部启动一个简单的Vert.x服务器 我的build.gradle如下所示: apply plugin: 'java' version = '3.0.0' repositories { mavenCentral() } dependencies { compile 'io.vertx:vertx-core:3.0.0' } package com.example; import io.vertx.core.AbstractVerticle

如何从IntelliJ IDEA内部启动一个简单的Vert.x服务器

我的
build.gradle
如下所示:

apply plugin: 'java'

version = '3.0.0'

repositories {
    mavenCentral()
}

dependencies {
    compile 'io.vertx:vertx-core:3.0.0'
}
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);
    }
}
我的Vertex服务器,
MyVertex.java
如下所示:

apply plugin: 'java'

version = '3.0.0'

repositories {
    mavenCentral()
}

dependencies {
    compile 'io.vertx:vertx-core:3.0.0'
}
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);
    }
}
VM选项(在运行配置中)
Run
是否需要安装并添加到我的路径中,或者如何开始Vert.x-server开发?

啊,我的错误:


run com.example.MyVerticle
应该是程序参数的值:而不是IntelliJ IDEA运行配置中的VM选项。

您必须使用以下内容:
org.vertx.java.platform.impl.cli.Starter
作为IntelliJ IDEA中的主类;如果您使用的是参数和类似的东西,您可能希望使用类似:
runmod~


对于Vert.x 3.0.0,您必须使用以下内容:
io.vertx.core.Starter
作为您的主类,并
运行com.example.other.AnyVerticle
作为您的程序参数。

我使用的是vertx 3.2.1,它正在抱怨
io.vertx.core.Starter
。现在已经不推荐了。因此,应该使用
io.vertx.core.Launcher

这是一个通过intellij启动的示例,可以选择指定配置JSON文件:

  • 主类:
    io.vertx.core.Launcher
  • 虚拟机选项:
  • 程序参数:
    运行com.app.verticle.MyVerticle-conf/path/to/my_config.json
当使用日志框架时,它将添加到VM选项中,如下所示

Log4j与Log4j或slf4j的delgate:

-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
-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory -Dlogback.configurationFile=logback.xml
Logback:

-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
-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory -Dlogback.configurationFile=logback.xml

只需将其添加到您的
MyVerticle
(或单独的类):


然后简单地
Ctrl+Shift+F10
运行它,IntelliJ将自动创建
运行配置

您只需添加一个main并使用deployVerticle(),然后在IntelliJ中就可以轻松地运行或调试它。 使用deployVerticle,您可以传递main/bootstrap verticle的新实例,也可以传递mainVerticle.class

public class VertxVerticleMain {

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

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

    }
}

VM Options
中不应该只有你的类名吗?@injecteer:然后我得到这个错误消息:
错误:找不到或加载主类com.example.MyVerticle
在这个页面上它是作为VM Option
io.vertx.core.Starter“运行”的,在vert.x3.2中已经被弃用;改为使用
io.vertx.core.Launcher
。我尝试了-conf/path/my_config.json和-conf\path\my_config.json,但没有成功。我正在使用windows。有什么问题?@MoA-指定conf的完整路径时会发生什么?示例:-conf c:/apps/conf/my_config.json。。。