投稿日: 2015/12/13 10:09:27
Rhino1.7.7のリリースページに、rhino-1.7.7.jarとrhino1.7.7.zipが公開されています。rhino1.7.7.zipに含まれているjs.jarはrhino-1.7.7.jarと基本的に同じものですが、js.jarに含まれているMANIFEST.MFの記述に若干問題があり、Rhino Shellを起動すると最初にRhinoのバージョンではなくnullが出力されます。
気になる場合は、代わりにrhino-1.7.7.jarを使いましょう。
詳細: Rhinoのバージョンを返すContext.getImplementationVersion()メソッドは、MANIFEST.MFのImplementation-Titleが"Mozilla Rhino"と一致する場合はバージョンを、そうでない場合はnullを返します。ところがrhino1.7.7.zipのjs.jarに含まれているMANIFEST.MFはImplementation-Titleが"Mozilla Rhino 1.7.7"なので、結果としてnullが出力されます。rhino-1.7.7.jarはMANIFEST.MFのImplementation-Titleが"Mozilla Rhino"なので大丈夫です。
1-1. rhino1.7.7.zipのjs.jarでRhino Shellを起動するとnullが出力される
>echo "quit();" | java -jar js.jarnulljs> quit();js>1-2. rhino-1.7.7.jarでRhino Shellを起動するとRhinoのバージョンが出力される
>echo "quit();" | java -jar rhino-1.7.7.jarRhino 1.7.7 2015 06 17js> quit();js>2-1. rhino1.7.7.zipのjs.jarに含まれるMANIFEST.MF
Manifest-Version: 1.0Ant-Version: Apache Ant 1.9.4Created-By: 1.7.0_45-b18 (Oracle Corporation)Main-Class: org.mozilla.javascript.tools.shell.MainImplementation-Version: 1.7.7-SNAPSHOTImplementation-Title: Mozilla Rhino 1.7.7Implementation-Vendor: Mozilla FoundationImplementation-URL: http://www.mozilla.org/rhino2-2. rhino-1.7.7.jarに含まれるMANIFEST.MF
Manifest-Version: 1.0Main-Class: org.mozilla.javascript.tools.shell.MainImplementation-Version: 1.7.7Implementation-Title: Mozilla RhinoImplementation-Vendor: Mozilla FoundationImplementation-URL: http://www.mozilla.org/rhinoBuilt-Date: 2015-06-17Built-Time: 10:35:00