Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scalac编译器到jar源代码_Scala_Jar_Compilation_Sbt - Fatal编程技术网

Scalac编译器到jar源代码

Scalac编译器到jar源代码,scala,jar,compilation,sbt,Scala,Jar,Compilation,Sbt,如何获取scalac以创建除类文件外还包含源代码和/或源文件的JAR文件 考虑example.scala其中 object Main extends App { println("Hello") } 因此要生成example.jar scalac -d example.jar example.scala 通过解压example.jar我们注意到没有包含任何源代码 Archive: example.jar inflating: META-INF/MANIFEST.MF i

如何获取
scalac
以创建除类文件外还包含源代码和/或源文件的JAR文件

考虑
example.scala
其中

object Main extends App {
  println("Hello")
}
因此要生成
example.jar

scalac -d example.jar example.scala
通过
解压example.jar
我们注意到没有包含任何源代码

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

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

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

> packageSrc

你是怎么做这个罐子的?如果你是“用手”做这件事的话,也只需把消息来源拉上拉链就行了。如果你是用ant、maven或sbt来做这件事,把问题标记为ant、maven或sbt。使用scalac-d name.jar name.scala在这种情况下,你可以使用
zip
工具:
zip example.jar example.scala
将该文件添加到jar中。如果你想要更结构化的东西,我认为你必须使用构建工具。