I have 2 web project: myLibraryProject and myWebProject
myWebProject depends on myLibraryProject, and each use ivy for dependency management:
myLibraryProject ivy.xml:
<ivy-module>
<info organisation="it.me" module="my-library" />
<!-- ... configurations and dependencies ... -->
</ivy-module>
myWebProject ivy.xml:
<ivy-module>
<info organisation="it.me" module="my-web" />
<!-- ... configurations... -->
<dependencies>
<dependency org="it.me" name="my-library" rev="latest.integration" />
</dependencies>
</ivy-module>
I'm also using Resolve in workspace (within Eclipse and IvyDE plugin).
it's able to resolve the dependency, but it put my-library.war
in my-web.war/WEB-INF/lib/
This way myWebProject can't use the library because it expect a jar, and not a war.
How can I tell... Eclipse? Ivy?... to not create a war but a jar?
I haven't found a solution, but have at least found an explanation, and a work-around.
The explanation
As the ant documentation says:
Note that WTP doesn't support IvyDE's workspace resolver. See the details in the page dedicated to WTP integration.
The work-around
I've created a normal java project and a symbolic link (can be done also on window) to the web-project source folder in the normal project. This way IvyDE can resolve in workspace the normal project and all modifications still "propagate" in the web project.