ScriptEngineManager.getEngineByName查找併爲給定名稱創建ScriptEngine。哪個JS腳本引擎將由Java選擇?
犀牛自身註冊爲 「JS」, 「犀牛」, 「JavaScript的」, 「JavaScript的」, 「ECMAScript的」 和 「ECMAScript的」
犀牛自身註冊爲 「犀牛」, 「犀牛」,「JS 「,」JS「,」JavaScript「,」javascript「,」ECMAScript「和」ecmascript「如果我使用Nashorn和Rhino註冊的名稱,如」js「,將使用哪個腳本引擎?否則它會在Java 8和Rhino上使用Nashorn?
這是不正確的,因爲發現機制根本不使用'registerEngineName'。如果沒有明確註冊名稱,那麼實際上會得到第一個匹配的引擎,它會從「HashSet」中彈出。 它比classloader的順序更隨機,因爲它歸結爲java.lang.Object.hashCode,並且從一個運行到另一個運行。 – seanf 2015-03-06 16:32:00