Article View: pl.comp.lang.java
Article #141599Java Script Engines i groovy
From: sadu
Date: Sat, 11 Oct 2008 18:34
Date: Sat, 11 Oct 2008 18:34
64 lines
3124 bytes
3124 bytes
Witam
Chce odpalić sobie kod groovy w javie za pomoca Java Script Engines.
mam prosty kodzik:
List<ScriptEngineFactory> factories = manager.getEngineFactories();
for (ScriptEngineFactory factory : factories) {
System.out.println("ScriptEngineFactory Info");
String engName = factory.getEngineName();
System.out.println("Script Engine: " + engName);
System.out.println("-------------------------------------------");
}
ScriptEngine engine = manager.getEngineByName("groovy");
Po wykonaniu skryptu pojawia mi się pięknie Script Enginy:
ScriptEngineFactory Info
Script Engine: JRuby Engine
-------------------------------------------
ScriptEngineFactory Info
Script Engine: groovy
-------------------------------------------
ScriptEngineFactory Info
Script Engine: Mozilla Rhino
-------------------------------------------
Ale przy linii:
ScriptEngine engine = manager.getEngineByName("groovy");
Sypie mi :
Exception in thread "main" java.lang.NoClassDefFoundError:
org/codehaus/groovy/syntax/SyntaxException
at
com.sun.script.groovy.GroovyScriptEngineFactory.getScriptEngine(GroovyScriptEngineFactory.java:90)
at javax.script.ScriptEngineManager.getEngineByName(Unknown Source)
at comtest.Main.main(Main.java:41)
Caused by: java.lang.ClassNotFoundException:
org.codehaus.groovy.syntax.SyntaxException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Zdaję sobie sprawę, że ScriptEngineManager stosuje mechanizm service
provider i dodałem w META-INF folder "services" z plikiem o nazwie
"javax.script.ScriptEngineFactory" a tego treść
"com.sun.script.groovy.GroovyScriptEngineFactory"
może przyda się całość więc jar do ścigniecia:
http://ekontra.com/sadu/groove.rar
Z góry dzięki za pomoc ja już wymiękłem.
sadu
Technical Details
Message-ID:
<gcqrk2$186q$1@news2.ipartners.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mail From: "sadu" <sadu@ekontra.com> Newsgroups: pl.comp.lang.java Subject: Java Script Engines i groovy Date: Sat, 11 Oct 2008 20:34:50 +0200 Organization: GTS Energis Lines: 69 Message-ID: <gcqrk2$186q$1@news2.ipartners.pl> NNTP-Posting-Host: ip-89-174-40-179.multimo.gtsenergis.pl X-Trace: news2.ipartners.pl 1223750082 41178 89.174.40.179 (11 Oct 2008 18:34:42 GMT) X-Complaints-To: abuse@ipartners.pl NNTP-Posting-Date: 11 Oct 2008 18:34:42 GMT X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MSMail-Priority: Normal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit