首页 > 解决方案 > 如何从 linux 机器上的 sbt pack/bin 文件夹执行 scala 项目

问题描述

我是斯卡拉的新手。我已经在 scala 项目中配置了 sbt pack 并执行了命令sbt pack。它创建新文件夹“/target/pack”并具有 lib 和 bin 文件夹。bin 文件夹包含两个文件。一个是批处理文件。我双击了该文件,它从命令提示符处执行项目。

问题:如何在liunx机器上运行?是否创建此 bin 文件夹以通过简单的单击运行项目?

构建.sbt

enablePlugins(PackPlugin)
name := "FileReadAWS"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.scala-lang" % "scala-library" % scalaVersion.value
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.1"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.2.1"
libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.7.4"
libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.7.4"
libraryDependencies += "org.apache.hadoop" % "hadoop-aws" % "2.7.4"

插件.sbt

addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.13")

我从命令提示符执行“sbt pack”后创建了波纹管文件

\target\pack\bin\file-reader Type is 'File'
\target\pack\bin\file-reader Type is 'Windows-Batch file' It execute the program when double clicked
\target\pack\lib  This folder contains project jar and dependency jar as well

帮我。提前致谢。

标签: linuxscalasbtexecutable

解决方案


使用sbt package命令创建的 JAR 文件是一个普通的 Java JAR 文件。您还可以使用 Scala 解释器执行 JAR 文件中的 main 方法:即

$ scala 目标/scala-2.10/.jar

推荐链接


推荐阅读