Modul in JShell in Java erstellen 9

8

Ich erkunde gerade die neue Version von Java, das neue Modulsystem und spiele mit der jshell. Wahrscheinlich hat meine Frage nicht viel Sinn, aber ich bin nur neugierig.

Also kam ich auf die Frage: Gibt es eine Möglichkeit, ein Modul in der jshell zu erstellen? Oder Modul kann nur in module-info.java erstellt werden?

    
Sergei Sirik 02.10.2017, 20:05
quelle

1 Antwort

7

Module können derzeit nicht mit JShell erstellt werden und es ist auch kein Ziel von JShell .

JShell-Funktionalität

  

Die JShell-API stellt alle Evaluierungsfunktionen von JShell bereit.   Die Codefragmente, die in die API eingegeben werden, werden als bezeichnet    "snippets" Das jshell-Tool verwendet auch die JShell-Completion-API für   Bestimmen, wann die Eingabe unvollständig ist (und der Benutzer muss dazu aufgefordert werden   mehr), wenn es komplett wäre, wenn ein Semikolon hinzugefügt würde (in dem   Falls das Werkzeug das Semikolon anhängen soll) und auch wie man es vervollständigt   Eingabe, wenn die Vervollständigung mit einem Tab angefordert wird.

Ein Snippet muss einer der folgenden JLS-Syntaxproduktionen entsprechen:

  • Ausdruck
  • Aussage
  • ClassDeclaration
  • InterfaceDeclaration
  • MethodDeclaration
  • Felddeklaration
  • ImportDeklaration

A snippet kann ein Paket oder ein Modul nicht deklarieren . Der gesamte JShell-Code wird in einem einzelnen Paket in einem unbenannten Modul . Der Name des Pakets wird von JShell gesteuert.

Tatsächlich ist der Versuch, ModuleDeclaration in JShell zu verwenden, keine anerkannte Syntax, sowohl direkt als auch mit /edit :

Die folgenden Optionen können jedoch effektiv ausgeführt werden, um vorhandene Module in JShell zusammen mit den Snippet-Auswertungen zu verwenden -

%Vor%     
nullpointer 02.10.2017, 20:14
quelle

Tags und Links