JAVA war包部署到tomcat,jar包衝突問題的解決辦法,以及原理剖析。
1.問題描述
如果我們的java工程需要引入javax.servlet,jsp-api 等jar包。將工程編譯為war包後,部署到tomcat伺服器上當訪問這些包相關類時就會報錯,錯誤提示如下。原因就是我們war包裡面的jar包與tomcat依賴的jar包衝突了。
2.解決辦法:
2.1 檢視哪些jar包出現了衝突:
tomcat安裝目錄下有個lib資料夾,war包中同樣有個lib資料夾,兩個資料夾中相同的jar包就是衝突的jar包。
2.2 解決版本就是將war包中的衝突jar包刪除掉就可以了。(對於maven工程,將pom依賴 新增<scope>provided</scope>,war中就回刪除對應的jar包。)
3.為什麼war包中刪除了對應的jar包,只要tomcat中有同樣的jar包程式就能正常執行?
war包實質上包含了開發的java程式碼編譯出的class檔案,以及依賴的jar包。編譯時這些jar包的作用只是起到檢查import檔案是否找得到的作用,對生成class檔案是沒有作用的。因此最後程式執行時,使用war包中的jar包還是用tomcat中的jar包是一樣的效果。
相關推薦
JAVA war包部署到tomcat,jar包衝突問題的解決辦法,以及原理剖析。
1.問題描述 如果我們的java工程需要引入javax.servlet,jsp-api 等jar包。將工程編譯為war包後,部署到tomcat伺服器上當訪問這些包相關類時就會報錯,錯誤提示如下。原因就是我們war包裡面的jar包與tomcat依賴的jar包衝突了。 2.
maven的jstl-api的jar包與Tomcat的jar包依賴衝突
maven的jstl-api的jar包所依賴的jar包與Tomcat的jar包依賴衝突 jstl-api的編譯依賴有: tomcat裡面同樣有servlet-api和jsp-api, 都有時就會發生衝突導致錯誤。 所以對jstl-
linux部署Tomcat響應很慢的解決辦法
用瀏覽器訪問tomcat主頁,會發現超級慢,瀏覽器一直在等待伺服器的響應,從這裡可以看出能夠接入8080埠,但是伺服器沒有返回資料。(這個問題折騰幾天) 後來在網上找了無數資料,終於發現了原因。tomcat8.0在騰訊雲ubuntu14.04上有bug。問題原因:隨機數引起
Maven Dependencies missing jar的有效解決辦法,親測有效!!!
再ide中引入新的maven專案的時候很有可能出現jar 丟失這種現象,解決辦法如下: 專案右鍵maven->update project。 如果還有 missing 的jar,再專案右鍵maven->update project,但是這次勾選 Force Up
同一個dom上加單擊事件和雙擊事件的衝突解決辦法,雙擊事件方法進不去
data() { return { TimeFn:''//定義公用變數}} $(".proManage fieldset ul li").dblclick(function(){//雙擊播放專案 //雙擊事件執行的方法 this.TimeFn = ""}) $(".proManage
文字超出寬度後,顯示省略號的解決辦法,以及flex與超出顯示省略號衝突問題
文字超出寬度後,顯示省略號的解決辦法overflow:hidden; white-space:nowrap; text-overflow:ellipsis;需要注意的是,在移動端在flex元素中的內容進
Listview、RecyclerView中的item中包含可以點選的控制元件,點選衝突解決辦法
在item的根佈局中新增: android:descendantFocusability="blocksDescendants" 可點選的子item新增 android:focusable="f
git 提交衝突解決辦法,回退更新
如果系統中有一些配置檔案在伺服器上做了配置修改,然後後續開發又新新增一些配置項的時候, 在釋出這個配置檔案的時候,會發生程式碼衝突: error: Your local changes to the following files would beoverwritten b
springboot打war包部署tomcat服務器,以及表單提交數據亂碼處理
style 但是 thymeleaf move javaweb 1.8 生成 地址欄 defaults 小白覺得springboot打成jar包直接使用內嵌的tomcat或jetty容器(java -jar xxx.jar)運行項目不利於定位問題,我還是習慣於查看tom
spring boot 專案maven打war包,部署Tomcat啟動時spring boot未載入,專案訪問404
寫了個restful風格的spring boot專案,maven打成war包後部署Tomcat後,啟動頁面沒有看到spring boot載入的資訊,即控制檯沒有打印出那個大大的spring boot 字串,這是spring boot沒有被容器載入,修改方法如下:@Spring
spingboot pom文件 打成war 包 熱部署 引入第三方jar包
resources pat -- 移除 war 註釋 http cto mysq <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0
今天遇到一個怪異的問題,maven生成專案war包中有一個Jar包不是我指定的版本,執行時會找不到符號,o(╥﹏╥)o
我要求的jar包: 這是我parent專案中pom檔案的依賴管理 這是我要生成war包那個工程最後依賴的jar包,這個時候它們的版本號還是一致的 最後專案生成的: 下圖是Dmaven.test.skip=true 跳過測試(同時會跳過test compile)生成的
IDEA maven專案部署到tomcat的jar包找不到問題
IDEA在 maven專案中新增web模組 首先選擇file目錄下的Project Structure,然後在Modules中在自己的專案下新增相應模組,這裡是新增web模組 之後就是配置tomcat,這裡注意要生成artifacts,直接點fix就可以生成 to
springboot 部署 java.lang.NoClassDefFoundError(第三方依賴jar包的問題)
springboot+maven,老的專案中有好多第三方的jar包或者是自己的jar包,maven庫上沒有。 具體做法: 1.新建個lib目錄放jar包,我建在了src下; <!--新增外部依賴--> <dependency>
java程式在eclipse上打jar包,Linux上成功執行
、eclipse下的java專案結構如下圖所示: 2、manifest.mf檔案定義如下所示 注意: ① manifest.mf檔案最後一行必須是一個空行。 ② lib/dom4j-1.6.1.jar和lib/jaxen-1.1-beta-7.jar之
windos上安裝jenkins部署springboot的jar包(未執行,只是在打包並上傳linux成功了)
流程: jenkins從linux上的svn拉取程式碼,到本地(windos)的workspace,然後通過構建,打包,部署到linux上 環境: windos上安裝:maven jdk jenkins linux上:安裝svn,jdk 1.安裝:(自行查詢網上),說下幾個注意點
Maven打包Java版的spark程式到jar包,本地Windows測試,上傳到叢集中執行
作者:翁鬆秀 Maven打包Java版的spark程式到jar包,本地Windows測試,上傳到叢集中執行 文章目錄 Maven打包Java版的spark程式到jar包,本地Windows測試,上傳到叢集中執行 Step1
關於springboot 打war包 部署tomcat 無法啟動報錯的問題
springboot 預設是通常是打包成jar的,裡面會內建一個tomcat容器 有時候我們需要使用以前打成war包的方式部署到對應的tomcat中, 具體springboot 怎麼從jar改成war的打包方式我就不細說了,百度一大把 基本就是pom加一
SpringBoot專案打war包部署Tomcat教程
一、簡介 正常來說SpringBoot專案就直接用jar包來啟動,使用它內部的tomcat實現微服務,但有些時候可能有部署到外部tomcat的需求,本教程就講解一下如何操作 二、修改pom.xml 將要部署的module的pom.xml檔案<packaging>節點設定為war <!-
springboot應用war包部署tomcat
springboot的應用打包預設是打成jar包,並且如果是web應用的話,預設使用內建的tomcat充當servlet容器,但畢竟內建的tomcat有時候並不滿足我們的需求,如有時候我們想叢集或者其他一些特性優化配置,因此我們需要把springboot的jar應用打包成w