You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Pavel Sher <pa...@actimind.com> on 2003/09/17 14:07:20 UTC

Maven, Jelly and classpath problems

Hello,

It is unclear for me how the classpaths are work in the maven + Jelly.
I have a simple maven.xml file:

<project default="sds:sample" xmlns:j="jelly:core" xmlns:maven="jelly:maven" xmlns:util="jelly:util">

    <goal name="sds:sample">

        <mkdir dir="target"/>

        <j:file outputMode="html" prettyPrint="on" name="${basedir}/target/output.html">
            <j:include file="${basedir}/templates/sample1.xhtml"/>
        </j:file>

    </goal>

</project>

My dependencies written in project.xml include all the necessary jar files, but it seems to me
that sample1.xhtml does not inherit these dependencies. For example, if I will try to use
<xml:transform/> tag, then I've got the following error:

BUILD FAILED
File...... file:/C:/Work/SDS/
Element... j:include
Line...... 17
Column.... 67
file:/C:/Work/SDS/templates/sample1.xhtml:22:90: <x:transform> Provider net.sf.saxon.TransformerFactoryImpl not found

If I will try to start Jelly as java process then all works fine:

<project default="sds:sample" xmlns:j="jelly:core" xmlns:maven="jelly:maven" xmlns:util="jelly:util">

    <goal name="sds:sample">

        <mkdir dir="target"/>

        <path id="classpath">
            <path refid="maven.dependency.classpath"/>
        </path>

        <java classname="org.apache.commons.jelly.Jelly" fork="yes">
            <classpath refid="classpath"/>
            <arg value="${basedir}/templates/sample1.xhtml"/>
        </java>

    </goal>

</project>

Although this is a workaround it is much less usable then the example above. 
Is there any chance to have jars loaded when I use <j:include/> tag?

P.S:
I am using maven-1.0-beta-10 and commons-jelly-SNAPSHOT

--
Best regards

Pavel Sher, pavel@actimind.com


Re: Maven, Jelly and classpath problems

Posted by Pavel Sher <pa...@actimind.com>.

> Did you try the documented workaround:
>
> http://maven.apache.org/faq.html#BadXSLT

Yes I am. At the beginning of sample1.xhtml I have such lines:
<j:jelly xmlns="http://my.uri.com" xmlns:j="jelly:core" xmlns:x="jelly:xml">
${systemScope.setProperty('javax.xml.transform.TransformerFactory','net.sf.s
axon.TransformerFactoryImpl')}
${systemScope.setProperty('org.xml.sax.driver','org.apache.xerces.parsers.SA
XParser')}

But in case of <j:include/> it does not help me much. I am not sure but may
be Jelly uses another
classloader when includes one script into the anpther?


> --
> dIon Gillard, Multitask Consulting
> Blog:      http://blogs.codehaus.org/people/dion/
>
>
> "Pavel Sher" <pa...@actimind.com> wrote on 17/09/2003 10:07:20 PM:
>
> > Hello,
> >
> > It is unclear for me how the classpaths are work in the maven + Jelly.
> > I have a simple maven.xml file:
> >
> > <project default="sds:sample" xmlns:j="jelly:core" xmlns:
> > maven="jelly:maven" xmlns:util="jelly:util">
> >
> >     <goal name="sds:sample">
> >
> >         <mkdir dir="target"/>
> >
> >         <j:file outputMode="html" prettyPrint="on" name="${basedir}
> > /target/output.html">
> >             <j:include file="${basedir}/templates/sample1.xhtml"/>
> >         </j:file>
> >
> >     </goal>
> >
> > </project>
> >
> > My dependencies written in project.xml include all the necessary jar
> > files, but it seems to me
> > that sample1.xhtml does not inherit these dependencies. For example,
> > if I will try to use
> > <xml:transform/> tag, then I've got the following error:
> >
> > BUILD FAILED
> > File...... file:/C:/Work/SDS/
> > Element... j:include
> > Line...... 17
> > Column.... 67
> > file:/C:/Work/SDS/templates/sample1.xhtml:22:90: <x:transform>
> > Provider net.sf.saxon.TransformerFactoryImpl not found
> >
> > If I will try to start Jelly as java process then all works fine:
> >
> > <project default="sds:sample" xmlns:j="jelly:core" xmlns:
> > maven="jelly:maven" xmlns:util="jelly:util">
> >
> >     <goal name="sds:sample">
> >
> >         <mkdir dir="target"/>
> >
> >         <path id="classpath">
> >             <path refid="maven.dependency.classpath"/>
> >         </path>
> >
> >         <java classname="org.apache.commons.jelly.Jelly" fork="yes">
> >             <classpath refid="classpath"/>
> >             <arg value="${basedir}/templates/sample1.xhtml"/>
> >         </java>
> >
> >     </goal>
> >
> > </project>
> >
> > Although this is a workaround it is much less usable then the example
> above.
> > Is there any chance to have jars loaded when I use <j:include/> tag?
> >
> > P.S:
> > I am using maven-1.0-beta-10 and commons-jelly-SNAPSHOT
> >
> > --
> > Best regards
> >
> > Pavel Sher, pavel@actimind.com
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Maven, Jelly and classpath problems

Posted by di...@multitask.com.au.
Did you try the documented workaround:

http://maven.apache.org/faq.html#BadXSLT
--
dIon Gillard, Multitask Consulting
Blog:      http://blogs.codehaus.org/people/dion/


"Pavel Sher" <pa...@actimind.com> wrote on 17/09/2003 10:07:20 PM:

> Hello,
> 
> It is unclear for me how the classpaths are work in the maven + Jelly.
> I have a simple maven.xml file:
> 
> <project default="sds:sample" xmlns:j="jelly:core" xmlns:
> maven="jelly:maven" xmlns:util="jelly:util">
> 
>     <goal name="sds:sample">
> 
>         <mkdir dir="target"/>
> 
>         <j:file outputMode="html" prettyPrint="on" name="${basedir}
> /target/output.html">
>             <j:include file="${basedir}/templates/sample1.xhtml"/>
>         </j:file>
> 
>     </goal>
> 
> </project>
> 
> My dependencies written in project.xml include all the necessary jar
> files, but it seems to me
> that sample1.xhtml does not inherit these dependencies. For example,
> if I will try to use
> <xml:transform/> tag, then I've got the following error:
> 
> BUILD FAILED
> File...... file:/C:/Work/SDS/
> Element... j:include
> Line...... 17
> Column.... 67
> file:/C:/Work/SDS/templates/sample1.xhtml:22:90: <x:transform> 
> Provider net.sf.saxon.TransformerFactoryImpl not found
> 
> If I will try to start Jelly as java process then all works fine:
> 
> <project default="sds:sample" xmlns:j="jelly:core" xmlns:
> maven="jelly:maven" xmlns:util="jelly:util">
> 
>     <goal name="sds:sample">
> 
>         <mkdir dir="target"/>
> 
>         <path id="classpath">
>             <path refid="maven.dependency.classpath"/>
>         </path>
> 
>         <java classname="org.apache.commons.jelly.Jelly" fork="yes">
>             <classpath refid="classpath"/>
>             <arg value="${basedir}/templates/sample1.xhtml"/>
>         </java>
> 
>     </goal>
> 
> </project>
> 
> Although this is a workaround it is much less usable then the example 
above. 
> Is there any chance to have jars loaded when I use <j:include/> tag?
> 
> P.S:
> I am using maven-1.0-beta-10 and commons-jelly-SNAPSHOT
> 
> --
> Best regards
> 
> Pavel Sher, pavel@actimind.com
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org