Nashorn:奇怪的回归包裹

时间:2014-01-14 02:44:38

标签: javascript java-8 nashorn

在Java的Nashorn引擎中,当你评估代码时,如果你这样做

var e = Packages.org.bukkit["event"]

e将为null。

但是,我发现的一件事是,如果我这样做

var anothervar = Packages.org.bukkit.event
var e = Packages.org.bukkit["event"]

e(以及anothervar)将是org.bukkit.event包。

为什么Nashorn在使用点表示法访问包后会这样做,它会开始使用括号表示法吗?

1 个答案:

答案 0 :(得分:1)

从我所看到的,它是Java 8 bug,所以在此期间,一个hackish解决方法可以用点符号评估包

e.g。

eval("Packages.org.bukkit."+"event.server"); //or whatever variable it may be

修改

错误已修复,因此它现在应该可以正常工作。