在Java9中使用带有Maven的Incubator Http类
我在用什么
Java 9 + Maven + HttpClient(来自java 9) jdk.incubator.http.HttpClient
问题
使用maven构建项目时出现以下错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project Core: Compilation failure: Compilation failure: [ERROR] Foo.java:[4,21] package jdk.incubator.http is not visible
Foo
第4行是
import jdk.incubator.http.HttpClient;
的pom.xml
4.0.0 me.bar foo 0.0.0-SNAPSHOT Core ${project.artifactId} ${project.basedir}/src org.apache.maven.plugins maven-clean-plugin 3.0.0 org.apache.maven.plugins maven-compiler-plugin 3.7.0 9 9 org.apache.maven.plugins maven-shade-plugin 3.1.0 package shade true
注意
对不起,如果您认为这有一个不经意的修复,我对maven不太好,从来没有必须处理孵化器课程。 我搜索了错误,但没有找到任何有用的东西。 谢谢您的帮助。
在创建模块时 ,您需要在包的最顶层创建一个module-info.java
类,其后将包括
module yourModule { requires jdk.incubator.httpclient; }
确保模块jdk.incubator.http
导出的包jdk.incubator.http
对您的模块可见。
或者 ,要创建常规类路径应用程序,您可以
编译使用: –
maven-compiler-plugin 3.7.0 9 9 --add-modules jdk.incubator.httpclient
运行使用: –
java -jar --add-modules=jdk.incubator.httpclient yourJar.jar