在Java 9中使用JShell创建模块

时间:2017-10-02 20:05:54

标签: java java-9 jshell java-module

只是探索Java的新版本,它的新模块系统,以及使用jshell。可能我的问题没有多大意义,但我只是好奇。

所以我想出了一个问题:有没有办法在jshell中创建模块?或者模块只能在module-info.java

中创建

1 个答案:

答案 0 :(得分:6)

目前无法使用JShell创建模块,也不是Goal of JShell

JShell功能

  

JShell API将提供JShell的所有评估功能。   输入到API的代码片段称为   的 "snippets" 即可。 jshell工具还将使用JShell完成API   确定何时输入不完整(并且必须提示用户   更多),如果添加分号则完成(其中   例如,工具将附加分号)以及如何完成   使用选项卡请求完成时输入。

代码段必须与以下JLS语法产品之一相对应:

  • 表达
  • 声明
  • ClassDeclaration
  • InterfaceDeclaration
  • MethodDeclaration
  • FieldDeclaration
  • 导入声明

snippet可能无法声明包或模块。所有JShell代码都放在unnamed module 中的单个包中。包的名称由JShell控制。

事实上,尝试在JShell中使用ModuleDeclaration并不是公认的语法,也不能直接评估或使用/edit < / p>

enter image description here

然而,可以使用以下选项有效地利用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