只是探索Java的新版本,它的新模块系统,以及使用jshell。可能我的问题没有多大意义,但我只是好奇。
所以我想出了一个问题:有没有办法在jshell中创建模块?或者模块只能在module-info.java
?
答案 0 :(得分:6)
目前无法使用JShell创建模块,也不是Goal of JShell。
JShell API将提供JShell的所有评估功能。 输入到API的代码片段称为 的
"snippets"
即可。 jshell工具还将使用JShell完成API 确定何时输入不完整(并且必须提示用户 更多),如果添加分号则完成(其中 例如,工具将附加分号)以及如何完成 使用选项卡请求完成时输入。
代码段必须与以下JLS语法产品之一相对应:
snippet
可能无法声明包或模块。所有JShell代码都放在unnamed module 中的单个包中。包的名称由JShell控制。
事实上,尝试在JShell中使用ModuleDeclaration
并不是公认的语法,也不能直接评估或使用/edit
: < / p>
然而,可以使用以下选项有效地利用JShell中的现有模块以及片段评估 -
--module-path <path>
Specify where to find application modules
--add-modules <module>(,<module>)*
Specify modules to resolve, or all modules on the
module path if <module> is ALL-MODULE-PATHs