有没有办法在IDE中运行Vertx?我知道我可以在文件中创建服务器,然后调用
vertx run server.java
从命令行,但有没有办法从IDE中运行server.java文件?
答案 0 :(得分:28)
创建一个maven项目,manual说。
然后将项目导入为Maven项目
使用主要类
创建一个新的启动器(Eclipse)在标签" Program Arguments"键入:" 运行your.package.ServerVerticle -conf conf.json "
如果您没有 conf.json ,可以省略 conf.json ,这只是一个示例,告诉您可以在其中添加任何其他选项' d从命令行启动Vert.x。
PRO TIP:如果您的Verticle是用其他语言编写的,请使用带有该语言名称的前缀,如下所示:
等等。
答案 1 :(得分:14)
接受的答案非常好。 只是出于完整性的考虑,你也可以运行一个普通的旧java主类,主要启动你的vertx实例。
代码应该是这样的:
public static void main(final String... args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(/* put your stuff here */);
}
你去。
答案 2 :(得分:8)
我之前编辑过一个较早的答案,但为了清晰起见,我将其分开了。
以下示例适用于eclipse,但同样的基本前提应适用于任何IDE。
设置Maven,Gradle或其他项目并将其导入Eclipse
创建运行或 debug 配置,并将io.vertx.core.Launcher
设置为主要类。
run org.example.InitVerticle -conf <path to config>
;其中org.example.InitVerticle
是你的主要或者是intialiser,verticle。 在Vert.x 3中调试期间,您可能会注意到被阻塞的线程监视程序会不断地将警告(以及最终的异常)输出到控制台上。虽然在生产过程中很有用,但您可以通过在调试配置的 VM参数中设置以下属性来禁止此行为:
-Dvertx.options.blockedThreadCheckInterval=2147483647
注意事项
请注意,您的调试可能会在各种情况下触发超时,例如断点延迟对事件总线的回复。您会看到类似警告:
WARNING: Message reply handler timed out as no reply was received - it will be removed
显然,如果您不小心,这可能意味着调试下的控制流程不同于实际执行。
答案 3 :(得分:4)
我会建议弗兰已经暗示过的。最好从原型(http://vertx.io/maven_dev.html)创建Maven项目,例如
mvn archetype:generate -Dfilter=io.vertx: -DgroupId=your.group.id -DartifactId=your-artifact -Dversion=0.0.1-SNAPSHOT
并通过maven添加IDE细节,例如Eclipse
mvn eclipse:eclipse
通过这种方式,您可以在Eclipse中导入并准备好使用项目。
要实际启动它,我不会直接进入Main或Starter Verticle,而只是简单地通过Eclipse中的Maven作为新的Run Configuration运行它。创建一个新的Maven运行配置并设置为目标
clean compile vertx:runMod
它将启动 mod.json 配置&#34; Main&#34;类。
注意: clean compile 不是必需的,但是如果你构建一次并安装了项目的jar,那么自动部署在选择构建时就不再工作了而不是开发的代码。
就像你有示例PingVerticle直接运行一样,并且在 mod.json 中启用了自动重新部署时也可以愚弄。
如果您需要更多,配置等,您可以使用Starter Verticles,参数甚至将其添加到 pom.xml vertx-maven-plugin。
我希望这会有所帮助。
最佳
答案 4 :(得分:4)
我的设置在IntelliJ 15.0.1上完成,其中vert.x 3.2.0 for Java
添加新的Verticle,如:
[yourLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];
[yourLabel setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisVertical];
&#39;运行&#39; - &GT; &#39;编辑配置......&#39; - &GT;取代&#39;主要课程:&#39;至 &#39; io.vertx.core.Launcher &#39;,
输入&#39; 运行cchcc.hi.HiVerticle &#39;在 &#39;计划参数:&#39; - &GT; &#39; OK&#39;
运行并调试!
答案 5 :(得分:1)
如果您正在寻找除创建maven项目之外的选项(在其他答案中建议),您可以执行以下操作: