首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java9选项-- -XaddExports .-XaddExports未被识别

Java9选项-- -XaddExports .-XaddExports未被识别
EN

Stack Overflow用户
提问于 2016-10-28 20:55:45
回答 1查看 18.2K关注 0票数 9

我下载了最新的jdk9构建:

代码语言:javascript
运行
复制
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+142)
Java HotSpot(TM) Server VM (build 9-ea+142, mixed mode)

当我执行

代码语言:javascript
运行
复制
/path/jdk-9/bin/java -X

我认为有这样的选择:

代码语言:javascript
运行
复制
--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.

但当我尝试使用这个选项时:

代码语言:javascript
运行
复制
/path/jdk-9/bin/java --add-exports:java.base/jdk.internal.ref=ALL-UNNAMED -jar some.jar 

我得到:

代码语言:javascript
运行
复制
Unrecognized option: --add-exports:java.base/jdk.internal.ref=ALL-UNNAMED

-XaddExports也是如此,我在一些帖子中看到了这一点。

,我在这里做错什么了?

我需要一个特殊的拼图jdk9发行版吗?老实说,我对不同的jdk9版本有点困惑;)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 23:04:44

这两个标志的语法略有不同。在某个时候(我认为这是构建9-ea+113),JVM从-XaddExports切换到了--add-exports语法,这是9月293工作的一部分,目的是实现命令行参数的GNU风格语法。

当前语法:

代码语言:javascript
运行
复制
--add-exports <module>/<module>/<package>=<target-module>(,<target-module>)*
--add-reads <module>=<target-module>(,<target-module>)*

注意:一些实用程序可能难以接受新的--key value风格的参数,因为它们之间有一个空格,在这种情况下,您也可以在中间放一个等号(即--key=value)来满足这些实用程序。

旧语法:

代码语言:javascript
运行
复制
-XaddExports:<module>/<module>/<package>=<target-module>(,<target-module>)*
-XaddReads:<module>=<target-module>(,<target-module>)*

不幸的是,很容易错过冒号更改的空间。我自己也搞砸过好几次了。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40313090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档