java 不重啟部署_編譯Java類后不重啟Tomcat有兩種方式:熱部署、熱加載

不重啟Tomcat有兩種方式:熱部署、熱加載

熱部署:容器狀況在運行時重新部署整個項目。這類環境下一般整個內存會清空,重新加載,這類方式

有可能會造成sessin丟失等環境。tomcat 6確實可以熱部署了,而且對話也沒丟.

熱加載:最好是在調試過程中使用,免患上整個項目加載,Debug標準樣式支持熱加載。容器狀況在運行時重

新加載轉變編譯后的類。在這類環境下內存不會清空,sessin不會丟失,但容易造成內存溢出,或者找不到方

法。一般轉變類的布局和模型就會有異常,在已經有的變量和方法中轉變是不會出問題的(Eclipse、

MyEclipse8、JBuilder、IntelliJ IDEA…)。

常用的一定第二種:熱加載了,設置如下!

在tomcat的conf中的server.xml中的host設置中添加

docBase=”D:\develop\test”

debug=”0″ privileged=”true” reloadable=”true”/>

reloadable=”true” !最重要

它內里有很多屬性,意義如下:

1>path:指定拜候該web應用的URL進口;

2>docBase:指定web應用的文件路徑,可以給定絕對路徑,也可以給定相對于的appBase屬性【默認

指向tomcat的webapps】的相對于徑;要是Web應用是個war文件,則指定war文件的路徑。

3>className:指定使成為事實Context組件的Java類的名字,這個Java類必須使成為事實org.apache.catalina.Context

接口,該屬性的默認值為org.apache.catalina.StandardContext。

4>reloadable:要是這個屬性設置為true,Tomcat服務器在運行狀況下會監視在WEB-INF/classess和WEB-

INF/lib目次下的class文件的改動,以及監視web應用的WEB-INF/web.xml文件的改動。要是檢測到的class

文件或者web.xml文件被更新,服務器會自動加載Web應用。該屬性的默認值為false.在web應用的開發和調

試階段,把reloadable設為true,可以方便對web應用的調試。在web應用正式發布階段,把reloadable設為

false,可以減低tomcat的運行負荷,提高Tomcat的運行性能。

5>cachingAllowed:要是為true,標示允許啟用靜態資源的緩存。使用緩存能提高拜候靜態資源的效率。

tomcat把那一些時常被客戶端拜候的靜態資源(如:HTML文檔、圖片文件和聲響文件等)放在緩存中,當客戶再

次拜候有關靜態資源時,Tomcat只需直接從緩存中讀取相關數據,無須反復讀取文件系統中的文件。該屬

性的默認值為true.

6>cacheMaxSize:設定靜態資源的緩存的最大容量,以K為單元。要是,要是該屬性為100,表示100K,默認

為10240(即10M)。

7>workDir:指定web應用的工作目次。Tomcat在運行時會把與這個web應用相關的臨應試文章件放在此目次下。

8>uppackWar:要是此項設為true,表示將把web應用的war文件睜開為開放目次布局后再運行。要是設為

false,則直接運行war文件。該屬性的默認值為true。

同志們,使用tomcat6.0的注意了啊。當你使用我的方法設置tomcat后,你的myeclipse報如下錯誤時,不要驚慌,這是正確的,且聽我解釋。

console報錯:

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘ debug’ to ’0′ did not find a matching property. 這是由于你使用的是tomcat6.0,由于它路程經過過程其他途徑對debug=”0″這個屬性進行了使成為事實,所以這搭不能再有此屬性。你只要將它去掉,就能夠沒事了啟動了。 也就是說去掉debug=”0“,萬事OK,呵呵。

======================================================================

還有一種方式:使用第三方工具

http://www.zeroturnaround.com/jrebel/

1、解壓縮包

2、執行java -jar jrebel-setup.jar

3、會彈出一個安裝界面(自己看,很好懂)

4、在MyEclipse中配置,找到服務器(如tomcat)的配置頁面,在tomcat的jdk配置頁面的Optional Java VM arguments輸入框中加如下參數:

-noverify -javaagent:D:\dev\JRebel\jrebel.jar -Drebel.dirs=D:\dev\apache-tomcat-6.0.20\webapps\nmr

第一個路徑是jar包的絕對路徑,第二個地址是說想讓哪個目錄下的類更改后不重啟服務。

如果Optional Java VM arguments輸入框中有其他參數,用空格隔開。

5、發布項目,就能在控制臺看到效果。

類就可以改變之后不用重啟tomcat。

目前流行的服務器都支持。詳細看官方網站。

下載的壓縮包文件名為jrebel-setup.zip (7.8 MB)

可參考:http://japankn.javaeye.com/blog/577931

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272843.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

修改mysql的用戶密碼

修改的用戶都以root為列。一、擁有原來的myql的root的密碼; 方法一: #mysql -u root mysql> SET PASSWORD FOR rootlocalhost PASSWORD(newpass); 方法二:在mysql系統外,使用mysqladmin# mysqladmin -u root -p password &quo…

C#中的堆和棧理解

引言:程序運行時,它的數據必須存在內存中,一個數據需要多大內存、存儲在什么地方以及如何存儲都依賴于該數據的數據類型。1、什么是棧棧是一個內存數組,是一個LIFO(Last-In-First-Out 后進先出)的數據結構。…

java sessionmanager_java.lang.IllegalStateException:沒有SessionManager

你錯過了3件事.Main.javaimport org.eclipse.jetty.server.Server;import org.eclipse.jetty.server.handler.ContextHandler;import org.eclipse.jetty.server.session.HashSessionIdManager;import org.eclipse.jetty.server.session.HashSessionManager;import org.eclipse.…

什么是鏈表

鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是…

C# 基礎:Sealed、new、virtual、abstract、override的理解

目錄 1、sealed 2、new 3、virtual 4、abstract 5、override 1、sealed 密封類不能被繼承,密封方法可以重寫基類中的方法,但其本身不能在任何派生類(子類)中 進一步重寫。當應用于屬性或者方法時,sealed 修飾符必須始終…

梁興珍 java_數據結構與算法_Java語言

第1章 綜述1.1 數據結構和算法能起到什么作用?1.2 數據結構的概述1.3 算法的概述1.4 一些定義1.5 面向對象編程1.6 軟件工程1.7 對于C程序員的Java1.8 Java數據結構的類庫第2章 數組2.1 Array專題Applet2.2 Java中數組的基礎知識2.3 將程序劃分成類2.4 類接口2.5 Or…

Yii 2.0: yii2-highcharts-widget創建餅狀圖

安裝 The preferred way to install this extension is through composer. 項目根目錄下執行: php composer.phar require --prefer-dist miloschuman/yii2-highcharts-widget "*"或者在composer.json中添加 "miloschuman/yii2-highcharts-widget&qu…

【原創】C#中的抽象類(abstract class)和接口(interface)的比較

在C#中抽象類和接口是兩個相當重要的概念,深入理解對C#程序員是非常必要的,現總結如下:一、抽象類的特點:1、抽象方法只用于方法的聲明并不包含方法的實現,可以看作沒有實現實體的虛方法。2、抽象類不能進行實例化。3、…

U3D 腳本添加和獲得對象

有時候,一開始可能沒有對象,而是由于某種觸發,產生的一個對象,這里講解下,如何通過腳本來創建一個對象: 這是通過腳本創建一個立方體: using UnityEngine; using System.Collections;public cla…

50條超精辟的經典語錄:嘩眾,可以取寵,也可以失寵!

在人生道路上給自己定位很重要,不要苛求自己達到不可能達到的高度。我們能把每一件平凡的事做好就是不平凡,把每一件簡單的事做成功就是不簡單。1.我們只有一個地球,所以你要愛護地球;地球上只有一個我,所以你也要愛護…

java 時間工具類 大于_Java 時間工具類

1 /**2 * 格式化字符串為日期格式3 *4 *paramdateStr 需要格式化的字符串5 *paramformat 需要的日期格式,例如"yyyy-MM-dd HH:mm:ss"6 *return7 */8 public staticDate formatDate(String dateStr, String format) {9 SimpleDateFormat dateFormat newSi…

IP、TCP和DNS與HTTP的密切關系

看了上一篇博文的發表時間,是7月22日,現在是10月22日,已經有三個月沒寫博客了。這三個月里各種忙各種瞎折騰,發生了很多事情,也思考了很多問題。現在這段時間開始閑下來了,同時該思考的事情也思考清楚了&am…

C# 委托的理解

1、什么是委托委托可以理解為持有一個或多個方法的對象。如果執行委托的話,委托會執行它所"持有"的方法。委托可以避免程序中大量使用if-else語句,使程序擁有更好的擴展性。2、委托的本質委托和類一樣,是一種用戶自定義的類型&…

java基礎判斷題_java基礎知識周測試題帶答案

簡單題(每題5分,共計50分)簡述Java語言跨平臺的原理Java跨平臺的特性,也就是同一份字節碼文件可以在不同的系統上執行,由不同系統中的Java虛擬機負責翻譯成對應的機器指令。寫出以下名詞的概念和各自作用jre - Java運行時環境信息&#xff0c…

SQLSERVER 2008 R2版本密鑰(摘)

開發版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM開發版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8工組版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6QWEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM數據中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB數據中…

java conf_JAVA 解析、編輯nginx.conf

最近工程開發遇到一個需求:用Java去解析并編輯nginx.conf解析nginx.conf過程可以參考該項目的README.md下面舉個列子說明一下該如何編輯nginx.conf。定義一個pojoimportcom.alibaba.fastjson.JSONArray;importcom.google.common.base.Strings;importlombok.Data;Dat…

【原創】關于ASP.NET WebForm與ASP.NET MVC的比較

WebForm的理解1、 WebForm概念ASP.NETWebform提供了一個類似于Winform的事件響應GUI模型(event-drivenGUI),隱藏了HTTP、HTML、JavaScript等細節,將用戶界面構建成一個服務器端的樹結構控件(Control)&#…

對象的接口

Simula(模擬) 是一個很好的列子。正如這個名字鎖暗示的,它的作用是"模擬"像"銀行出納員"我們有一系列出納員,客戶,賬戶以及交易等 每類成員(元素)都有具有一些通用的特征,每個賬號都有一定的余額;每個出納都能接收客戶的存款,等等。…

java color類 藍色_java中Color類的簡單總結

標簽:java中Color類的簡單總結1.顏色的常識任何顏色都是由三原色組成(RGB),JAVA中支持224為彩色,即紅綠藍分量取值介于0-255之間(8位表示)2.Color類中的常量public final static Color black new Color(0,0,0);public final static Color bule new Col…

C#中幾種循環語法的比較

循環操作在程序開發當中使用非常的廣泛,當然循環也很容易成為整個程序運行的性能瓶頸,所以理解C#中幾種循環的用法,還是非常重要的。C#支持一下四種循環方式1、while循環2、do...while循環3、for 循環4、foreach循環前三種循環在C、Java中也是…