第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

獲取依賴中文件的正確路徑

獲取依賴中文件的正確路徑

SMILET 2021-10-27 10:14:45
我有一個(gè) java 項(xiàng)目,它導(dǎo)入了我寫的一個(gè)模塊。調(diào)用 Java 項(xiàng)目并調(diào)用cg-lambda模塊cg-core。cg-core在cg-lambdaeg 中作為依賴項(xiàng)導(dǎo)入dependencies {    ...    compile 'com.cg:cg-core'    ...}我有一個(gè)cg-core名為的類,ApiConfiguration用于加載和解析 yaml 文件。package com.cg.config.guice;public class ApiConfiguration {    public static ApiConfiguration fromLocation() {        try {            String configurationLocation = "src/main/resources/configuration/env_local.yml";            final String absoluteFile = new File(configurationLocation).getAbsolutePath();            ....        } catch (Exception e) {        }    }    ....}yaml 文件位于 /Users/mark/repos/server-side/cg-core/src/main/resources/configuration/我ApiConfiguration.fromLocation()從一個(gè)班級打電話cg-lambda:import com.cg.config.guice.ApiConfiguration;public class OrderHandler {        public OrderHandler() {        final ApiConfiguration apiConfiguration =                    ApiConfiguration.fromLocation();        ....        ....當(dāng)我調(diào)試時(shí),我看到的absoluteFile是/Users/mark/repos/server-side/cg-lambda/src/main/resources/configuration/env_local.yml即路徑是cg-lambda,不是cg-core- 即使 ApiConfiguration 在cg-core. 是否有可能獲得正確的路徑?
查看完整描述

2 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

這是maven之類的路徑命名,所以我猜測src/main/resources被視為資源目錄,所以你可以假設(shè)這被認(rèn)為是一個(gè)類路徑資源,所以只需使用OrderHandler.class.getClassLoader().getResourceAsStream("配置/env_local.yml"); 問題是它是一個(gè) InputStream,所以你需要一個(gè)不同的 ApiConfiguration 構(gòu)造函數(shù)。但是您仍然無法獲得路徑,而只能加載您的資源。并嘗試這樣做,因?yàn)楫?dāng)您將此配置打包在 JAR/WAR 中時(shí),將無法使用路徑訪問它。



查看完整回答
反對 回復(fù) 2021-10-27
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于資源將打包在您的 cg-core 模塊中,并且當(dāng)您的應(yīng)用程序運(yùn)行時(shí),您提供的路徑將不存在。


加載文件和獲取絕對路徑的正確方法是。


String configurationLocation = "configuration/env_local.yml";


final String absoluteFile = new File(ApiConfiguration.class.getClassLoader().getResource(configurationFileLocation).getFile()).getAbsolutePath();



查看完整回答
反對 回復(fù) 2021-10-27
  • 2 回答
  • 0 關(guān)注
  • 186 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)