【问题标题】:Can I update the HTML files using Wicket and Eclipse without recompiling the classes?我可以在不重新编译类的情况下使用 Wicket 和 Eclipse 更新 HTML 文件吗?
【发布时间】:2010-11-30 14:54:45
【问题描述】:

我正在使用 Eclipse 和 Maven-2,我希望能够在没有“它”(不确定是 Eclipse 还是 Maven)重新编译我的应用程序的情况下编辑我的 HTML 文件。我知道通常 Eclipse 会尝试用 Eclipse 和 Tomcat 热替换新编译的 Java 类。

我可以使用这样的东西吗?

getResourceSettings().setResourcePollFrequency(null);

我知道我可以在 Eclipse 中为 Tomcat 关闭自动更新,但我希望更新 HTML 文件,如果可能的话不要更新类。

顺便说一句,我主要担心的是,在我(热)重新加载太多 java 类后,Tomcat 往往会出现 Perm gen 错误。

【问题讨论】:

    标签: eclipse tomcat maven-2 wicket


    【解决方案1】:

    您说得对,您应该使用setResourcePollFrequency(Duration.ONE_SECOND); 或类似名称。 This link has more detailed information。但是我发现,由于 Wicket 的缓存内部缓存容器在任何热交换后都会变得非常混乱,因此您可能只需要学习重新启动 Tomcat 的热键或开始使用集成的 Jetty 和 WicketTester 进行 Wicket 开发。

    【讨论】:

      【解决方案2】:

      您可能需要在运行 eclipse 时考虑增加 permgen 空间。有一个命令行参数:

      eclipse [normal arguments] -vmargs -XX:PermSize=64M -XX:MaxPermSize=128M
      

      (复制自:) http://wiki.eclipse.org/FAQ_How_do_I_increase_the_permgen_size_available_to_Eclipse%3F

      我不确定如何防止 wicket 重新加载 HTML 文件,但我会看看能否找到它。

      编辑: 如果将轮询频率设置为 null 不起作用,请尝试使用 Duration.MAXIMUM。此外,您可以在 Eclipse 项目菜单中取消选中“自动构建”,尽管这更麻烦,但值得,恕我直言。

      根据 wicket FAQ,当您明确设置资源轮询频率时,wicket 只会重新加载更改的标记文件:

      http://www.wicketframework.org/faqs.html

      除了自动禁用构建之外,我不确定如何防止 eclipse 将更改的文件复制到输出。

      【讨论】:

        【解决方案3】:

        如果启用自动构建(默认为:项目->自动构建),那么对项目文件的任何修改都会触发构建,无论它们是否在源文件夹中。

        我总是禁用 Build Automatically,因为我觉得它太干扰了(出于这样的原因),当我想要构建项目时只需点击 ctrl-B , 或 alt-P N 以在需要时启动干净对话框。

        【讨论】:

          【解决方案4】:

          我了解您正在使用(并且可能希望继续使用)Tomcat,但在 Wicket 开发期间,您可以在调试模式下运行提供的 Jetty 服务器 onder /src/test/java/com/your/package/Start.java获得此行为.. 将 Wicket 设置为开发模式以使用此功能。

          【讨论】:

            【解决方案5】:

            HTML 文件还是 jsp 文件?

            你在用tomcat吗?如果您只编辑 html 文件,请继续并根据需要更改它们。只要您不将它们部署到其他地方以供 tomcat 获取它们,您就会看到更新。

            如果是jsp,保存新文件,删除旧工作文件夹下的文件。这会让tomcat认为这是第一次请求文件,它会重新编译jsp。

            【讨论】:

            • 这个问题的上下文是 Wicket,它对 HTML 文件做了很多特殊的事情(与相应的 Java 类位于相同的包中)。
            猜你喜欢
            • 2012-07-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-03-13
            • 2013-11-18
            相关资源
            最近更新 更多