Java 9は、JShellというREPLをJDKディストリビューション内に導入しています。いくつかのアプリケーションを実行しているJDKのJShellに接続し、実行中のアプリケーションを参照するコマンドを実行する方法はありますか?たとえば、いくつかのメソッドを実行すると、アプリケーションコード、オブジェクトの検査などが実行されます。Java 9 REPLアプリ実行用REPL
7
A
答えて
4
JShellは標準のjavaコマンドではありません。別のコマンドです。シェルを開くと、Eval Print Loopを読み込みます。コマンドを入力すると、シェルによって読み込まれ、解析され、結果が出力されます。
変数を定義してクラスパスにクラスを追加することはできますが、少なくともこの段階ではなく、同じJVMではなく、そこからアプリケーションまたはサーバーを起動することは可能です。クラスを追加できるので、クラスをインスタンス化できますが、変数を検査するオプションはありません。しかし、JShellスコープでインスタンス化する変数(作成したオブジェクト、パブリックメソッドと変数のみにアクセスして印刷することができます)を見ることができます。
JShellには、他の可能性のための道が開くapiがあるようです。
1
いいえ、簡単にjshellではありません。
しかし、我々はjshell使用しないように、私はあなたの質問を言い換えるてみましょうが、どんなREPL Javaツール:
は、実行中のJavaアプリケーションに対するいくつかのREPLのJavaツールを接続し、その実行を参照するコマンドを実行する方法はありますアプリ。たとえば、いくつかのメソッドを実行すると、アプリケーションコード、オブジェクトの検査などが実行されます。
https://github.com/lorenzoongithub/nudge4j
その後、あなたはそれを許可しないnudge4jを見てみる必要があります正確に唯一の注意点は、Javaのための8
0
関連する問題
- 1. ストアClojure REPL行
- 2. Node.js REPL継続行
- 3. Scalaからシェルコマンドを実行するREPL
- 4. 実行中のプロセスのPython REPL
- 5. ClojureでのカスタムJavaクラスの使用REPL
- 6. JavaからClojure REPLを実行し、カスタムコンテキストを提供
- 7. REPLコンソールアプリケーションサービス
- 8. SLIME REPL
- 9. はREPL
- 10. Python REPL
- 11. Lein repl-options:init
- 12. Scala REPL:関数型の検索方法は? ScalaのREPLで
- 13. settings.maxPrintString for Scala 2.9 REPL
- 14. REPL for dartlang
- 15. REPLのLazy Racket
- 16. Scala REPL in Emacs
- 17. ScalaのREPL
- 18. JavaFX from Clojure repl
- 19. ocamldebugのREPL?
- 20. C#REPLエンティティフレームワーク.edmx
- 21. Scala REPL in Gradle
- 22. スウィフトREPLスクリプトに
- 23. のNode.js REPL構文
- 24. C#のREPL環境
- 25. SBCLのREPLのメモリリーク
- 26. WindowsのREPL Initファイル
- 27. スライムautodocのカスタムREPL
- 28. emacs cider clear REPL buffer
- 29. REPL内からREPLプロンプトを変更する
- 30. Scala REPL:リモートMavenリポジトリをScala REPLクラスパスに追加するには?
これは他のREPLでも可能ですか? –
いいえ、これはJShellの目標ではありません。目標は、あなたが高速のmaneerでjava文を評価できるようにすることです。 JShellは、時間を節約するために周囲のコンテキストを提供しますが、周囲のコンテキストとしてアプリケーションを使用するように指示することはできません。 –
@bigdestroyer私が言及したことのいくつかを提供するクラッシュシェルがあります。http://www.crashub.org/ –