激活IntelliJ插件Jrebel Social并配置热部署

时间:2021-08-11 09:38:40

http://blog.csdn.net/xiangxueping80/article/details/44487045  - 激活jrebel

http://blog.csdn.net/xin1990/article/details/50624060 配置热部署

<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 配置jetty插件 -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.2.2.v20101205</version>
<configuration>
<webAppConfig>
<contextPath>/</contextPath>
<!-- 设置其他项目extraClasspath,多个用";"隔开 -->
<extraClasspath>${basedir}/target/classes;</extraClasspath>
</webAppConfig>

<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>

<scanTargets>
<scanTarget>${basedir}/target/classes</scanTarget>
</scanTargets>

<!-- 指定额外需要监控变化的文件或文件夹,主要用于热部署中的识别文件更新 -->
<scanTargetPatterns>
<scanTargetPattern>
<directory>src</directory>
<includes>
<include>**/*.java</include>
<include>**/*.properties</include>
</includes>
<!-- <excludes> <exclude>**/*.xml</exclude> <exclude>**/myspecial.properties</exclude> </excludes> -->
</scanTargetPattern>
</scanTargetPatterns>
<!-- 指定监控的扫描时间间隔,0为关闭jetty自身的热部署,主要是为了使用jrebel -->
<scanIntervalSeconds>0</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9000</stopPort>
<!-- 指定web页面的文件夹 -->
<webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
</configuration>
</plugin>
<!-- jerebel maven 插件,用于生成jrebel.xml -->
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>1.1.5</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 指定生成的jrebel.xml放在哪里, 要求放在web应用的classpath下 -->
<rebelXmlDirectory>${basedir}/src/main/webapp/WEB-INF/classes</rebelXmlDirectory>
</configuration>
</plugin>
</plugins>
<outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>
</build>

1.1.       一定要选择红框中的其中一个运行,这样才能达到热部署的目的

激活IntelliJ插件Jrebel Social并配置热部署

1.2.       项目运行起来后改动类文件并不会立即看到效果,需要对类进行手动编译

要知道jrebel监控的是F:/IdeaProjects/test/target/classess下的文件哦,所以只要改动的类编译过后就可以监控到了

执行编译快捷键是:

ctrl+shift+F9编译单个类

ctrl+F9 编译整个项目