Hi,
After installing the latest Eclipse Java EE IDE for Web Developers web project files are no longer published to the tomcat server when the project include jars in the J2EE module dependencies. The current setup was working fine with at least 2 versions of eclipse and various configurations and operating systems.
In detail:
Having a standalone project and linked to a user library works as it used to and as expected. However if I add one .jar dependency to the project (from another project in the workspace) it fails immediately with the following error: Could not publish to the server.
(Stack trace at the end of the message)
The web project I am working is part of a workspace with a few other projects. Including the projects as J2EE module dependencies works. But the moment I add any of jars from the projects I depend on, I get the could not publish error.
I tried to work around this by combining all the workspace jars my project depends on a user library and then add this library to the J2EE module dependencies. This is solving the error but the result is that none of the files from WebContent directory are published. The .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebap ps/myproject/ directory contains only the WEB-INF with the classes and the lib folder with the jars. If i publish manually (just copy all the files from my project the wtpwebapps) everything works well, but then auto publish does not work any more for .jsp or plain files (only works for editing java source files).
Still, if my project does not depend on other local projects, everything works fine.
The stack trace is:
org.eclipse.core.runtime.AssertionFailedException: null argument:
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
at org.eclipse.core.runtime.Path.initialize(Path.java:577)
at org.eclipse.core.runtime.Path.<init>(Path.java:163)
at org.eclipse.wst.web.internal.deployables.ComponentDeployable.addUtilMember(ComponentDeployable.java:366)
at org.eclipse.jst.j2ee.internal.deployables.J2EEFlexProjDeployable.addUtilMember(J2EEFlexProjDeployable.java:160)
at org.eclipse.wst.web.internal.deployables.ComponentDeployable.addUtilMembers(ComponentDeployable.java:354)
at org.eclipse.jst.j2ee.internal.deployables.J2EEFlexProjDeployable.members(J2EEFlexProjDeployable.java:256)
at org.eclipse.wst.server.core.internal.ModulePublishInfo.getDelta(ModulePublishInfo.java:366)
at org.eclipse.wst.server.core.internal.ServerPublishInfo.getDelta(ServerPublishInfo.java:368)
at org.eclipse.wst.server.core.internal.Server.getPublishedResourceDelta(Server.java:1363)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.getPublishedResourceDelta(ServerBehaviourDelegate.java:653)
at org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour.getPublishedResourceDelta(TomcatServerBehaviour.java:896)
at org.eclipse.jst.server.tomcat.core.internal.PublishOperation2.publishDir(PublishOperation2.java:110)
at org.eclipse.jst.server.tomcat.core.internal.PublishOperation2.execute(PublishOperation2.java:78)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.performTasks(ServerBehaviourDelegate.java:1136)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:853)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:708)
at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:2731)
at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:278)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The session data are:
eclipse.buildId=unknown
java.version=1.6.0_18
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product