我们在使用IntelliJ设置Vert.x时会遇到一些问题,以便在开发过程中自动重新加载类。我们使用了他们的文档(使用maven)中描述的“最佳实践”方法,但无法使自动重新部署工作。
重现的步骤:
mvn archetype:generate -Dfilter=io.vertx:
mvn idea:idea
以创建IntelliJ项目.ipr
文件
Preferences -> Compiler -> Make Project Automatically
"auto-redeploy": true
中设置mod.json
CMD + Fn + F9
(如果您使用媒体键作为功能键,则为CMD + F9
)vertx:runMod
此时应用程序启动(当检查target/mods
文件夹时,它似乎确实创建了模块)。但是,对PingVerticle
类进行更改并保存结果绝对不会发生任何事情。此外,没有任何资源被复制,因此在启动简单的Web服务器时,它总是会导致“找不到资源”。 vertx_classpath.txt
包含所有具有资源的目录。
我还发现,在向pom添加外部依赖项时,这些不会被复制到模块中,并且会导致找不到类。
我们在设置过程中遗漏了什么吗?感谢。
答案 0 :(得分:3)
似乎是一系列不幸事件的合并。在Yonders之前,我们必须使用特定版本的Maven(3.0.5)和特定版本的Java(1.7u45)。我不能完全记住为什么,可能与我们正在研究的生产系统有关。但是,在更新所有内容(Maven 3.2.1和Java 1.8.0)并删除旧路径后,一切都按预期工作。
<强>更新强>
实际上,事实证明问题是项目路径中有一个空间。删除它解决了一切。