问题标签 [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 回答
571 浏览

sbt - 如何在单个任务的多模块构建中将一些模块“打包”到 jars 和其他模块到战争?

我使用package任务(来自xsbt-web-plugin)将项目打包到战争中,并使用assembly任务(来自sbt-assembly)将项目打包到 jar 中。

我有一个多模块构建,一些模块被打包成战争,一些被打包成罐子。

我想设置构建以执行assembly任务并且:

  • Jar 模块打包成 jar 文件
  • 战争模块被打包成战争文件

如何在执行package任务的同时执行战争项目的assembly任务?

0 投票
2 回答
1264 浏览

scala - parboiled2 和 Spray 导致跨版本后缀冲突

我正在尝试将 parboiled2 作为依赖项添加到我的项目中,并按照计算器示例进行操作,但它与喷雾冲突。

我当前的build.sbt文件包括:

当我添加

我明白了

一些谷歌搜索也是如此,并且像往常一样,人们建议使用excludeSBT 的指令(我认为这在逻辑上没有意义,因为它不可避免地会导致像ClassNotFoundExceptionand之类的问题NoSuchMethodError)。尽管如此,我还是尝试了:

assembly当我尝试跑步时,我得到了惊喜

我还收到更多错误:

如果我注释掉 Spray 依赖项(和代码),我可以使用 Calculator 示例成功组装一个 jar。

对于我使用 parboiled2 来说,这是一个主要的表演障碍。exclude除了指令之外还有其他方法可以使这些东西起作用吗?有没有人有一个可以使用 Spray 和 parboiled2 的构建文件?如果有人设法用 onejar 或 ProGuard 绕过依赖地狱,如果他们能解释一下如何,我会很高兴的。

更新:

我的构建文件:

插件文件:

斯卡拉 2.11

似乎“简单地”移动 2.11 可以解决这个问题,但如果有一些其他库还没有准备好 2.11,这并不总是那么容易。尽管如此,我还是尝试了它,第二次我添加了 parboiled2 作为依赖项,它再次破坏了我的构建,叹息,这是新问题:Parboiled2 导致“加载类文件'Prepender.class'时检测到缺少或无效的依赖项”

0 投票
1 回答
2119 浏览

scala - 如何在 sbt asssembly 中包含测试类和测试依赖项

我需要使用 sbt 程序集打包我的测试类、资源以及测试依赖项。

这个问题sbt-assembly : include test classes没有帮助 - test:assembly 仍然没有生成包含任何所需类的 jar。

请注意,我的设置当前如下所示:

FooBuild.scala:

这是关于子项目的foo-cucumber

即使我(Test, assembly)在上面的设置中附加,我也只会得到一个不包含测试类或依赖项的 jar(其名称不是指定的,而是全名,带有版本),无论我调用sbt foo-cucumber/test:assembly还是sbt foo-cucumber/assembly

如何获得一个包含所有内容的 jar(编译和测试类和依赖项)

0 投票
3 回答
8633 浏览

scala - scala sbt 程序集“没有主要清单属性”

我在 sbt 中使用组装插件来组装我的项目。但是通过“java -jar xx.jar”运行时会发生错误 -

“没有主要清单属性”。

我认为这是因为我的目录中有两个文件,src/main/scala/每个文件都有一个扩展对象,Application这意味着项目中有两个主要条目。但是我需要两个应用程序,一个是服务器,另一个是测试客户端。

如何two-main-entry在 scala sbt 中处理这个问题。提前致谢。

0 投票
1 回答
1003 浏览

scala - sbt-assembly:pom.properties 的重复数据删除错误

我正在使用 sbt 0.13.7 和 sbt-assembly 0.12.0。

以下是“sbt 汇编”期间的错误消息:

这是基于https://github.com/sbt/sbt-assembly#merge-strategy上的 README 的 build.sbt 文件的相关部分:

我应该怎么做?

谢谢。

0 投票
1 回答
168 浏览

scala - how to share vals between build.sbt and assembly.sbt

I'm using two files for my build: build.sbt and assembly.sbt (for building fat jars using sbt-assembly plugin). I have some vals defined in build.sbt. Let's just say I'm doing some custom tasks that depend on them. However, I noticed that vals defined in build.sbt are not visible in assembly.sbt. So I end up duplicating code in those two files. How do I configure it such that assembly.sbt can see the vals in build.sbt?

Thanks!

0 投票
2 回答
153 浏览

scala - 升级后无法使用 specs2 编译 ScalaCheck

我曾经使用:

效果很好,然后我将依赖项升级到我认为是最新的:

根据http://etorreborre.github.io/specs2/应该是正确的

但现在ScalaCheck不被承认为成员org.specs2

我已经完成sbt clean并被常春藤缓存删除rm -r ~/.ivy2/cache

0 投票
1 回答
5142 浏览

scala - Parboiled2 导致“加载类文件‘Prepender.class’时检测到缺失或无效依赖项”

所以我最近几周一直在尝试使用 parboiled2,它可能是我一生中遇到的最难添加到构建中的依赖项。我当前的错误是 compile sbt assembly) 错误:

似乎根本不可能让 Spray 和 Parboiled2 一起玩得很好。

我已经尝试sbt clean并删除了我的target目录。我的构建文件基本上是这样的:

sbtVersion的是0.13.6,我的sbt-assembly版本是0.12.0

在升级到 2.11 并升级我的 specs2 依赖项之前,我得到了:parboiled2和 Spray 导致跨版本后缀冲突

0 投票
1 回答
3841 浏览

scala - 使用 sbt 程序集构建 Scala 代码,失败

我在 Windows 机器上使用 sbt 0.13.7 和 Scala 2.11.4 将我的代码编译成一个胖 jar,我最终想在 Linux 机器上运行。

下面是我的 build.sbt 文件:

我面临的错误是:

0 投票
1 回答
609 浏览

java - 如何以在 sbt-assembly 之后可以访问的方式在我的资源目录中打开文件?

我的 Scala 应用程序使用了 Tototoshi 的 ScalaCSV 库,因此我需要打开一个放在/src/main/resources/data.csv. 我以这种方式访问​​它:

当我在 IntellijIDEA 下运行我的应用程序时,此设置运行良好,但一旦我将其打包,它就会停止工作,sbt-assemby而是出现此错误:

我怎样才能访问这个文件的内容,它可以同时从 IDE 和组装的 jar 文件工作?