【问题标题】:Scalac compiler to jar sourcesScalac编译器到jar源
【发布时间】:2015-01-30 18:35:47
【问题描述】:

如何让scalac 创建一个 JAR 文件,其中除了类文件之外还包含源代码和/或源文件?

考虑example.scala在哪里,

object Main extends App {
  println("Hello")
}

等生成example.jar,

scalac -d example.jar example.scala

我们注意到unzip example.jar 不包含任何来源,

Archive:  example.jar
  inflating: META-INF/MANIFEST.MF    
  inflating: Main.class              
  inflating: Main$.class             
  inflating: Main$delayedInit$body.class

正如评论/建议的那样,使用 SBT 的解决方案很有价值。

【问题讨论】:

  • 你是怎么做罐子的?如果你是“手工”做的,也只需压缩源代码。如果您使用 ant 或 maven 或 sbt 进行此操作,请将问题标记为 ant 或 maven 或 sbt。
  • 使用 scalac -d name.jar name.scala
  • 在这种情况下,您可以使用zip 工具:zip example.jar example.scala 会将该文件添加到 jar 中。如果你想要更结构化的东西,我认为你必须使用构建工具。

标签: scala jar compilation sbt


【解决方案1】:

源通常不包含在常规 .jar 文件中。它们分布在单独的-source.jar 中。在 sbt 中,您可以使用

生成源jar
> packageSrc

【讨论】:

    猜你喜欢
    • 2018-08-26
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2011-02-23
    相关资源
    最近更新 更多