同事以及朋友都在用IDEA,他们说这个功能强大,减少开发,所以打算从Eclipse转IDEA。通过一段时间的使用,感受最大的就是1.Eclipse打开的时候和部署环境的时候都会特别的卡,IDEA却很流畅;2.Eclipse在服务器启动情况下修改源代码,很多地方不便,比如重新启动服务器,清空浏览器缓存。而IDEA可以热部署,自动更新文件,很方便。

        两者有很多地方不相同,所以还是需要花时间去熟悉。在把Maven项目从Eclipse导入到IDEA的时候出现了不少问题,网上可以知道很多,但是对于我这种第一次接触IDEA来说真的有些地方跨度大了,所以在这里记录一下,尽量用图文的方式更容易接受,也希望可以帮到其他人。

  • 安装IDEA

需要注意的步骤,其他步骤直接next即可

  • 激活IDEA

修改C:\Windows\System32\drivers\etc下的hosts文件,将 0.0.0.0 account.jetbrains.com 添加进去

并复制注册码到如下图位置

maven项目导入HWPFDocument类_Eclipse

注册码地址:http://idea.lanyus.com/

  • 导入maven项目到IDEA

maven项目导入HWPFDocument类_java_02

maven项目导入HWPFDocument类_tomcat_03

IntelliJ系中的Project相当于Eclipse系中的workspace。
IntelliJ系中的Module相当于Eclipse系中的Project。
IntelliJ中一个Project可以包括多个Module

Eclipse中一个Workspace可以包括多个Project

参考地址:http://www.baiyuxiong.com/?p=1010

  • 添加JDK

maven项目导入HWPFDocument类_java_04

  • 配置Tomcat

maven项目导入HWPFDocument类_Eclipse_05

没有tomcat图标,点击更多

maven项目导入HWPFDocument类_ide_06

maven项目导入HWPFDocument类_java_07

maven项目导入HWPFDocument类_java_08

选择自己装的JDK

maven项目导入HWPFDocument类_ide_09

  • 将项目添加至tomcat

maven项目导入HWPFDocument类_tomcat_10

1.war模式:将WEB工程,以包的形式上传到服务器;
2.war exploded模式:将WEB工程,以当前文件夹的位置关系上传到服务器;
1.war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
2.war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署(已发布时,修改即生效,不用重新发布),一般在开发的时候也是用这种方式。

        在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

参考地址:

  • 设置热部署模式

maven项目导入HWPFDocument类_tomcat_11

maven项目导入HWPFDocument类_tomcat_12

on 'update' action  意思是手动点击update执行的操作,具体的操作如下
1.update resources 

        更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。

2.update classes and resources 

        更新java,jsp和静态资源( 1. java 修改后,会被编译成.class 然后覆盖到target文件夹下。IDE调试模式的情况下,立即生效;IDE运行模式下,不立即生效,需要redeployed才可生效。 2. jsp修改后,再次被访问的时候,会自动更新,重新编译成.java---->.class 保存在tomcat的work目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDE 运行模式 和 IDE调试模式下,都是立即生效。刷新下页面就可);

3.redeployed

        重新部署,发布到tomcat里,不重启tomcat,而是把原来的删掉,然后重新发布;

4.restart server 

        重启tomcat

maven项目导入HWPFDocument类_Eclipse_13

on frame deactivation  意思是 IDEA 失去焦点时,执行的操作(即idea不是当前窗口时)
1.Do nothing
    什么都不做
2.update resources
    更新静态的资源。比如html,js,css等 运行模式和调试模式都是立即生效,同上。 
3.update classes and resources
    更新java,jsp和静态资源。1.java 运行模式,无法立刻生效;调试模式立刻生效。2.两种模式都立刻生效。同上

参考地址:



  • 项目导入后,无法编辑

这是因为下载了一个vim的插件,我的是点击“insert”才可以编辑,网上的人有的是点“i”,通过file→settings→Plugins删除即可(我这里被我删了,如果出现上述情况,右侧应该有卸载按钮)

maven项目导入HWPFDocument类_ide_14

参考网址:

  • 运行maven项目或者junit,找不到Mapper

出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)这样的错误

问题的根源出在maven项目的pom文件上。idea在build工程的时候,maven项目使用的是pom文件里面配置的<build></build>里面的东西。如果不做特别配置,默认编译的时候,只搬运src/main/java里面的java文件到target/classes,其他文件会被忽略。

有两种方法:1.有人是加插件代码到pom.xml;2.有人是加resource代码到pom.xml

我采用的是第二种,如下第二个链接。

参考地址:

                 


maven项目导入HWPFDocument类_Eclipse_15


  • intellij idea常用的快捷键

参考地址:

  • Intellij IDEA设置忽略部分类编译错误

在程序运行junit时,idea默认有编译错误时,其他没有错误的程序无法执行。

参考地址:

  • 文件夹重命名

maven项目导入HWPFDocument类_Eclipse_16

IDEA在重名时会出现Refactor和Preview,Preview的意思就是预览,如果点击预览,则会在下方显示会有哪些文件会改变,点击Do Refactor即可。

maven项目导入HWPFDocument类_tomcat_17

  •  新建文件夹

IDEA在一个文件下新建文件夹,会出现如下问题

maven项目导入HWPFDocument类_IDEA_18

本意是error下,有controller和test文件夹。解决办法是:在error文件夹的上一层右键新建文件夹,test应该命名为“error.test”,这样IDEA会自动检测把两个文件夹放到error下。如下

maven项目导入HWPFDocument类_java_19

maven项目导入HWPFDocument类_Eclipse_20


  • 大小写快捷键切换:
ctr+shift+u