在哪里可以找到下载的sbt库? [英] where to find downloaded library of sbt?

查看:313
本文介绍了在哪里可以找到下载的sbt库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Where does sbt put the downloaded jar? I'm trying to ask sbt to download all dependencies and put them under lib/ directory so I can use them with the ScalaIDE, however after I ran sbt compile successfully I don't know where to find these downloaded .jars

推荐答案

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

All new SBT versions (after 0.7.x) by default put the downloaded JARS into the .ivy2 directory in your home directory.

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

If you are using Linux, this is usually /home/<username>/.ivy2/cache.

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

If you are using Windows, this is usually c:\Users\<username>\.ivy2\cache.

编辑:

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

Here's an example from one of my projects, in which I define an SBT task that copies the dependencies into the target folder. You can place this code into your project/Build.scala project definition file. You should have something like this in your project definition file (more info at www.scala-sbt.org):

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

object MyProjectBuild extends Build {

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

The following code copies all your libraries to a deploy/libz subdirectory, by defining a deploy task that captures your program artifact and all its classpath dependencies:

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)

这篇关于在哪里可以找到下载的sbt库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆