On 6/12/06, Wendy Smoak <[EMAIL PROTECTED]> wrote:

On 6/12/06, Craig McClanahan <[EMAIL PROTECTED]> wrote:
> On 6/12/06, Gary VanMatre <[EMAIL PROTECTED]> wrote:
> >
> > I had to wack my m2 shale repos and then rebuild all of the
> > libraries.  That was the was the ticket.  I'm having trouble building
> > shale-test.  Is anyone seeing this error?
> >
> >
> > [INFO] [compiler:compile]
> > Compiling 34 source files to
c:\shale2\mvn_reorg\shale-test\target\classes
> > [INFO]
> >
------------------------------------------------------------------------
> > [ERROR] BUILD FAILURE
> > [INFO]
> >
------------------------------------------------------------------------
> > [INFO] Compilation failure
> >
> >
c:\shale2\mvn_reorg\shale-test\src\main\java\org\apache\shale\test\mock\MockServ
> > letContext.java:[53,7] org.apache.shale.test.mock.MockServletContextis
> > not abst
> > ract and does not override abstract method getContextPath() in
> > javax.servlet.Ser
> > vletContext
>
>
> Hmm ... getContextPath() was added to the Servlet API in 2.4, so you'd
get
> an error like this if you compiled against the 2.4 version of the
API.  We
> don't explicitly specify a version in the test framework's POM, so for
me
> (and I'd guess for Wendy too) it's picking up a 2.3 version of the
servlet
> API.

Off by one?  I think the getContextPath() method was added in Servlet
2.5, and both of us are correctly compiling against 2.4.


Yep ... it was indeed added in 2.5.


Since Shale as a whole depends on Servlet 2.4, I'm going to go through all
> the POMs and make sure we're explicit about the version number ... and
also
> clean up any problems that this causes (including this one).  Look for a
> commit later this evening.

The <dependencyManagement> section of the shale-parent pom controls
the version number, and it has 2.4.  It does not need to be specified
in each pom.

The only way I can reproduce this error is to add
<version>2.5</version> to the servlet-api dependency in
shale-test/pom.xml.


I'm trying to reduce redundancy by removing the javax.servlet:servlet-apiand
javax.servlet:jsp-api dependencies inside the subordinate modules, since
they are declared in shale-parent ... but that causes compile errors
indicating that no API classes are getting added to the classpath.
Shouldn't the subordinate POMs be inheriting this dependency from
shale-parent?

Gary, can you make sure you've updated everything, or try this with a
fresh checkout, and let us know if it still happens?  I think you have
an updated shale-test pom, but an old shale-parent pom.


Indeed, you'd have to execute "mvn clean install" from the parent directory
to insure that the new parent POM gets installed first.

--
Wendy


Craig

Reply via email to