2016-09-07 174 views
5

我见过很多地方在Clojure项目中的一些依赖项标记为:scope "provided"example)。做什么:scope“provided”是什么意思?

这是什么意思?

+2

您可以阅读有关maven范围的内容,因为它们是相同的东西。 http://stackoverflow.com/questions/6646959/difference-between-maven-scope-compile-and-provided-for-jar-packaging,据我所知,如果你在你的项目中使用这个lib,你应该还要将这些依赖关系添加到您的project.clj中,以及lib本身(仍然可以被误解) – leetwinski

+0

还有一些其他范围可以使用:https://maven.apache.org/guides/introduction/introduction-to -dependency-mechanism.html#Dependency_Scope – leetwinski

+0

@leetwinski谢谢,现在看来很清楚。顺便说一句,是否有任何理由使用':scope“test”'而不是':test' profile? – OlegTheCat

回答

1

你可以阅读有关maven范围,因为它是相同的事情。 Difference between maven scope compile and provided for JAR packaging。所以据我所知,如果你在你的项目中使用这个lib,你也应该把这些依赖添加到你的project.clj中,和lib本身一起(仍然可以被误认为是)

还有一些其他的您可以使用的示波器:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

1

这实质上是一个maven概念。 Provided意味着给定的依赖关系已经打包(或如果你愿意的话)提供给环境。该jar是编译所必需的,但不会与应用程序打包在一起。这些也不是传递依赖。

要了解有关传递依赖性的更多信息,请参阅here