我正在尝试将我的一个项目分成几个Jigsaw模块。一个痛点是在多个模块中使用.jar库,并在其中一些模块中扩展它们的功能。
更具体地说,我在一个minimal.json-info.java文件中通过“需要可传递的模块”使用minimal-json-0.9.1.jar,并将模块设置在eclipse中的模块路径上。然后我创建了这个接口:
import com.eclipsesource.json.JsonObject;
public interface JsonSerializable {
JsonObject toJson();
}
请注意,JsonObject来自minimal.json库。
现在,我在eclipse中收到一条警告消息:“JsonObject类型不是从这个模块导出的”。我怎样才能摆脱它?
发布于 2018-07-29 00:37:46
Suggestion:不要只依赖于一个自动模块,并将你的模块描述符改成使用
requires minimal.json;
解释:虽然包含transitive
修饰符,但隐含的可读性由requires
子句表示。这意味着依赖于您的模块requires your.module
的任何模块也将能够读取minimal.json
模块。
来自eclipse的警告似乎强调了相同的一点,即在需要您的模块的任何其他模块中使用JsonObject
并不是因为您的模块显式地导出了包含类的包,而是因为可传递依赖。
https://stackoverflow.com/questions/51572600
复制相似问题