Как сделать ссылку на веб-проект из другого веб-проекта с помощью ivy и Resolve в рабочей области

У меня есть 2 веб-проекта: myLibraryProject и myWebProject.

myWebProject зависит от myLibraryProject, и каждый из них использует ivy для управления зависимостями:

myLibraryProject плющ.xml:

<ivy-module>
    <info organisation="it.me" module="my-library" />
    <!-- ... configurations and dependencies ... -->
</ivy-module>

myWebProject плющ.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>

Я также использую Resolve в рабочей области (в плагинах eclipse и ivyDe).

он может разрешить зависимость, но помещает my-library.war в my-web.war/WEB-INF/lib/

Таким образом, myWebProject не может использовать библиотеку, потому что она ожидает банку, а не войну.

Как я могу сказать... затмение? плющ?... чтобы создать не войну, а банку?


person lelmarir    schedule 06.06.2013    source источник
comment
Трудно понять, в чем ваша проблема, но я подозреваю, что она как-то связана с тем, как вы вызываете задачу извлечения плюща в файле myWebProject build.xml. Во-вторых, вы публикуете банку из файла myLibraryProject build.xml? Я не вижу раздела публикаций в файле ivy.   -  person Mark O'Connor    schedule 07.06.2013
comment
я не использую муравей (по крайней мере сейчас). У меня есть два проекта в рабочей области eclipse, и я говорю ivy разрешить в рабочей области. Публикаций нет, и если я скажу ‹artifact name=my-library type=jar /›, ivyDe (не ivy, плагин eclipse), похоже, проигнорирует это. Я также попытался удалить зависимость от плюща и добавить проект непосредственно из eclipse, изменив расширение на jar в сборке развертывания, но таким образом он просто развертывает WEB-INF/lib/my-library.jar, но внутри все еще война, и не работает.   -  person lelmarir    schedule 07.06.2013
comment
Ivy — это прежде всего плагин ANT. Похоже, проблема связана с плагином Eclipse.   -  person Mark O'Connor    schedule 08.06.2013


Ответы (1)


Я нашел кое-что, а не решение, но, по крайней мере, объяснение и обходной путь.

Объяснение

Как говорится в документации муравья:

Обратите внимание, что WTP не поддерживает преобразователь рабочей области IvyDE. См. подробности на странице, посвященной интеграция WTP.

Обходной путь

Я создал обычный Java-проект и символическую ссылку (можно сделать и в окне) в исходную папку веб-проекта в обычном проекте. Таким образом, ivyDe может разрешить в рабочей области обычный проект, а все модификации по-прежнему «распространяются» в веб-проекте.

Не лучший способ, но, по крайней мере... надеюсь, что это может помочь кому-то.

person lelmarir    schedule 08.06.2013