onos使用IntelliJ时出现所有package前多了java.的问题
这个博客被我写的罗里吧嗦,希望对自己以后有点帮助!
问题表现
用bazel导入IntelliJ的onos源码后。以app文件夹中的内容为例,所有代码中都是
package org.onosproject.fwd
这句报错,而且重载的
@override
也报错
问题原因
文件列表中的package名是 java.org.onosproject.fwd 这很明显无法编译,但是为什么在用bazel导入的时候会出现这个问题呢?应该是环境变量的缘故,于是回到onos wiki中所给的IntelliJ的ubuntu安装教程,发现配置环境变量的部分是
编辑文件.bashrc:
gedit ~/.bashrc
将以下行添加到文件末尾:
export PATH=/opt/idea/bin:$PATH
检查自己的 .bashrc 文件之后发现多出来几句JAVA环境变量的export,应该是我之前java编译不出来的时候胡乱加环境变量时弄错的。这里就涉及了/etc/profile和.bashrc的区别,别的博客里有很多这里就不粘了。
解决方案
- 删除环境变量当中多余的export
- 删除当前IntelliJ中的onos project
- 重新用启动界面的导入bazel项目的功能导入onos project
其中第二步做法稍微啰嗦一下,算是给自己记录。
选中project下面的onos,右键“Remove Module”或者直接按 Delete
在弹出的界面选择OK,这里选OK是说删除.workspace但是留下代码文件
然后File->Close Project回到初始界面,将小叉叉点掉
这个时候如果我们重新导入onos project会在最后一步出现大意是“已经存在.ijwd”的报错,这时回到onos文件夹里查看全部隐藏文件,图形化界面中ctrl+h,就可以看到.ijwd文件夹,删除即可。
完成后之前的onos project算是删干净了,我们重新bazel导入就可以了。