On 07/12/2015 19:38, Mike Dever Google wrote:
Is there a work around? That really limits, actually kills a lot of functionality.
The JDK 7 and JDK 8 builds don't declare AppleScript in the services configuration file (META-INF/services/javax.script.ScriptEngineFactory). This means that if you've never had Apple's JDK bits on your system then jrunscript -q will not locate the AppleScript implementation.
On the other hand, if your system has /System/Library/Java/Extensions/AppleScriptEngine.jar then jrunscript -q will locate it and print out something like "Language AppleScript 2.4 implementation ...". The fact that it actually loads the version in rt.jar is a bit odd of course.
In any case, JDK 9 drops the legacy extension mechanism (JEP 220 has the more details, the deprecation of this mechanism was also announced in the maintenance release of JSR 337). This means that service lookup will not look in the system directories like /System/Library/Java/Extensions and so the services configuration file in AppleScriptEngine.jar will not be found. So irrespective of Sundar's proposal to just remove the code, you will find that jrunscript in JDK 9 build has not located the AppleScript implementation for a long time (more than a year).
As regards workaround then all I can suggest is to add /System/Library/Java/Extensions/AppleScriptEngine.jar to your class path and then it will use the AppleScript implementation from Apple's JDK 6. As regards maintaining this code then there probably is an opportunity for someone to run it as as a standalone project/library.
-Alan.