Web項目替換jar包中的文件的方法

  經常遇到這樣的問題,需要修改jar包中的方法。應該如何做?

?

  1、有些很人性化的框架jar包,比如SpringSecurity,可以修改配置文件指定一個新建的類,讓類實現Jar包中的對應的接口就好了。

?

  2、大部分的jar包都不會有這么方便的功能的。有一個簡單的辦法就是,在項目中建一相同路徑相同名稱的文件,當項目啟動的時候,會優先使用本地編寫的類,覆蓋掉jar包中的內容。也可以是xml文件,properties屬性文件。

?

  3、還有一部份就算這樣,在項目啟動以后還是會調用jar包中的方法,我在使用gradle進行開發的時候就是這樣。這里就只能使用最直接的方法了,直接修改jar包中的方法,替換原有的jar包。這個是可以實現,只是有點麻煩,不寫了。

?

  4、第3中方法的缺陷就是如果Jar包不能在部署以后改動,就不能用了,比如maven項目下的jar包。此時還有一個終極辦法,如果你是使用tomcat進行部署的話,可以使用。


  tomcat默認有conf、lib、webapps這三個目錄,其中conf是放tomcat的配置文件,lib是放tomcat的jar包的,webapps中一般放的是我們項目的代碼。tomcat進行加載的時候,會優先調用conf和lib目錄下的文件。所以可以把要替換的xml文件放在conf目錄下,需要替換的jar包放在lib目錄下(需要提前將jar包中的對應方法進行修改)。這樣項目中可以下載jar包,部署后也不會出錯。大功告成!

?

  原創文章,歡迎轉載,轉載請注明出處!

轉載于:https://www.cnblogs.com/acm-bingzi/p/webModifyJar.html

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

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

相關文章

程序員技術練級攻略

導讀:本文是由陳皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者個人的學習經歷。每個程序員都希望自己能順利的升級到高的層次,您不妨按照下面的方法去做。 前言 你…

Linux shell 之 提取文件名和目錄名的一些方法

很多時候在使用Linux的shell時,我們都需要對文件名或目錄名進行處理,通常的操作是由路徑中提取出文件名,從路徑中提取出目錄名,提取文件后綴名等等。例如,從路徑/dir1/dir2/file.txt中提取也文件名file.txt&#xff0c…

bzoj 2752: [HAOI2012]高速公路(road)

Description Y901高速公路是一條重要的交通紐帶,政府部門建設初期的投入以及使用期間的養護費用都不低,因此政府在這條高速公路上設立了許多收費站。Y901高速公路是一條由N-1段路以及N個收費站組成的東西向的鏈,我們按照由西向東的順序將收費…

搭建DNS主、從服務實驗

此次我們的口號是:簡單、有趣上手DNS服務博主是一個言出必行de好人,(正經臉)上次轉載了有關DNS的基礎介紹,此次我們來通過實驗搭建DNS服務器從而更好的了解DNS搭建過程如何開始,且聽我細細道來首先我們通常…

GDB中應該知道的幾個調試方法

七、八年前寫過一篇《用GDB調試程序》,于是,從那以后,很多朋友在MSN上以及給我發郵件詢問我關于GDB的問題,一直到今天,還有人在問GDB的相關問題。這么多年來,有一些問題是大家反復在問的,一方面…

長沙java技術_長沙如何提高自身的Java技術

長沙如何提高自身的Java技術?Java自發行二十多年來,一直都是開發者的寵兒,在編程界的位置一直十分穩固。雖然Java人才需求量大,薪資水平高,但想要用Java語言勝任企業工作不容易。比如要成為一名Java架構師,…

strcpy與strcat函數原型

1.strcpy函數原型 char *my_strcpy(char *dest,const char *src) //const使在函數中不能修改*src其原先的值{   char *strDest dest; //保存原始的strDest   assert((dest!NULL)&&(src!NULL)); //檢驗參數,…

CCF 201312-4 有趣的數

試題編號:201312-4試題名稱:有趣的數時間限制:1.0s內存限制:256.0MB問題描述: 問題描述我們把一個數稱為有趣的,當且僅當:1. 它的數字只包含0, 1, 2, 3,且這四個數字都出現過至少一次…

java 代碼重用_Java 代碼重用:功能與上下文重用

我幾乎不需要討論為什么重用代碼是有利的。代碼重用通常使得程序開發更加快速,并使得 BUG 減少。一旦一段代碼被封裝和重用,那么只需要檢查很少的一段代碼即可確保程序的正確性。如果在整個應用程序中只需要在一個地方打開和關閉數據庫連接,那…

GCC-3.4.6源代碼學習筆記

大約4年前,我加入了GDNT - 北電網絡在中國的合資企業,參與3G UMTS無線接入網的研發工作。與GCC有了第一次親密的接觸(之前使用的是MS的VC)。彼時,北電在其諸如,UMTS、CDMA、及自行開發的眾多工具等項目中&a…

互聯網

2019獨角獸企業重金招聘Python工程師標準>>> 轉載于:https://my.oschina.net/u/3127489/blog/1550726

GCC筆記 命令行分析

1984年,Richard Stallman發起了自由軟件運動,GNU (Gnus Not Unix)項目應運而生,3年后,最初版的GCC橫空出世,成為第一款可移植、可優化、支持ANSI C的開源C編譯器。GCC最初的全名是GNU C Compiler,之后,隨著…

java 反射用法_Java 反射的概念與使用

一,反射的概念對于一個人來說,了解自己的能力、本事、特點,對于他去干事創業來說,是很重要的。同樣的,對于一門面向對象的語言來說,了解類(對象其實就是類的實現)本身也是重要的,可以在很多地方…

關于Unity中的Mesh Collider碰撞器

原來我的場景中有一個平面Plane帶Mesh Collider碰撞器組件,一個主角Hero帶有一個Box Collider碰撞器和有重力的Rigidbody剛體組件,主角可以放在平面上。 在導入場景后,隱藏平面Plane,給一個地板添加一個Mesh Collider碰撞器&#…

GCC常用選項使用詳解

通常所說的GCC是GUN Compiler Collection的簡稱,除了編譯程序之外,它還含其他相關工具,所以它能把易于人類使用的高級語言編寫的源代碼構建成計算機能夠直接執行的二進制代碼。GCC是Linux平臺下最常用的編譯程序,它是Linux平臺編譯…

java 井字棋 人機_井字游戲 人機對戰 java實現

package com.ecnu.Main;/*** 主函數觸發游戲*/public class MainApplication {public static void main(String[] args){TicTacToeGame ticTacToeGame new TicTacToeGame();ticTacToeGame.start();}}//TicTacToeGame 方法類import java.util.Scanner;public class TicTacToeGa…

Session(數據)共享的前后端分離Shiro實戰

1,前言本文期望描述如何使用Shiro構建基本的安全登錄和權限驗證。本文實戰場景有如下特殊需求:1,在集群和分布式環境實現session共享;2,前端只使用HTML/CSS/JS。因此無法直接使用Shiro提供的SessionManager&#xff0c…

讀書筆記(javascript 高級程序設計)

一. 數據類型: 1. undefined: 未聲明和未初始化的變量,typeof 操作符返回的結果都是 undefined;(建議未初始化的變量進行顯式賦值,這樣當 typeof 返回 undefined 時就知道是未聲明了,幫助定位問…

關于gcc擴展中的宏定義中用 # 和 ##

關于gcc擴展中的宏定義中用 "#" 和 "##"今天測試了宏定義中的 "#" 和 "##" 的區別。 結果如下: "#" 代表和一個字符串相連接 "##" 代表和一個符號連接,符號可以是變量,或另一…

java 年計算_java實現計算某年某月的天數

在計算某年某月的天數時,需要注意平年閏年。分析:閏年具體的判定方法就要看它的判定條件:四年一閏 , 百年不閏 ,400年再閏。而計算該年該月的天數,又分大月和小月,特殊月份2月之分。(視頻教程推…