java - Groovy classloader exception when using template engine -



java - Groovy classloader exception when using template engine -

i'm new groovy , tried utilize gstringtemplateengine execute groovy scripts on jboss 5.1

everything works fine in local development environment, fails when moved dev server managed different team.

i found exception thrown @

try { groovyclass = loader.parseclass(new groovycodesource(templateexpressions.tostring(), "gstringtemplatescript" + counter.incrementandget() + ".groovy", "x")); } grab (exception e) { throw new groovyruntimeexception("failed parse template script (your template may contain error or trying utilize expressions not supported): " + e.getmessage()); }

on gstringtemplateengine.class, line 190

the exception message

groovy.lang.groovyruntimeexception: startup failed: general error during class generation: uri not hierarchical java.lang.illegalargumentexception: uri not hierarchical @ java.io.file.<init>(file.java:363) @ org.jboss.net.protocol.file.fileurlconnection.<init>(fileurlconnection.java:62) @ org.jboss.net.protocol.file.handler.openconnection(handler.java:40) @ java.net.url.openconnection(url.java:945) @ java.net.urlclassloader.getpermissions(urlclassloader.java:474) @ groovy.lang.groovyclassloader.getpermissions(groovyclassloader.java:335) @ java.security.secureclassloader.getprotectiondomain(secureclassloader.java:235) @ java.security.secureclassloader.defineclass(secureclassloader.java:141) @ groovy.lang.groovyclassloader.access$300(groovyclassloader.java:55) @ groovy.lang.groovyclassloader$classcollector.createclass(groovyclassloader.java:475) @ groovy.lang.groovyclassloader$classcollector.onclassnode(groovyclassloader.java:492) @ groovy.lang.groovyclassloader$classcollector.call(groovyclassloader.java:496) @ org.codehaus.groovy.control.compilationunit$14.call(compilationunit.java:792) @ org.codehaus.groovy.control.compilationunit.applytoprimaryclassnodes(compilationunit.java:1024) @ org.codehaus.groovy.control.compilationunit.dophaseoperation(compilationunit.java:562) @ org.codehaus.groovy.control.compilationunit.processphaseoperations(compilationunit.java:540) @ org.codehaus.groovy.control.compilationunit.compile(compilationunit.java:517) @ groovy.lang.groovyclassloader.doparseclass(groovyclassloader.java:283) @ groovy.lang.groovyclassloader.parseclass(groovyclassloader.java:260) @ groovy.lang.groovyclassloader.parseclass(groovyclassloader.java:244)

i'm not sure why throwing uri not hierarchical error. i'm assuming has permissions , groovyclassloader not able parse generated class.

has seen error before? helpful if can provide suggestions on debugging/fixing issue.

not sure of real cause of issue, found workaround.

created re-create of gstringtemplateengine , replaced

try { groovyclass = loader.parseclass(new groovycodesource(templateexpressions.tostring(), "gstringtemplatescript" + counter.incrementandget() + ".groovy", "x")); } grab (exception e) { throw new groovyruntimeexception("failed parse template script (your template may contain error or trying utilize expressions not supported): " + e.getmessage()); }

with

try { groovyclass = loader.parseclass(templateexpressions.tostring(), "gstringtemplatescript" + counter.incrementandget() + ".groovy"); } grab (exception e) { throw new groovyruntimeexception("failed parse template script (your template may contain error or trying utilize expressions not supported): " + e.getmessage()); }

removed groovycodesource , passed template string instead parseclass method.

java groovy template-engine gstring

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -