Search code examples
eclipseivyivyde

How to reference a web project from another web project with Ivy and Resolve in workspace


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?


Solution

  • 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.