Ivy + eclipse运行时依赖项部署

时间:2014-04-02 08:34:49

标签: eclipse ivy ivyde

我有一个带有IvyDE托管依赖项的eclipse项目

我的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>

我有编译时需要的依赖项和运行时所需的依赖项

我不知道eclipse(IvyDE)中的apache IVY是否可行,但我只想将RUNTIME依赖性部署到服务器。

现在我找到的唯一解决方案是:

  • 将IvyDE设置为解析ALL(编译+运行时)依赖项并设置模块类路径
  • 将[Ivy]库添加到项目属性
  • 的[DeploymentAssembly]

这样,所有依赖项(包括编译时依赖项)都部署到服务器......

有没有办法实现这个?

提前致谢

1 个答案:

答案 0 :(得分:2)

我回答我自己的问题。

最后,我设法获得了两个不同的常春藤管理类路径库,一个在编译时使用,另一个在运行时使用

detail of the two ivy-managed classpath libraries

诀窍包括两个ivyDE管理的依赖项:

add ivyDE managed dependency

一个ivyDE托管依赖项应该用于COMPILE配置,另一个用于RUNTIME配置:

ivyDE config selection

(重复RUNTIME配置)

然后这只是设置问题:

  • COMPILE配置的常春藤依赖应该是[项目库]
  • RUNTIME配置的常春藤依赖应该在[部署组装]

这就是全部!