You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jeff MAURY <je...@jeffmaury.com> on 2012/04/28 14:59:15 UTC

Does Tomcat Maven plugin support WAR overlays ?

Hello,

I am facing the following problem with WAR overlays:
I have a first WAR, called skeleton, that contains all necessary stuff:
base web.xml, index.jsp and JAR dependencies.
I have another WAR whose first dependency is the skeleton which is (as of
yet) almost empty except for the slf4j_log4 dependency.
When i run tomcat7:run on the skeleton, everything is ok
When I run tomcat7:run on the second war, Tomcat start but I am not able to
use the application.
I have look at the mojo code and it seems it is using the web app source
directory (src/main/webapp) by default so as it is empty my case, it cannot
work.
AM I missing something ?

Thanks
Jeff


-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury


-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury

Re: Does Tomcat Maven plugin support WAR overlays ?

Posted by Olivier Lamy <ol...@apache.org>.
2012/4/30 Jeff MAURY <je...@jeffmaury.com>:
> I don't link the idea of having Maven adding some stuff except under
> target. This will cause many many problems with people and SCM.
> I don't get your second solution: how do you merge you temporary stuff and
> src/main/webapp with a symlink ?

extract (except WEB-INF/lib and WEB-INF/classes) the overlay way in
/tmp/foo/

src/main/webapp/foo (a kind of symlink to to /tmp/foo)
But I have to investigate how to do that with the tomcat embed api ( :-) )



>
> Jeff
>
>
> On Mon, Apr 30, 2012 at 4:52 PM, Olivier Lamy <ol...@apache.org> wrote:
>
>> 2012/4/30 Jeff MAURY <je...@jeffmaury.com>:
>> > Salut Olivier,
>> >
>> > I wanted to make sure I understand the goal properly.
>> > Is the rationale for using src/main/webapp as the default docbase for
>> > Tomcat to propagate modifications of files on the fly (JSP,...) without
>> the
>> > need to restart Tomcat ?
>> Yup that's the goal. Fast dev mode (i.e. no restart) when only
>> modifying jsp or static resources (html, js, css etc...)
>> > At least, I think we should make it clear in the documentation and issue
>> a
>> > warning at runtime when we detect an overlay.
>> What I can do is to extract the war content (except WEB-INF/lib as
>> it's already added) under the warSourceDirectory plugin parameter
>> (default src/main/webapp) which is the docBase (but with a parameter
>> called extractPath relative to the docBase).
>> The plugin configuration part could be
>>          <overlays>
>>            <overlay>
>>              <groupId>org.foo</groupId>
>>              <artifactId>bar</artifactId>
>>              <extractPath>bar</extractPath>
>>            </overlay>
>>          </overlays>
>>
>> What I don't like is people will have to ignore this directory in their scm
>>
>> The best: extract somewhere (temporary directory) and add this as "a
>> symlink" in the docBase.
>>
>> > I will open a JIRA
>> >
>> > Jeff
>> >
>> > On Sat, Apr 28, 2012 at 11:38 PM, Olivier Lamy <ol...@apache.org> wrote:
>> >
>> >> Salut Jeff,
>> >>
>> >> Current Overlay support with tomcat6/7:run is very limited (only use
>> >> jars from WEB-INF/lib of the the war dependencies).
>> >> Perso, I use maven-dependency-plugin to extract war content (see
>> >> sample in this pom [1] ).
>> >> I agree it's "hackhish" :-) and having a better support as in the war
>> >> plugin could be better.
>> >> But didn't yet have any time to work on that. (can you create an issue
>> >> for that ?)
>> >> As my goal was to cut a release soon (ideally starting release process
>> >> next week, I'm not sure I will have time to work on that)
>> >>
>> >> --
>> >> Olivier Lamy
>> >> Talend: http://coders.talend.com
>> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
>> >>
>> >> [1]
>> >>
>> http://svn.apache.org/repos/asf/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
>> >>
>> >> 2012/4/28 Jeff MAURY <je...@jeffmaury.com>:
>> >> > Hello,
>> >> >
>> >> > I am facing the following problem with WAR overlays:
>> >> > I have a first WAR, called skeleton, that contains all necessary
>> stuff:
>> >> > base web.xml, index.jsp and JAR dependencies.
>> >> > I have another WAR whose first dependency is the skeleton which is
>> (as of
>> >> > yet) almost empty except for the slf4j_log4 dependency.
>> >> > When i run tomcat7:run on the skeleton, everything is ok
>> >> > When I run tomcat7:run on the second war, Tomcat start but I am not
>> able
>> >> to
>> >> > use the application.
>> >> > I have look at the mojo code and it seems it is using the web app
>> source
>> >> > directory (src/main/webapp) by default so as it is empty my case, it
>> >> cannot
>> >> > work.
>> >> > AM I missing something ?
>> >> >
>> >> > Thanks
>> >> > Jeff
>> >> >
>> >> >
>> >> > --
>> >> > Jeff MAURY
>> >> >
>> >> >
>> >> > "Legacy code" often differs from its suggested alternative by actually
>> >> > working and scaling.
>> >> >  - Bjarne Stroustrup
>> >> >
>> >> > http://www.jeffmaury.com
>> >> > http://riadiscuss.jeffmaury.com
>> >> > http://www.twitter.com/jeffmaury
>> >> >
>> >> >
>> >> > --
>> >> > Jeff MAURY
>> >> >
>> >> >
>> >> > "Legacy code" often differs from its suggested alternative by actually
>> >> > working and scaling.
>> >> >  - Bjarne Stroustrup
>> >> >
>> >> > http://www.jeffmaury.com
>> >> > http://riadiscuss.jeffmaury.com
>> >> > http://www.twitter.com/jeffmaury
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> >> For additional commands, e-mail: users-help@tomcat.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Jeff MAURY
>> >
>> >
>> > "Legacy code" often differs from its suggested alternative by actually
>> > working and scaling.
>> >  - Bjarne Stroustrup
>> >
>> > http://www.jeffmaury.com
>> > http://riadiscuss.jeffmaury.com
>> > http://www.twitter.com/jeffmaury
>>
>>
>>
>> --
>> 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
>>
>>
>
>
> --
> Jeff MAURY
>
>
> "Legacy code" often differs from its suggested alternative by actually
> working and scaling.
>  - Bjarne Stroustrup
>
> http://www.jeffmaury.com
> http://riadiscuss.jeffmaury.com
> http://www.twitter.com/jeffmaury



-- 
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: Does Tomcat Maven plugin support WAR overlays ?

Posted by Jeff MAURY <je...@jeffmaury.com>.
I don't link the idea of having Maven adding some stuff except under
target. This will cause many many problems with people and SCM.
I don't get your second solution: how do you merge you temporary stuff and
src/main/webapp with a symlink ?

Jeff


On Mon, Apr 30, 2012 at 4:52 PM, Olivier Lamy <ol...@apache.org> wrote:

> 2012/4/30 Jeff MAURY <je...@jeffmaury.com>:
> > Salut Olivier,
> >
> > I wanted to make sure I understand the goal properly.
> > Is the rationale for using src/main/webapp as the default docbase for
> > Tomcat to propagate modifications of files on the fly (JSP,...) without
> the
> > need to restart Tomcat ?
> Yup that's the goal. Fast dev mode (i.e. no restart) when only
> modifying jsp or static resources (html, js, css etc...)
> > At least, I think we should make it clear in the documentation and issue
> a
> > warning at runtime when we detect an overlay.
> What I can do is to extract the war content (except WEB-INF/lib as
> it's already added) under the warSourceDirectory plugin parameter
> (default src/main/webapp) which is the docBase (but with a parameter
> called extractPath relative to the docBase).
> The plugin configuration part could be
>          <overlays>
>            <overlay>
>              <groupId>org.foo</groupId>
>              <artifactId>bar</artifactId>
>              <extractPath>bar</extractPath>
>            </overlay>
>          </overlays>
>
> What I don't like is people will have to ignore this directory in their scm
>
> The best: extract somewhere (temporary directory) and add this as "a
> symlink" in the docBase.
>
> > I will open a JIRA
> >
> > Jeff
> >
> > On Sat, Apr 28, 2012 at 11:38 PM, Olivier Lamy <ol...@apache.org> wrote:
> >
> >> Salut Jeff,
> >>
> >> Current Overlay support with tomcat6/7:run is very limited (only use
> >> jars from WEB-INF/lib of the the war dependencies).
> >> Perso, I use maven-dependency-plugin to extract war content (see
> >> sample in this pom [1] ).
> >> I agree it's "hackhish" :-) and having a better support as in the war
> >> plugin could be better.
> >> But didn't yet have any time to work on that. (can you create an issue
> >> for that ?)
> >> As my goal was to cut a release soon (ideally starting release process
> >> next week, I'm not sure I will have time to work on that)
> >>
> >> --
> >> Olivier Lamy
> >> Talend: http://coders.talend.com
> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
> >>
> >> [1]
> >>
> http://svn.apache.org/repos/asf/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
> >>
> >> 2012/4/28 Jeff MAURY <je...@jeffmaury.com>:
> >> > Hello,
> >> >
> >> > I am facing the following problem with WAR overlays:
> >> > I have a first WAR, called skeleton, that contains all necessary
> stuff:
> >> > base web.xml, index.jsp and JAR dependencies.
> >> > I have another WAR whose first dependency is the skeleton which is
> (as of
> >> > yet) almost empty except for the slf4j_log4 dependency.
> >> > When i run tomcat7:run on the skeleton, everything is ok
> >> > When I run tomcat7:run on the second war, Tomcat start but I am not
> able
> >> to
> >> > use the application.
> >> > I have look at the mojo code and it seems it is using the web app
> source
> >> > directory (src/main/webapp) by default so as it is empty my case, it
> >> cannot
> >> > work.
> >> > AM I missing something ?
> >> >
> >> > Thanks
> >> > Jeff
> >> >
> >> >
> >> > --
> >> > Jeff MAURY
> >> >
> >> >
> >> > "Legacy code" often differs from its suggested alternative by actually
> >> > working and scaling.
> >> >  - Bjarne Stroustrup
> >> >
> >> > http://www.jeffmaury.com
> >> > http://riadiscuss.jeffmaury.com
> >> > http://www.twitter.com/jeffmaury
> >> >
> >> >
> >> > --
> >> > Jeff MAURY
> >> >
> >> >
> >> > "Legacy code" often differs from its suggested alternative by actually
> >> > working and scaling.
> >> >  - Bjarne Stroustrup
> >> >
> >> > http://www.jeffmaury.com
> >> > http://riadiscuss.jeffmaury.com
> >> > http://www.twitter.com/jeffmaury
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >> For additional commands, e-mail: users-help@tomcat.apache.org
> >>
> >>
> >
> >
> > --
> > Jeff MAURY
> >
> >
> > "Legacy code" often differs from its suggested alternative by actually
> > working and scaling.
> >  - Bjarne Stroustrup
> >
> > http://www.jeffmaury.com
> > http://riadiscuss.jeffmaury.com
> > http://www.twitter.com/jeffmaury
>
>
>
> --
> 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
>
>


-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury

Re: Does Tomcat Maven plugin support WAR overlays ?

Posted by Olivier Lamy <ol...@apache.org>.
2012/4/30 Jeff MAURY <je...@jeffmaury.com>:
> Salut Olivier,
>
> I wanted to make sure I understand the goal properly.
> Is the rationale for using src/main/webapp as the default docbase for
> Tomcat to propagate modifications of files on the fly (JSP,...) without the
> need to restart Tomcat ?
Yup that's the goal. Fast dev mode (i.e. no restart) when only
modifying jsp or static resources (html, js, css etc...)
> At least, I think we should make it clear in the documentation and issue a
> warning at runtime when we detect an overlay.
What I can do is to extract the war content (except WEB-INF/lib as
it's already added) under the warSourceDirectory plugin parameter
(default src/main/webapp) which is the docBase (but with a parameter
called extractPath relative to the docBase).
The plugin configuration part could be
          <overlays>
            <overlay>
              <groupId>org.foo</groupId>
              <artifactId>bar</artifactId>
              <extractPath>bar</extractPath>
            </overlay>
          </overlays>

What I don't like is people will have to ignore this directory in their scm

The best: extract somewhere (temporary directory) and add this as "a
symlink" in the docBase.

> I will open a JIRA
>
> Jeff
>
> On Sat, Apr 28, 2012 at 11:38 PM, Olivier Lamy <ol...@apache.org> wrote:
>
>> Salut Jeff,
>>
>> Current Overlay support with tomcat6/7:run is very limited (only use
>> jars from WEB-INF/lib of the the war dependencies).
>> Perso, I use maven-dependency-plugin to extract war content (see
>> sample in this pom [1] ).
>> I agree it's "hackhish" :-) and having a better support as in the war
>> plugin could be better.
>> But didn't yet have any time to work on that. (can you create an issue
>> for that ?)
>> As my goal was to cut a release soon (ideally starting release process
>> next week, I'm not sure I will have time to work on that)
>>
>> --
>> Olivier Lamy
>> Talend: http://coders.talend.com
>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>>
>> [1]
>> http://svn.apache.org/repos/asf/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
>>
>> 2012/4/28 Jeff MAURY <je...@jeffmaury.com>:
>> > Hello,
>> >
>> > I am facing the following problem with WAR overlays:
>> > I have a first WAR, called skeleton, that contains all necessary stuff:
>> > base web.xml, index.jsp and JAR dependencies.
>> > I have another WAR whose first dependency is the skeleton which is (as of
>> > yet) almost empty except for the slf4j_log4 dependency.
>> > When i run tomcat7:run on the skeleton, everything is ok
>> > When I run tomcat7:run on the second war, Tomcat start but I am not able
>> to
>> > use the application.
>> > I have look at the mojo code and it seems it is using the web app source
>> > directory (src/main/webapp) by default so as it is empty my case, it
>> cannot
>> > work.
>> > AM I missing something ?
>> >
>> > Thanks
>> > Jeff
>> >
>> >
>> > --
>> > Jeff MAURY
>> >
>> >
>> > "Legacy code" often differs from its suggested alternative by actually
>> > working and scaling.
>> >  - Bjarne Stroustrup
>> >
>> > http://www.jeffmaury.com
>> > http://riadiscuss.jeffmaury.com
>> > http://www.twitter.com/jeffmaury
>> >
>> >
>> > --
>> > Jeff MAURY
>> >
>> >
>> > "Legacy code" often differs from its suggested alternative by actually
>> > working and scaling.
>> >  - Bjarne Stroustrup
>> >
>> > http://www.jeffmaury.com
>> > http://riadiscuss.jeffmaury.com
>> > http://www.twitter.com/jeffmaury
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>
>
> --
> Jeff MAURY
>
>
> "Legacy code" often differs from its suggested alternative by actually
> working and scaling.
>  - Bjarne Stroustrup
>
> http://www.jeffmaury.com
> http://riadiscuss.jeffmaury.com
> http://www.twitter.com/jeffmaury



-- 
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: Does Tomcat Maven plugin support WAR overlays ?

Posted by Jeff MAURY <je...@jeffmaury.com>.
Salut Olivier,

I wanted to make sure I understand the goal properly.
Is the rationale for using src/main/webapp as the default docbase for
Tomcat to propagate modifications of files on the fly (JSP,...) without the
need to restart Tomcat ?
At least, I think we should make it clear in the documentation and issue a
warning at runtime when we detect an overlay.
I will open a JIRA

Jeff

On Sat, Apr 28, 2012 at 11:38 PM, Olivier Lamy <ol...@apache.org> wrote:

> Salut Jeff,
>
> Current Overlay support with tomcat6/7:run is very limited (only use
> jars from WEB-INF/lib of the the war dependencies).
> Perso, I use maven-dependency-plugin to extract war content (see
> sample in this pom [1] ).
> I agree it's "hackhish" :-) and having a better support as in the war
> plugin could be better.
> But didn't yet have any time to work on that. (can you create an issue
> for that ?)
> As my goal was to cut a release soon (ideally starting release process
> next week, I'm not sure I will have time to work on that)
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> [1]
> http://svn.apache.org/repos/asf/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
>
> 2012/4/28 Jeff MAURY <je...@jeffmaury.com>:
> > Hello,
> >
> > I am facing the following problem with WAR overlays:
> > I have a first WAR, called skeleton, that contains all necessary stuff:
> > base web.xml, index.jsp and JAR dependencies.
> > I have another WAR whose first dependency is the skeleton which is (as of
> > yet) almost empty except for the slf4j_log4 dependency.
> > When i run tomcat7:run on the skeleton, everything is ok
> > When I run tomcat7:run on the second war, Tomcat start but I am not able
> to
> > use the application.
> > I have look at the mojo code and it seems it is using the web app source
> > directory (src/main/webapp) by default so as it is empty my case, it
> cannot
> > work.
> > AM I missing something ?
> >
> > Thanks
> > Jeff
> >
> >
> > --
> > Jeff MAURY
> >
> >
> > "Legacy code" often differs from its suggested alternative by actually
> > working and scaling.
> >  - Bjarne Stroustrup
> >
> > http://www.jeffmaury.com
> > http://riadiscuss.jeffmaury.com
> > http://www.twitter.com/jeffmaury
> >
> >
> > --
> > Jeff MAURY
> >
> >
> > "Legacy code" often differs from its suggested alternative by actually
> > working and scaling.
> >  - Bjarne Stroustrup
> >
> > http://www.jeffmaury.com
> > http://riadiscuss.jeffmaury.com
> > http://www.twitter.com/jeffmaury
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>


-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury

Re: Does Tomcat Maven plugin support WAR overlays ?

Posted by Olivier Lamy <ol...@apache.org>.
Salut Jeff,

Current Overlay support with tomcat6/7:run is very limited (only use
jars from WEB-INF/lib of the the war dependencies).
Perso, I use maven-dependency-plugin to extract war content (see
sample in this pom [1] ).
I agree it's "hackhish" :-) and having a better support as in the war
plugin could be better.
But didn't yet have any time to work on that. (can you create an issue
for that ?)
As my goal was to cut a release soon (ideally starting release process
next week, I'm not sure I will have time to work on that)

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

[1] http://svn.apache.org/repos/asf/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml

2012/4/28 Jeff MAURY <je...@jeffmaury.com>:
> Hello,
>
> I am facing the following problem with WAR overlays:
> I have a first WAR, called skeleton, that contains all necessary stuff:
> base web.xml, index.jsp and JAR dependencies.
> I have another WAR whose first dependency is the skeleton which is (as of
> yet) almost empty except for the slf4j_log4 dependency.
> When i run tomcat7:run on the skeleton, everything is ok
> When I run tomcat7:run on the second war, Tomcat start but I am not able to
> use the application.
> I have look at the mojo code and it seems it is using the web app source
> directory (src/main/webapp) by default so as it is empty my case, it cannot
> work.
> AM I missing something ?
>
> Thanks
> Jeff
>
>
> --
> Jeff MAURY
>
>
> "Legacy code" often differs from its suggested alternative by actually
> working and scaling.
>  - Bjarne Stroustrup
>
> http://www.jeffmaury.com
> http://riadiscuss.jeffmaury.com
> http://www.twitter.com/jeffmaury
>
>
> --
> Jeff MAURY
>
>
> "Legacy code" often differs from its suggested alternative by actually
> working and scaling.
>  - Bjarne Stroustrup
>
> http://www.jeffmaury.com
> http://riadiscuss.jeffmaury.com
> http://www.twitter.com/jeffmaury

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