gpt4 book ai didi

java - 如何为jar定义ivy配置仅用于编译而不是运行时

转载 作者:行者123 更新时间:2023-12-01 23:58:10 26 4
gpt4 key购买 nike

我在 tomcat 容器上部署我的应用程序时遇到问题,该容器已包含 servlet-api,并且我的应用程序还依赖于 servlet-api,因为它们存在冲突。

是否可以为我的应用程序定义ivy,使其仅在编译期间而不是运行时包含servlet-api。

如何做到这一点。

dependency org="java"name="servlet-api"rev="default"conf="compile"

由于编译未通过 ivy 验证而传递conf。

最佳答案

听起来像是一个功能上类似于 Maven“提供”范围的依赖项。

我的建议是创建额外的配置和映射,例如:

<configurations>
<conf name="compile" description="Compile dependencies"/>
<conf name="runtime" description="Runtime dependencies" extends="compile"/>
<conf name="provided" description="Provided dependencies"/>
</configurations>

<dependencies>
<dependency .. conf="compile->default"/>
<dependency .. conf="runtime->default"/>
<dependency .. conf="provided->default"/>
</dependencies>

在构建文件中,用于编译的类路径可以包含额外的依赖项,如下所示:

<ivy:cachepath pathid="compile.path" conf="compile,provided"/>

关于java - 如何为jar定义ivy配置仅用于编译而不是运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15282568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com