はじめに

Nashorn
*は、Oracleが完全にJavaプログラミング言語で開発したJavaScriptエンジンです。
Da Vinci Machine (JSR 292)に基づいており、Java 8(2014年3月にリリースされる予定)の一部として提供されます。 JavaScript(および
スクリプトサポート全般 )の実行はすでにJava 6で行われていましたが、
Rhinoエンジンも使用しましたが、これもJavaで記述されていますが、
Mozilla Foundationによってサポートされています。
Java 8の革新のリストは、すでに以前に
作成さ
れています。 この記事では、Nashornの使用方法を説明する簡単な例をいくつか紹介します。
申込み
JavaでJavaScriptが必要なのはなぜですか? 例:
使用例
準備段階
JDK 8 Early Accessをインストールします。 テキストの残りの部分では、Java 8に対して
javac
および
java
コマンドが実行されることを前提としています。
Hello World!
import javax.script.*; public class EvalScript { public static void main(String[] args) throws Exception {
クラスのコンパイル:
./javac EvalScript.java
そしてそれを実行します:
./java EvalScript
結論がわかります。
Hello, World!
JavaScript + Java
Nashornでは、
Javaクラスを使用してプログラムを作成できます。 次の例を考えてみましょう。
MyScript.js
var MyClass = Java.type("EvalScript.MyClass"); var my = new MyClass(); my.printMsg("Hello!");
EvalScript.java
import javax.script.*; import java.io.*; public class EvalScript { public static void main(String[] args) throws Exception {
たとえば、内部クラスを作成し(これは制限ではありません。別のクラスも作成できます)、JavaScriptコードから呼び出しました。 クラスをコンパイルし、jsコードを入力に渡すことで実行します。
./java EvalScript < MyScript.js
結論がわかります。
printMsg : Hello!
おわりに
この機会をどのように使用するかを自分で決めてください。 プログラマーではなく、アプリケーション管理者がアプリケーションインターフェイスを介して直接構成できる既存のJavaプロジェクトに自動化を導入する必要があるときに興味を持ちました(同時に、アプリケーションコンポーネントの再コンパイルは必要ありません)。
使用した材料:
* Nashornは、ロシア語で「サイ」、英語で「サイ」として翻訳されるドイツ語です。これは、Javaで実装され、Mozilla FoundationがサポートするJavaScriptエンジンの名前である
Rhinoを反映しています。 Rhinoは、O'Reilly MediaからリリースされたJavaScriptに関する本の表紙に描かれた動物にちなんで命名されました。