这两天突发奇想下载了Intellij Idea,准备体验下这个传说中很强大IDE。工具下载就不多说了,网上一搜便知,博主是直接从Intellij官网下载的最新完整版,可惜的是只能使用30天,不过也差不多,废话就不多说了,进入正题。

  使用Intellij Idea 开发一般都用maven构建项目,首先从maven官网现在最新版,然后就是配置maven到系统环境变量,具体操作不细说了,问某度。

  在Intelli Idea中配置maven,基本步骤:打开Idea,菜单File->setting打开属性配置窗口,然后设置maven,最后,Apply->OK结束配置。

  Idea中项目和eclipse是有所不同,Idea里面的project相当与eclipse中workspace,Moudle相当于project。创建maven项目的过程大同小异,具体步骤博主就不一步一步细说了,毕竟现在网络时代信息共享的很好,大家可以参考http://www.cnblogs.com/jifeng/p/4658765.html,里面写的还蛮详细。

  接下来要总结下博主这次Idea之旅。

目标是搭建一个springmvc的demo,在经历了创建工程、引入依赖、编写代码、配置项目,最后发布项目过程真是一波三折啊!

  问题1.

    Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class。

咋一看不知所以啊,仔细看发现和asm包有关,检查依赖配置,发现pom配置的asm的jar是3.1.4,其他包是3.2.4。或许是版本问题,但是asm没有3.2.4的版本,经查资料,spring-asm-3.1.4里的ClassVisitor是abstract interface。spring-core-3.2.4里的ClassVisitor是abstract class,所以产生了冲突。

博主的解决办法是直接去掉asm包,原因是core 3.2.4已经重新讲asm打包进去了。

问题2.

  java.lang.ClassNotFoundException: org.apache.jsp.login_jsp

  这个异常很明显么,jsp没有编译成功,但是经过详细检查后发现,jsp没有问题,再说jsp页面没有任何逻辑,页面也不会出什么错误,再确认编码方面不会出现错误后,就开始从项目配置方面着手,首先检查javaee方面的配置,检查web.xml发现是2.x的:

突然想到之前在pom里面配置了jsp-api,然后果断去掉pom里面的依赖配置,运行异常没有了。

  关于这个问题,应该是web.xml里面设置的版本和引入的jsp-api.2.0起冲突了,如果web.xml中该为3.0该问题同样也可解决。

  上面是遇到的两个小问题记录下,另外对于Idea这个编辑器,博主感觉如果熟悉了使用起来还是挺方便的,不过刚从eclipse转过来可能需要适应一段时间,还是有一定的学习成本的。

  最后说一下发布项目时这个窗口,在eclipse里面只有一个console,Idea里面有三个,如图,1是服务器的启动情况,2是项目运行情况,3是tomcat的运行情况。项目启动后异常出错了,只会在1窗口显示基本异常提示,具体异常信息是在2窗口抛出显示的。希望这一点能帮助第一次使用的同学。

Intellij Idea搭建java web项目(问题总结)的更多相关文章

  1. Mac下Intellij IDea发布Java Web项目详解五 开始测试

    测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intell ...

  2. 使用MyEclipse搭建java Web项目开发

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...

  3. 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)

    首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...

  4. 26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面

    转自:https://blog.csdn.net/yuxxz/article/details/51318908 使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及 ...

  5. 使用intelliJ IDE开发java web项目

    <!-- spring版本号 --> <spring.version>4.3.0.RELEASE</spring.version> <!-- mybatis版 ...

  6. IntelliJ IDEA新建JAVA WEB项目(转载)

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本控制工具(git.svn ...

  7. 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用

    准备 JDK       (配置JDK_HOME\bin   和 CLASSPATH)   注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本)     对于我们新手来说,JD ...

  8. Myeclipse 搭建Java Web 项目 《一》

    今天将图文并茂的介绍如何使用myclipse 创建Java Web 项目;我使用的是myclipse 8.6 来进行创建: 1.打开Myeclipse,点击File --->然后New ---- ...

  9. Docker学习笔记之搭建 Java Web 项目运行环境

    0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务. 对我 ...

随机推荐

  1. LeetCode OJ 230. Kth Smallest Element in a BST

    Total Accepted: 46445 Total Submissions: 122594 Difficulty: Medium Given a binary search tree, write ...

  2. LeetCode OJ 108. Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 把一 ...

  3. http GET

    向php脚本中传参数可以用http GET 方法,比如要向file.php传两个参数v1和v2.则可以这么做 file.php?v1=&v2= (一个链接而已,直接编辑URL即可传参数了) 这 ...

  4. su -无反应

    一.问题产生环境 CentOS 6.3 X64SecureCRT 7.0.0 英文版 二.问题具体描述 今天操作自己的一台Linux服务器时,突然su命令不好使了,敲入命令回车后,没有任何反应,不管是 ...

  5. replication factor

    http://www.tuicool.com/articles/RJbIBj 关于Hadoop中replication factor解惑 时间 2014-06-09 08:00:50   ITeye ...

  6. Json与Gson讲解

    1 json的含义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于 ...

  7. C++随机崩溃捕捉处理

    1. 会引起异常的几个原因(主要记录目前遇到过的几个问题) 程序读取了无效的内存地址 堆栈的溢出,比如无限循环导致那段内存溢出,比如把size为20的缓存拷贝到size为10的缓存块等 无法申请到有效 ...

  8. java跳过构造方法新建对象

    Java有四种创建对象的方法: (1) 用new语句创建对象,这是最常见的创建对象的方法. (2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constr ...

  9. linux 进程命令

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  10. Webdriver中实现区域截图的方式以及如何截取frame中的图片

    import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOE ...