1

我有一个带有 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 以解析所有(编译 + 运行时)依赖项并设置模块类路径
  • 将 [Ivy] 库添加到项目属性中的 [DeploymentAssembly]

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

有没有办法做到这一点???

提前致谢

4

1 回答 1

2

我回答我自己的问题。

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

两个 ivy 管理的类路径库的详细信息

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

添加 ivyDE 托管依赖

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

ivyDE 配置选择

(重复 RUNTIME 配置)

那么这只是一个设置问题:

  • COMPILE 配置的常春藤依赖项应该是 [项目库]
  • RUNTIME 配置的 ivy 依赖项应位于 [部署程序集]

就这样!

于 2014-04-02T15:30:28.517 回答