问题标签 [sbt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
720 浏览

scala - 将 SBT 与 ScalaTest 一起使用时,是否可以安全地忽略 ScalaCheck/Specs 警告?

我有一个简单FunSuite的基于 ScalaTest:

我正在使用以下 SBT 项目配置运行它:

但是,当我运行时,sbt test会收到以下警告:

目前我假设这些只是“噪音”(由统一的测试接口引起?),我可以放心地忽略它们。但这对我内心的强迫症部分来说有点烦人(尽管我准备为其他框架添加依赖项并不是那么烦人)。

这是一个正确的假设,还是我的测试/配置代码中有细微的错误?如果可以安全地忽略,是否有任何其他方法可以抑制这些错误,或者人们是否经常包含所有三个框架,以便他们可以为不同的测试挑选最佳方法?

蒂亚,保罗。

(添加:scala v2.7.7 和 sbt v0.7.4)

0 投票
2 回答
794 浏览

java - 使用什么框架来引导我的第一个生产 scala 项目?

我正在为生产应用程序首次涉足 scala。该应用程序当前打包为一个战争文件。我的计划是创建一个 scala 编译工件的 jar 文件,并将其添加到 lib 文件夹中以存放 war 文件。我的增强是通过 Jersey 公开的一个 mysql 支持的应用程序,并将通过 HttpClient 调用与第三方站点集成。我知道如何通过普通的 java 做到这一点。但是当在 scala 中做这件事时,我在几个决策点上犹豫不决。

  1. scala 2.7.7 还是 2.8 RC?
  2. 通过querulous的 JDBC这个 API 准备好投入生产了吗?
  3. sbt vs maven。我对 Maven 很满意。
  4. 是否有 HttpClient 的 scala 惯用包装器(或者我应该像在 java 中一样使用它)?

我很想听听您对 scala 开始的评论和经验。

0 投票
1 回答
351 浏览

scala - 有没有人在使用 sbt 时遇到过 IDEA 中的 scala 代码完成问题?

我最近切换到 sbt(我完全挖掘),一旦我开始从 sbt 编译和运行测试,IDEA 中的代码完成似乎来来去去......非常奇怪。

0 投票
3 回答
17526 浏览

scala - 如何在 sbt 中为我的项目设置系统属性?

我确定我错过了一些非常简单的东西......我想为我的 sbt 项目设置系统java.awt.headless属性true。阅读关于我认为我需要使用或的属性的页面。在我的项目文件中,我尝试了以下操作:systemsystemOptional

将其设置为用户属性(例如lazy val javaAwtHeadless = property[Boolean])并设置随附的值build.properties使该属性在 sbt 控制台中可见,但在 sbt 的 Scala 控制台中不可见(通过System.getProperty("java.awt.headless"))。

set java.awt.headless true从 sbt 控制台工作,包括在 Scala 控制台中设置,但它不会持续到我下次启动 sbt。

0 投票
3 回答
2558 浏览

sbt - 如何设置 sbt 以在代码更改时重新启动长时间运行的服务器进程?

每当源文件更改时,使用~run命令 sbt 将为我重新运行可执行目标。这很好,但是如果目标是一个长时间运行的服务器进程,sbt 会被挂起,直到子进程终止,所以源更改无效。

即使目标代码正在运行,我也希望 sbt 监视并重新编译我的源代码,并在成功构建时重新启动该过程。有没有人试图设置这个?

0 投票
7 回答
42992 浏览

scala - 如何为每个用户或系统范围配置 Ivy 缓存目录?

我使用SBT作为构建 Scala 项目的构建工具。

我的问题是,我无法配置 SBT 将依赖项下载到我的用户主目录。因此,我正在寻找每个用户甚至更好的系统范围设置来告诉 SBT 将 Ivy 缓存目录放在其他地方。

使用 maven,可以使用每个用户的 settings.xml 来配置本地存储库。

我已阅读问题如何覆盖常春藤缓存的位置?它是答案,但它似乎只描述了如何在每个项目的基础上配置设置。

如果没有其他选择,我会选择按项目设置,但我没有从提到的问题中得到答案。欢迎提供更多详细信息,例如放置 ivysettings.xml 的位置。我把它放到项目的根目录下,还是不行。

0 投票
1 回答
234 浏览

scala - 如何设置 jEdit 以突出显示 sbt 构建错误?

我目前正在尝试使用不同的轻量级文本编辑器进行 Scala 开发。jEdit似乎使用户能够进行许多调整。但是,我目前在通过控制台插件突出显示其错误和警告时遇到问题。

它将某些行标记为错误,但实际上并非如此。这就是为什么我想知道是否有人真的有他们愿意与我分享的 sbt 错误模式的配置?

0 投票
2 回答
1259 浏览

java - 如何签署我的 ProGuard 的 Scala 独立 JAR?

我在 Scala 中构建了一个(命令行)应用程序,我想将它作为独立的 JAR 分发。我正在用 sbt 构建它:

我可以很好地运行我的代码sbt run,我可以打包它并在它上面运行 ProGuard(我对混淆不感兴趣——无论如何该项目将是开源的),我只是用它来生成一个独立的 JAR) . 所以,我最终得到了一个内置在 target/scala_2.8.0/ 中的 .min.jar 文件

这就是复杂的地方。如果我运行这个 JAR,我会得到:

线程“main”中的异常 java.lang.SecurityException:Manifest 主要属性的签名文件摘要无效

好吧,我还没签。

因此,我为自己生成了一个签名密钥,如下所示:

然后,按照 Java 文档,我尝试签署 JAR:

它提示我:

好的,没关系。现在,它肯定会运行!

我不知道从哪里开始。我对 Java 平台比较陌生。

0 投票
1 回答
235 浏览

scala - 修改观察路径

SBT 已触发执行,所以如果我执行类似的命令

它执行所有测试用例,然后等待源更改。我想扩展此行为以在输入文件更改时触发执行。所有输入文件都存在于一个文件夹中。为此,我在文件project/build夹中创建了一个 scala 文件:

但是当我执行测试命令时没有任何反应!调用~test会等待一段时间,然后退出而没有任何输出。

这是因为 SBT 期望所有其他设置也被覆盖吗?有没有办法在 build.properties 文件中指定 watchPaths?

0 投票
2 回答
2442 浏览

scala - 使用 SBT 在 Scala 中导入包时出现“不是包的成员”错误

(这里的相对初学者,请温柔...)

我有一个可以用 sbt 构建的 Scala 程序。我可以(从 sbt 内部)运行compile并且test-compile没有错误。我通过将package com.mycompany.mypackagename几个 .scala 文件放在顶部来定义一个包。当我console得到一个 Scala REPL 时,会发生这种情况:

任何变化都会失败。当我这样做时,import com.mycompany我没有任何问题。

我认为从 sbt 中运行 Scala 控制台会根据当前项目正确设置类路径吗?我错过了什么(完全明显的)东西?