Scala项目上的编译错误:Object_不是Package_的成员

7uzetpgm  于 2022-11-09  发布在  Scala
关注(0)|答案(2)|浏览(259)

我遇到了一个看似简单的问题..通常我可以很容易地从堆栈溢出中找到解决方案,但这一次我没有运气。
问题出在这里。我在一个名为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.")
    }
  }

我遇到编译错误,object scalacommon is not a member of package com.kwoolytech
这两个源文件位于同一项目下。

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

感谢你的建议。

xxls0lw8

xxls0lw81#

根据评论,我找到了一个理由!谢谢大家。你所有的评论都是对的。
我使用的是IntelliJ,而src/scalacommon文件夹没有配置为源文件夹。
因此,在IDE中,选择文件->项目结构...并将该文件夹设置为源文件夹,解决了这个问题。

gojuced7

gojuced72#

我和你有同样的问题,但我用BUID项目解决了它!https://ci.apache.org/projects/flink/flink-docs-stable/flinkDev/building.html
在maven成功构建该项目后,我可以运行该示例。
希望我的回答能帮助你

相关问题