我在java模块
MyClass
中有一个类com.example.mymodule
,需要使用com.fasterxml.jackson.databind.ObjectMapper
。
尝试运行应用程序时,出现以下错误:
java.lang.IllegalAccessError:类 com.example.MyClass (在模块中 com.example.mymodule) 无法访问类 com.fasterxml.jackson.databind.ObjectMapper(在模块中 com.fasterxml.jackson.databind)因为模块 com.example.mymodule 不读取模块 com.fasterxml.jackson.databind
我尝试将
requires com.fasterxml.jackson.databind;
添加到 mymodule
中,但随后出现错误“com.fasterxml.jackson.databind 无法解析为模块”。
我正在使用 Maven,并且我的依赖项中有最新的
jackson-databind:2.18.0
。罐子本身不含 module-info.java
。
我也尝试过使用
requires jackson.databind;
但后来出现错误:
java.lang.module.FindException:找不到模块 jackson.databind, com.example.mymodule 需要”
所以我使用的是
jackson-databind
版本 2.18.0
并且 Eclipse 在 jar 中没有找到 module-info.class
。降级到 2.17.2
解决了问题。
显然我不是第一个遇到这个问题的人。