21

我想组织我的 Scala 包并喜欢 Python 如何使用pip.

你能推荐一个类似的工具来管理 Scala 包吗?

编辑: 我正在寻找一个简单的安装新包的所有依赖项,比如

 >>> pip install <a_package> # installs a_package with all dependencies.
4

2 回答 2

15

最直接类似的可能是Scala Build Tool。具体来说,库依赖项。Java 生态系统包括许多库和构建工具,Scala 是基于 Java 构建的。因此,您可以获得利用以下内容的能力 -

此外,因为一切都在虚拟机中运行;没有“系统”级别的安装。您可以从您的CLASSPATH开始,并进一步研究类加载

#!/bin/sh
# From http://www.scalaclass.com/node/10 - CLASSPATH
L=`dirname $0`/../lib
cp=`echo $L/*.jar|sed 's/ /:/g'`
exec scala -classpath "$cp" "$0" "$@"
!#
import com.my.Goodness
val goodness = new Goodness
world.hello
于 2013-11-13T19:20:32.727 回答
12

Pythonistas 安装系统范围的包,然后由所有 python 项目使用。这导致了virtualenv试图解决的一系列问题。Scala 人员和一般 Java 人员都有为依赖管理工具编写的每个项目定义——mvn (xml)、sbt (scala)、gradle (groovy) 等。

这些工具中的大多数都具有系统范围的缓存,因此通常它只下载某个版本的依赖项一次,然后将其放在磁盘上的特定位置。当您需要运行/组装您的 java 或 scala 程序时,它会构造所谓的 CLASSPATH 变量,该变量由所需库的补丁组成。然后运行环境使用 CLASSPATH 变量(在 python 世界中也称为 PYTHONPATH)来查找所需的部分。同样,CLASSPATH 因项目而异,而 PYTHONPATH 则相当稳定。我确实相信可能有一些工具可以完成与 pip 相同的工作,但它在 JVM 世界中并不被接受。

于 2013-11-13T19:55:23.913 回答