我正在使用DropWizard的项目的客户端工作。不幸的是,我所遇到的是,我需要更改资产,我必须停止服务器,使用maven打包资产,然后重新运行服务器,否则资产将不会更新。
我尝试添加dropwizard-configurable-assets-bundle,但我仍然看到相同的行为。这是添加后的服务:
Service.java
public void initialize(strap<ServiceConfiguration> strap) {
// Assets
strap.addBundle(new ConfiguredAssetsBundle(
"/dashboard/app/", "/dashboard/", "index.html"
));
// Redirect /dashboard to /dashboard/
strap.addBundle(new RedirectBundle(ImmutableMap.<String, String>builder()
.put("/dashboard", "/dashboard/").build()));
}
我目前正在运行mvn package && java -jar target/pack.jar server config.yml
。我尝试使用Eclipse,但我不得不手动重新启动它,而不是为我重新打包,因此它进一步降低了速度。
整个过程 reaaaally 让我失望,我希望这只是我对Java这个世界的无知。
答案 0 :(得分:4)
在我的Intellij Idea中,我正在使用JRebel
插件来实现此目的。 JRebel也支持Eclipse。
答案 1 :(得分:1)
如果您的资产打包在src/main/resources
下,那么只要您在IDE中运行可执行服务main()
,它们就应该只使用Eclipse自动更新而无需重新启动。
您可能需要检查您的Maven插件是否在更改时设置为“generate-resources”,但这只是默认设置,因此应该已经到位。
您所描述的内容在Eclipse中肯定是可能的 - 我具有进行资源更改的个人经验(例如,更改和保存HTML资产),然后只需浏览器刷新即可立即看到更新。