【问题标题】:sbt run is not picking up mainClass from build.sbtsbt run 没有从 build.sbt 中获取 mainClass
【发布时间】:2014-07-17 02:28:13
【问题描述】:

我们无法运行 mainclass 。我们对 scala 2.9.3 使用 sbt 13.2

这是 build.sbt 中的条目:

mainClass in (Compile,run) := Some("com.mycompany.swlab.sparkpoc.sql.DbPing")

让我们做一个“sbt run”:

C:\apps\simplews>sbt run
"sbt13"
Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
[info] Loading project definition from C:\apps\simplews\project
[info] Set current project to websocket-simple (in build file:/C:/apps/simplews/)
java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)

这里是源文件。注意它是一个带有 main() 方法的对象。所以我们应该能够执行它。

package com.mycompany.swlab.sparkpoc.sql

import org.apache.log4j.Logger

object DbPing {
  import java.sql.{DriverManager, Connection}


  def main(args: Array[String]) {

我也尝试提供特定的类来运行如下:

> run com.mycompany.swlab.sparkpoc.sql.DB org.apache.hadoop.hive.jdbc.HiveDriver jdbc:hive://localhost:10000/default "" ""

这是完整的输出

Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
[info] Loading project definition from C:\apps\simplews\project
[info] Set current project to websocket-simple (in build file:/C:/apps/simplews/)
> run com.mycompany.swlab.sparkpoc.sql.DB org.apache.hadoop.hive.jdbc.HiveDriver jdbc:hive://localhost:10000/default "" ""
java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last root/*:run for the full output.
[error] (root/*:run) No main class detected.
[error] Total time: 0 s, completed May 27, 2014 9:13:55 PM

【问题讨论】:

    标签: scala sbt main


    【解决方案1】:

    问题在于损坏的项目/Build.scala。我恢复到一个简单的 build.sbt 并解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 2019-09-08
      • 1970-01-01
      相关资源
      最近更新 更多