Oh, hell, guys--I didn't even think about posting this yesterday, but a new developer to our team found a workaround that seems to prod WTP into recognizing the need to republish. In the EE Module Dependencies configuration for your web project, select some other open project as a dependency, click 'Apply', then de-select it and click 'Apply' again. Now your Ivy deps should be published as proper. YMMV, but it's been working like a charm for us!
-Matt On 4/22/10, Eric Gulatee <[email protected]> wrote: > Tim, > > I updated my version of IVyDE, and remove the retrieve to > src/main/webapp/WEB-INF/lib. > Didn't seem to do it for Tomcat... (I need to double check) > > I have left it with the retrieve to src/main/webapp/WEB-INF/lib which works > for me. > > All, thank you very much for your responses. That was making me crazy... > Sometimes it worked, other times it didn't... > > Cheers, > Eric G. > > > On Wed, Apr 14, 2010 at 6:38 PM, Tim Brown <[email protected]> wrote: > >> We actually have this working. Had the same issue, but I don't recall >> exactly what the cause was. (it's been a while) >> >> I'll dig into my current setup and see how it differs, perhaps we can sort >> it out. >> >> I'm running OSX, Galileo SR2, but with Ivy 2.2.x-local-20091117220235 and >> IvyDE 2.1.0.200911161501-hudson-79. >> >> Yes, that's a trunk release. It was for a bug fix, but I don't remember >> which :(. It's' been stable for us (>100 developers) for months now. >> >> My .classpath entry for Ivy is slightly different: >> <classpathentry exported="true" kind="con" >> >> path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&confs=tomcat-runtime,runtime&acceptedTypes=jar,tomcat-war,tomcat-aar&resolveInWorkspace=true"> >> <attributes> >> <attribute name="" value="/WEB-INF/lib"/> >> <attribute name="org.eclipse.jst.component.dependency" >> value="/WEB-INF/lib"/> >> </attributes> >> </classpathentry> >> >> I also have the Dyanamic Web module and Java facets set on my [war] >> project. >> >> When I resolve I can expand the Ivy lib reference, revealing resolved >> workspace projects and jars. >> >> Deploying to Tomcat 6 via WTP works as expected. >> >> >> ~Tim >> >> On Tue, Apr 13, 2010 at 9:31 PM, Eric Gulatee <[email protected] >> >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&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. >> > >> >
