I am using MyEclipseIDE 9.0M1 installed through Pulse.
I have two projects. web-project is a web project. web-project depends on java-project. java-project shows up as a dependency for web-project in its maven deps. I have activated “workspace resolution for maven projects”.
web-project contains foo.bar.ClassA. java-project contains foo.bar.ClassB
If I close java-project, then web-project references the jar for java-project (java-project-1.0-SNAPSHOT.jar). If I deploy web-project into a Tomcat container, then the java-project-1.0-SNAPSHOT.jar shows up correctly in the WEB-INF/lib folder for the deployment of web-project.
Now, if I open java-project again, I am expecting now that the classes from java-project to show up in the WEB-INF/classes folder of the web-project deployment (so that I am able to work on both projects simultaneously:
However, the following thing happens:
Right after “Add deployment”, after the deployment has finished:
ls ~/apache/webapps/web-project/WEB-INF/classes/foo/bar
ClassA.class
If I clean java-project and wait for the rebuild to finish:
ls ~/apache/webapps/web-project/WEB-INF/classes/foo/bar
ClassA.class ClassB.class
If I clean web-project and wait for the rebuild to finish:
ls ~/apache/webapps/web-project/WEB-INF/classes/foo/bar
ClassA.class
So it seems, that for project dependencies inside the workspace, the deployment does not work correctly. If I e.g. remove “ClassB.class” from the deployment and click “redeploy”, it does not show up again. However, if I remove the “ClassB.class” file and edit the ClassB.java file (so that the compiler recompiles it), it shows up again in the WEB-INF/classes folder for web-project.
This is pretty annoying because right after deploying into a web container, I need to remember that I have to clean all the projects that my web project depend upon, but *not* the project itself. And if I have to clean it, I will also need to clean all the other projects, but not at the same time as web-project, because if I do so, then it only the classes of web-project will show up.
If you need more information, I can build a test case for you to try out. This is a *very* annoying bug that has been present in MyEclipse for at least since 8.5 and it manifests itself in 9.0M1, too.