I suspect one thing could be that your class name is IconsTaglib and not IconsTagLib
On 3 July 2014 10:35, Stephen Connolly <[email protected]> wrote: > Well I suspect that you need to inform jelly of the TagLibrary class or > else it will not discover it. I am suspecting that there is a plugin goal > putting the requisite info somewhere on the classpath. That plugin goal is > probably working for jenkins core but perhaps not by default in plugins > > > On 3 July 2014 09:56, Tom Fennelly <[email protected]> wrote: > >> xmlns:myf="jelly:org.jenkins.x.y.MyFunkyTag" is one way of doing that >> and, as I said, that works when the TagLibrary impl is located in Jenkins >> core (Vs out in a plugin). I didn't see any other way of doing it. Are >> you telling me there is another way? >> >> >> On 03/07/2014 09:46, Stephen Connolly wrote: >> >> Do you inform jenkins that you have a taglibrary? >> >> >> On 2 July 2014 23:34, Tom Fennelly <[email protected]> wrote: >> >>> Hi. >>> >>> Just wondering if anyone can guide me as to how I can write a Java >>> based TagLibrary and have it loadable from a plugin (without setting >>> pluginFirstClassLoader=true). When I try it I get a classloader exception >>> that makes total sense to me, but I'm wondering if there's some trick or >>> different impl that works around it. >>> >>> Example... a Simple TagLibrary impl like this... >>> >>> public class IconsTaglib extends TagLibrary { >>> public IconsTaglib() { >>> >>> // Register some tags... >>> >>> registerTag("*myFunkyTag*", MyFunkyTag.class); >>> } >>> } >>> >>> >>> This class is located in the plugin i.e. not in Jenkins core with >>> other taglibs. >>> >>> Then in a .jelly tag script (also in the plugin, but for which there >>> are no cloassloading issues) we use the *myFunkyTag *tag that was >>> implemented in Java e.g. >>> >>> <myf:myFunkyTag xmlns:myf="jelly:org.jenkins.x.y.MyFunkyTag" /> >>> >>> >>> The above causes a ClassLoading exception because Jelly's XMLParser >>> class (code located in Jenkins - not in the plugin) tries to load the >>> MyFunkyTag class with the wrong classloader (XMLParser line #1024). What >>> looks like would work (in this specific case at least) is if XMLParser >>> tried using the JellyContext ClassLoader instead, but of course that might >>> cause other issues. >>> >>> BTW I tried with the MyFunkyTag impl located in Jenkins core and >>> everything works fine as expected. >>> >>> Any suggestions? I'm wondering maybe this is not an issue if I >>> implement the Tag in Groovy instead, but would like to know if doing it in >>> Java is not going to work first. >>> >>> Thanks, >>> >>> Tom. >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Jenkins Developers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/jenkinsci-dev/9mEnlPmIu1c/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
