問題タブ [beanshell]

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.

0 投票する
2 に答える
2822 参照

java - Beanshell catch(ex): 例外またはスロー可能?

beanshell catch(ex) によってキャッチされる例外のタイプ: Exception または Throwable?

例:

0 投票する
3 に答える
1851 参照

java - JEdi​​t マクロ - ファイルを開いて保存する

特定のファイルを開き、すぐにファイルを c:\temp フォルダーに保存する JEdit (BeanShell) マクロがあります (実際のファイルを誤って更新しないようにするため)。

Bean シェル コードは次のとおりです。

これにより、次のエラーが表示されます。

true になるまで待機する while ループを追加しようとしました buffer.isLoaded() が、それは無限ループに入ります。
機能しているように見えるのは、メッセージ ボックス ( ) のポップアップです Macros.message 。しかし、私はこの不必要な対話を本当にしたくありません。

私はJavaをあまり知らないので、初歩的な間違いを犯している場合は教えてください。

アップデート:

Serhiiの回答から指摘されたコードを表示するために、私自身の回答を追加しました。

0 投票する
2 に答える
684 参照

groovy - beanshell source() メソッドに相当するグルーヴィーなものはありますか?

グルーヴィーなドキュメントを精査しましたが、類似のものは見つかりませんでしたが、そこにあるものは少しでたらめに整理されています。私は beanshell から groovy に切り替えており、beanshell で source("fileloc") メソッドを使用して、再利用のために他のユーティリティ Beanshell スクリプトをインライン インクルードしていました。Groovyまたはベストプラクティスでこれを行う標準機能はありますか?

0 投票する
2 に答える
4691 参照

debugging - BeanShellスクリプトをデバッグする方法は?

BeanShellスクリプトをデバッグするのに問題があります。いつも取得しているのは次のとおりです。

インポートされたオブジェクトメソッドの呼び出しで例外が発生しました。:行:194:ファイル内:インライン評価: `` import java.lang.reflect.InvocationTargetException; java.util.Arraysをインポートします。私 。。。'':migrateModels(models、apiManager、isSAPRetailImportCondition、isSAPAFSCondition)

メソッドから呼び出されます:initMissingImportSources:行:-1:ファイル内::ターゲット例外:java.lang.reflect.InvocationTargetException

このコードで完全なスタックトレースを取得しようとしています

原因となる例外を取得する可能性はありますか?

どうもありがとう。

0 投票する
2 に答える
1294 参照

java - BeanShellを使用してメソッド内でスクリプトを実行する

これをどのように説明できるかはよくわかりませんが、次のようになります。

外部ファイルからロードされるコードの一部にいくつかのコマンドを「挿入」できるようにしたい。これらのコマンドを解析して実行するには、おそらくBeanShellのevalメソッドのようなスクリプトを使用する必要があります。問題は、内部にあるインスタンス/メソッドを認識していないように見えることです。非常に基本的な例として、私は次のようなことをしたいと思います

これは可能ですか?他のスクリプトツールを使用する必要がありますか?

0 投票する
1 に答える
259 参照

java - デバッグ/リモート管理用に Java スクリプト言語を埋め込むためのアドバイス

問題をデバッグして修正するために、内部で何が起こっているのかを頻繁に確認する必要がある、かなり洗練されたサーバー側アプリケーションがあります。

そのため、Telnet で (通常は ssh トンネルを介して) 接続できる Beanshell インスタンスを組み込みましたが、もっと良い方法があるかどうか疑問に思っています。

いくつかの制限:

  • telnetで「rlwrap」を使用して回避できますが、理想的ではありません
  • 変数とメソッドのタブ補完は本当に素晴らしいですが、これを行う方法が見つかりませんでした
  • 変数の事前定義(頻繁にアクセスする必要があるものにアクセスするため)が機能しないようです。代わりに関数を事前定義する必要があります

Beanshell には Java のスーパーセットであるという優れた利点があるため、Beanshell を使用するために別のプログラミング言語を学ぶ必要はありません。

他の人がスクリプト言語 (Beanshell など) を介してリモート デバッグ/管理を容易にした経験があるかどうか疑問に思っています。おそらく誰かがより良いアプローチを見つけたのでしょう。

0 投票する
3 に答える
2487 参照

java - Java から Beanshell コンソールに書き込むことはできますか?

アプリに埋め込まれたデバッグ ツールとして Beanshell を使用しています。これは、自分のアプリに telnet で接続し、実行中にその内部をいじることができることを意味します (私は通常、telnet セッションを rlwrap でラップします)。

問題は、アプリケーション自体の stdout ではなく、Beanshell コンソールに出力する唯一の方法が、Beanshell 内の print() メソッドであることです。

しかし、Beanshell コンソールに出力する Beanshell から呼び出すことができるコードを Java で書きたいと思います。System.out または System.err を使用しようとした場合に発生するように、アプリケーションの stdout には送信されず、telnet セッションに表示されます。

これは可能ですか?


編集:さらに明確にするために、次のようにBeanshellサーバーをセットアップしています:

(アプリケーションの System.out ではなく) telnet セッションに出力する Java 関数を記述できるように、これをどのように変更すればよいでしょうか?

0 投票する
1 に答える
984 参照

parameter-passing - パラメータをリモートBeanshellに渡す

実行されるリモートBeanshellスクリプトにパラメータを渡す必要があります

電話。

どういうわけか、パラメータ「p1」、「p2」、および「p3」を?内から読み取ることは可能script.bshですか?

ps通過するローカルパラメータbsh.argsは正常に機能しますが、リモートスクリプトでは使用できません。

0 投票する
1 に答える
1602 参照

java - BeanShellの匿名配列

BeanShellで匿名配列を宣言するための構文はありますか?次のようなコードを書きたいと思います。

しかし、BeanShellは「asList」メソッドを見つけることができません。おそらくvarargsを理解していないためです。

回避策として、次のように書くことができます。

しかし、それは過度に冗長に思えます。

匿名配列用のコンパクトなBeanShell構文はありますか?例:

この問題を完全に解決するためのより良い方法はありますか?