IntelliJ 热交换 类,但不是 JSF 页面

IntelliJ hot swapping classes, but not JSF pages

首先,我想说 Whosebug 上有很多页面,我尝试了所有我发现的相关内容,但我做错了。

我将 IntelliJ 服务器设置为:

如果我更改任何 class 的主体(e.g.returned 值),一切都很好,它会像我期望的那样热交换 class。

不幸的是,当我更改一些 JSF 资源(在 webapp 目录下)时,没有任何反应。我查看了文件移入的 Tomcat 临时目录,但我只能看到旧文件。

我也尝试在 IntelliJ 中将 webapp 目录添加为资源,但没有帮助。

我哪里错了?

我的项目结构:

    src
    └── main
        ├── java
        |    └── *.java
        ├── resources
        |    └── spring-web-context.xml    
        └── webapp
             ├── template.xhtml
             ├── ...
             └── index.xhtml

为了资源的热交换工作,爆炸的神器必须用resp命名。扩展名("war"、"ear")。

例如,如果您的工件名为 ROOT.war,则分解的工件也必须称为 ROOT.war,尽管第一个实际上是一个 zip,第二个是一个文件夹。

这适用于我的 JBoss 服务器。

我决定重新安装 IntelliJ 并使用一些 JSF sample project

我发现所描述的设置有效,所以我的工作项目或 IntelliJ 安装有问题

我遇到了同样的问题,最终发现javax.faces.FACELETS_REFRESH_PERIOD被设置为-1。如 this post 中所述,将其更改为 0 有效。