这两天突发奇想下载了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. javascript中的throttle和debounce

    throttle 我们这里说的throttle就是函数节流的意思.再说的通俗一点就是函数调用的频度控制器,是连续执行时间间隔控制.主要应用的场景比如: 1.鼠标移动,mousemove 事件2.DOM ...

  2. hadoop三个配置文件的参数含义说明core-site.xml,hdfs-site.xml,mapred-site.xml

    配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生 ...

  3. LeetCode OJ 66. Plus One

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  4. 安装 svn

    rpm -qa subversion yum install subversion svnserve --version 创建仓库目录例如: mkdir /home/svn/game 创建项目 svn ...

  5. CentOS中由一般用户切换为root用户

    --->http://www.centoscn.com/CentOS/help/2014/0624/3173.html 1.打开终端,提示符为“$”,表明该用户为普通用户,此时,直接输su,回车 ...

  6. bg-route

    1.目录 homework add.html online.html offline.html res script action homework add.js 2.add.html<div ...

  7. android之DPAD上下左右四个键控制

    我们代码的目的很简单,那就是监听上下左右中这几个键的事件触发.直接上代码: dpad.xml <?xml version="1.0" encoding="utf-8 ...

  8. Rsync数据远程同步备份

    rsync的使用方法 一.设置Rsync Server端 Rsync server需要设定四个方面: 1.规划建立备份目录区 2.设定: /etc/xinetd.d/rsync 3.设定: /etc/ ...

  9. 打不开BT,一直重复的关闭开启。

    /bt-btif (25335): ...preload_wait_timeout (retried:0/max-retry:1)...D/bt_userial(25335): RX terminat ...

  10. iOS中的代理和Block

    一.代理(Delegate) 1)含义 iOS中的代理,比如父母要去上班,到中午12点了,需要给宝宝喂饭吃,但是父母正在上班,这时需要有一个人来帮忙完成一些事情(需要有个保姆来帮忙给宝宝喂饭),此时, ...