问题标签 [sbt-assembly]

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

scala - 如何通过 sbt-assembly 和 scalatra 创建包含 webapp 资源的可执行单个 jar

我正在通过 sbt 和 xsbt-web-plugin 使用 scalatra 框架制作 webapp。

我想将所有资源(模板、css、js)打包到一个 jar 中。

在带有 sbt-assembly 插件的 sbt 中,assembly命令生成单个 jar,其中包含项目的所有依赖项。

$ java -jar myproject.jar

我在浏览器中打开它

无法加载资源:[/WEB-INF/views/index.scaml];你确定它在 [null] 内吗?

我解压缩 jar 以确认它不包含src/main/webapp/*.

如何配置 sbt 以包含src/main/webapp/*和构建可执行 jar?

0 投票
3 回答
13517 浏览

scala - 使用 sbt 0.11.2 安装 sbt-assembly

我正在尝试按照说明安装 sbt-assembly,以便制作一个可以在未安装 scala 的计算机上运行的独立 jar。

到目前为止,这些是我采取的步骤。

我创建了一个 plugins.sbt 文件:

我在 build.sbt 文件的开头添加了以下内容:

但是当我运行 sbt 时,出现以下错误:

0 投票
2 回答
3772 浏览

scala - 使用 sbt-assembly 将供应商信息添加到 MANIFEST.MF

我正在使用 sbt-assembly 创建一个可运行的 jar,但是我的应用程序崩溃了,因为 jai imageio 从 MANIFEST.MF 文件中加载了供应商名称。如果我从以下位置手动编辑 META-INF/MANIFEST.MF 文件:

一切正常。

如何配置 sbt 或 sbt-assembly 以在 jar 中包含额外的实现信息?或者还有其他方法可以解决这个问题吗?

(ps:在哪里查找包信息的参考:http ://www.java.net/external?url=http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-模块/Java-Advanced-Imaging/com/sun/media/imageioimpl/common/PackageUtil.java.htm )

0 投票
1 回答
18641 浏览

scala - 让 sbt-assembly 工作

到目前为止,我一直在用 SBT(通过 Typesafe 堆栈)编译我的 Scala 项目。我现在想通过sbt-assembly在多台机器上运行代码。按照指示,我所做的唯一一项更改是在我的project/Build.scala文件中。以下是相关部分:

但是,当我运行sbt compile时,出现此错误:

sbt.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly/scala_2.9.1/sbt_0.11.2;0.8.3: not found.

我究竟做错了什么?

谢谢!

编辑在与(folder is )build.sbt相同的文件夹中 创建了一个文件,并在其中包含以下两行:Build.scala/project/

现在错误是:

编辑 2 嗯,在我成功之后sbt compile,我应该能够进入sbt控制台并输入assembly吗?

编辑 3 JK 明白了。必须添加build.sbtGitHub README 中指定的信息。

0 投票
1 回答
343 浏览

sbt - 合并策略未按预期运行

在 build.scala 我有以下内容:

但是,当我跑步时,assembly我看到:

表明它使用的是“去重”策略,而不是“第一”策略。这给出了以下错误:

0 投票
1 回答
1318 浏览

scala - Sbt 程序集挂在我的 Mac 上

从我开始使用 assembly 的那一天起,我就遇到了这个问题。sbt 程序集(对于任何项目)永远不会在我的 Mac 上完成。它只是挂在最后一步。为此原因之一。我将我的代码转移到一个 Linux 机器上并在那里构建。其他人有过这种经历吗?. 关于如何进行调试的任何想法?. 我有使用 Java 1.6.0_37 的 Lion。现在升级为山狮

0 投票
7 回答
33729 浏览

scala - 使用 sbt-assembly 的程序集合并策略问题

我正在尝试使用sbt-assembly将 scala 项目转换为可部署的 fat jar 。当我在 sbt 中运行我的组装任务时,我收到以下错误:

现在来自 sbt-assembly 文档:

如果多个文件共享相同的相对路径(例如,多个依赖 JAR 中名为 application.conf 的资源),默认策略是验证所有候选文件是否具有相同的内容,否则会出错。可以使用以下内置策略之一或编写自定义策略基于每个路径配置此行为:

  • MergeStrategy.deduplicate是上面描述的默认值
  • MergeStrategy.first按类路径顺序选择第一个匹配的文件
  • MergeStrategy.last选择最后一个
  • MergeStrategy.singleOrError使用有关冲突的错误消息退出
  • MergeStrategy.concat简单地连接所有匹配的文件并包含结果
  • MergeStrategy.filterDistinctLines也连接,但沿途遗漏重复项
  • MergeStrategy.rename重命名源自 jar 文件的文件
  • MergeStrategy.discard简单地丢弃匹配的文件

通过这个我设置我的 build.sbt 如下:

在 build.sbt 的最后一行,我有:

现在,当我运行 SBT 时,我收到以下错误:

有人可以指出我在这里可能做错了什么吗?

谢谢

0 投票
1 回答
3634 浏览

scala - 在 Scala 项目中使用 sbt 程序集时在 jar 中包含 Hyperic Sigar 库

我正在使用 sbt 构建一个 Scala 项目,并使用 sbt-assembly 插件创建一个胖 jar。我可以通过将以下内容添加到build.sbt.

但是,当我尝试运行它时,我收到以下错误,因为*.so库不包含在 jar 中。


我要包含的库在其中lib/hyperic-sigar-1.6.4/sigar-bin/lib/*.so,它们需要链接到 jar 中类路径中的目录。我知道做这样的映射的唯一方法是:

这会导致将*.so库添加到jar 的根目录,而不是特定目录。如何指定资源映射以映射lib/hyperic-sigar-1.6.4/sigar-bin/lib/*.so到我的 jar 中类路径中的目录?我正在尝试做的事情的术语是什么?

0 投票
1 回答
4643 浏览

scala - 创建一个 Akka fat Jar

我需要创建一个使用 Akka 与一些外部应用程序通信的 Nutch 插件。为了做到这一点,我需要将插件打包为一个胖 Jar - 我使用的是sbt-assembly版本 0.8.3。

当我尝试运行插件时,出现异常

好像阿卡找不到一样reference.conf。这很奇怪,因为sbt-assembly 应该能够正确打包该文件,实际上我可以在创建的 jar 中看到它的内容。

我的build.sbt样子是这样的:

需要最后几行来解决 nutch 和 hadoop 之间的一些冲突。

打包 Akka 应用程序的正确方法是什么?

0 投票
2 回答
948 浏览

scala - 用于多项目构建的 sbt 程序集

我有一个像这样的多项目 sbt 构建文件

如何构建一个包含所有依赖项 + 核心 + 处理程序的程序集 jar