4

我有一个这样的项目:

/parent
 /core
  /src/main/
   /resources/META-INF/
      web-fragment.xml
      /resources/jsp/
        fragment.jsp
   /java/
     FragmentTest.java
 /web
  /src/main/
    /webapp/
      /WEB-INF/web.xml
      /jsps/
        parent.jsp
    /java/
      ParentTest.java

“核心”编译为 .war 中的 .jar。

但是,在将其部署到 Tomcat 并启用调试时,我可以编辑 parent.jsp 并且它将热部署,但是如果我更新 fragment.jsp 则不会,我必须重新构建/重新部署/等。

但是,任何一个项目中对 .java 的任何更改都将成功进行热部署。

是否有人知道可能缺少任何配置等以使 Web 片段 JSP 热部署?

谢谢!

4

3 回答 3

2

我也有同样的情况。我有test-web(你的parent)和test-web-fragment(你的core)。我通过以下方式解决了它们:

/test-web -> Properties -> Deployment Assembly中,我添加了指向/test-web-fragment/src/main/resources/META-INF/resources的Fileset规则(参见下面的屏幕截图)。

当我从片段中更改页面中的某些内容时,eclipse 构建器会将其复制到/test-web/src/main/webapp。之后,我在应用程序服务器中右键单击测试网络,然后单击完全发布,我必须将更改发送到服务器。我在开发模式中使用的这个技巧。当我为生产进行构建时,我使用 maven,没有这个规则。

1

2

3

于 2014-10-22T13:15:04.473 回答
1

如果您执行以下操作,您将能够热部署 JSP 和 Java 文件:

将您的 Web 片段项目分成两个不同的项目,并从您的主要 Web 应用程序中引用它们:

  • 一个包含所有 Java 源文件(此项目必须是 Web 片段)。这将被打包为 JAR 文件,您将能够像当前一样热部署 Java 文件
  • 另一个项目,一个动态 Web 项目,包含 WebContent 文件夹下的所有静态/JSP 文件。这将被解包部署,并允许您热部署 WebContent 文件夹下的所有内容

可能有比这个更好的选择,但至少你将能够正常工作,直到你找到更好的东西。

于 2013-10-27T21:52:06.317 回答
1

你的项目结构让我有点困惑。我们总是在其中放置 JSP/src/main/webapp和子文件夹。我可以很好地想象这是您问题的根源。

于 2013-07-03T18:27:31.450 回答