ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirby Files" <>
Subject RE: IVYDE, Eclipse 3.5 & WTP
Date Wed, 14 Apr 2010 14:31:29 GMT
I have no personal experience with using WTP, but can add a general
caution about Ivy and Windows.

Don't launch/debug any applications from a staging-lib or deploy
directory (that is, using ivy:retrieve to populate WEB-INF/lib, and then
testing using those jars in your classpath). Eclipse on Windows can and
will lock jars during execution.

Instead use ivy:cacheclasspath to populate the classpath for any build
steps, and IvyDE classpath container (also uses cache) for launch/debug
configurations. That will allow your ivy:retrieve task to WEB-INF/lib to
be free of any locked jars.

Windows exclusive locking is a PITA; I don't experience any of these
problems on Linux.

I have no idea if any of this is relevant to your setup, but I just
thought I'd pass it along.

Kirby Files
Software Architect
Masergy Communications

-----Original Message-----
From: Matt Benson [] 
Sent: Wednesday, April 14, 2010 10:23 AM
Subject: Re: IVYDE, Eclipse 3.5 & WTP

Just to confirm you're not crazy.  I and my coworkers often have to  
shake and pummel Eclipse to get it to publish stuff.  I unfortunately  
still have never taken the plunge into the RT world of Eclipse +  
IvyDE to figure out what is going on.  One item of interest:  a  
colleague of mine did find a JIRA report against STS or Spring IDE  
(can't remember which, but... what's the difference?) that accounts  
for failures to delete old cached artifacts when resolving projects.   
It seems STS is responsible for locking the cached jars, the only  
remedy for which, AFAIK, is to shut down Eclipse.  There's no logic  
to this leap, but it does make me wonder if STS could be responsible  
for this as well... (for our part we're stuck using STS for its  
TCServer support)


On Apr 13, 2010, at 11:31 PM, Eric Gulatee wrote:

> All,
> I've constantly had problems getting my dependencies declared in  
> ivy to be
> published to the tomcat server.
> Before you answer just add the JavaEE module dep, I have already done
> that...
> When I check my .metadata where the WebApp is being published, I  
> don't see a
> lib directory under WEB-INF.
> I am using eclipse 3.5, MaxOSX, IVY 2.1.0 IVYDE 2.0.0 final.
> Any thoughts?  Any way to debug this?
> I tried a few options:
> ivy with all confs
> Wiped our my tomcat, forced a republish...  No effect.
> To prove I didn't miss the JavaEE module dep:
> Here's my .classpath
> ?xml version="1.0" encoding="UTF-8"?>
>> <classpath>
>>         <classpathentry kind="src" output="target/classes"
>> path="src/main/java"/>
>>         <classpathentry kind="src" path="src/test/resources"/>
>>         <classpathentry kind="src" output="target/test-classes"
>> path="src/test/java"/>
>>         <classpathentry kind="src" path="src/main/antlr3"/>
>>         <classpathentry excluding="**" kind="src" output="target/ 
>> classes"
>> path="src/main/resources"/>
>>         <classpathentry kind="con"
>> path="org.eclipse.jdt.launching.JRE_CONTAINER/ 
>> org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
>>         <classpathentry kind="con"
>> path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/? 
>> ivyXmlPath=ivy.xml&amp;confs=*">
>>                 <attributes>
>>                         <attribute
>> name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
>>                 </attributes>
>>         </classpathentry>
>>         <classpathentry kind="output" path="target/classes"/>
>> </classpath>
> Tomcat is complaining about a spring web context class..
> SEVERE: Error configuring application listener of class
> org.springframework.web.context.ContextLoaderListener
> java.lang.ClassNotFoundException:
> org.springframework.web.context.ContextLoaderListener
> However...
> I do have spring-web-....  listed as a dep/jar in ivy.xml
> And the jar does have the missing class...
> package org.springframework.web.context;
>> import javax.servlet.ServletContextEvent;
>> import javax.servlet.ServletContextListener;
>> /**
>>  * Bootstrap listener to start up and shut down Spring's root {@link
>> WebApplicationContext}.
>>  * Simply delegates to {@link ContextLoader} as well as to {@link
>> ContextCleanupListener}.
>>  *
>>  * <p>This listener should be registered after
>>  * {@link org.springframework.web.util.Log4jConfigListener}
>>  * in <code>web.xml</code>, if the latter is used.
>>  *
>>  * @author Juergen Hoeller
>>  * @since 17.02.2003
>>  * @see org.springframework.web.util.Log4jConfigListener
>>  */
>> public class ContextLoaderListener extends ContextLoader implements
>> ServletContextListener {
> As I said, I do a few cleans, have wiped out the server.  changed
> workspace.  Issue remains the same...
> I never do see WEB-INF/lib get created under the appropriate  
> directory under
> .metadata in my workspace.
> Any thoughts?  I don't think I'm doing anything silly/obviously  
> wrong...
> I have had this flaky behaviour before where publish wouldn't always
> publish...  It did work eventually...  [After cleans, Destroy servers,
> change workspace]
> Cheers,
> Eric G.

View raw message