背景

myeclipse开发的javaweb项目用svn管理。现要转用idea开发。因为发现idea实在是太好用了。myeclipse6.5是个纯净版,用了两年,对于新手来说用myeclipse6.5有利于懂得原理性的操作。

迁移步骤

导入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命令行工具后即可.

Myeclipse和IDEA区别

Myeclipse6.5开发WEB

用Build Path引入JDK、JavaEE(只用到javaee.jar,jstl1.2.jar)、lib包。

JavaEE5中的jar包如下:

javaee.jar:javaweb开发的基础,九大内置对象和四大作用域就在这里。但是这个jar包最终不会被发布到lib下面,由tomcat中lib下的servlet-api.jar支持所以不会报错。

jsf-api.jar:JavaServer Faces(JSF)是一个为网络应用程序构建基于组件的用户界面的Java规范,实际上我并没有使用到。

jsf-impl.jar:JSF的具体实现,为了展现UI组件和管理它们的状态;操作事件、服务器端的确认和数据变换;定义页面导航;支持国际化和可访问性;提供对所有特性的可扩展性的API为了在JSP中表示UI组件和拍发组件给服务器端对象的两个JSP自定义tag库。

jstl-1.2.jar:JSP标准标签库JSP Standard Tag Library)是Java EE网络应用程序开发平台的组成部分。它在JSP规范的基础上,扩充了一个JSP的标签库来完成一些通用任务,比如XML数据处理、条件执行、数据库访问、循环和国际化。JSTL提供了一个有效的途径,以在JSP页面中嵌入逻辑,而不是直接嵌入Java代码。使用标准标签集,减少了Java代码导致的不连续,从而提高代码的可维护性,并达到应用软件代码开发与用户界面间的关注点分离。

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突然就坏了,换的这个是同一个压缩包解压的。

Myeclipse6.5迁移到IDEA的更多相关文章

  1. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

  2. 【SQLServer】记一次数据迁移-标识重复的简单处理

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 今天在数据迁移的时候因为手贱遇到一个坑爹问题,发来大家乐乐,也传授新手点经验 迁移惯用就 ...

  3. MVC5+EF6+MYSQl,使用codeFirst的数据迁移

    之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在glob ...

  4. 烂泥:wiki系统confluence5.6.6安装、中文、破解及迁移

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它 ...

  5. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

    主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...

  6. 我将系统从Windows迁移至Linux下的点点滴滴

    一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...

  7. 如何利用mono把.net windows service程序迁移到linux上

    How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...

  8. 博客已经迁移至 http://barretlee.com/entry/,时而同步分享到这里

    博客园是一个十分好的写作平台,不过个人比较喜欢倒腾,所以将文章都做了搬迁. 博客已经迁移至 http://barretlee.com/entry/,感谢一直以来的关注和支持. 博客订阅地址: http ...

  9. EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

随机推荐

  1. 玩转jmeter:beanshell必备技能

    beanshell是什么 BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型.命令. ...

  2. 用js写个原生的ajax过程

    var xhr=new XMLHttpRequset(); xhr.addEventListener("load",loadHandler); xhr.open("GET ...

  3. pcm音频的格式类型

    [文章内容属于多方转载内容] PCM Parameters PCM audio is coded using a combination of various parameters. Resoluti ...

  4. C语言实现FTP服务器

    公共部分代码 /* common.h */ #ifndef COMMON_H #define COMMON_H #include <arpa/inet.h> #include <ct ...

  5. 编译udf小软件(附视频教程)

    小软件下载地址(不仅支持Visual Studio并且打包gcc,解压即可编译): https://pan.baidu.com/s/1XPfjfY8DC2KKS8gj1KhutQ 提取码: 6kju ...

  6. vue添加背景音乐

    vue添加背景音乐需要用到HTML中的标签 参考手册:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp *在iOS端autopl ...

  7. 2018-2019-2 网络对抗技术 20165318 Exp 9 Web安全基础

    2018-2019-2 网络对抗技术 20165318 Exp 9 Web安全基础 基础问题回答 实践过程记录 WebGoat安装 SQL注入攻击 1.命令注入(Command Injection) ...

  8. 2-1docker图形管理界面

    1.Portainer Shipyard:(停止维护) https://github.com/shipyard/shipyard https://www.portainer.io/installati ...

  9. django orm 外键id返回对应的名称

    原文:https://blog.csdn.net/gghhm/article/details/99652143 当我们在写django的orm模块时,有时候会在用外键关联时,保存的是对应表中的id字段 ...

  10. 学Redis这篇就够了!

    学Redis这篇就够了!   作者:王爷科技 https://www.toutiao.com/i6713520017595433485 Redis 简介 & 优势 Redis 数据类型 发布订 ...