我有一个项目,我必须为一些专有硬件包含一个 fat-jar - 不要问,我知道 jar 最好放在 Central 或其他一些 repo 上,但事实并非如此。:( 我必须将它放在 lib 目录中,以便 sbt 将其视为非托管依赖项。
但是 jar 包含 slf4j,它的旧版本,并且当播放!运行它会抛出一个错误,抱怨缺少一个静态函数(这是在较新版本的 slf4j 中添加的)。
这是我尝试过的。
- 我尝试使用 force() 添加 libraryDependency。没有骰子。
- 我已经尝试了几个我在这里找到的 excludeAll 样本。没有骰子。
- 出于绝望,我解压缩了 jar,删除了 slf4j,然后再次创建了 jar。它有效!但说真的,这不是我维护项目的首选。
有谁知道在基于 sbt 的 scala 或 play 项目中排除 Uber jar 中的非托管依赖项的方法?