仅研究Java的新版本,其新的模块系统,并同时使用jshell。也许我的问题没有太多道理,但我很好奇。

所以我想到了一个问题:有什么方法可以在jshell中创建模块吗?还是只能在module-info.java中创建模块?

最佳答案

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

JShell功能



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

  • 表达式
  • 声明
  • 类声明
  • 接口(interface)声明
  • 方法声明
  • 字段声明
  • ImportDeclaration

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

    实际上,尝试直接在JShell中使用ModuleDeclaration或使用/edit都不是公认的语法:

    java - 在Java 9中的JShell中创建模块-LMLPHP

    但是,可以做出以下选择来有效地解决这些问题,以利用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
    

    关于java - 在Java 9中的JShell中创建模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46532926/

    10-15 10:57