JSR223を使用するアプリケーションを開発しています。
実行がAntからの場合を除いて、すべて問題ありません(単体テストとコマンドラインからの実行)。この場合、このエラーによる実行:
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider com.sun.script.javascript.RhinoScriptEngineFactory not found
JDK7にはRhinoの実装が含まれており、このクラスはrt.jarにあると確信しています。Antが実行に使用されているのになぜ見つからないのですか?
JDKバージョン:javaバージョン "1.7.0_11" Java(TM)SEランタイム環境(ビルド1.7.0_11-b21)Java HotSpot(TM)64ビットサーバーVM(ビルド23.6-b04、混合モード)
ANTバージョン:2012年5月22日にコンパイルされたApache Ant(TM)バージョン1.8.4
ありがとう
テスト:
package testing;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class TestingGetEngineJavascript {
public static void main(String[] args) {
new TestingGetEngineJavascript().test();
}
public void test() {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
if(engine == null) {
throw new RuntimeException("Upps!!!!!!! Not ScriptEngine found for JavaScript");
} else {
System.out.println("ScriptEngine found for JavaScript");
}
}
}
<project name="test" default="test" basedir=".">
<target name="test">
<java classpath="dist/testAntJSR223.jar" classname="testing.TestingGetEngineJavascript">
</java>
</target>
</project>