On Apr 14, 2010, at 7:01 AM, Nicolas Lalevée wrote:

On Wednesday 14 April 2010 13:13:36 Eric Gulatee wrote:
Andrew,

Yeah, a few times new dependencies were not pushed even though they
appeared in the ivy library.
On a sad/funny side, the WAR file does contain the deps that I am looking
for that seemingly don't get pushed to the WTP server.

I guess I'll start using my build scripts to publish a WAR to an AppServer.

I am not a WTP user, but what about making IvyDE retrieve [1] the jars into the WEB-INF/lib of your eclipse project, and tell WTP about the jars in
WEB-INF/lib more than about the IvyDE container ?
If your dependencies don't often change, it can be a good work around I think.

Nicolas

[1] http://ant.apache.org/ivy/ivyde/history/latest-milestone/cpc/ retrieve.html


I too have thought that retrieve might alleviate the issues, but admittedly hadn't yet tried it. I have somewhat of a gut reaction against retrieval vs. using artifacts from cache, but I might try it sometime.

-Matt



Cheers,
Eric G.

On Wed, Apr 14, 2010 at 3:59 AM, Andrew Thorburn <[email protected]> wrote:
I'm afraid I can't help you, just piping in to say that I've got
basically the same problem - it doesn't always seem to publish my
dependencies. I'm publishing to Jetty, not Tomcat, but even so...

And even when it does publish them, it doesn't publish any new
dependencies (e.g. if I build a new version (with a new filename) of a dependency, it doesn't get picked up straight away - I typically have
to close/reopen the project for it to work). Drove me up the wall to
the point where I just gave up, and began using Eclipse's remote
debugging stuff to connect to Glassfish, and just completely ignoring
WTP. Yes, it means I have to undeploy/redeploy to get new things
picked up by Glassfish, but it beats spending hours trying to get this
working with WTP.

- Andrew Thorburn

On Wed, Apr 14, 2010 at 4: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.de
bug.ui.launcher.StandardVMType/J2SE-1.5"/>

        <classpathentry kind="con"

path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/? ivyXmlPath=iv
y.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.



Reply via email to