如何正确的在 InteJ IDE 中导入Maven项目

来源:互联网 发布:梦三梅西 知乎 编辑:程序博客网 时间:2024/06/06 08:38

http://www.jianshu.com/p/522145b6c09c

工具选择

后端开发两大主流的IDE(非VI,VIM,EMACS用户)一是Eclipse,另一个是IntelJ。最开始的时候是标准的Eclipse用户,现在逐渐开始使用IntelJ主要是因为在组织工程(有多个子工程)的时候Eclipse会把所有工程平级展示。但是IntelJ可以设置按照工程实际的目录结构来展示,这是很有用的一点,因为大部分框架结构都体现在目录结构上,通过目录结构可以清楚的知道整个工程的模块和分层。

导入Maven工程

导入工程只需要File -> Open打开工程根目录即可。下面依次记录导入过程中出现的问题。

  1. 导入Maven工程之后,没有主动识出这是基于Maven管理的工程
    如果自动扫描并识别了工程下面的pom.xml文件并加载依赖最好不过,但是有时候会出现问题仅仅当做普通工程导入了,这时候IDE会报一堆依赖问题。可以通过View -> Tool Window -> Maven Project调出 “Maven Project” 窗口,然后在这里点击左上角的 “刷新” 按钮,开始加载相关依赖。
  2. 有时候会报 “Information:Using javac 1.8.0_60 to compile java sources ”
    这是因为工程中编译Java的javac命令版本不统一导致的,发生这种问题经常是由于本地安装的Java版本和工程中编译*.Java文件所用的Java版本不一致。比如我的工程应该用JDK1.6编译,但是本地安装的是JDK1.8版本。分别修改:
    File -> Project Structure -> Project SettingsFile -> Project Structure -> Module Settings -> Tab: Dependencies: Module SDKFile -> Project Structure -> Module Settings -> Tab: Source: Language LevelFile -> Settings -> Compiler -> Java Compiler -> Target bytecode version
    可以解决上面的问题。
  3. 大部分依赖的包名和类名找不到
    依赖找不到有两种情况,一种是依赖的外部jar包找不到,一种是依赖的本地子工程找不到。如果已经通过第一步把Maven依赖加载到本地了。那么就是IntelJIDE的问题了,IntelJ是通过*.iml文件来管理依赖的,但是在引入 pom.xml 工程的时候没有按照 pom.xml 中定义的依赖生成对应的 *.iml ,导致大部分的类名和报名都是找不到的。解决办法可以在找不到的类名上悬停鼠标,会有提示添加依赖。或者手动编辑*.iml文件。
  4. 报 “can’t access junit.framework.Assert ! ”
    可能依赖错误,删除 .iml 文件重新生成,问题解决!!
  5. 中文乱码问题
    设置FileEncoding之后,重启IDE解决问题(其实这里还有个小插曲,设置FileEncoding之后还是乱码,怎么试都不行,最后重启IDE才解决问题)。
  6. 运行工程提示找不到XX文件,工程无法运行
    查看找不到的文件用的是相对目录,在IntelJ中修改workingdirectory解决问题。

Run

打开浏览器,输入localhost:8080

0 0
原创粉丝点击