91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 服務器 > 
  • SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

發布時間:2020-10-07 19:13:45 來源:腳本之家 閱讀:319 作者:koala丶 欄目:服務器

背景

眾所周知,我們平時將JavaEE項目開發完后,需要將項目部署到服務器的tomcat上。常用的部署方式是將項目打包成war包放到tomcat的webapps下,然后重啟tomcat,然后通過ip地址+端口號訪問。這樣部署本身是沒問題的,但問題在于,如果還是在生產環境下的話,需要頻繁的更改優化項目,那么就需要頻繁的將項目打war包,替換webapps下的war包,操作繁瑣。

接下來我們講述如何實現本地編程,然后部署項目到遠程服務器的tomcat上,實現熱部署。

所用技術&工具

  • maven(項目構建和依賴管理)
  • tomcat7插件 (部署到tomcat的插件)
  • tomcat服務器 (web服務器)
  • 編譯器推薦使用IDEA

1.確保本地具有遠程tomcat的使用權限

修改Tomcat下{TOMCAT_HOME}conf/tomcat-users.xml配置文件,添加用戶名、密碼、權限。

<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<role rolename="admin-script" />
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,admin-gui,admin-script"/>

2.配置Tomcat允許遠程訪問

在遠程服務器的{TOMCAT_HOME}conf/Catalina/localhost/目錄下創建一個manager.xml文件,配置如下內容:

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
     <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

注:如果只想部分用戶使用,可在allow配置IP,例如

allow="192.168.0.102"

3.重啟遠程Tomcat

在tomcat的bin目錄下依次執行

//關閉tomcat
./shutdown.sh
//啟動tomcat
./startup.sh

4.測試是否具有使用權限

訪問tomcat,例如http://192.168.0.102:8080(使用自己的服務器或是虛擬機的ip地址)
點擊Manager APP


SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

輸入剛才配置的tomcat的賬號和密碼

SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

如果跳轉到這個頁面證明配置完成

SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

當然也可以在當前頁面實現war的部署和替換,這也是另一種部署方式,不過依然沒有熱部署方便

問題:如果出現403報錯如下

403 Access Denied

You are not authorized to view this page.
 
By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit the Manager's context.xml file.
 
If you have already configured the Manager application to allow access and you have used your browsers back button, used a saved book-mark or similar then you may have triggered the cross-site request forgery (CSRF) protection that has been enabled for the HTML interface of the Manager application. You will need to reset this protection by returning to the main Manager page. Once you return to this page, you will be able to continue using the Manager application's HTML interface normally. If you continue to see this access denied message, check that you have the necessary permissions to access this application.
 
If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file must contain the credentials to let you use this webapp.

解決

修改 /webapps/manager/META_INF/context.xml文件,將文件中對訪問的來源受限設置注釋

<Context antiResourceLocking="false" privileged="true" >
 <!--注釋這里,去除對訪問權限的設置
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
     -->
</Context>

然后直接刷新頁面就行了,無需重啟tomcat

5.在maven中配置遠程Tomcat的管理員賬號

在本地maven的{MAVEN_HOME}/conf/settings.xml文件中節點下添加如下內容:

<!-- 配置可以操作tomcat的用戶名和密碼 -->
<server>
  <id>crocutax</id>
  <!-- server login name -->
  <username>tomcat</username>
  <!-- server login password -->
  <password>tomcat</password>
</server>

6.在項目中配置maven的tomcat7插件

<!-- 配置Tomcat插件 -->
<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.2</version>

	<configuration>
		<!-- 此處的名字必須和{MAVEN_HOME}/conf/settings.xml中配置的server節點的id一致-->
		<server>crocutax</server>
		<!--服務器端口號-->
		<port>8080</port>
		<!-- 項目發布的路徑,默認就是tomcat/webapps目錄,可以指定深層次目錄,
		留"/",則默認在webapps目錄下部署ROOT.war包-->
		<path></path>
		<!-- 注意tomcat7此處的url,不能隨意修改,后綴必須是text,不能是html.
		 如果是本地tomcat部署,用localhost和ip都可以 -->
		<url>http://localhost:8080/manager/text</url>
		<!--<url>http://117.62.110.110:8080/manager/text</url>-->
		<!--解決中文參數亂碼問題-->
		<uriEncoding>UTF-8</uriEncoding>
		<update>true</update>
		<!--配置在tomcat\conf\tomcat-users.xml中定義的用戶名-->
		<username>tomcat</username>
		<password>tomcat</password>
	</configuration>
</plugin>
  • server : 名字必須和{MAVEN_HOME}/conf/settings.xml中配置的server節點的id一致
  • port : 服務器端口號
  • path :項目發布的路徑,默認就是tomcat/webapps目錄,可以指定深層次目錄,留"/",則默認在webapps目錄下部署ROOT.war包
  • url : 注意tomcat7此處的url,不能隨意修改,后綴必須是text,不能是html. 如果是本地tomcat部署,用localhost和ip都可以uriEncoding :解決中文參數亂碼問題
  • update : 熱部署,否則后期會報錯
  • username :配置{TOMCAT_HOME}\conf\tomcat-users.xml中定義的用戶名
  • password :配置{TOMCAT_HOME}\conf\tomcat-users.xml中定義的密碼

7.在項目中啟動maven的tomcat部署命令

初次部署可以使用 “tomcat7:deploy” 命令(在tomcat的webapps下沒有Root文件夾時使用)

如果已經部署過使用 **“tomcat7:redeploy” **命令
若有時遇到項目沖突可以使用命令
-DskipTests的意思跳過測試

clean tomcat7:redeploy -DskipTests

使用的時候出現找不到文件的錯誤,重新編譯或者打包一下即可

使用IDEA如下圖操作即可


SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

當然也可以配置快捷啟動


SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置

也可使用IDE->Terminal 或 項目根目錄打開dos窗口,輸入maven命令

至此tomcat+maven的熱部署就配置完成了,再也不用為了繁瑣的打包部署而揪心了

總結

以上所述是小編給大家介紹的SSM項目頻繁打成war包部署,使用tomcat和maven實現熱部署配置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

叙永县| 昌宁县| 安远县| 克拉玛依市| 汪清县| 拜泉县| 镇宁| 湘阴县| 旌德县| 堆龙德庆县| 巫山县| 盘锦市| 延津县| 南涧| 高平市| 安吉县| 军事| 曲沃县| 肇东市| 万载县| 怀远县| 霞浦县| 隆化县| 山西省| 洪洞县| 蒙自县| 封丘县| 武川县| 阆中市| 太湖县| 兴文县| 额尔古纳市| 清水县| 洛宁县| 葵青区| 泰州市| 定西市| 邢台县| 崇阳县| 拉萨市| 山阴县|