首页 文章

Eclipse WTP,maven和m2eclipse - 不复制提供的jar

提问于
浏览
12

使用Eclipse WTP和m2eclipse时,可以将所有依赖项复制到WEB-INF / lib(通过在Deployment程序集中添加“maven dependencies”) . 但是,也会复制具有“提供”范围的依赖关系,例如el-api和jsp-api . 这扰乱了容器并且无法启动 .

没有复制“提供” jar 的任何解决方案?

3 回答

  • 14

    你必须安装 m2eclipse-wtp 这是m2eclipse的额外插件 . 它将为你完成这项工作 . 安装m2eclipse-wtp后,只需右键单击 project ---> Maven --> Update Project Configuration ,您就会发现所提供范围的库不再受WTP容器的攻击 .

    有关安装说明,请参阅this . 我建议安装最新版本的m2eclipse-wtp(针对Eclipse 3.6进行测试),因为它解决了以前版本中的一些主要错误 .

    编辑:感谢弗雷德的纠正

  • 2

    您需要将Maven库添加到WTP的部署程序集......

    右键单击您的项目,选择“属性”

    从属性菜单中单击“部署程序集”

    单击“添加” - >“Java构建路径条目”,然后单击“下一步”

    在列表中选择“Maven Libraries”,然后单击“完成”

  • 1

    范围的依赖性"provided"不应由Maven在最终装配中打包 .

    但是,请检查是否还有其他依赖项"compile",它们也声明了与"compile"相同的依赖项 . 换句话说,很可能 el-apijsp-api 被作为传递依赖进入 .

    最简单的检查方法是使用m2eclipse的Dependency Hierarchy视图 .

相关问题