Intellij8中Maven打包时jsp和servlet组件冲突解决办法

    最近在改别人的一个模块程序时,是用Intellij Idea8做的,项目是用Maven来管理的,Web模块引用到了jsp-api.jar和servlet-api.jar,结果在用Maven打包时,war文件中直接包装了这两个文件,而这两个文件和Tomcat本身的文件有冲突,导致了应用程序不能加载。

    本来自己对Idea也不熟悉,对Maven也不懂,搞了好久,始终没有解决,只能先生成,然后再删除这两个文件。因为如果不用Maven生成,直接用Idea的Build生成,那么其中的资源文件又是乱码,界面上全是蚂蚁在爬,心里麻得乱七八糟。

    找了好多资料,终于在这里找到了需要的说明:

 

http://macrochen.javaeye.com/blog/246170

 

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html 

 

http://www.360doc.com/content/07/0727/14/27908_636504.shtml

 

    原来可以在pom文件中配置时加个参数,使用provided就可以期望应用服务器将提供这个支持,如,我需要jsp-api和servlet-api支持,则我可以配置为:


       
            javax.servlet
            jsp-api
            2.0
            provided  
       

       
            javax.servlet
            jstl
            1.1.2  
       

       
            javax.servlet
            servlet-api
            2.4
            provided
       

 

    原理性的东西我不再罗嗦了,其实我也不太懂,所以先当快餐用吧。顺便记下来,免得以后久了不用又忘了。

你可能感兴趣的:(技术文章,maven,servlet,jsp,应用服务器,idea,tomcat)