【问题标题】:how to hot deploy jsp file using tomcat7-maven-plugin?如何使用 tomcat7-maven-plugin 热部署 jsp 文件?
【发布时间】:2017-06-19 18:14:43
【问题描述】:

我使用带有 tomcat-maven 插件的 tomcat7。我可以让它热交换我的jsp,但只有当我直接在目标中修改它时它才能工作。如何让 tomcat 也在我的源目录中查找更改?

pom.xml

 <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <serverXml>${project.build.directory}/config/tomcat-config/${usingDb}/server.xml</serverXml>
                <tomcatUsers>${project.build.directory}/config/tomcat-config/tomcat-users.xml</tomcatUsers>
                <configurationDir>${project.build.directory}/config/tomcat-config</configurationDir>
                <additionalClassesDirs>
                    <classesDir>${project.basedir}/src/main/webapp</classesDir>
                </additionalClassesDirs>
                <contextReloadable>true</contextReloadable>
                <port>${tomcat.http.local.port}</port>
                <path>/${url.contextPath}</path>
            </configuration>
        </plugin>

【问题讨论】:

  • 通常你使用IDE来启动完全集成的tomcat,它要好得多。如果你的 pom 中没有特定的规则,这意味着插件在启动应用程序之前复制了文件,所以你运气不好。反正。使用 IDE !
  • 当您更改它或清理和构建您的战争项目时它不会热插拔?

标签: maven maven-tomcat-plugin


【解决方案1】:

这取决于您如何使用/启动 maven 插件。 以

开头
mvn tomcat7:run

应该可以解决问题(与 run-war 或任何其他目标相比)。详情见http://tomcat.apache.org/maven-plugin-2.2/tomcat7-maven-plugin/plugin-info.html

这实际上会在你的 tomcat 中重新加载上下文。如果没有第三方库/插件(如 jrebel 或类似插件),我不确定实际的“热替换”没有是否可以重新加载上下文。

【讨论】:

    【解决方案2】:

    您应该能够运行 war:exploded maven 目标,将您的更改从源目录复制到目标目录。

    【讨论】:

      【解决方案3】:

      将 Eclipse 中的工作区更改为 \tomcat\webapps 因为它只是为了您的工作,所以应该可以正常工作。您在 Eclipse 中所做的任何更改都在同一目录中,tomcat 会查找要部署的应用程序

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 2019-04-10
        • 2012-07-01
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 2013-02-07
        • 1970-01-01
        • 2012-10-26
        相关资源
        最近更新 更多