【问题标题】:Scala sbt - include dependency information inside jarScala sbt - 在 jar 中包含依赖信息
【发布时间】:2017-04-28 07:24:45
【问题描述】:

我曾经使用 maven 构建我的 scala 应用程序,但后来我决定切换到 sbt。我生成的 scala jar 被一个更大的 java 应用程序使用。

当使用 maven 构建 scala jar 时,它包含 META-INF\maven\myscalapackage\pom.xml。此 xml 包含依赖项信息,例如:

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>${scala.version}</version>
</dependency>

使用 sbt 构建此 jar 后,输出 jar 中不包含 pom。因此,由于缺少依赖项,主 java 应用程序无法编译。当然,我仍然可以向主 java 应用程序 pom 添加缺少的依赖项,但我更喜欢在 scala jar 本身中包含有关依赖项的信息。这可能与 sbt 吗?我尝试使用 sbt 程序集生成一个胖 jar,但它有 20 MB,所以这不是最好的主意。

最好的问候

【问题讨论】:

  • 你是如何构建你的 scala jar 的? publish* 命令可以生成 pom 文件。

标签: scala maven jar sbt pom.xml


【解决方案1】:

好吧,看来 sbt publish 会生成 pom 并将其与 jar 一起上传到存储库。然后这个pom用于后面计算依赖。

问题是因为使用了不生成 pom 的 sbt 包。

【讨论】:

    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    相关资源
    最近更新 更多