zoukankan      html  css  js  c++  java
  • Eclipse中使用JRebel实现项目热部署(Maven插件版)

    JRebel实现项目热部署(Maven插件版)

    热部署,就是在应用运行过程中不进行重启,可直接进行软件升级。

    在开发过程中,热部署就是在项目运行过程中变更代码,无需重启服务器即可使代码生效。

    tomcat可以进行项目热部署,但在类中添加方法或方法名改动时则无法热部署,需要重启服务器,导致浪费大量开发时间在等待项目重启上,通过JRebel可实现绝大部分项目代码改动都能进行热部署。

    在安装JRebel插件前建议先把Maven jar包中央仓库的下载地址(默认下载地址是国外的,下载速度比较慢)换成国内的,这里推荐设置成阿里的中央仓库。

    Maven中央仓库下载地址更换步骤:

    ①更改Maven配置文件

    ②设置Maven配置文件到Eclipse

    1.找到本地Maven安装路径,打开本地Maven安装路径下的conf/Settings.xml:

     

    2.<mirrors></mirrors>标签内添加以下镜像参数并保存:

    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
    </mirror>

    3.打开Eclipse-->Window-->Preferences,找到Maven下的User Settings:

     

    -------------------------------------------------步骤结束-------------------------------------------------------------

    在Eclipse中安装JRebel插件

     

    等待安装完成后,在弹出的是否重启Eclipse对话框点击确定,等待自动重启Eclipse,插件安装完成。

    插件激活请参考:https://blog.csdn.net/lawsonjin/article/details/76422807

    -------------------------------------------------步骤结束--------------------------------------------------

    本人开发时运行项目使用的tomcat是Maven的tomcat插件,因此需要添加Maven的tomcat插件,通过Maven的tomcat插件运行项目想要使用JRebel需要添加Maven的JRebel插件。

    Maven的tomcat插件配合JRebel的设置步骤:

    1.在pom.xml中<build></build>标签下的<plugins>标签里添加tomcat插件以及jrebel插件:

     

    以下是插件代码:

    复制代码
    <!-- maven的tomcat组件,通过maven命令tomcat7:run运行项目 -->
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <port>8080</port>
        <path>/Irritability</path>
      </configuration>
    </plugin>
    
    <!-- jrebel热部署插件 -->
    <plugin>
      <groupId>org.zeroturnaround</groupId>
      <artifactId>jrebel-maven-plugin</artifactId>
      <version>1.1.8</version>
      <executions>
        <execution>
        <id>generate-rebel-xml</id>
        <phase>process-resources</phase>
        <goals>
          <goal>generate</goal>
        </goals>
        </execution>
      </executions>
    </plugin>
    复制代码

    2.选中项目,点击右键-->JRebel-->Enable JRebel会在项目的src/main/resources目录下自动生成rebel.xml配置文件:

     

    3.选中项目点击右键-->Run As-->Maven build...:

     

    按照图中步骤设置后点击Run按钮运行项目:

     

    运行结果:如下图说明JRebel插件启动成功,随后tomcat也开始启动:

     

    启动完成后对项目内的某个方法进行更名等操作后保存代码,JRebel就会自动检测到代码变更,并重新编译更改了代码的文件,控制台打印信息:

    补充:本人在完成JRebel安装后运行项目正常启动,但点击请求时出现

    Exception in thread ""http-bio-80"exec-1" java.lang.OutOfMemoryError: PermGen s的异常(内存溢出)。

    内存溢出解决方法是扩大设置的内存,步骤如下:

    Windows-->Preferences-->Java-->Installed JREs右侧-->Edit...

    在 Default VM arguments中写入   -Xms512M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=768m

    ,随后重启项目即可正常使用JRebel热部署项目了。

    有时候修改代码jrebel不会自动自动部署可能没有勾选自动编译

  • 相关阅读:
    python中list/tuple/dict/set的区别
    jquery修改ajax的header的字段origin方法,均被浏览器拒绝
    js判断上传文件的大小、类型、修改日期等信息
    js调试方法
    sqlmapapi的跨域访问Access-Control-Allow-Origin:*;ajax
    flask的文件上传和下载
    flask中的g、add_url_rule、send_from_directory、static_url_path、static_folder的用法
    python读写csv时中文乱码问题解决办法
    css中!important的作用
    项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .
  • 原文地址:https://www.cnblogs.com/guo-rong/p/9459130.html
Copyright © 2011-2022 走看看