プロジェクトでJava 8を試していますが、ビルドプロセスに関連するエラーでスタックしています。
私はANTスクリプトを使用しており、ある時点でjavascript(ANTに埋め込まれている)を使用してビルド固有の操作を実行しています。エラーの原因となっているスクリプトの部分は次のようになります。
<script language="javascript">
<![CDATA[
importClass(Java.io.File);
importClass(Java.io.FileReader);
...
]]>
</script>
プロジェクトはJava 7またはJava 6で正常にビルドされていますが、Java 8.これらのエラーは、JSエンジンのアップグレードに関連しています。
特に、次の例外が発生します。
javax.script.ScriptException:ReferenceError: "importClass"が行で定義されていません
いくつかグーグルした後、私はそれがJDKの以下の問題に関連していることを知りました
コメントで提案されていることを試しましたが、運がありませんでした。
Java 8NashornエンジンをRhinoJSエンジンと互換性を持たせるにはどうすればよいですか?
1つのアプローチは含めることです
load("nashorn:mozilla_compat.js");
importClassを提供します。
一方、Java.io.File、Java.io.FileReader、...をインポートせずに直接使用できます。
var File = Java.io.File;
var FileReader = Java.io.FileReader;
これはRhinoとの下位互換性があります。