我下载了最新的jdk9版本:
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+142)
Java HotSpot(TM) Server VM (build 9-ea+142, mixed mode)
Run Code Online (Sandbox Code Playgroud)
当我执行
/path/jdk-9/bin/java -X
Run Code Online (Sandbox Code Playgroud)
我看到了选项:
--add-exports <module>/<package>=<target-module>(,<target-module>)*
updates <module> to export <package> to <target-module>,
regardless of module declaration.
<target-module> can be ALL-UNNAMED to export to all
unnamed modules.
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用此选项时:
/path/jdk-9/bin/java --add-exports:java.base/jdk.internal.ref=ALL-UNNAMED -jar some.jar
Run Code Online (Sandbox Code Playgroud)
我明白了:
Unrecognized option: --add-exports:java.base/jdk.internal.ref=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)
-XaddExports我在一些帖子中看到的相同.
我在这做错了什么?
我需要一个特殊的拼图jdk9发行版吗?说实话,我对不同的jdk9版本有点困惑;)
And*_*ert 13
这两个标志的语法略有不同.在某些时候(我认为它是构建9-ea + 113),JVM切换-XaddExports到--add-exports语法,作为JEP 293努力的一部分,旨在实现命令行参数的GNU风格语法.
目前的语法:
--add-exports <module>/<module>/<package>=<target-module>(,<target-module>)*
--add-reads <module>=<target-module>(,<target-module>)*
Run Code Online (Sandbox Code Playgroud)
注意:某些实用程序可能无法接受新--key value样式的参数,因为它们之间存在空格,在这种情况下,您也可以在中间放置一个等号(即--key=value)来满足这些实用程序.
旧语法:
-XaddExports:<module>/<module>/<package>=<target-module>(,<target-module>)*
-XaddReads:<module>=<target-module>(,<target-module>)*
Run Code Online (Sandbox Code Playgroud)
不幸的是,很容易错过结肠变化的空间.我自己搞了好几次.
| 归档时间: |
|
| 查看次数: |
5699 次 |
| 最近记录: |