这两天突发奇想下载了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. js第一天 inner html value

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  2. mvc Area相关技术

    ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块都由MVC中的三层所 ...

  3. Go-new和make

    new返回指向struct的指针,new仅分配内存,而不对对象的值进行初始化 make返回到strcut的对象,而不是指针,只能创建map,slice,channel对象 make([]string, ...

  4. SSH自动断开连接的原因

    方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveC ...

  5. linux c中select使用技巧

    1.select函数作为定时器使用    it_value.tv_sec = 0;    it_value.tv_usec = 100000:    select(1,NULL,NULL,NULL,& ...

  6. 删除cygwin

    由于cygwin 学习了linux 的用户所有者的方式,要删除有一定困难. 所以要右击  然后点 获取管理员所有权  几分钟之后  就可以删了

  7. C#判断文字是否为汉字

    /// <summary> /// 检测一个字符串是不是以汉字开始 /// </summary> /// <param name="str">要 ...

  8. 【转】How to build and install PHP 5.6.9 from source on Ubuntu 14.04 VPS

    原文 https://vpsineu.com/blog/how-to-build-and-install-php-5-6-9-from-source-on-ubuntu-14-04-vps/ In t ...

  9. FRAM 铁电存储器

    铁电存储器与传统存储器的区别. 一:易失性的存储器包括静态存储器SRAM和动态存储器DRAM.           优点:读写速度快,读写寿命无次数限止.           缺点:掉电会丢失数据.  ...

  10. OpenGL ES着色器语言之静态使用(static use)和预处理

    OpenGL ES着色器语言之静态使用(static use) 在OpenGL ES中有一个术语叫静态使用(static use),什么叫静态使用呢? 在写代码中,对于一个变量可能具有以下三种情况: ...