我曾经用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程序集生成一个胖罐,但它有20 MB,所以这不是最好的主意。
祝你好运
答案 0 :(得分:0)
好吧,似乎sbt publish生成并将jar与jar一起上传到存储库。然后这个pom用于稍后计算依赖关系。
问题是因为使用sbt包而不生成pom。