Развертывание зависимостей Ivy + eclipse во время выполнения
У меня есть проект eclipse с управляемыми зависимостями IvyDE
Мой IvyDE что-то вроде:
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="R01"
module="myModule"
status="integration">
</info>
<configurations>
<conf name="compile" description="Used only at compile time; not deployed to the server" />
<conf name="runtime" extends="compile" description="Deployed to the server"/>
</configurations>
<dependencies>
<dependency org="com.sun.jersey" name="jersey-core" rev="1.9.1" conf="runtime"/>
<dependency org="javax.ws.rs" name="jsr311-api" rev="1.1.1" conf="compile"/>
</dependencies>
</ivy-module>
У меня есть зависимости, необходимые во время компиляции и зависимости, необходимые во время выполнения
Я не знаю, возможно ли это с Apache IVY в Eclipse (IvyDE), но я хочу развернуть на сервере ТОЛЬКО RUNTIME-зависимости.
Теперь единственное решение, которое я нашел, это:
- установить IvyDE для разрешения ВСЕХ (компиляции + времени выполнения) зависимостей и установить путь к классу модуля
- добавьте библиотеку [Ivy] в [DeploymentAssembly] в свойствах проекта
Таким образом, все зависимости (включая зависимости времени компиляции) развертываются на сервере...
Есть ли способ добиться этого???
заранее спасибо
1 ответ
Я отвечаю на свой вопрос.
Наконец, мне удалось получить ДВЕ различные библиотеки путей, управляемых ivy, одну из которых использовали во время компиляции, а другую во время выполнения.
Хитрость заключается в том, чтобы включить ДВЕ управляемые ivyDE зависимости:
Одна управляемая зависимость ivyDE должна быть для конфигурации COMPILE, а другая для конфигурации RUNTIME:
(повторите для конфигурации RUNTIME)
Тогда это только вопрос настройки:
- зависимость ivy для конфигурации COMPILE должна быть [Project Library]
- зависимость ivy для конфигурации RUNTIME должна быть в [Deployment Assembly]
Это все!