You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java Money API做USD转EUR时报DefaultMonetaryConversionsSingletonSpi实例化错误

Java Money API 实例化报错排查解决

错误根因

你遇到的报错核心是依赖配置错误和版本不兼容问题:

  1. 依赖中给moneta指定了<type>pom</type>,导致实现类的jar包没有被正确引入项目
  2. 1.2.1版本的moneta与对应的Java Money API规范版本方法签名不匹配,触发NoSuchMethodError

排查步骤

  • 打开Eclipse中pom.xml的「Dependency Hierarchy」视图,搜索javax.money、org.javamoney相关依赖,排查是否存在多版本冲突的情况,排除其他依赖传递引入的低版本API包
  • 检查当前moneta依赖配置是否存在多余的type配置

解决步骤

  1. 修正pom依赖配置,删除moneta依赖的<type>pom</type>配置,推荐升级到兼容性更好的稳定版本,依赖配置如下:
<!-- Java Money 核心API -->
<dependency>
  <groupId>javax.money</groupId>
  <artifactId>money-api</artifactId>
  <version>1.1</version>
</dependency>
<!-- Java Money 官方实现Moneta -->
<dependency>
  <groupId>org.javamoney</groupId>
  <artifactId>moneta</artifactId>
  <version>1.4.2</version>
</dependency>
  1. 如果需要使用汇率转换功能,额外增加转换扩展依赖:
<dependency>
  <groupId>org.javamoney</groupId>
  <artifactId>javamoney-conversion</artifactId>
  <version>1.4.2</version>
</dependency>
  1. 执行Maven clean 命令清理旧的编译缓存,右键项目选择「Maven - Update Project」刷新依赖配置后重新运行项目即可。

内容的提问来源于stack exchange,提问作者Waleed Asif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:39:00