问题标签 [sbt-plugin]

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 回答
520 浏览

scala - 使用 SBT 进行慢速编译

正如 lightbend 开发人员所提到的,激活器是 EOL-ed,所以我切换到 SBT。我下载了 0.13.15 版本,安装它并通过终端在我的项目中开始清理/编译。使用 SBT 编译需要 535 秒,但使用激活程序时它总是低于 150 秒。

有人可以帮我再次改进/减少编译时间吗?否则我会切换回激活器,因为它更快。

我正在使用 IntelliJ IDEA 2017.1.3。即使使用内置的 SBT shell,编译时间也需要大约 530 秒,来自 IntelliJ 的人建议我在这里提出这个问题。

如果您需要任何进一步的信息,请告诉我,提前谢谢,-Y-

0 投票
1 回答
364 浏览

sbt - 在 sbt-native-packager 中的 sbt dist 之前运行测试

我不想在不运行测试的情况下创建任何可部署的。在 sbt-native-packager / sbt 中是否有我可以在 sbt dist 中运行 sbt 测试的地方,当任何测试失败时它会失败?

0 投票
1 回答
597 浏览

playframework - sbt.build 用于多个项目和 playframework

更新:

所以,我试图理解的问题是为什么我不能build.sbt在根文件夹中有一个。即使我lazy val root = ...在根build.sbt文件夹中定义了一个,也找不到主类。

这个reddit链接:

https://www.reddit.com/r/scala/comments/4igc9x/sbt_playframework_no_main_class_detected/

提出问题的解决方案。虽然sbt demo/run确实执行了播放应用程序,但我最终希望sbt run从根项目编译所有项目,然后运行服务器。

任何人都可以在这里帮忙吗?

==================================================== ================

老问题:

我试图了解 build.sbt 是如何工作的,但我不确定发生了什么。我想构建一个游戏项目作为在根 build.sbt 文件下构建的多个项目之一。

我有以下结构(为简洁起见,大多数文件都省略了):

在根目录build.sbt文件中,我有以下内容。

我在addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.14")里面定义plugins.sbt了 root project/

demo/build.sbt我有

现在,当我执行时sbt run,我收到以下错误:

但是,如果我将 rootbuild.sbt和 rootproject/放入其中demo/并尝试sbt run,则项目编译成功,我可以以常规方式访问播放服务器。

为什么会抛出这个错误?我是否需要在根目录中为 play 项目显式声明一个主类build.sbt?我正在按照http://www.scala-sbt.org/0.13/docs/Multi-Project.html上的说明进行操作,但我有点迷路了。任何正确方向的帮助将不胜感激。

以供参考 - -

sbt 版本:0.13.15

斯卡拉版本:2.11.11

播放插件版本:2.5.14

0 投票
0 回答
131 浏览

scala - 我的 sbt 插件没有打包它的依赖库

我正在创建一个需要另一个 scalaj 库的 sbt 插件。我在本地发布库并尝试使用另一个项目运行/测试它。

但是,当我用另一个项目测试插件时,它显示java.lang.NoClassDefFoundError: scalaj/http/Http$

这是我的代码..

插件构建.sbt

插件项目/plugins.sbt

插件plugin.scala

下面是测试项目的代码。

构建.sbt

项目/插件.sbt

0 投票
1 回答
96 浏览

java - 将 playframework 升级到 2.4.6 后 Global.java 的 onstart 方法被执行两次

我刚刚将我的应用程序从 play framework 2.3.9 升级到了 2.4.6。一切正常,但 onstart(Application app) 方法被执行了两次。由于我在 onstart 方法中创建了一些调度程序,它们也被执行了两次。

全球.java

plugin.sbt 文件如下

build.sbt 如下:

注意:我在项目中使用 jpa。任何帮助将不胜感激。

0 投票
0 回答
307 浏览

dependencies - 无法使用 sbt-coursier 解决依赖关系

我正在使用 sbt-coursier 插件来解决我的项目的依赖关系,我的问题是当我尝试添加这样的项目引用时

懒惰的 val some-lib = ProjectRef(uri("ssh://git@github.com/aaa/project.git#sdaf"), "lib")

它不能解决依赖关系。我不知道我是否需要为此设置另一个配置。

谢谢您的帮助。

0 投票
0 回答
159 浏览

sbt - SBT:在添加到 Fat Jar 之前重命名项目文件

我有一个名为“app.settings”的文件,在将其打包为 Uber Jar 的一部分之前,我必须将其重命名为“settings.conf”。我正在使用 SBT 程序集插件来创建 Fat jar。

Uber Jar 允许我重命名文件吗?还是有其他方法?

0 投票
1 回答
290 浏览

maven - sbt 插件的 ivy/maven 发布的差异

我有两个 SBT 插件:PluginA 和 PluginB。PluginA 依赖于 PluginB 中的任务。每当我使用“publishLocal”在本地将 PluginB 发布到“~/.ivy2”时,PluginA 就会工作。虽然当我使用“publishM2”将 PluginB 发布到我的本地“~/.m2”时依赖关系仍然得到解决,但 PluginA 的编译任务失败:

“对象 xxx 不是包 yyy 的成员”。

我尝试将“publishMavenStyle”设置为 true 和 false 并调整解析器,但都不起作用。

为什么会发生这种情况?在以 Maven 风格发布时,有没有办法让它发挥作用?

0 投票
1 回答
378 浏览

scala - 用于 docker 命令的 build.sbt 导入

我有一个 build.sbt 文件,但我无法弄清楚这个导入的作用import docker.{addDockerPackage}

这是开源导入吗?我无法找到有关它的信息。在脚本的更下方,它调用一个方法addDockerPackage()

我想知道该方法是否在那个包中?或者这一切都是一些专有的东西?如果是标准导入,我在哪里可以了解它?

0 投票
1 回答
70 浏览

sbt - Sbt 不启用某些自定义插件

我已经这样写了autoPlugin

然后我 publishLocal 并在我的 build.sbt 中尝试

该插件没有应用于项目..我不明白为什么。

SBT有可能默默地忽略我的插件吗?