我使用莫內(nèi)塔爪哇貨幣1.3來(lái)獲得匯率:CurrencyUnit base = Monetary.getCurrency(...);CurrencyUnit term = Monetary.getCurrency(...);ExchangeRateProvider xrates = MonetaryConversions.getExchangeRateProvider();ExchangeRate xrate = xrates.getExchangeRate(base, term);如果我在 Eclipse 中運(yùn)行代碼,它可以正常工作。但是在使用 Maven 構(gòu)建一個(gè) jar 并從命令行運(yùn)行該 jar 之后,將返回 null。ExchangeRateProvider.getExchangeRate(base, term)我還嘗試指定交換率提供程序:在Eclipse中一切正常,從命令行中,它拋出一個(gè)貨幣異常,說(shuō)“無(wú)效的交換速率提供程序(未找到):ECB”ExchangeRateProvider xrates = MonetaryConversions.getExchangeRateProvider("ECB");這個(gè)問(wèn)題提到了同樣的問(wèn)題:“因?yàn)槿绻以跊](méi)有bp的情況下使用對(duì)money-api的依賴(lài),我會(huì)得到空值。我嘗試了接受的答案:ConversionQuery cq = ConversionQueryBuilder.of().setBaseCurrency(Base).setTermCurrency(Term).build();MonetaryAmount zero = FastMoney.zero(Base);ExchangeRateProvider xrates = MonetaryConversions.getExchangeRateProvider("ECB");CurrencyConversion cc = xrates.getCurrencyConversion(cq);ExchangeRate xrate = cc.getExchangeRate(zero);同樣沒(méi)有運(yùn)氣:在 Eclipse 中工作,但從命令行返回 null。這與構(gòu)建 jar 時(shí)的依賴(lài)關(guān)系有關(guān)嗎?我正在使用關(guān)閉最小化的Maven陰影插件?;蛘呶乙矐?yīng)該使用莫內(nèi)塔-bp嗎?這很奇怪,因?yàn)?moneta-bp 是作為 Java 7 的向后移植而構(gòu)建的,而我使用的是 Java 8。還有其他想法嗎?提前致謝!編輯:從日食運(yùn)行交換速率提供程序是 的一個(gè)實(shí)例。從命令行來(lái)看,它是 的一個(gè)實(shí)例。查看標(biāo)識(shí)速率提供程序的代碼,它返回 null 是有道理的。但是如何獲得化合物價(jià)格提供程序?org.javamoney.moneta.spi.CompoundRateProviderorg.javamoney.moneta.convert.internal.IdentityRateProvider
1 回答

慕絲7291255
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我沒(méi)有使用Maven陰影插件,而是嘗試了這個(gè)解決方案,現(xiàn)在似乎可以正常工作。
添加回答
舉報(bào)
0/150
提交
取消