[更新:这是一个错误,现已修复
]
简而言之,这可能是一个错误。
Rhino支持类(
com.sun.script.javascript.*)未被编译为
rt.jar1(尽管我发现这是Sun和Mozilla之间的合并问题,而且我知道存在命名空间问题,但它们确实存在于OpenJDK
7源代码中,并在makefile中进行了引用) ,他们正在从失踪
resources.jar的
meta-INF/services为好。OpenJDK
6并非如此,它具有以下内容
meta-INF/services/javax.script.scriptEngineFactory:
#script engines supportedcom.sun.script.javascript.RhinoscriptEngineFactory #javascript
尽管这可能是一个发行决定2,但没有书面理由,因此我在Ubuntu OpenJDK
7启动板中提交了错误#982501。我得到一个答案会更好。
1根据此线程,
我在某处听说Mozilla出于未知的原因不接受Sun对其主干分支的更改,但这是在开源之前进行的。
还存在一些冲突问题,这些冲突问题是由JRE版本和BYOR(自带犀牛)版本相互冲突引起的(例如,Ubuntu OpenJDK
7启动板上的错误#255149)。但是,该源代码位于OpenJDK
7
源代码中,并在makefile中提到,而上述线程中提到的BSD端口具有相同的源代码。
2根据此Sun
bug#6876736,这是基于发行版的决策:
犀牛源代码不是OpenJDK的一部分,要由发行版来添加。
与他们已经签入OpenJDK的事实有所不同,但是我认为想法是Rhino不在JDK规范中。



