我在一家小型软件顾问公司工作,该公司主要(目前:仅)使用 Eclipse 作为我们选择的 IDE 为 JVM 进行开发。
到目前为止,我们还没有使用任何项目管理/构建工具。我们使用公司 SVN 存储库对我们的项目以及任何二进制依赖项(以及 JAR 依赖项)进行版本控制。这有点混乱,我们在项目的 lib 文件夹中有很多无关的 *.jar 文件。
随着我们最近将 Scala 作为我们选择的 PL,我们还研究了使用 SBT 作为构建工具。我们已经建立了一个 Sonatype Nexus 存储库,并且已经开始为我们的项目声明 SBT 文件
问题是,我们有一组公用事业项目,用于我们的客户的许多项目。到目前为止,我们通过为每个客户项目拥有一个 Eclipse 工作区来管理项目间的依赖关系,每个客户项目都有一个本地版本的实用程序项目,它依赖于它。因此,仅通过 SVN 提交和更新来使本地版本保持最新。
我想我们可以通过几种不同的方式来构建我们的项目和工作空间。使用 SBT 定义项目间的依赖关系,为实用项目单独提供一个工作区,然后将快照/发布作为托管依赖项导入我们的客户项目中是有意义的。但是,由于我们经常在客户项目的开发过程中对实用程序项目进行增强,因此仍然能够在同一个工作区中尽可能多地在运行中执行此操作会很好。
来自: http: //www.devdaily.com/scala/using-github-projects-scala-library-dependencies-sbt-sbteclipse似乎存在一个用于 Git 的插件,它从 Git 存储库中获取当前版本,构建源代码和将它们包含在 Eclipse 类路径中。这种设置将允许我们继续使用修订控制系统作为分发项目更新的主要手段,尽管我还没有为 SVN 找到类似的东西......
是否有人将 SBT 与 SVN 和 eclipse 一起使用,和/或知道一种设置项目间依赖关系的智能方法,而无需在 SVN 命令旁边触发大量发布/发布-本地?
使用 SBT 以某种方式声明项目间依赖关系会很好,因为这将允许我们转储对 SBT 上的临时托管依赖关系的责任......