What I am Using
Java 9 + Maven + HttpClient (from java 9) jdk.incubator.http.HttpClient
Problem
When building my project with maven I get the following error
[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
Line 4 of Foo is
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
Note
Sorry, if you think this has an oblivious fix, I am not very good with maven and never have had to deal with the incubator classes before. I have searched for the error but haven't found anything useful. Thanks for the help.
解决方案
While creating a module, you need to create a module-info.java class at the topmost level of your packages which shall thereafter include
module yourModule {
requires jdk.incubator.httpclient;
}
ensuring that the package jdk.incubator.http exported by the module jdk.incubator.httpclient is visible to your module.
Alternatively, to create a regular classpath application, you can
Compile using:-
maven-compiler-plugin
3.7.0
9
9
--add-modules
jdk.incubator.httpclient
Run using:-
java -jar --add-modules=jdk.incubator.httpclient yourJar.jar