从scala生成.jar

Sno*_*opy 8 eclipse scala jar

我正在使用Scala在Eclipse上开发一个应用程序,并希望创建一个.jar.我发现tuto是这样做的,但它使用的是scala.tools.nsc软件包,我不知道在哪里可以找到这个东西.
我也试过,生成.class然后用命令jar cmf ....生成.jar但是当我启动时.jar发生错误.(NoClassFound)
对于sbt我也尝试了,但是当我编译与eclipse一起工作的项目时会出现很多错误.

有人可以向我解释如何使用Eclipse或其他工具简单地创建.jar.

Lex*_*Lex 11

Eclipse有一个内置选项来生成可运行的jar,但它很好地隐藏了.此外,它无法识别Scala的main()签名,因此您必须使用main()方法创建Java类.

  1. 使用main()方法创建一个Java类,该方法只是将调用转发给您的Scala代码.

  2. 然后右键单击新创建的Java类并选择:Run As - > Java Application.这将创建一个可运行的配置,该配置稍后将用作可运行jar的一部分.

  3. 现在,您已准备好从Eclipse的菜单中挖掘出runnable jar选项:File - > Export - > Java - > Runnable JAR file

  4. 在显示的对话框中,选择您之前创建的启动配置(在步骤2中),命名您的jar(myapp.jar),选择您的依赖项导出选项,然后单击完成.

  5. 默认情况下,jar将在Eclipse的工作区中创建.

  6. 使用以下行运行jar:scala myapp.jar

关于缺少图像的问题:Eclipse需要在添加或删除文件时手动刷新.右键单击您的项目,然后选择Refresh.

关于高度直观的Eclipse界面的教程到此结束.

注意:Eclipse版本3.6.2的说明.


ron*_*ron 3

罐子

当您从类中创建 jar 时,依赖项可能不包含在该 jar 中。运行该 jar 时,您需要将包含依赖项的 jar 放在类路径上(使用 -cp 开关切换到 java)。最重要的依赖是scala-libraryjar。当然,了解 NoClassDefFound 未找到的内容会有所帮助。

sbt

使用 sbt 构建时,也许缺少您手动添加到 Eclipse 项目中的依赖项?(注:我没有使用 sbt)。

梅文

我发现最清晰、最轻松的方法是单独使用maven,或者可能是maven + Intellij Idea(社区版免费)+ Scala Plugin。工作起来非常顺利。

对于 Maven,您需要稍微调整可用的 scala 原型,因为它引用的库不是最新版本,但除此之外它非常好。

这是pom.xml我正在使用的: https: //gist.github.com/1096870

使用标准的 maven 文件夹结构(源根目录是 src/main/scala),然后mvn package创建 jar 即可。