【关于idea的jsp-api等冲突】

来源:互联网 发布:vb.net 注释 编辑:程序博客网 时间:2024/04/30 03:07

近日,在开发时候发现 所有的页面都无法编译,

一查网上资料,原来使用ide的时候javase不包含 jsp-api javax.servlet 等javaee的包,所以用idea去编写jsp或者引用servlet的时候会出现红色呲字样(以idea12为例),

里面的out 等jsp内置对象完全无法识别,但是假如采用引入servlet及jsp-api的方法部署以后会出现无法编译的问题,因为里面的包重复了(这个算不算bug?),

所以解决方式有:1、删除部署文件下面的重复jar;

2、http://www.dotblogs.com.tw/newmonkey48/archive/2012/02/29/70386.aspx 这位兄弟的方法。


IntelliJ IDEA with JSP 初始問題

最近幫同事處理使用IntelliJ IDEA開發JSP的問題。

自己都是使用NotePad++ 開發的,第一次看別人一上手就用這麼輕便的方式,

但會遇到一些問題,

像是不知道該怎麼include jar 檔,那些jar檔相關的class都呈現紅色,

另外還有最基本的out.print也出現紅色的,

上網先學會,如何使用IntelliJ IDEA建立Web Application ,JSP網頁,

參考此頁面

http://www.youtube.com/watch?v=fSDoOetjocE

然後再處理如果include jar檔,

可能要放在tomcat底下的common/lib底下,

不然就是放在webapps\ROOT\WEB-INF\lib底下,

接著雖然可以跑,但是還是呈現紅色,

那就是使用Module Setting /  Libraries 加入lib路徑,(另外建立在JSP專案底下),應該就看得到了。

至於out.print紅色的問題-Cannot resolve method 'println(java.lang.String)' 

參考了

http://stackoverflow.com/questions/3914139/intellij-9-unable-to-recognize-implicit-object-methods-in-jsps

這篇文章,

則是要在Module Setting/ Module / Dependencies / Add  選擇 Application Server Library 或 Module Library 會出現Tomcat 就加進去。

這樣初始會遇到的問題,大部分就解決了。


请注意:

假如你打开open module setting,查看librarys里面的信息里面有 一个 tab 叫 dependency--依赖,你可以看到每一个jar后面都可以选择 compile或者 provied,对了,就是这个地方,将 servlet api等设置为 provided就不会自动加入到 lib里面去了。