gpt4 book ai didi

scala - 在 sbt 中添加仅编译时依赖项

转载 作者:行者123 更新时间:2023-12-03 12:25:42 28 4
gpt4 key购买 nike

我想向一个仅用于编译的 sbt 项目添加一个依赖项。它也不应该在运行时类路径上,也不应该在已发布的 POM 中以任何形式可见。

这个想法是添加一个仅 stub 的库(OrangeExtensions),以便项目可以在任何平台上编译,而不仅仅是 OS X。

是否有可能以某种方式:

libraryDependencies += "com.yuvimasory" % "orange-extensions" % "1.3.0" % ???

?

最佳答案

您可以创建自定义 dependency configuration为此(实际上,当您在项目中使用私有(private)宏时,这变得如此普遍,我希望 SBT 提供一个)。

build.sbt :

// a 'compileonly' configuation
ivyConfigurations += config("compileonly").hide

// some compileonly dependency
libraryDependencies += "commons-io" % "commons-io" % "2.4" % "compileonly"

// appending everything from 'compileonly' to unmanagedClasspath
unmanagedClasspath in Compile ++=
update.value.select(configurationFilter("compileonly"))

该依赖不会出现在 pom.xml 中。由 publish 生成和 friend 。

几乎有这样的配置可用: provided配置。除了 provided结束于 pom.xml作为与 provided 的依赖项范围。另外, provided意思是“运行时本身在运行时提供这个”,而不是“运行时不需要这个”。

关于scala - 在 sbt 中添加仅编译时依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21515325/

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