gpt4 book ai didi

java - 在哪里可以找到下载的 sbt 库?

转载 作者:IT老高 更新时间:2023-10-28 20:28:56 25 4
gpt4 key购买 nike

sbt把下载的jar放在哪里?我试图让 sbt 下载所有依赖项并将它们放在 lib/目录下,以便我可以将它们与 ScalaIDE 一起使用,但是在我成功运行 sbt compile 之后,我不知道在哪里可以找到这些下载的.jars

最佳答案

所有新的 SBT 版本(在 0.7.x 之后)默认将下载的 JARS 放入 .ivy2主目录中的目录。

如果您使用的是 Linux,这通常是 /home/<username>/.ivy2/cache .

如果您使用的是 Windows,这通常是 c:\Users\<username>\.ivy2\cache .

编辑:

这是我的一个项目中的一个示例,我在其中定义了一个将依赖项复制到目标文件夹中的 SBT 任务。您可以将此代码放入您的project/Build.scala项目定义文件。您的项目定义文件中应该有类似的内容(更多信息请访问 www.scala-sbt.org):

import sbt._
import Keys._
import Process._

object MyProjectBuild extends Build {

以下代码将所有库复制到 deploy/libz子目录,通过定义 deploy捕获您的程序工件及其所有类路径依赖项的任务:

val deployKey = TaskKey[Unit](
"deploy",
"Deploys the project in the `deploy` subdirectory."
)

val deployTask = deployKey <<= (artifactPath in (Compile, packageBin), dependencyClasspath in Compile) map {
(artifact, classpath) =>
val deploydir = new File("deploy")
val libzdir = new File("deploy%slib".format(File.separator))

// clean old subdirectory
deploydir.delete()

// create subdirectory structure
deploydir.mkdir()
libzdir.mkdir()

// copy deps and artifacts
val fullcp = classpath.map(_.data) :+ artifact
def lastName(file: File) = if (file.isFile) file.getName else file.getParentFile.getParentFile.getParentFile.getName
for (file <- fullcp) {
println("Copying: " + file + "; lastName: " + lastName(file))
if (file.isFile) IO.copyFile(file, (libzdir / lastName(file)).asFile);
else IO.copyDirectory(file, (libzdir / lastName(file)))
}
} dependsOn (packageBin in Compile)

关于java - 在哪里可以找到下载的 sbt 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094610/

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