java – HotSwaping代码到“mvnDebug tomcat:run”
发布时间:2020-09-01 18:05:06 所属栏目:Java 来源:互联网
导读:通常我使用mvnDebug tomcat:run启动tomcat. 代码更改后我需要使用mvn tomcat:redeploy. 这是次优的,因为我经常只改变现有方法体的内容. 我可以将方法的主体HotSwap到运行时,并作为回退进行热重新部署吗? 不幸的是,我发现像maven-hotswap-plugin一样. faces
|
通常我使用mvnDebug tomcat:run启动tomcat. 代码更改后我需要使用mvn tomcat:redeploy. 这是次优的,因为我经常只改变现有方法体的内容. 我可以将方法的主体HotSwap到运行时,并作为回退进行热重新部署吗? 不幸的是,我发现像maven-hotswap-plugin一样. faces-config.xml中 ... <application> <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> <locale-config> <default-locale>de_DE</default-locale> </locale-config> <resource-bundle> <base-name>Message</base-name> <var>message</var> </resource-bundle> <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> </application> </faces-config> web.xml中: <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
pom.xml中: <dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>4.3.0.Final</version>
</dependency>
<dependency>
<groupId>net.java.dev.ajax4jsf</groupId>
<artifactId>ajax4jsf</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.6.Final</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.2.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>1.2.10</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.tomahawk</groupId>
<artifactId>tomahawk12</artifactId>
<version>1.1.9</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
<version>1.1.14</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>3.1.0.GA</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.2-1004-jdbc41</version>
</dependency>
<dependency>
<groupId>servletapi</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<contextReloadable>true</contextReloadable>
</configuration>
</plugin>
</plugins>
</build>
解决方法您可以使用 Jrebel – 它完全按照您的预期工作.您只需要指定javaagent,它将在运行时重新加载所有类和框架更改.它也适用于远程服务器要将其与maven项目集成,您必须添加jrebel-maven-plugin,这将生成所有配置(rebel.xml)文件. 如果没有JRebel,您可以使用标准的HotSwap机制,但它只允许重新加载方法体 (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
