Scala项目上的编译错误:对象“”不是包的成员_

Scala项目上的编译错误:对象“”不是包的成员_,scala,Scala,我遇到了一个看似简单的问题。。通常我可以很容易地从stackoverflow中找到解决方案,但这次我运气不好 问题来了。我在一个名为com.kwoolytech.scalacommon的包中创建了一个对象 package com.kwoolytech.scalacommon object Syslog { def emergency(s: String) = { println("[Emergency] " + s) } def alert(s: String) = { pr

我遇到了一个看似简单的问题。。通常我可以很容易地从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.")
    }
  }
我得到了一份工作,
对象scalacommon不是包com.kwolytech的成员

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

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

谢谢你的建议。

根据这些评论,我找到了一个理由!谢谢大家。你的评论都是对的

我用的是intelliJ和 src/scalacommon文件夹未配置为源文件夹

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

根据评论,我找到了原因!谢谢大家。你的评论都是对的

我用的是intelliJ和 src/scalacommon文件夹未配置为源文件夹

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

我和您有相同的问题,但我用bulid项目解决它!

在maven创建项目成功后,我可以运行该示例


希望我的回答能对你有所帮助

我和你有同样的问题,但我通过项目解决了它!

在maven创建项目成功后,我可以运行该示例


希望我的回答能帮助您

看看这是否有帮助:似乎是项目配置问题。你在用SBT吗,格雷德尔。。等您可以发布相关的构建文件吗?似乎正在编译Dice.scala,但没有编译Syslog.scala。看起来您将Syslog.scala放在了非标准目录中。标准的前提是将所有产品代码放在src/main/scala中,测试代码放在src/test/scalaSee中,如果这样有帮助的话:看起来像是项目配置问题。你在用SBT吗,格雷德尔。。等您可以发布相关的构建文件吗?似乎正在编译Dice.scala,但没有编译Syslog.scala。看起来您将Syslog.scala放在了非标准目录中。标准规则是将所有产品代码放在src/main/scala中,测试代码放在src/test/scala中