收藏 分销(赏)

Maven管理jar没有发布到WEB-INFlib下解决方案.doc

上传人:仙人****88 文档编号:11233905 上传时间:2025-07-09 格式:DOC 页数:11 大小:74.74KB 下载积分:10 金币
下载 相关 举报
Maven管理jar没有发布到WEB-INFlib下解决方案.doc_第1页
第1页 / 共11页
Maven管理jar没有发布到WEB-INFlib下解决方案.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
Maven管理的jar没有发布到WEB-INF/lib下的解决方案   标准web工程在eclipse中利用m2eclipse插件添加依赖管理后,在部署过程中没有将依赖的jar包自动拷贝到/WEB-INF/lib中。 参考了一些朋友的做法手动执行 [java] view plaincopy 1. mvn dependency:copy-dependencies -DoutputDirectory=src/main/webapp/WEB-INF/lib  -DincludeScope=runtime    命令将jar包拷贝到/WEB-INF/lib目录下。 这种做法固然可以,但是也会带来一些不便。 1、需要手动执行命令。 2、不能时时更新。     以下列出网上查找到的解决方法,m2eclipse plugin方式已验证通过。 通过验证eclipse版本:eclipse-jee-helios-SR2-win32 m2eclipse插件地址:http://m2eclipse.sonatype.org/sites/m2e 标准web工程通过m2eclipse添加依赖管理步骤: 1、“Maven ” –> “Enable dependency Management“ 2、Web Deployment Assembly中添加maven dependencies 步骤如下图: 工程 -> 右键 -> preferences         .classpath文件中会有修改     [xhtml] view plaincopy 1. <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>   为 [xhtml] view plaincopy 1. <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">   2.         <attributes>   3.             <attribute name="ponent.dependency" value="/WEB-INF/lib"/>   4.         </attributes>   5.     </classpathentry>   (执行“Maven ” –> “Update Project Configuration “未生效,故手动添加。必须deploy时候才会拷贝jar包到lib目录下,而非在更新maven依赖时候拷贝jar包。 ) 以下为原文内容:   Eclipse : Web Deployment Assembly & Maven dependencies issue Published: September 3, 2010 , Updated: September 3, 2010 , Author: mkyong print Problem In Eclipse 3.5 or early version, in order to deployed the Maven dependencies to the correct “/WEB-INF/lib ” folder, you have to configure the dependencies via “Java EE Module Dependencies”, and the updated “.classpath ” file will look like following : File : “.classpath”, by Java EE Module Dependencies… [xhtml] view plaincopy 1. ...   2. <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar"    3.    sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar">   4.    <attributes>   5.      <attribute name="ponent.dependency" value="/WEB-INF/lib"/>   6.    </attributes>   7. </classpathentry>   8. ...   Since Eclipse 3.6, the “Java EE Module Dependencies” is replaced by “Web Deployment Assembly”, but you can do the same via the “Referenced Projects Classpath Entries”, however, it will update the “.classpath ” file as following : File : “.classpath”, by Web Deployment Assembly… [xhtml] view plaincopy 1. ...   2. <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar"    3.    sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar">   4.    <attributes>   5.      <attribute name="ponent.dependency" value="../"/>   6.    </attributes>   7. </classpathentry>   8. ...   Sadly, the default (value=”../”) makes all the Maven’s dependencies failed to deploy. Solution Not a big issue, you still can modify the (value=”../”) to (value=”/WEB-INF/lib”)manually, but it will get override every time you run a Maven build. No worry, there are still have two solutions : 1. WTP Support Ignore the “Referenced Projects Classpath Entries” settings, instead, make the Maven supports WTP 2.0 [java] view plaincopy 1. mvn eclipse:eclipse -Dwtpversion=2.0   It will generate a new file named “ponent “, under “settings ” folder, see a portion of this file : File : “ponent”, by WTP [xhtml] view plaincopy 1. ...   2. <dependent-module archiveName="jsp-api-2.1.jar" deploy-path="/WEB-INF/lib"    3.   handle="module:/classpath/var/M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar">   4.   <dependency-type>uses</dependency-type>   5. </dependent-module>   6. ...   With WTP support, it helps to deploy the Maven dependencies to “/WEB-INF/lib ” folder correctly. 2. m2eclipse plugin Install the m2eclipse , an Eclipse plugin to integrate Maven into the Eclipse IDE. After the installation, right click on the project folder, select “Maven ” –> “Update Project Configuration “, it will update the “.classpath ” file accordingly, see a snippet File : “.classpath”, by m2eclipse [xhtml] view plaincopy 1. ...   2. <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">   3.   <attributes>   4.     <attribute name="ponent.dependency" value="/WEB-INF/lib"/>   5.   </attributes>   6. </classpathentry>   7. ...   It helps to deploy the Maven dependencies correctly as well. Reference 1. http://m2eclipse.sonatype.org/ 2. 3. http://www.eclipse.org/forums/index.php?t=msg&goto=542963& 4. http://www.eclipse.org/forums/index.php?t=msg&goto=543308& 5.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服