我想用ResponseSubscribers.ByteArraySubscriber
那个在jdk.internal.net.http
. 我使用openjdk11。
我尝试了两件事:
1/ 我添加到 Maven 编译器插件导出模块
<compilerArgs>
<arg>--add-exports</arg><arg>java.net.http/jdk.internal.net.http=fr.app</arg>
</compilerArgs>
-> 它编译!
2/ 我创建了 module-info.java
module fr.app {
requires java.net.http;
requires com.fasterxml.jackson.core;
requires com.fasterxml.jackson.databind;
requires com.fasterxml.jackson.datatype.jsr310;
exports fr.app;
exports fr.app.parser;
}
运行使用类导入的 junit 测试时出错jdk.internal.net.http
fr.app.AppException:java.io.IOException:类 fr.app.MyClass$BodySubscribers(在未命名的模块 @0x6537cf78 中)无法访问类 jdk.internal.net.http.ResponseSubscribers$ByteArraySubscriber(在模块 java.net.http 中)因为模块 java.net.http 不会将 jdk.internal.net.http 导出到未命名的模块 @0x6537cf78
我知道BodySubscribers
只能在命名模块中导出。但是我的模块名称fr.app
对吗?