maven把依赖包拷贝到lib下
来源:互联网 发布:php function exists 编辑:程序博客网 时间:2024/06/06 20:11
标准web工程在eclipse中利用m2eclipse插件添加依赖管理后,在部署过程中没有将依赖的jar包自动拷贝到/WEB-INF/lib中。
参考了一些朋友的做法手动执行
- 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文件中会有修改
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
为
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
- </attributes>
- </classpathentry>
(执行“Maven ” –> “Update Project Configuration “未生效,故手动添加。必须deploy时候才会拷贝jar包到lib目录下,而非在更新maven依赖时候拷贝jar包。)
以下为原文内容:
Eclipse : Web Deployment Assembly & Maven dependencies issue
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…
- ...
- <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar"
- sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar">
- <attributes>
- <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
- </attributes>
- </classpathentry>
- ...
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…
- ...
- <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar"
- sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar">
- <attributes>
- <attribute name="org.eclipse.jst.component.dependency" value="../"/>
- </attributes>
- </classpathentry>
- ...
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
- mvn eclipse:eclipse -Dwtpversion=2.0
It will generate a new file named “org.eclipse.wst.common.component “, under “settings ” folder, see a portion of this file :
File : “org.eclipse.wst.common.component”, by WTP
- ...
- <dependent-module archiveName="jsp-api-2.1.jar" deploy-path="/WEB-INF/lib"
- handle="module:/classpath/var/M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar">
- <dependency-type>uses</dependency-type>
- </dependent-module>
- ...
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
- ...
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
- </attributes>
- </classpathentry>
- ...
It helps to deploy the Maven dependencies correctly as well.
Reference
- http://m2eclipse.sonatype.org/
- http://www.mkyong.com/maven/maven-dependency-libraries-not-deploy-in-eclipse-ide/
- http://www.eclipse.org/forums/index.php?t=msg&goto=542963&
- http://www.eclipse.org/forums/index.php?t=msg&goto=543308&
- http://tux2323.blogspot.com/2010/06/review-eclipse-helios-rc4.html
http://blog.csdn.net/yirentianran/article/details/6429240
- maven把依赖包拷贝到lib下
- maven把依赖包拷贝到lib下
- maven把依赖包拷贝到lib下
- (转)maven把依赖包拷贝到lib下
- maven 拷贝依赖jar到 lib中
- maven 导出依赖jar包到lib包下的命令
- maven打包时拷贝依赖文件到lib
- maven打包时拷贝依赖文件到lib
- 配置maven下载jar包源码文件、拷贝依赖jar到lib包、设置编译时jdk版本、根据不同环境采用不同配置
- maven 把依赖包导出
- Maven使用—拷贝Maven依赖jar包到指定目录
- MAVEN插件拷贝JAR包到WEB-INF/lib的配置
- maven 手动把本地jar安装到本地仓库,maven手动安装依赖jar包
- maven 手动把本地jar安装到本地仓库,maven手动安装依赖jar包
- Maven 将依赖打包到lib
- eclipse自动部署web项目时WEB-INF\lib目录下缺少maven依赖jar包
- Maven项目启动Tomcat对应项目目录下lib中没有引进依赖包
- 如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下?
- 如何应用autosizing属性使iOS应用程序界面适配iPhone5
- 560个点的任意联通图哈密顿圈
- TinyPNG
- centos命令
- 如何申请沃通免费SSL证书?
- maven把依赖包拷贝到lib下
- MYSQL优化-建立适当的索引
- 获得java文件的绝对路径的方法
- 二叉树遍历的非递归实现
- input子系统一之系统框架介绍
- 写在入职前
- PL/SQL 复制中文乱码
- android中不同手机分辨率适配问题
- 第一章 数据概论