【问题标题】:How to set up JRebel in a Tomcat environment如何在 Tomcat 环境中设置 JRebel
【发布时间】:2011-09-15 09:59:48
【问题描述】:

我很难让 JRebel 在我当前的开发环境中工作。

我有多模块 Maven 项目。目前,Tomcat 实例是通过服务(tomcat 监视器)控制的,部署的 Web 应用程序使用位于 ${catalina.home}/conf/Catalina/localhost 的 XML 配置,其中 docBase 属性指向 ${absolute maven project path}/target/app(并且属性 reloadable 为 true)。因此,每次我进行 maven 构建时,如果有任何类更改,我只需要手动重新启动 tomcat。如果修改发生在静态资源(JSP、HTML、JS、 等等..)页面刷新就可以了。

在我的第一次尝试中,我将 Web 应用程序配置为在运行在 Eclipse 内的 tomcat 服务器上运行。提供的 maven 插件也配置成功:我所有的子模块都继承了插件配置,我可以在 tomcat 启动中看到来自 JRebel 的输出消息,指示被监听的绝对项目路径。唯一的问题是 Eclipse WTP / Tomcat 插件不适合 Eclipse 中的 War 覆盖功能。启动服务器后,仅部署了最后一个 web 应用程序中存在的资源(具有其他 War 作为依赖项的模块)。

于是,我回到了我原来的配置开发,并把JRebel介绍给了它。我将 JRebel java 选项传递给 Tomcat Vm,所有 maven 模块都有 rebel.xml(监听正确的资源文件夹),但没有任何反应。我看不到通常的 JRebel 消息,我尝试更改源文件夹中的 JSP 并刷新页面,但文件不会自动重新部署(在这种情况下,从源文件夹 ${maven.projec }/target/app 可以解决问题)。

我的两个问题是:

  1. Eclipse WTP 问题有可能解决吗?
  2. 什么是涉及 maven eclipse 和外部 tomcat 的功能开发环境?

任何帮助将不胜感激!


更新 1

所以,我明白了。有点……我还在为覆盖战争模块而苦苦挣扎。我有一个主要的 web 应用程序模块,它依赖于几个 webapps 模块。因为 rebel.xml 它是在主 webapp 构建发生时通过 jrebel maven 插件动态生成的,所以只有它的 jrebel.xml 占上风。其他的都被压扁了。 jar 模块的 rebel.xml 位于正确的位置(在 jar 文件中)。

如果我为主 webapp 创建一个自定义 rebel.xml,它指向包含源文件(静态文件,如 JSP、HTML、JS、CSS、图像等)的所有绝对目录,我可以让它工作依赖的网络应用程序。但这对我的团队开发环境毫无价值。我正在使用 Maven 属性,但我们有两个不同的 Maven 多模块层次结构,它们彼此不了解,我不能使用根 pom 来连接它们。所以这些属性不足以保证rebel.xml中每个开发者机器上生成的绝对路径是正确的。

目前,我正在尝试使用某种 maven 插件来进行 rebel.xml 合并。暂无成功记录。

这正在成为另一个与原始问题有点不同的问题:) 也许我应该通过另一个问题。


更新 2

我让它工作了!..终于。 我使用XSLT Generator Maven Plugin 来帮助我合并各种rebel.xml 文件。还必须使用美妙的Maven Copy Plugin,因为 xslt 转换发生在最终的战争包装之后,我必须将生成的 rebel.xml 添加到该 WAR。

如果有人需要配置文件的详细信息,请随时询问。

希望这对那里的人有所帮助。

【问题讨论】:

  • 不确定这是否相关,但请查看stackoverflow.com/questions/6328604/…
  • 感谢您的提示。在没有 JRebel 的情况下,我的实际开发设置非常接近 philwb 描述的开发设置。我正在尝试迁移到 JRebel,因为我们有一个多模块项目,在构建过程中具有多个战争覆盖和本地 jar 依赖项。如果没有某种“帮助”,几乎不可能建立一个可以工作的 Eclipse 环境来处理这种情况。
  • 你好佩德罗。将您的更新添加为答案,然后关闭此问题。

标签: eclipse tomcat jrebel


【解决方案1】:

我让它工作了!..终于。我使用 XSLT Generator Maven 插件来帮助我合并各种 rebel.xml 文件。还必须使用神话般的 Maven 复制插件,因为 xslt 转换发生在最终战争打包之后,我必须将生成的 rebel.xml 添加到该 WAR。

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2015-10-21
    相关资源
    最近更新 更多