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

2022-09-01 08:03:14

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

我的如下:build.gradle

apply plugin: 'java'

version = '3.0.0'

repositories {
    mavenCentral()
}

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

我的Vertx服务器如下:MyVertex.java

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

我的IntelliJ运行配置如下,作为主类:io.vertx.core.Starterenter image description here

但是当我使用我的运行配置运行它时,我收到以下错误消息:

Error: Could not find or load main class run

VM 选项(在“运行配置”中)是我需要安装并添加到路径中的,还是如何开始 Vert.x-server 开发?run


答案 1

我正在使用vertx 3.2.1,它抱怨.它现在已被弃用。因此,应该使用.io.vertx.core.Starterio.vertx.core.Launcher

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

  • 主要类别:io.vertx.core.Launcher
  • 虚拟机选项:<up to you, or leave blank>
  • 程序参数:run com.app.verticle.MyVerticle -conf /path/to/my_config.json

使用日志记录框架时,它将添加到 VM 选项中,如下所示。

Log4j with 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

答案 2

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

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

然后只需运行它,IntelliJ将自动创建.Ctrl+Shift+F10Run Configuration


推荐