在Scala项目上编译错误:object _不是包_

时间:2016-07-17 08:08:28

标签: scala

我看似简单的问题..通常我可以从stackoverflow轻松找到解决方案,但这次我没有运气。

这是问题所在。我在名为com.kwoolytech.scalacommon的包中创建了一个对象。

package com.kwoolytech.scalacommon

object Syslog {

  def emergency(s: String) = { println("[Emergency] " + s) }
  def alert(s: String)     = { println("[Alert] "     + s) }
  def critical(s: String)  = { println("[Critical] "  + s) }
  def error(s: String)     = { println("[Error] "     + s) }
  def warning(s: String)   = { println("[Warning] "   + s) }
  def notice(s: String)    = { println("[Notice] "    + s) }
  def debug(s: String)     = { println("[Debug] "     + s) }
  def info(s: String)      = { println("[Info] "      + s) }

}

我想要的只是在我创建的另一个包中使用此对象。

package com.kwoolytech.kwoolybot

import com.kwoolytech.scalacommon.Syslog

class Dice(command: List[String], callback: List[String] => Unit) extends Bot {

  override def run() = {
    command.head match {
      case "roll" => roll(command.tail, callback)
      case _ => Syslog.debug(getClass + " Invalid command.")
    }
  }

我有一个编译erorr, object scalacommon is not a member of package com.kwoolytech

两个源文件都位于同一个项目下。

  • Syslog.scala:src / scalacommon / syslog / Syslog.scala
  • Dice.scala:src / main / dice / Dice.scala

欣赏你的建议。

2 个答案:

答案 0 :(得分:0)

根据评论,我找到了理由!谢谢大家。你的所有评论都是对的。

我正在使用intelliJ和 src / scalacommon文件夹未配置为源文件夹。

因此在IDE中, 档案 - >项目结构...... 并将文件夹设置为源文件夹,解决了问题。

答案 1 :(得分:0)

我与您有相同的问题,但是我通过建立项目解决了该问题! https://ci.apache.org/projects/flink/flink-docs-stable/flinkDev/building.html

在Maven成功完成项目后,我可以运行示例。

希望我的回答可以为您提供帮助