对于Android和其他Java项目,IntelliJ和其他一些构建系统允许具有“提供”范围的依赖项,这意味着相关模块的源代码将不会包含在相关模块中。
虽然IntelliJ在模块配置的基础上设置了Ant project.properties,但它只包含IntelliJ所谓的“编译”依赖项,因此使用Ant时“提供的”依赖项将导致构建错误。
“提供”范围在其他依赖范围会导致多次引用类的情况下非常有用。
有没有办法在Ant中做这样的事情?
答案 0 :(得分:3)
Pure Ant不进行依赖管理,它只是一个构建工具。 IntelliJ通过根据您的项目配置生成适当的构建脚本来解决这个问题,但这只是一个拐杖。
为了模仿IDE环境之外的相同内容,您需要依赖Ant的扩展 - 又名Ivy。 Ivy将依赖关系管理带到Ant构建'表',允许您定义要在构建中使用的库以及它们应该如何作用域。 Ivy Quick Start是开始学习它的好地方。
或者,您可以使用Maven,其中 是一个依赖项管理工具,并且可以开箱即用,无需其他配置。另外,它支持IntelliJ。