ivy + eclipse 运行时依赖部署
Posted
技术标签:
【中文标题】ivy + eclipse 运行时依赖部署【英文标题】:Ivy + eclipse runtime dependencies deployment 【发布时间】:2014-05-13 09:36:44 【问题描述】:我有一个带有 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] 中这样所有依赖项(包括编译时依赖项)都部署到服务器上...
有什么办法可以做到吗???
提前致谢
【问题讨论】:
【参考方案1】:我回答我自己的问题。
最后我设法获得了两个不同的 ivy 管理的类路径库,一个在编译时使用,另一个在运行时使用
诀窍是包含两个 ivyDE 管理的依赖项:
一个 ivyDE 托管依赖项应该用于 COMPILE 配置,另一个用于 RUNTIME 配置:
(重复 RUNTIME 配置)
那么这只是设置的问题:
COMPILE 配置的 ivy 依赖项应该是 [项目库] RUNTIME 配置的 ivy 依赖项应位于 [部署程序集]就是这样!
【讨论】:
+1 让我开心。我遇到了完全相同的问题,让 Ivy-classpath-container 将运行时库(在本例中为 websocket-api)部署到 tomcat 部署文件夹。将这两种配置分成两个不同的 ivy 类路径条目解决了这个问题。感谢@futuretelematics 提议。以上是关于ivy + eclipse 运行时依赖部署的主要内容,如果未能解决你的问题,请参考以下文章
Intellij 在运行 Ivy Project 时无法找到类