7

我今天在 Spring 网站上偶然发现了 Spring Loaded 项目。我正在尝试将其集成到我一直在研究的 Spring MVC(使用 Maven 和 TOMCAT)中。

根据项目页面上的说明,我已经下载了 JAR 文件并在 TOMCAT VM 参数中添加了以下内容(在 Eclipse 中):

-javaagent:C:\Users\xxx\Downloads\springloaded-1.2.0.RELEASE.jar -noverify

我还在 TOMCAT 中禁用了“自动发布”。

现在,一旦我启动 TOMCAT 并对控制器(或任何其他类)进行任何更改,我看不到任何热部署发生。有什么我出错了还是需要任何其他配置?

将不胜感激任何投入。

4

5 回答 5

5

本周,我尝试SpringLoaded在 aptache Tomcat 7 之上使用 Petclinic 进行快速演示,面临与此处讨论的相同问题。最后我发现我需要将项目添加到Tomcat类路径中。因此,就我而言,我在 Eclipse 中打开了 Tomcat“启动配置”,并在类路径选项卡中,将我的项目添加到了“用户条目”组中。这会导致弹簧加载工作正常。

于 2014-07-09T12:52:40.870 回答
4

您确实需要 Tomcat 中的“自动发布”,因为更改后的 .class 文件不会复制到 Tomcat 部署应用程序的临时文件夹。

例如,在我的本地实例中,临时 Tomcat 部署文件夹是[WORKSPACE_FOLDER]\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps. 在这个文件夹中,我复制了我的 Eclipse Web 应用程序资源(类和其他文件),这是 Tomcat 将它们用于部署的地方。虽然我的 Eclipse Web 应用程序在[WORKSPACE_FOLDER]\[MY_WEB_APP_FOLDER]\target我更改一个类源代码时编译了它的 .class 文件,但该类被重新编译并将其 .class 文件放置在target文件夹中。启用“自动发布”后,target上述文件夹中的 .class 文件将被复制到wtpwebapps文件夹中,而禁用该选项则不会进行复制。

“自动发布”也不意味着应用程序在 Tomcat 上重新部署,其更新的 .class 文件和文件wtpwebapps夹中的其他文件也会更新。

但是,您需要在 Tomcat 中禁用的是 Web 模块的“自动重新加载”选项。双击在 Eclipse 中创建的 Tomcat 服务器,转到“模块”选项卡,单击您的 Web 应用程序 Web 模块,然后单击“编辑...”并取消选中“启用自动重新加载”。保存并重新启动 Tomcat。

于 2014-05-07T14:43:24.387 回答
1

我有一个弹簧 mvc 项目。我使用 eclipse 编写代码,但不使用它来运行或测试应用程序。使用我的设置进行热部署非常有效。我将给出设置的步骤。

步骤1

从这里下载 Spring Loaded Jar

第2步

编辑您的 Maven 批处理/shell 文件并添加此行

export MAVEN_OPTS="-javaagent:/path/to/your/jar/springloaded-1.2.1.RELEASE.jar -noverify"

步骤#3

在eclipse中开启Build Automatically [菜单:Project -> Build Automatically]

第4步

配置你的 pom 以使用 tomcat 插件

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <executions>
      <execution>
      <id>run-embedded</id>
      <goals>
        <goal>run</goal>
      </goals>
   <phase>pre-integration-test</phase>
   <configuration>
    <useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
    <contextFile>${basedir}/tomcat/context.xml</contextFile>
   </configuration>
  </execution>
 </executions>
</plugin>

步骤#5

使用运行您的应用程序mvn tomcat:run

于 2015-03-07T07:38:29.397 回答
0

如果你想集成 Spring-Loader 你需要添加

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
            <version>1.2.3.RELEASE</version>
        </dependency>
    </dependencies>
</plugin>

进入 pom.xml

而已。干杯!!!

于 2015-07-30T18:57:12.860 回答
0

我有一个spring mvc项目,tomcat7-maven。我用eclipse写代码。我将我的项目配置如下:

步骤#1:pom.xml

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <!-- Config: contextPath and Port (Default: / : 8080) -->
    <configuration>
        <path>/</path>
        <port>8080</port>
    </configuration>
</plugin>

第2步

从这里下载 Spring Loaded Jar :springloaded-1.2.5.RELEASE.jar

步骤#3

右键单击您的项目→运行方式→运行配置...→Maven构建→新建→

标签主要

  • 名称:您的配置名称
  • 基目录:${workspace_loc:/YourProjectName}
  • 目标:tomcat7:run -X

选项卡参数: 在 VM 参数处:-javaagent:path/to/library/springloaded-1.2.5.RELEASE.jar -noverify

→ 运行

现在您可以修改源代码并立即查看更改。只需在 Web 浏览器中重新加载页面,无需重新构建项目(Eclipse 自动构建)并且必须重新启动 Web 服务器。

于 2017-01-10T16:36:03.817 回答