有什么方法可以在IDE中运行Vertx吗?我知道我可以在一个文件中创建一个服务器,然后调用
vertx run server.java
但是有没有办法在IDE中运行server.java文件?
-
按照手册中的说明创建一个maven项目。
-
然后将项目导入为Maven项目
-
使用作为主类创建一个新的启动器(Eclipse(
- 对于版本x 2.x:">org.vertx.java.platform.impl.cli.Starter">
- 对于版本x 3.x:">io.vertx.core.Starter">
-
在"程序参数"选项卡中键入:">运行您的.package.ServerVerticle-conf conf.json">
您可以省略conf.json(如果您没有(,这只是一个示例,向您展示了您可以在其中放置从命令行启动Vert.x时放置的任何其他选项。
专业提示:如果您的vertical是用另一种语言编写的,请使用带有语言名称的前缀,如下所示:
- ">运行scala.com.acme.MainVerticle-conf conf.json">
- ">运行jython:MainVerticle.py-conf conf.json">
- ">运行jruby:MainVerticle.rb-conf conf.json">
- ">运行rhino:MainVerticle.js-conf conf.json">
- ">运行groovy:MainVerticle.groovy-conf conf.json">
等等。
接受的答案非常好。为了完整性,您还可以简单地运行一个普通的旧java main类,让一个main启动您的vertx实例。
代码应该类似于:
public static void main(final String... args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(/* put your stuff here */);
}
给你。
版本x 3
我之前编辑了一个早期的答案,但为了清晰起见,我将其分开。
下面的例子是针对eclipse的,但同样的基本前提应该适用于任何IDE。
设置
-
设置Maven、Gradle或其他项目并将其导入Eclipse
-
创建运行或调试配置,并将
io.vertx.core.Launcher
设置为主类。 - 在参数选项卡中,设置程序参数:
run org.example.InitVerticle -conf <path to config>
;其中org.example.InitVerticle
是您的主要或初始垂直线
调试
在Vert.x3中调试期间,您可能会注意到被阻塞的线程监视程序不断向控制台输出警告(最终输出异常(。虽然在生产过程中很有用,但您可以通过在调试配置的VM参数中设置以下属性来抑制这种行为:
-Dvertx.options.blockedThreadCheckInterval=2147483647
注意事项请注意,在各种情况下,调试都可能触发超时,例如断点延迟事件总线上的回复。你会看到这样的警告:
WARNING: Message reply handler timed out as no reply was received - it will be removed
很明显,如果不小心的话,这可能意味着调试中的控制流与实际执行中的不同。
我建议Fran已经暗示的内容。最好从原型创建Maven项目(http://vertx.io/maven_dev.html)如
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 Run配置并设置为目标
clean compile vertx:runMod
它将启动mod.json配置的"Main"类。
注意:clean compile是不必要的,但如果你只构建了一次,并且已经安装了项目的jar,那么自动部署就不再工作了,因为它选择了构建而不是开发的代码。
与此类似,您可以直接运行示例PingVerticle,也可以在mod.json.中启用自动重新部署
如果您需要更多、配置等,您可以使用Starter Verticles、参数,甚至将其添加到pom.xmlvertx-maven插件中。
我希望这能有所帮助。
最佳
下面的设置是在IntelliJ 15.0.1上使用vert.x 3.2.0为Java 完成的
- 下载并提取vertx库(http://vertx.io/download/)到某个地方
- 在IntelliJ,"新建项目"->选择Java和Project SDK 1.8->下一个
- 选中"从模板创建项目"one_answers"命令行应用程序"->下一步
- 输入您想要的"项目名称"->完成
- "文件"->"项目结构…"->选择"库">
- "+"(新建项目库(->"Java"->添加(某处(/vert.x-3.20-full/lib->"OK">
-
添加新的类似顶点:
public class HiVerticle extends AbstractVerticle { @Override public void start() throws Exception { super.start(); System.out.println("Hi"); }}
-
"运行"->"编辑配置…"->将"Main class:"替换为'io.vertx.coreLauncher',
输入'在运行cccc.hi.HiVerticle''程序参数:'->'OK'
-
运行并调试!
result
如果您正在寻找除了创建maven项目之外的选项(在其他答案中建议(,您可以执行以下操作:
- 从下载最新版本http://vertx.io/downloads.html
- 解压缩并将lib文件夹中的所有JAR添加到项目的库中,即将其添加到类路径中
- 使用org.vertx.java.platform.impl.cli.Starter作为Main类为项目创建运行配置
- 将run your.package.Server-cp${project_loc:/YourProject}/bin添加为运行配置的参数
- 使用新创建的运行配置运行您的项目