Java 9 HttpClient java.lang.NoClassDefFoundError:jdkincubatorhttp HttpClient

Java 9 HttpClient java.lang.NoClassDefFoundError:jdkincubatorhttp HttpClient,第1张

Java 9 HttpClient java.lang.NoClassDefFoundError:jdk / incubator / http /HttpClient

执行期间的区别是使用类路径模块路径。在声明 JEP11#孵化器模块
要注意的是如

…默认情况下,类路径上的应用程序不解析孵化器模块。

所以为了使用类路径执行代码

类路径上的应用程序必须使用

--add-modules
命令行选项来请求解析孵化器模块。


如果要在不使用该

--add-modules
选项的情况下执行,则在创建新的
module
并尝试执行
Main
该类时,请确保使用参数使用模块路径执行java命令:

-p or --module-path <module path>

从以分号(;)分隔的目录列表中搜索目录。每个目录都是模块目录。

-m or --module <module>/<mainclass

指定要解析的初始模块的名称,如果模块未指定,则指定要执行的主类的名称。

完整的命令将是:

.../jdk-9.0.1.jdk/Contents/Home/bin/java        -p .../jdk9-httpincubate-maven/target/classes        -m jdk.httpincubate.maven/http2.Main

注意事项

  • 我在GitHub上创建的示例项目中也遵循上述目录结构,以复制相同的内容。

  • 只是添加到其中,而没有进行任何公开宣传,我使用的是intelliJ的2017.3 EAP,它还允许我 运行 不包含VM参数的Main类(使用包含上述共享参数的命令)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5500077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存