我正在处理一个使用DropWizard的项目的客户端。不幸的是,我所经历的是,要对资产进行更改,我必须停止服务器,使用 maven 打包资产,然后重新运行服务器,否则资产将不会更新。
我尝试添加dropwizard可配置资产捆绑包,但我仍然看到相同的行为。这是添加后的服务:
服务.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,但我不得不手动重新启动它,它没有为我重新打包,所以它进一步减慢了速度。
整个过程确实让我放慢了速度,我希望这只是我对Java世界的无知。
在我的 Intellij Idea 中,我为此目的使用JRebel
插件。JRebel也支持Eclipse。
如果您的资产打包在 src/main/resources
下,那么只要您从 IDE 中运行可执行服务main()
,它们就应该使用 Eclipse 自动更新,而无需重新启动。
您可能需要检查您的Maven插件是否在更改时设置为"生成资源",但这只是默认设置,因此应该已经到位。
你所描述的在 Eclipse 中绝对是可能的 - 我有进行资源更改(例如更改和保存 HTML 资产)的个人经验,然后在只执行浏览器刷新时看到即时更新。