人可以做他想做的,但不能要他想要的
记录在使用idea的过程中遇到的问题
比如
- 配置环境遇到的问题
- 导入jar包
- 依赖
- maven
- Tomcat
- jdk和jar包版本的问题
将会比较随意的记录
post4
配置环境
说到底原本最初是用idea,后来实习公司又要用eclipse,不怎么熟悉这个开发工具,本来就艰难,jdk就用一开始的1.8版本jdk,结果按照公司要求用回jdk1.7和Tomcat1.7的时候,eclipse就无法打开了。
因为photon不支持1.8以下的版本。果断回头idea。
- 关于那个新建项目以后的文件目录格式,可以创建后自己修改。不用太纠结位置。
- 在创建项目以后,可以再创建模块,一个模块就相当于原来eclipse里面的项目。
在idea里面移除模块以后,不会删除本地硬盘里的文件,如果需要再导入这个模块进入项目里面的话,就找到 xxxx.iml文件,然后导入就会自动加载原来的那个模块了。
在运行的过程中,试过出现以下报错
1 | org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist |
最后是把applicationContext.xml放入resources文件夹里才成功。
包括什么log4j.properties等这类型的文件都是要放进去才能生效。
导入jar包
要注意框架的版本,因为不同版本,可能jar包就取消了,或者集合在一起了,这个必须得注意。
配置依赖
大概就是maven添加的依赖,在配置到tomcat上的时候,没有关联到jar包,导致服务器 一直出错,如果碰到与maven和Tomcat相关的报错,可以考虑下面的解决方法。
IDEA: 遇到问题Error during artifact deployment. See server log for details.
详细的报错是1
2严重: Exception starting filter struts2
java.lang.ClassNotFoundException: prg.apache.struts2.dispatcher.FilterDispatcher
虽然不太懂原因,但是解决方法是打开项目结构,然后在Artifacts上面找到报错模块的地方,接着在output Layout找到WEB-INF文件夹,创建一个lib文件夹,然后右键文件夹添加副本,选择库文件,选择需要的jar包文件,问题就解决了。
maven
在配置好系统环境变量以后
在idea里的setting里设置maven的东西
比如默认读取setting.xml的位置和仓库的位置
因为idea自带的maven和我们自己安装位置的会不同
- 新建的时候就对着模块右键,选择添加框架支持
- 在里面找到maven然后直接新建就行。
- 创建pom.xml后好像会提示更新目录什么的,让idea来完成就好
默认的pom.xml里面需要我们自己去添加依赖,但是文件里会少了一些代码
<dependencies> #中间这里把maven依赖网站上面的配置自己找下来,复制上去就行 </dependencies>
如果要移除依赖的话,直接删除pom.xml就可以了,同时idea会自动调整目录结构的
- 使用过程中,如果发现项目没有添加依赖,那么在项目结构中,找到这个项目的依赖,然后删除重新导入。
maven的依赖查询网站 :http://mvnrepository.com/
在idea右侧的工具栏里是可以找到maven插件的,通过这个可以很快查看每个项目的依赖。
Tomcat
tomcat1.7版本不支持Servlet3.0以上的版本
然而idea创建web.xml的时候基本默认是4.0版本Servlet 3.1 部署描述符
Java EE 7 XML schema, namespace is _http://xmlns.jcp.org/xml/ns/javaee/_1
2
3
4
5
6<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>Servlet 3.0 部署描述符
Java EE 6 XML schema, namespace is _http://java.sun.com/xml/ns/javaee_
1 | <web-app xmlns="http://java.sun.com/xml/ns/javaee" |
- Servlet 2.5 部署描述符
Java EE 5 XML schema, namespace is _http://java.sun.com/xml/ns/javaee_
1 | <web-app xmlns="http://java.sun.com/xml/ns/javaee" |
- Servlet 2.4 部署描述符
J2EE 1.4 XML schema, namespace is _http://java.sun.com/xml/ns/j2ee_
1 | <web-app xmlns="http://java.sun.com/xml/ns/j2ee" |
- Servlet 2.3 部署描述符
J2EE 1.3 DTDs schema. Thisweb.xml
file is too old, highly recommend you to upgrade it.1
2
3
4
5
6
<web-app>
<display-name>Servlet 2.3 Web Application</display-name>
</web-app>
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
idea 快捷键
alt+鼠标左键 可以查看源代码
CTRL+shift+i 可以小窗口查看源代码—再加上CTRL+enter可以打开窗口
CTRL+shift+t 可以打开try catch等语句
sout
pvsm
ctrl+alt+j 添加环绕
ctrl+j 自动代码提示
ctrl+y 删除行
ctrl+d 复制当前行
ctrl+shilf+12345..添加标签
ctrl+1234…跳到标签
alt+鼠标选区可以实现批量修改,要对齐的代码才好用
ctrl+左右键 代码里块选择
alt+左右键,代码文件切换
alt+上下键,方法之间选择
ctrl+alt+enter空出所在行
关于module
一个模块是一个独立的功能单元,可以被编译,运行,测试和调试独立
module可以被分组
module的dependencies的面板里的lib包顺序是依赖顺序,不能乱排序, 容易引起包冲突
使用svn的时候,一开始没下载插件,然后就自己下载
装好svn插件以后,在设置里面的SVN不要修改配置,装好是怎样的就怎样,不要弄
然后在菜单file里选择new,project form version control
在里面输入连接地址,找到自己的开发文档,把代码弄下来就好,保存开发文档的文件夹需要为空,不然无法check out下来。
日常使用的时候先更新,然后提交之前也先更新,免得有冲突