私は、ユーザーがテキスト領域に「実際の」Javaコードのスニペットを入力してから、コードを実行して簡単なシステムテストを実行できる小さなプログラムを持っています。このプログラムは何年も前に作られたものですが、今は同じことを達成するためにJavaプラットフォームを利用する新しい方法がある場合は好奇心です(例えば、ユーザーがテキストエリアにGroovyを入力したり、言語)。 仮想マシンで動的に型指定されたスクリプトをサポートしているJava 7について読んだとき、私は不思議に感じました。Javaでのスクリプト作成をサポートするためのすてきな方法はありますか?
5
A
答えて
3
Java 6のJavaScriptサポートを使用することができます。Creating meta language with Java、ScriptEngineFactory
も参照してください。
また、SpringフレームワークにはDynamic language supportがあります。
ここでは、JVM 7の動的言語サポート(invokedynamic
経由)は無関係であることに注意してください。 JVMバイトコード(JRubyやGroovyなど)にコンパイルされた動的言語を主な対象としています。
2
ScriptEngineManager
がJava 1.6で導入されました。まだ存在しているSunの良い古いジャカルタBSFプロジェクトのバージョンです。どちらもGroovyを含む多様なスクリプティング言語をサポートしています。組み込みのScriptEngineManager
ではJavaScriptのみサポートしていますが、Groovyインタプリタも追加できると思います。
1
新しいバージョンのJavaで追加されたスクリプティングサポートの他に、Bean Shellを使用するオプションがあります。これは1.5などの古いJavaバージョンでも使用できます。 Bean Shell
使用しますが、単純に行うことができます。
// assuming you have Java code in a string called script, you can do
Object result = new bsh.Interpreter().eval(script);
// now result object will have the result of your Java code contained in string script
Bean Shell
ですが、完全に評価するスクリプトのためのJava互換のスクリプトエンジンであり、その多くの製品にはApache、日、BEAが使用されています。
関連する問題
- 1. 完全リモートバックアップを作成できるスクリプトはありますか?
- 2. データレイク解析にはリレーショナルデータベースを作成するためのサポートがあります
- 3. Derby DBでJava Appのインストーラを作成する方法はありますか
- 4. eclipseでJavaプロジェクトのコピーを作成する方法はありますか?
- 5. ウェブページをコピーするためのPHPスクリプトの作成方法は?
- 6. 無限循環発生器を作成するためのきれいな方法はありますか?
- 7. 対称性をサポートするためのハッシュコードの作成方法
- 8. Analysis ServicesプロジェクトでConnectionStringを構成するためのファイルを作成する方法はありますか。
- 9. マップを作成するためのコントロールはありますか?
- 10. モジュールとしてJava Swingアプリケーションを作成するために使用できるフレームワーク/ツールはありますか?
- 11. 既存のテストオートメーションスクリプトのためにJMeterスクリプトをオンザフライで生成する方法はありますか?
- 12. grpc-javaのフェイルオーバーをサポートする公式の方法はありますか?
- 13. Javaラッパークラスのラップメンバーのメソッドを「拡張する」、またはショートカットを作成する方法はありますか?
- 14. Java Utilスタックの固定スタックサイズを作成する方法はありますか
- 15. Pythonでmemoizeデコレータのキーワード引数をサポートするためのpyononicな方法はありますか?
- 16. Javaでグローバル変数を作成する方法はありますか?
- 17. Javaでオブジェクトを作成する方法はいくつありますか?
- 18. SQLテーブル作成スクリプトをリバースエンジニアリングする方法はありますか?
- 19. Eclipseの生成されたantスクリプトとjarファイルを作成する方法はありますか?
- 20. 大きなJSONファイルを解析するためのJavaメソッドの作成方法
- 21. このスクリプトを整理するためのよりクリーンな方法はありますか?
- 22. 2D配列を作成するための略記法はありますか?
- 23. Windows上でスクリプトを作成したり、プログラムを作成したりする簡単な方法はありますか?
- 24. 移行SQL(postgres)ファイルを生成するためのスクリプトはありますか?
- 25. localdbの図を作成する方法はありますか?
- 26. このカスタムリストを作成する方法はありますか?
- 27. Androidのロングテキストを作成する方法はありますか?
- 28. カレンダーを作成するためのクラスまたはライブラリはありますか?
- 29. iPhoneでログファイルを作成する方法はありますか
- 30. ipyvegaでSVGを作成する方法はありますか?
Java 6 JVMのすべてがJavaScriptを搭載して出荷されているわけではありません。 –