我正在我的项目中尝试 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 中的以下问题有关
[#JDK-8025132] https://bugs.openjdk.java.net/browse/JDK-8025132
我尝试了评论中的建议,但没有运气。
如何使 Java 8 Nashorn 引擎与 Rhino JS 引擎兼容?
一种方法是包括
load("nashorn:mozilla_compat.js");
它提供 importClass。
另一方面,您可以直接使用 java.io.File、java.io.FileReader...,无需导入。
var File = java.io.File;
var FileReader = java.io.FileReader;
这与 Rhino 向后兼容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)