打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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文件中配置时加个<scope>参数,使用provided就可以期望应用服务器将提供这个支持,如,我需要jsp-api和servlet-api支持,则我可以配置为:


        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>   <!--这里说明jsp-api.jar文件将由应用服务器提供,打包时不需要包含-->
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.1.2</version>   <!--这里没有指定scope参数,说明默认是compile,则打包时将包含-->
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
            <scope>provided</scope> <!--打包时不包含-->
        </dependency>

 

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IDEA创建Maven项目
正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
meavn-pom坐标
如何查看 JSP 和 Servlet 的版本
Maven项目管理工具:Maven依赖
IntelliJ IDEA上创建maven Spring MVC项目
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服