# 如何使用IDEA的进行开发
感谢JetBrains的赞助,同时为了解决大伙在IDEA上开发与调试所遇到的问题,请仔细阅读本章内容。
TIP
本文假定您已经阅读过【编写程序化策略】一文。
# 环境准备
# 1. 导入northstar主项目
项目导入后,要设置maven环境。
Maven运行环境在环境安装脚本执行时已准备好,在 C:\northstar-env
目录下。
设置好后,清理项目缓存并重启
# 2. 导入northstar-external外置策略项目
首先要确保对 northstar
项目执行过 mvn install
然后便可以根据模板创建一个 northstar-external
项目
- 第一个红框:填项目名称,northstar-external
- 第二个红框:选择模板项目及模板项目版本,如果没有archetype,在确保已经执行过
mvn install
的前提下,可添加对应的archetype文件(在你的.m2/repository目录下) - 第三个红框:填 northstar-external 项目的GAV坐标:
- ArtifactId必须是 northstar-external
- Version要与
Northtsar
主项目一致
创建好后,检查新项目的 pom.xml
如果发现像下图情况,${northstarVersion} 这个变量没有被成功赋值,请手动替换成具体的主项目版本号
手动修改版本号后,需要 reload 一下项目才会生效
# 3. 设置以上两项目的依赖关系
到此为止,northstar
与 northstar-external
项目还是相互独立的两个项目。还需要一些设置来建立依赖关系。
TIP
注意:northstar-external
要设置为 northstar-main
的 dependencies,scope为 runtime
# 4. 启动项目验证
正常情况下,在模组策略的选择框就可以看到外置项目中的策略了。
# 可能会遇到的坑
# Cannot resolve symbol XXX
按F4打开Project structure窗口,确认项目的JDK设置为JDK17。
再检查maven设置,然后清理缓存并重启IDEA(同上)。
# 识别不到 northstar-external 的代码
正常来说,一个maven项目的项目结构可以被IDEA自动识别,如下图红框
如果不正常时,是看不到source folder的。这时就需要对着项目点击右键菜单中的 Maven -> Reload Project 来刷新一下项目。
# 找不到外置项目中的策略
- 重新检查
northstar-main
中的依赖设置。因为这种手动设置的依赖关系会在 Maven -> Reload Project 后被重置。 - 确保外置项目的包名包含在主程序的main入口的包名以内,因此加载的原理是利用了springboot的包扫描机制。