maven+jetty+idea+jrebel 實現項目熱部署


tags:html

  • maven
  • jetty
  • idea
  • jrebel
  • java

maven+jetty+idea+jrebel 實現項目熱部署java

開發環境

開發過程當中: 修改java或者工程文件 須要從新對工程進行build deploy耗時過久 到沒法忍受web

如何實現一次部署以後,後面的修改所有熱部署呢?bash

  1. 使用jrebel實現
  2. web容器使用的是jetty
  3. 項目管理使用的maven
  4. ide使用的是idea

實現步驟

  1. 打開idea中的settings-->plugins 搜索jrebel --> browse repositories
  2. install 開始進入下載 下載完成以後應用上 而且重啓idea
  3. 由於jrebel是收費軟件 破解連接以下:http://blog.lanyus.com/archives/317.html 正常啓動後的樣式:

破解工具

激活路徑
server地址:http://127.0.0.1:8888/lemon lemon爲任意字符串 email: 隨意輸入

激活

  1. 對於須要熱部署的項目進行以下操做 右擊項目名稱 選中jrebel生成配置文件 正確的配置文件內容以下:
<?xml version="1.0" encoding="UTF-8"?>

<!--
  This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
  Refer to https://manuals.zeroturnaround.com/jrebel/standalone/config.html for more information.
-->
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd">

	<classpath>
		<dir name="C:/workspaces***************/target/classes"> <!--爲項目的編譯路徑-->
		</dir>
	</classpath>

	<web>
		<link target="/">
			<dir name="C:/workspace**********src/main/webapp"><!--爲項目的路徑-->
			</dir>
		</link>
	</web>

</application>

複製代碼
  1. 在idea菜單欄中 選中view >tool 以下 將兩個工具欄均展現出來:

view
6. 在jrebel中配置你須要熱部署的項目 只需配置主工程便可 base等依賴據不需勾選:

jrebel
7. 配置完成以後會在啓動腳本旁邊出現兩個圖標 分別爲jrebel run和jrebel debug:

8. 代碼中須要將jetty自身的熱部署禁用

<plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>8.1.16.v20140903</version>
        <configuration>
          <stopKey>stop</stopKey>
          <stopPort>9999</stopPort>
          <scanIntervalSeconds>0</scanIntervalSeconds><!--使用jetty自身的熱部署:1 不用爲0-->
          <contextXml>${project.basedir}/src/main/resources/jetty-context.xml</contextXml>
          <webApp>
            <contextPath>/</contextPath>
          </webApp>
          <connectors>
            <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
              <port>8001</port>
              <maxIdleTime>60000</maxIdleTime>
            </connector>
          </connectors>
        </configuration>
      </plugin>
複製代碼
  1. 當點擊jrebel debug時 啓動log出現以下圖內容則標誌着配置成功 app

    部署

  2. 啓動以後體驗一下熱部署吧 針對單個文件進行的熱部署: ctrl+shift+f9 針對修改的全部文件進行的熱部署: ctrl+f9 執行以前別忘記ctrl + seclipse

  3. 當執行上面的命令是 出現以下的內容 則表示部署成功:webapp

部署成功

log中輸出

未經做者容許 請勿轉載,謝謝 :)maven

相關文章
相關標籤/搜索