【问题标题】:Intellij not finding packagesIntellij 找不到包
【发布时间】:2016-03-03 06:47:57
【问题描述】:
我正在尝试将 Gatling 集成到我的项目中,并且我有 this example working,但我想再次将其拉入现有项目中。
我试图在我的项目结构中创建一个新目录来存放 Gatling 的东西,但是我放在那里的任何 .scala 文件似乎在导入时都找不到我的包(见图:作品和不工作区域)
我在我的 Intellij build.sbt/plugins.sbt 文件中没有看到任何错误,如果 .scala 文件之一看到包,这很明显。我完全被这个问题迷失了。
“看不到我的包”是指,当我 import io.gatling...works.scala 找到了包,而 doesntWork.scala 似乎什么也没看到(不仅仅是io.gatling)
【问题讨论】:
标签:
scala
intellij-idea
sbt
gatling
intellij-15
【解决方案1】:
您的问题与您的整体构建更相关。 Gatling expects 你的模拟类在src/test/scala 目录中,但是你可以改变它的期望。只需将以下设置添加到您的build.sbt:
scalaSource in Gatling := file("qa")
这将解决您在sbt 层中的问题。您可以通过在控制台中运行 `sbt' 并输入以下内容来证明这一点:
inspect gatling:scalaSource
或者干脆
galting:test
问题的另一方面是 Intellij。我不确定您是否通过 Intellij sbt import 导入了整个项目。但我猜想 scala sbt 插件并不是很聪明,无法识别您对源的特定更改。你可以
通过重新导入整个项目或在 SBT 工具窗口中单击刷新来证明这一点:
要打开工具窗口,请从菜单中选择 View > Tool Windows > SBT。
如果它没有帮助(我假设它不会),您仍然可以将qa 目录添加到测试目录中。只需从菜单中选择 文件 > 项目结构。在左侧窗格中选择模块。在中间窗格中选择您的项目。选择 Sources 选项卡,您的目录,然后点击 Mark as 行中的 Tests。使用 OK 按钮提交您的更改。见下图:
现在您的 Intellij 应该编译您的模拟。
顺便说一句:project 目录中的文件在 IntelliJ 中被视为单独的模块,因此它们可以编译。同样的结构和观点也有 SBT,它认为
此目录下的所有内容都是单独的模块。这就解释了为什么你的文件在那里编译。
享受