You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Antonio Manuel Muñiz Martín <am...@klicap.es> on 2012/12/16 14:12:17 UTC

Tomcat common and webapp classloader

Hello.

I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!

I'm getting some extrange behavior with classloaders, I think that
tomcat common classloader is interfering in webapp classloader. I have
Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
loaded before in the webapp.

I tried to use "delegate = false" in the plugin config in order to get
first the webapp artifacts, but the behavior is the same.

My plugin config:
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <port>8080</port>
        <path>/app</path>
        <serverXml>src/main/config/server.xml</serverXml>
        <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
        <systemProperties>
            <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
        </systemProperties>
        <delegate>false</delegate>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>es.klicap.clinker</groupId>
            <artifactId>josso-tomcat60-agent</artifactId>
            <version>1.3.0</version>
        </dependency>
    </dependencies>
</plugin>

Note that josso-tomcat60-agent is the dependency that I want at tomcat
level and it gets Spring 2.5.5 transitively.

Am I using "delegate" correctly?

Thanks!

-- 
Antonio Manuel Muñiz Martín
Software Developer at klicap - ingeniería del puzle

work phone + 34 954 894 322
www.klicap.es | blog.klicap.es

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


Re: Tomcat common and webapp classloader

Posted by Antonio Manuel Muñiz Martín <am...@klicap.es>.
It works! Thank you guys!

2012/12/17 Kris Maker <kr...@gmail.com>:
> yea should work
>
> On Mon, Dec 17, 2012 at 3:28 PM, Olivier Lamy <ol...@apache.org> wrote:
>
>> 2012/12/17 Antonio Manuel Muñiz Martín <am...@klicap.es>:
>> > Hi Olivier,
>> >
>> > My fault, I found the problem, I had two spring versions in my
>> dependencies.
>> > However I have another question, could I use dependencies from
>> > non-central repository in the plugin dependencies? It seems like the
>> > plugin only search for dependencies at central.
>> >
>> Must work if you declare your repository in <pluginRepositories> section.
>>
>> > Thanks,
>> > Antonio.
>> >
>> > 2012/12/17 Olivier Lamy <ol...@apache.org>:
>> >> Any sample project you could share ? Attach it in a new jira issue.
>> >> That will help for debugging your use case.
>> >> Thanks
>> >>
>> >> 2012/12/16 Antonio Manuel Muñiz Martín <am...@klicap.es>:
>> >>> Hello.
>> >>>
>> >>> I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!
>> >>>
>> >>> I'm getting some extrange behavior with classloaders, I think that
>> >>> tomcat common classloader is interfering in webapp classloader. I have
>> >>> Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
>> >>> at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
>> >>> loaded before in the webapp.
>> >>>
>> >>> I tried to use "delegate = false" in the plugin config in order to get
>> >>> first the webapp artifacts, but the behavior is the same.
>> >>>
>> >>> My plugin config:
>> >>> <plugin>
>> >>>     <groupId>org.apache.tomcat.maven</groupId>
>> >>>     <artifactId>tomcat6-maven-plugin</artifactId>
>> >>>     <version>2.0</version>
>> >>>     <configuration>
>> >>>         <port>8080</port>
>> >>>         <path>/app</path>
>> >>>         <serverXml>src/main/config/server.xml</serverXml>
>> >>>
>> <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
>> >>>         <systemProperties>
>> >>>
>> <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
>> >>>         </systemProperties>
>> >>>         <delegate>false</delegate>
>> >>>     </configuration>
>> >>>     <dependencies>
>> >>>         <dependency>
>> >>>             <groupId>es.klicap.clinker</groupId>
>> >>>             <artifactId>josso-tomcat60-agent</artifactId>
>> >>>             <version>1.3.0</version>
>> >>>         </dependency>
>> >>>     </dependencies>
>> >>> </plugin>
>> >>>
>> >>> Note that josso-tomcat60-agent is the dependency that I want at tomcat
>> >>> level and it gets Spring 2.5.5 transitively.
>> >>>
>> >>> Am I using "delegate" correctly?
>> >>>
>> >>> Thanks!
>> >>>
>> >>> --
>> >>> Antonio Manuel Muñiz Martín
>> >>> Software Developer at klicap - ingeniería del puzle
>> >>>
>> >>> work phone + 34 954 894 322
>> >>> www.klicap.es | blog.klicap.es
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> >>> For additional commands, e-mail: users-help@tomcat.apache.org
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Olivier Lamy
>> >> Talend: http://coders.talend.com
>> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> >> For additional commands, e-mail: users-help@tomcat.apache.org
>> >>
>> >
>> >
>> >
>> > --
>> > Antonio Manuel Muñiz Martín
>> > Software Developer at klicap - ingeniería del puzle
>> >
>> > work phone + 34 954 894 322
>> > www.klicap.es | blog.klicap.es
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> > For additional commands, e-mail: users-help@tomcat.apache.org
>> >
>>
>>
>>
>> --
>> Olivier Lamy
>> Talend: http://coders.talend.com
>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>



-- 
Antonio Manuel Muñiz Martín
Software Developer at klicap - ingeniería del puzle

work phone + 34 954 894 322
www.klicap.es | blog.klicap.es

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


Re: Tomcat common and webapp classloader

Posted by Kris Maker <kr...@gmail.com>.
yea should work

On Mon, Dec 17, 2012 at 3:28 PM, Olivier Lamy <ol...@apache.org> wrote:

> 2012/12/17 Antonio Manuel Muñiz Martín <am...@klicap.es>:
> > Hi Olivier,
> >
> > My fault, I found the problem, I had two spring versions in my
> dependencies.
> > However I have another question, could I use dependencies from
> > non-central repository in the plugin dependencies? It seems like the
> > plugin only search for dependencies at central.
> >
> Must work if you declare your repository in <pluginRepositories> section.
>
> > Thanks,
> > Antonio.
> >
> > 2012/12/17 Olivier Lamy <ol...@apache.org>:
> >> Any sample project you could share ? Attach it in a new jira issue.
> >> That will help for debugging your use case.
> >> Thanks
> >>
> >> 2012/12/16 Antonio Manuel Muñiz Martín <am...@klicap.es>:
> >>> Hello.
> >>>
> >>> I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!
> >>>
> >>> I'm getting some extrange behavior with classloaders, I think that
> >>> tomcat common classloader is interfering in webapp classloader. I have
> >>> Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
> >>> at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
> >>> loaded before in the webapp.
> >>>
> >>> I tried to use "delegate = false" in the plugin config in order to get
> >>> first the webapp artifacts, but the behavior is the same.
> >>>
> >>> My plugin config:
> >>> <plugin>
> >>>     <groupId>org.apache.tomcat.maven</groupId>
> >>>     <artifactId>tomcat6-maven-plugin</artifactId>
> >>>     <version>2.0</version>
> >>>     <configuration>
> >>>         <port>8080</port>
> >>>         <path>/app</path>
> >>>         <serverXml>src/main/config/server.xml</serverXml>
> >>>
> <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
> >>>         <systemProperties>
> >>>
> <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
> >>>         </systemProperties>
> >>>         <delegate>false</delegate>
> >>>     </configuration>
> >>>     <dependencies>
> >>>         <dependency>
> >>>             <groupId>es.klicap.clinker</groupId>
> >>>             <artifactId>josso-tomcat60-agent</artifactId>
> >>>             <version>1.3.0</version>
> >>>         </dependency>
> >>>     </dependencies>
> >>> </plugin>
> >>>
> >>> Note that josso-tomcat60-agent is the dependency that I want at tomcat
> >>> level and it gets Spring 2.5.5 transitively.
> >>>
> >>> Am I using "delegate" correctly?
> >>>
> >>> Thanks!
> >>>
> >>> --
> >>> Antonio Manuel Muñiz Martín
> >>> Software Developer at klicap - ingeniería del puzle
> >>>
> >>> work phone + 34 954 894 322
> >>> www.klicap.es | blog.klicap.es
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >>> For additional commands, e-mail: users-help@tomcat.apache.org
> >>>
> >>
> >>
> >>
> >> --
> >> Olivier Lamy
> >> Talend: http://coders.talend.com
> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >> For additional commands, e-mail: users-help@tomcat.apache.org
> >>
> >
> >
> >
> > --
> > Antonio Manuel Muñiz Martín
> > Software Developer at klicap - ingeniería del puzle
> >
> > work phone + 34 954 894 322
> > www.klicap.es | blog.klicap.es
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
> >
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Tomcat common and webapp classloader

Posted by Olivier Lamy <ol...@apache.org>.
2012/12/17 Antonio Manuel Muñiz Martín <am...@klicap.es>:
> Hi Olivier,
>
> My fault, I found the problem, I had two spring versions in my dependencies.
> However I have another question, could I use dependencies from
> non-central repository in the plugin dependencies? It seems like the
> plugin only search for dependencies at central.
>
Must work if you declare your repository in <pluginRepositories> section.

> Thanks,
> Antonio.
>
> 2012/12/17 Olivier Lamy <ol...@apache.org>:
>> Any sample project you could share ? Attach it in a new jira issue.
>> That will help for debugging your use case.
>> Thanks
>>
>> 2012/12/16 Antonio Manuel Muñiz Martín <am...@klicap.es>:
>>> Hello.
>>>
>>> I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!
>>>
>>> I'm getting some extrange behavior with classloaders, I think that
>>> tomcat common classloader is interfering in webapp classloader. I have
>>> Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
>>> at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
>>> loaded before in the webapp.
>>>
>>> I tried to use "delegate = false" in the plugin config in order to get
>>> first the webapp artifacts, but the behavior is the same.
>>>
>>> My plugin config:
>>> <plugin>
>>>     <groupId>org.apache.tomcat.maven</groupId>
>>>     <artifactId>tomcat6-maven-plugin</artifactId>
>>>     <version>2.0</version>
>>>     <configuration>
>>>         <port>8080</port>
>>>         <path>/app</path>
>>>         <serverXml>src/main/config/server.xml</serverXml>
>>>         <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
>>>         <systemProperties>
>>>             <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
>>>         </systemProperties>
>>>         <delegate>false</delegate>
>>>     </configuration>
>>>     <dependencies>
>>>         <dependency>
>>>             <groupId>es.klicap.clinker</groupId>
>>>             <artifactId>josso-tomcat60-agent</artifactId>
>>>             <version>1.3.0</version>
>>>         </dependency>
>>>     </dependencies>
>>> </plugin>
>>>
>>> Note that josso-tomcat60-agent is the dependency that I want at tomcat
>>> level and it gets Spring 2.5.5 transitively.
>>>
>>> Am I using "delegate" correctly?
>>>
>>> Thanks!
>>>
>>> --
>>> Antonio Manuel Muñiz Martín
>>> Software Developer at klicap - ingeniería del puzle
>>>
>>> work phone + 34 954 894 322
>>> www.klicap.es | blog.klicap.es
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>
>>
>>
>> --
>> Olivier Lamy
>> Talend: http://coders.talend.com
>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>
>
>
> --
> Antonio Manuel Muñiz Martín
> Software Developer at klicap - ingeniería del puzle
>
> work phone + 34 954 894 322
> www.klicap.es | blog.klicap.es
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>



--
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

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


Re: Tomcat common and webapp classloader

Posted by Antonio Manuel Muñiz Martín <am...@klicap.es>.
Hi Olivier,

My fault, I found the problem, I had two spring versions in my dependencies.
However I have another question, could I use dependencies from
non-central repository in the plugin dependencies? It seems like the
plugin only search for dependencies at central.

Thanks,
Antonio.

2012/12/17 Olivier Lamy <ol...@apache.org>:
> Any sample project you could share ? Attach it in a new jira issue.
> That will help for debugging your use case.
> Thanks
>
> 2012/12/16 Antonio Manuel Muñiz Martín <am...@klicap.es>:
>> Hello.
>>
>> I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!
>>
>> I'm getting some extrange behavior with classloaders, I think that
>> tomcat common classloader is interfering in webapp classloader. I have
>> Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
>> at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
>> loaded before in the webapp.
>>
>> I tried to use "delegate = false" in the plugin config in order to get
>> first the webapp artifacts, but the behavior is the same.
>>
>> My plugin config:
>> <plugin>
>>     <groupId>org.apache.tomcat.maven</groupId>
>>     <artifactId>tomcat6-maven-plugin</artifactId>
>>     <version>2.0</version>
>>     <configuration>
>>         <port>8080</port>
>>         <path>/app</path>
>>         <serverXml>src/main/config/server.xml</serverXml>
>>         <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
>>         <systemProperties>
>>             <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
>>         </systemProperties>
>>         <delegate>false</delegate>
>>     </configuration>
>>     <dependencies>
>>         <dependency>
>>             <groupId>es.klicap.clinker</groupId>
>>             <artifactId>josso-tomcat60-agent</artifactId>
>>             <version>1.3.0</version>
>>         </dependency>
>>     </dependencies>
>> </plugin>
>>
>> Note that josso-tomcat60-agent is the dependency that I want at tomcat
>> level and it gets Spring 2.5.5 transitively.
>>
>> Am I using "delegate" correctly?
>>
>> Thanks!
>>
>> --
>> Antonio Manuel Muñiz Martín
>> Software Developer at klicap - ingeniería del puzle
>>
>> work phone + 34 954 894 322
>> www.klicap.es | blog.klicap.es
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>



-- 
Antonio Manuel Muñiz Martín
Software Developer at klicap - ingeniería del puzle

work phone + 34 954 894 322
www.klicap.es | blog.klicap.es

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


Re: Tomcat common and webapp classloader

Posted by Olivier Lamy <ol...@apache.org>.
Any sample project you could share ? Attach it in a new jira issue.
That will help for debugging your use case.
Thanks

2012/12/16 Antonio Manuel Muñiz Martín <am...@klicap.es>:
> Hello.
>
> I'm giving a try to tomcat6-maven-plugin. Good work guys, it's great!
>
> I'm getting some extrange behavior with classloaders, I think that
> tomcat common classloader is interfering in webapp classloader. I have
> Spring 2.5.5 artifacts at tomcat level (tomcat lib) and Spring 3.1.1
> at webapp level (WEB-INF/lib), and I'm getting errors because 2.5.5 is
> loaded before in the webapp.
>
> I tried to use "delegate = false" in the plugin config in order to get
> first the webapp artifacts, but the behavior is the same.
>
> My plugin config:
> <plugin>
>     <groupId>org.apache.tomcat.maven</groupId>
>     <artifactId>tomcat6-maven-plugin</artifactId>
>     <version>2.0</version>
>     <configuration>
>         <port>8080</port>
>         <path>/app</path>
>         <serverXml>src/main/config/server.xml</serverXml>
>         <additionalConfigFilesDir>src/main/config/tomcat-conf</additionalConfigFilesDir>
>         <systemProperties>
>             <JAVA_OPTS>-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.conf</JAVA_OPTS>
>         </systemProperties>
>         <delegate>false</delegate>
>     </configuration>
>     <dependencies>
>         <dependency>
>             <groupId>es.klicap.clinker</groupId>
>             <artifactId>josso-tomcat60-agent</artifactId>
>             <version>1.3.0</version>
>         </dependency>
>     </dependencies>
> </plugin>
>
> Note that josso-tomcat60-agent is the dependency that I want at tomcat
> level and it gets Spring 2.5.5 transitively.
>
> Am I using "delegate" correctly?
>
> Thanks!
>
> --
> Antonio Manuel Muñiz Martín
> Software Developer at klicap - ingeniería del puzle
>
> work phone + 34 954 894 322
> www.klicap.es | blog.klicap.es
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

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