依赖范围的确切含义是啥,例如构建、测试等

Posted

技术标签:

【中文标题】依赖范围的确切含义是啥,例如构建、测试等【英文标题】:What are the precise meaning of the dependency scopes, e.g build, test etc依赖范围的确切含义是什么,例如构建、测试等 【发布时间】:2013-01-31 17:40:20 【问题描述】:

我打开了几个线程,因为我很难创建一个将安装到另一个项目中的插件。我得到了一些帮助,但我现在意识到我解决的部分尝试是猜测,而猜测游戏的一部分是我对构建、测试等的含义并不完全清楚。这是我的猜测:

build - build the war file

runtime - running on the target platform, maybe run-app as well

compile - compiling Groovy/Java

test - running test-app

provided - not really sure

其中一些范围还包括其他范围,但从我在一些 SO 答案中看到的情况来看,对此存在一些混淆。我认为用户指南中缺少对范围的明确定义以及示例和含义。这是一个公平的观察吗?

【问题讨论】:

见***.com/questions/8751508/… 多勒里。感谢您的回复。我有这个书签并研究了它 - 好几次!但是,还是觉得我没有清晰的画面。例如,build 是否意味着您正在构建一个 war 文件,或者仅用于运行应用程序、测试应用程序、编译,或两者兼而有之?我的经验告诉我,有一些我不知道的背景信息,但假定是已知的。从表面上看,这应该是相当直截了当的。希望你能进一步提供帮助。约翰 groovyc.net/?p=5 【参考方案1】: 构建 - 仅由构建系统使用。不分布在你的战争中。不是 可用于您的代码进行编译 运行时 - 运行应用程序所需,随您的战争一起分发。 编译 - 编译所需,随您的战争分发 测试 - 仅用于编译和运行测试,不随您的战争分发 提供 - 编译需要,但不随您的 war 分发 - 这对于可能在公共文件夹中包含依赖项并在分发不同版本时导致类路径问题的应用服务器很有用(某些版本的 tomcat 与 log4j 有此问题)

注意 - 这些并不是真正的 grails,它们来自 maven

【讨论】:

瑞克。我会的,但我还没有找到可以点击“接受”的内容!愚蠢,我知道,但正如小熊维尼所说,我越看,它就越不存在。我觉得一个“Duh”的时刻即将到来......

以上是关于依赖范围的确切含义是啥,例如构建、测试等的主要内容,如果未能解决你的问题,请参考以下文章

maven依赖范围

maven scope含义的说明

maven scope含义的说明

maven scope含义的说明

maven scope含义的说明

maven scope含义的说明