問題タブ [groovyshell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
groovy - Groovy シェルでの割り込み処理
これを入力すると、Groovyシェルで:
誤って Enter を押してしまうと、継続できる見込みがあまりないまま、現在のセッションが台無しになってしまう可能性があります。これは簡単な例でした。次のようなことをするとします。
あなたは要点を理解します - そして明らかに、あなたが作業したい状態を持っているコンソールでいくつかのことをすることができます。groovyに停止するように指示する方法はありCtrl+Cますか?
または、より多くが要求されない限り、毎回印刷量を減らすように指示しますか? 何が可能かわかりません - 何かヒントはありますか?
groovy - groovysh が javax.xml.parsers.FactoryConfigurationError をスローします: javax.xml.parsers.SAXParserFactory のプロバイダーが見つかりません
groovysh を使用して対話的にコードを開発しようとしていますが、アプリケーション クラスパスで groovysh を開始すると、次のようになります。
アプリケーションの依存関係と groovysh の依存関係の間にバージョンの競合があるようです。アプリケーションのクラスパスを切り分ける必要のない回避策はありますか?
groovy - groovyConsole が「def name = "Neo"」をサポートし、groovysh がサポートしない理由
以下は 2 行のコードです。
で実行するとエラーgroovysh
になりUnknown property: name
ます。で実行するとgroovyConsole
、すべてがうまくいきます。
groovy - Bash シェルのように、プロセスの stdout、stderr、および stdin を Groovy のファイルとの間でリダイレクトするにはどうすればよいですか?
Bash シェル スクリプトを Groovy に移植しています。ほとんどのコンストラクトは簡単に変換できます(たとえばmkdir "$foo"
、にfoo.mkdir()
。しかし、私はこれに困惑しています:
実行するときは、次のファイル記述子を調べてみましょうsleep
。
Groovy でプロセスを実行するには、次のようにします (このページによると)。
そしてのファイル記述子sleep
:
ご覧のとおり、ファイル記述子は別のもの (おそらく Groovy プロセス) に関連付けられています。これは長時間実行されるプロセスに使用されるため、仲介者として Groovy を切り取りたいと考えています。
それで、私の質問:外部プロセスを切り離すことができ、Groovy を実行する必要がないように、ファイルをファイルにリダイレクトするにはどうすればよいですか?stdin
stdout
stderr
編集:この質問はGroovy のキャプチャ プロセス出力の複製ではありません。その質問は、Groovy プロセス自体のリダイレクトとおよびへのリダイレクトに関するものだからです。@tim_yates`の回答からわかるように、これはまったく別のものです。stdout
stderr
stdout
stderr
groovy - ConEmu で開いたときに groovysh のキーを再マップする
前のタイトル: Windows での Groovy シェル設定/構成ファイルの場所と例
Microsoft Windows 7 の groovysh/groovy シェル設定/構成ファイルはどこで検索/作成できますか?
Groovysh には現在、GROOVY-6453という問題があり、私のバージョンの groovy のウィンドウで特定のキーが正しく機能しません。以前は AutoHotkey を使用してキーを再マップしていましたが、ConEMU を使い始めたので、これまで AutoHotkey でタブを区別する方法がわかりませんでした。
構成ファイルのキーを再マップして、ユーザーに対してグローバルに機能し、AutoHotkey スクリプトが不要になることを願っています。
明確にするために、私が使用している特定のバージョンの groovysh だけで ConEmu に問題はありません。
java - 異なる Groovy スクリプト間で Java メタ クラスを共有しないようにする
私の状況
私は Java から複数の Groovy スクリプトを呼び出します。どちらも有効期間の長い Groovy オブジェクトを含んでいます。
Groovy スクリプトで Java クラス (約 100 のインスタンスを持つ) の Java メタクラスに変更を加えたいと考えています。ただし、スクリプトはさまざまな変更を行うことができる必要があり、1 つのスクリプトの変更が他のスクリプトに反映されないようにする必要があります。
問題: Java クラスのメタクラスがすべてのスクリプトで共有されています。
この質問は、GroovyShell を実行した後にメタ クラスの変更を元に戻すにはどうすればよいですか? に似ています。ただし、この場合、2 つのスクリプトを同時に実行する必要があるため、スクリプトの実行後にリセットすることはできません。
サンプルコード
SameTest.java
SameSame.java
test.groovy
出力
望ましい結果
Java メタに関する情報を示す 2 行は異なるはずです。
これはクラッシュするはずです:
質問
MetaClassRegistry
異なるGroovyScriptEngine
インスタンスで異なる を使用することは何とか可能ですか?
または、上記のような望ましい結果を実現する他の方法はありますか?