国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何解決使用若依前后端分離打包部署到服務(wù)器上后主包無(wú)法找到從包中的文件的問(wèn)題?如何在 Java 代碼中訪(fǎng)問(wèn) jar 包中的資源文件?

這篇具有很好參考價(jià)值的文章主要介紹了如何解決使用若依前后端分離打包部署到服務(wù)器上后主包無(wú)法找到從包中的文件的問(wèn)題?如何在 Java 代碼中訪(fǎng)問(wèn) jar 包中的資源文件?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、說(shuō)明

在使用若依前后端分離打包部署到服務(wù)器上后,可能會(huì)出現(xiàn)主包無(wú)法找到從包中的文件的問(wèn)題,這個(gè)問(wèn)題通常是由于資源文件沒(méi)有正確地打包到 jar 包中導(dǎo)致的。本文將介紹如何解決這個(gè)問(wèn)題,包括如何在 Java 代碼中訪(fǎng)問(wèn) jar 包中的資源文件、如何將資源文件復(fù)制到系統(tǒng)臨時(shí)目錄中以及如何獲取復(fù)制后的文件在系統(tǒng)中的絕對(duì)路徑。

使用若依前后端分離打包部署到服務(wù)器上后,主包是ruoyi-admin.jar,如何寫(xiě)路徑,才能找到從包下的ruoyi-remote-3.8.5.jar!/burn/burnhex/hex2bin.exe文件?

二、在 Java 代碼中訪(fǎng)問(wèn) jar 包中的資源文件

方法1 使用 ClassLoader 類(lèi)來(lái)加載資源并返回其 URL

ClassLoader classLoader = getClass().getClassLoader();
URL resourceUrl = classLoader.getResource("burn/burnhex/hex2bin.exe");
String resourcePath = resourceUrl.getPath();

在上面的示例中,我們首先獲取當(dāng)前類(lèi)的 ClassLoader 實(shí)例。然后,我們使用 getResource() 方法加載 burn/burnhex/hex2bin.exe 資源,并返回其 URL。最后,我們可以使用 getPath() 方法獲取該資源在文件系統(tǒng)中的路徑。

在使用 getResource() 方法時(shí),路徑應(yīng)該是相對(duì)于類(lèi)路徑的。因此,如果 ruoyi-remote-3.8.5.jar 文件在類(lèi)路徑下,則可以直接使用 burn/burnhex/hex2bin.exe 路徑。如果該文件不在類(lèi)路徑下,則您需要使用絕對(duì)路徑來(lái)加載該資源。例如,如果您的 ruoyi-remote-3.8.5.jar 文件在 /opt/ruoyi/lib 目錄下,則可以使用以下路徑:

URL resourceUrl = classLoader.getResource("/opt/ruoyi/lib/ruoyi-remote-3.8.5.jar!/burn/burnhex/hex2bin.exe");

方法2 使用 ResourceUtils.getURL() 方法來(lái)獲取資源文件的 URL

使用 ResourceUtils.getURL() 方法來(lái)獲取資源文件的 URL,然后使用 FileUtils.getFile() 方法將其轉(zhuǎn)換為文件對(duì)象。這將返回一個(gè) File 對(duì)象,可以在您的代碼中使用它。

URL url = ResourceUtils.getURL("classpath:burn/burnhex/hex2bin.exe");
File file = FileUtils.getFile(url);

方法3 使用 ClassLoader.getResourceAsStream()方法來(lái)加載資源文件。

由于該文件位于 jar 包中,因此您不能像操作文件系統(tǒng)中的文件一樣直接訪(fǎng)問(wèn)它。您需要使用類(lèi)似于 getResourceAsStream() 的方法來(lái)讀取 jar 包中的文件。您可以使用 ClassLoader 類(lèi)的 getResourceAsStream() 方法來(lái)獲取 jar 包中的資源文件。使用以下代碼來(lái)獲取 burn/burnhex/cmd.bin 文件的 InputStream 對(duì)象:

InputStream inputStream = getClass().getClassLoader().getResourceAsStream("burn/burnhex/hex2bin.exe");

方法4 提取到系統(tǒng)臨時(shí)文件夾中

如果您需要在應(yīng)用程序中頻繁地訪(fǎng)問(wèn) jar 包中的資源文件,那么最好將這些文件提取到文件系統(tǒng)中以提高性能。可以使用類(lèi)似于以下代碼的方法將文件提取到文件系統(tǒng)中:

File file = new File(System.getProperty("java.io.tmpdir"), "hex2bin.exe");
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("burn/burnhex/hex2bin.exe");
Files.copy(inputStream, file.toPath(), StandardCopyOption.REPLACE_EXISTING);
String exePath = file.getAbsolutePath();

這將把 burn/burnhex/hex2bin.exe 文件從 jar 包中提取到系統(tǒng)臨時(shí)文件夾中的 hex2bin.exe 文件中。然后,您可以使用 file 對(duì)象來(lái)訪(fǎng)問(wèn)該文件。

這段代碼的作用是將項(xiàng)目中的 hex2bin.exe 文件復(fù)制到系統(tǒng)臨時(shí)目錄中,以便后續(xù)的操作可以使用該文件。具體來(lái)說(shuō),這段代碼做了以下幾件事情:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-836786.html

  1. 創(chuàng)建一個(gè) File 對(duì)象 file,該對(duì)象表示系統(tǒng)臨時(shí)目錄下的 hex2bin.exe 文件。
  2. 從項(xiàng)目的 burn/burnhex 目錄中獲取 hex2bin.exe 文件的輸入流 inputStream。
  3. 使用 Files.copy 方法將 inputStream 中的數(shù)據(jù)復(fù)制到 file 對(duì)應(yīng)的文件中。
  4. 如果 file 對(duì)應(yīng)的文件已經(jīng)存在,則使用 StandardCopyOption.REPLACE_EXISTING 選項(xiàng)來(lái)覆蓋原有的文件。
  5. 使用 file.getAbsolutePath() 方法獲取復(fù)制后的 hex2bin.exe 文件在系統(tǒng)中的絕對(duì)路徑

到了這里,關(guān)于如何解決使用若依前后端分離打包部署到服務(wù)器上后主包無(wú)法找到從包中的文件的問(wèn)題?如何在 Java 代碼中訪(fǎng)問(wèn) jar 包中的資源文件?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ruoyi若依前后端分離項(xiàng)目部署到服務(wù)器后,PUT DELETE請(qǐng)求403錯(cuò)誤,GET POST請(qǐng)求正常

    后端打包方式war,部署到tomcat8, PUT DELETE請(qǐng)求報(bào)403錯(cuò)誤,網(wǎng)上有三種說(shuō)法 第一種是跨域請(qǐng)求問(wèn)題 第二種是服務(wù)器沒(méi)有放開(kāi)了PUT DELETE請(qǐng)求,需要前端添加header ruoyi vue 自動(dòng)生成代碼PUT DELETE為http不安全方法,這個(gè)怎么解決安全問(wèn)題 · Issue #I43AX6 · 若依/RuoYi-Vue - Gitee.com 用域名訪(fǎng)問(wèn)

    2024年01月17日
    瀏覽(70)
  • 【若依后管框架(前后端分離版)】 如何部署若依以及添加自己的功能模塊和菜單

    【若依后管框架(前后端分離版)】 如何部署若依以及添加自己的功能模塊和菜單

    【若依后管框架(前后端分離版)】 如何添加自己的功能模塊以及菜單 【文章開(kāi)始之前,先說(shuō)一句,若依牛逼!】 1 若依框架簡(jiǎn)介 RuoYi-Vue 是一個(gè) Java EE 企業(yè)級(jí)快速開(kāi)發(fā)平臺(tái),基于經(jīng)典技術(shù)組合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),內(nèi)置模塊如:部門(mén)管理、角色用戶(hù)、菜

    2024年02月05日
    瀏覽(15)
  • Java——Linux使用Docker部署若依前后端分離版【保姆級(jí)教程】

    Java——Linux使用Docker部署若依前后端分離版【保姆級(jí)教程】

    目錄 一、項(xiàng)目規(guī)劃與前置工作 1.1、docker所需鏡像 1.2、使用工具? 1.3、防火墻與安全組的配置? 1.4、域名解析、備案、SSL證書(shū)的準(zhǔn)備(可選) 二、Docker和鏡像安裝 2.1、Docker安裝 2.1.1、檢查環(huán)境 2.1.2、搭建gcc環(huán)境(gcc是編程語(yǔ)言譯器) 2.1.3、安裝需要的軟件包 2.1.4、裝鏡像倉(cāng)

    2024年02月02日
    瀏覽(23)
  • 若依框架(前后端分離) 之IDEA中Maven后端打包

    若依框架(前后端分離) 之IDEA中Maven后端打包

    Maven是一個(gè)跨平臺(tái)的項(xiàng)目管理工具。作為Apache組織的一個(gè)頗為成功的開(kāi)源項(xiàng)目,其主要服務(wù)于基于Java平臺(tái)的項(xiàng)目創(chuàng)建,依賴(lài)管理和項(xiàng)目信息管理,是一個(gè)自動(dòng)化構(gòu)建工具。maven是Apache的頂級(jí)項(xiàng)目,解釋為“專(zhuān)家,內(nèi)行”,它是一個(gè)項(xiàng)目管理的工具,maven自身是純java開(kāi)發(fā)的(

    2024年02月09日
    瀏覽(20)
  • 若依前后端分離項(xiàng)目docker部署

    若依前后端分離項(xiàng)目docker部署

    1.centos 7 2.docker 3.mysql5.x 8.x 4.redis 5.nginx 前往 Gitee 下載頁(yè)面(https://gitee.com/y_project/RuoYi-Vue (opens new window))下載解壓到工作目錄 3.1 后端 1.下載代碼到本地后,解壓完成,用idea打開(kāi)項(xiàng)目 2.創(chuàng)建數(shù)據(jù)庫(kù):ry-vue 3.在創(chuàng)建好數(shù)據(jù)庫(kù)后,運(yùn)行以下兩個(gè)sql文件生成數(shù)據(jù)表(quartz.sql、ry_202208

    2024年02月05日
    瀏覽(25)
  • Spring Boot+Vue前后端分離項(xiàng)目如何部署到服務(wù)器

    Spring Boot+Vue前后端分離項(xiàng)目如何部署到服務(wù)器

    ?? 前言 歡迎來(lái)到我的技術(shù)小宇宙!?? 這里不僅是我記錄技術(shù)點(diǎn)滴的后花園,也是我分享學(xué)習(xí)心得和項(xiàng)目經(jīng)驗(yàn)的樂(lè)園。?? 無(wú)論你是技術(shù)小白還是資深大牛,這里總有一些內(nèi)容能觸動(dòng)你的好奇心。?? ?? 洛可可白 :個(gè)人主頁(yè) ?? 個(gè)人專(zhuān)欄 :?前端技術(shù) ?后端技術(shù) ?? 個(gè)人

    2024年04月11日
    瀏覽(108)
  • 用docker一鍵部署前后端分離若依系統(tǒng)

    用docker一鍵部署前后端分離若依系統(tǒng)

    目錄 一、搭建局域網(wǎng) 1.1、介紹前后端項(xiàng)目搭建 1.2、操作 二、安裝redis 測(cè)試 三、安裝Mysql 檢查 遠(yuǎn)程連接 ?注意:0- 1-工具原因,復(fù)制進(jìn)去記得刪除?編輯 工具測(cè)試 四、部署后端服務(wù) 4.1、創(chuàng)建數(shù)據(jù)庫(kù) 4.2、使用Dockerfile自定義鏡像 測(cè)試 測(cè)試 五、前端部署 5.1、nginx部署 分析n

    2024年03月16日
    瀏覽(29)
  • 若依前后端分離項(xiàng)目在騰訊云的部署

    若依前后端分離項(xiàng)目在騰訊云的部署

    本文章使用了騰訊云提供的寶塔系統(tǒng) 在部署項(xiàng)目和配置環(huán)境的時(shí)候會(huì)相對(duì)其他方法更容易一些? 購(gòu)買(mǎi)騰訊云服務(wù)器 騰訊云11.11云上盛惠_騰訊云11.11優(yōu)惠活動(dòng)-騰訊云 (tencent.com) ?我購(gòu)買(mǎi)的是2核4g的服務(wù)器 之前聽(tīng)老師建議最好2核4g起步 ? ?購(gòu)買(mǎi)的時(shí)候選擇默認(rèn)的寶塔系統(tǒng)就ok了不

    2024年02月06日
    瀏覽(23)
  • 【Linux】Nginx安裝使用負(fù)載均衡及動(dòng)靜分離(前后端項(xiàng)目部署),前端項(xiàng)目打包

    【Linux】Nginx安裝使用負(fù)載均衡及動(dòng)靜分離(前后端項(xiàng)目部署),前端項(xiàng)目打包

    ???????? Nginx 是一款高性能的 Web 服務(wù)器和 反向代理服務(wù)器 ,也可以充當(dāng)負(fù)載均衡器、HTTP 緩存和安全防護(hù)設(shè)備。它的特點(diǎn)是內(nèi)存占用小、穩(wěn)定性高、并發(fā)性強(qiáng)、易于擴(kuò)展,因此在互聯(lián)網(wǎng)領(lǐng)域得到了廣泛的使用。 總結(jié)出以下三點(diǎn): 負(fù)載均衡 :流量分?jǐn)?反向代理 :處理外

    2024年02月06日
    瀏覽(32)
  • 若依RuoYi-Vue項(xiàng)目部署(前后端分離版本)

    若依RuoYi-Vue項(xiàng)目部署(前后端分離版本)

    RuoYi 是一個(gè)后臺(tái)管理系統(tǒng),基于經(jīng)典技術(shù)組合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的讓開(kāi)發(fā)者注重專(zhuān)注業(yè)務(wù),降低技術(shù)難度,從而節(jié)省人力成本,縮短項(xiàng)目周期,提高軟件安全質(zhì)量。 若依是作者給女兒取的名字(寓意:你若不離不棄,我必生死相依) 在線(xiàn)體驗(yàn) 若

    2023年04月08日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包