Intellij 找不到包

Intellij not finding packages

我正在尝试将 Gatling 集成到我的项目中,我已经得到了 this example working,但同样,我想将其合并到现有项目中。

我正在尝试在我的项目结构中创建一个新目录来存放 Gatling 内容,但是我放入其中的任何 .scala 文件在导入时似乎都找不到我的包(见图:工作区和不工作区)

我在我的 Intellij 构建中没有看到任何错误。sbt/plugins.sbt 文件,如果其中一个 .scala 文件看到了包,这是显而易见的。我完全迷失了这个问题。

"not seeing my packages" 我的意思是,当我 import io.gatling... works.scala 找到包裹而 doesntWork.scala 似乎什么也没看到(不仅仅是 io.gatling )

你的问题更多是与你的整体体型有关。 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 工具中的刷新来证明这一点 window:

从菜单中打开工具 window select 查看 > 工具 Windows > SBT

如果它没有帮助(我假设它不会),您仍然可以将 qa 目录添加到测试目录中。只需从菜单中选择 select 文件 > 项目结构 。 Select 模块 在左窗格中。 Select 您的项目在中间窗格中。 Select Sources 选项卡,您的目录并在 Mark as 行中单击 Tests。使用 OK 按钮提交您的更改。见下图:

现在您的 Intellij 应该编译您的模拟。

顺便说一句:project 目录中的文件在 IntelliJ 中被视为单独的模块,因此它们可以编译。相同的结构和观点也有 SBT,它考虑 此目录下的所有内容都是单独的模块。这解释了为什么你的文件在那里编译。

尽情享受