从Myeclipse迁移到IDEA
迁移步骤
导入IDEA
Import Project选择要导入的项目 -> Import project from external model 选择 Eclipse -> Create module files near .classpath files(此项生成.impl文件的位置) -> 一直下一步直到结束
没有Import Project可以通过以下方法添加

配置环境
Project配置
点击Project Structure,配置项目环境

Models配置



添加Lib包
Libraries配置所需要的jar包,如果是maven会很简单

然后到Modules里面设置dependencies添加此lib里面设置,因为lib下面会自动添加到dependencies。

添加servlet-api.jar、jsp-api.jar、jstl-1.2.jar三个包。其中前两个可以用Tomcat模块代替,第三个要自己下载导入。

转为Web项目
Facets
转换为Web项目

SourceRoots要勾选为src,即classpath路径。如果是maven一定要把java和resource都勾上。
生成最终项目部署文件
生成部署文件或者war包,依赖包变更时这里也要跟着动。

配置SVN
Setting -> Version Control -> Subversion
配置Use command line client为svn.exe
如果发现自己安装的svn没有svn.exe文件要找到安装包重新modify,装上command命令行工具后即可.

IDEA开发WEB
要引入jdk,lib包,还有支持web开发的jar(idea不像Myeclipse那么方便直接引入JavaEE5即可要分别导入servlet-api.jar,jsp-api.jar,jstl.jar代替,servlet-api.jar + jsp-api.jar = javaee.jar)
先在Libraries中添加jstl-1.2.jar,然后在Modules中添加。

在Modules -> 中添加Tomcat Library(包含servlet-api.jar,jsp-api.jar,这个要设为Provided,因为只参与开发时使用,运行时Tomcat中存在),然后在添加Libraries中引入的jstl-1.2.jar(这个设为Runtime,在运行时用)。

然后在Artifacts中确认编译后的lib.jar包存在jstl.jar

如果是Maven,很方便。servlet-api.jar + jsp.jar就是上面tomcat提供的,所以只用provided。jstl手动导包,用runtime。
<dependencies> <!--servlet--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!--jsp--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <!--jstl--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> </dependencies>
迁移后遇到的问题
org.apache.jasper.JasperException: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:293)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:80)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:431)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:489)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1445)
org.apache.jasper.compiler.Parser.parse(Parser.java:144)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.gmtx.system.filter.CheckLoginFilter.doFilter(CheckLoginFilter.java:74)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
引入到IDEA后发现带有<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>的jsp界面都不能访问了,回去用Myeclipse发现也不行。
目测是缺少jstl.jar包,但是看了下并不缺。尝试了网上的各种方法都不行,最后发现换了个tomcat就好了。不知道为啥,tomcat突然就坏了,换的这个是同一个压缩包解压的。


浙公网安备 33010602011771号