非SBT项目IntelliJ编译报错:object firsts不是com.impact包成员
解决编译报错:object firsts is not a member of package com.impact
先排查最可能的低级错误
错误提示里显示的导入语句是import com.impact.firsts.file1_1,但你说明自己写的是import com.mypackage.firsts.file1_1,先仔细核对file2_1.java里的代码——大概率是手滑把包名写错了,把com.mypackage写成了com.impact,改回正确包名就能解决。要是确认代码没问题,再往下操作。
配置模块间依赖
因为项目没使用SBT,全靠IntelliJ管理,得确保second模块能读取到first模块的代码:
- 打开IntelliJ的
Project Structure(快捷键Ctrl+Alt+Shift+S) - 选择
Modules标签,点击选中second模块 - 切换到
Dependencies页面,点击右上角的+号,选择Module Dependency - 在弹出的列表里选中
first模块,确认后保存配置
检查编译路径与依赖级别
如果依赖已经配置但报错依旧,得确认编译输出和依赖级别是否正常:
- 回到
Project Structure的Modules,选中first模块,切换到Paths标签 - 确认
Compile output的路径有效,且没有被标记为排除目录 - 再查看
second模块的Dependencies,确保first模块的依赖级别是Compile(不是Test或Provided)
清理缓存重新构建
有时候IntelliJ的缓存会导致异常,试试清理后重新编译:
- 点击顶部菜单
Build > Clean Project,清除旧的编译文件 - 再点击
Build > Rebuild Project,重新编译整个项目
内容的提问来源于stack exchange,提问作者it2901
相关产品推荐
相关产品推荐

