这是正式由Android转后端的第一篇文章,以后请叫我后端开发工程师
工具选择
后端开发两大主流的IDE(非VI,VIM,EMACS用户)一是Eclipse,另一个是IntelJ。最开始的时候是标准的Eclipse用户,现在逐渐开始使用IntelJ主要是因为在组织工程(有多个子工程)的时候Eclipse会把所有工程平级展示。但是IntelJ可以设置按照工程实际的目录结构来展示,这是很有用的一点,因为大部分框架结构都体现在目录结构上,通过目录结构可以清楚的知道整个工程的模块和分层。
导入Maven工程
导入工程只需要File -> Open
打开工程根目录即可。下面依次记录导入过程中出现的问题。
- 导入Maven工程之后,没有主动识出这是基于Maven管理的工程
如果自动扫描并识别了工程下面的pom.xml
文件并加载依赖最好不过,但是有时候会出现问题仅仅当做普通工程导入了,这时候IDE会报一堆依赖问题。可以通过View -> Tool Window -> Maven Project
调出 “Maven Project” 窗口,然后在这里点击左上角的 “刷新” 按钮,开始加载相关依赖。 - 有时候会报 “Information:Using javac 1.8.0_60 to compile java sources ”
这是因为工程中编译Java的javac
命令版本不统一导致的,发生这种问题经常是由于本地安装的Java版本和工程中编译*.Java
文件所用的Java版本不一致。比如我的工程应该用JDK1.6编译,但是本地安装的是JDK1.8版本。分别修改:
File -> Project Structure -> Project Settings
File -> Project Structure -> Module Settings -> Tab: Dependencies: Module SDK
File -> Project Structure -> Module Settings -> Tab: Source: Language Level
File -> Settings -> Compiler -> Java Compiler -> Target bytecode version
可以解决上面的问题。
- 大部分依赖的包名和类名找不到
依赖找不到有两种情况,一种是依赖的外部jar包找不到,一种是依赖的本地子工程找不到。如果已经通过第一步把Maven依赖加载到本地了。那么就是IntelJIDE的问题了,IntelJ是通过*.iml
文件来管理依赖的,但是在引入 pom.xml 工程的时候没有按照 pom.xml 中定义的依赖生成对应的*.iml
,导致大部分的类名和报名都是找不到的。解决办法可以在找不到的类名上悬停鼠标,会有提示添加依赖。或者手动编辑*.iml
文件。 - 报 “can’t access junit.framework.Assert ! ”
可能依赖错误,删除 .iml 文件重新生成,问题解决!! - 中文乱码问题
设置FileEncoding之后,重启IDE解决问题(其实这里还有个小插曲,设置FileEncoding之后还是乱码,怎么试都不行,最后重启IDE才解决问题)。 - 运行工程提示找不到XX文件,工程无法运行
查看找不到的文件用的是相对目录,在IntelJ中修改workingdirectory解决问题。
Run
打开浏览器,输入localhost:8080
It works!