转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52594602

很显然,这种方法是很不可取的,因为Maven是用来团队合作,以及发布开源代码的。而使用本地jar包,则使得Maven丧失了这部分的优点。不 过,我遇到的问题是,我想学习Maven,然后我以前的项目,公司的项目都不是用Maven的。然后我想引用其中的一些jar包,特别是某些项目 build之后在dist文件夹下的包。所以,才想出了下面的法子。

我先在我的Maven项目下建立一个lib文件夹,把我要用到的jar包都放到里面去。然后在pom.xml里添加如下的内容:

[html] view plaincopy
  1. <dependency>
  2. <groupId>com.weiresearch</groupId>
  3. <artifactId>webharvest</artifactId>
  4. <version>1.0.0</version>
  5. <scope>system</scope>
  6. <systemPath>${project.basedir}/lib/webharvest.jar</systemPath>
  7. </dependency>

这里的groupId,artifactId,version都可以随便写。然后scope要写成system,systemPath就写为要引用的jar包路径。这里不知道能否批量导入,没测试过,不过貌似不可以。

但是,还有个麻烦问题,我把我的项目打包成war包的时候,它居然只有我写的代码,而不包括引用的jar包。这就很麻烦了,打包的war包就不能直接使用了。找来好久,终于找到原因了。首先是其他正常使用maven的包,如下:

[html] view plaincopy
  1. <dependency>
  2. <groupId>javax.servlet</groupId>
  3. <artifactId>servlet-api</artifactId>
  4. <version>2.5</version>
  5. <scope>provided</scope>
  6. </dependency>

这里引用的是servlet包,最重要的是scope这个字段,provided的意思,就是说这个jar包,在这个项目可能的运行环境里,都会提 供了的,所以就不用打包到war包里面了。因此,要使得war包里面包含servlet这个包,只要把scope这句给删除掉就可以了。

而上面利用system这个scope引入的webharvest包,同样也没有引入进去。看了下网上的评论,才说最好不要用system这个 scope。大概是说这个system指的是JDK里面会包含这个jar包吧。这个解决方法就麻烦人了,最后是看到了这个问答才解决了的:Maven 2 assembly with dependencies: jar under scope “system” not included ,解决方法如下:

[html] view plaincopy
  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-war-plugin</artifactId>
  4. <configuration>
  5. <webResources>
  6. <resource>
  7. <directory>${project.basedir}/lib</directory>
  8. <targetPath>WEB-INF/lib</targetPath>
  9. <filtering>true</filtering>
  10. <includes>
  11. <include>**/*.jar</include>
  12. </includes> </resource>
  13. </webResources>
  14. </configuration>
  15. </plugin>

directory字段指向的是包含你所有要用jar包的目录

targetPath则是编译后要把这些jar包复制到的位置

下面的filtering就是只导入所有以jar为后缀的文件

通过上面的设置,就能把你要的jar包导入进去了

转载于:https://www.cnblogs.com/telwanggs/p/7601773.html

Maven之——使用本地jar包并打包进war包里面的方法相关推荐

  1. java解析上的jar包里的pom_Maven引入本地Jar包并打包进War包中的方法

    1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以 ...

  2. maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法

    Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目 ...

  3. maven加载本地jar包,无法将本地jar包打进项目

    加载本地jar包,无法将jar打进包 1.问题介绍 ​ 项目依赖某个私有jar包,由于各种原因,没有将jar包打进本地maven库,选择使用放到项目lib下引用,但是打包时lib文件夹下的依赖包打不进 ...

  4. Maven项目引用本地jar包

    前言 正常情况下,是可以通过更改远程仓库地址是可以完成资源拉取和调用的有这么几种特殊情况需要特别处理: 1> 公司内网开发,搭建了私服云,但是又没有维护私服云 2> 其他合作公司开发的ja ...

  5. Maven命令安装本地jar包到本地仓库

    Maven命令安装本地jar包到本地仓库 原则上Maven工程pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库. 但是碰上第三方开发的中央仓库没有的jar包,我们需要手动安装到本地ma ...

  6. maven项目打包成war包并部署到tomcat上

    一.前言 一直通过idea软件去部署项目到tomcat上,却忘了最基本的打包成war包部署到tomcat今天就来通过笔记的方式来提醒下自己,同时也帮助下有同样想法的兄弟们. 二.直奔主题 1.首先,我 ...

  7. maven如何将本地jar安装到本地仓库

    maven如何将本地jar安装到本地仓库 1.首先确认你的maven是否已经配置: 2.本地的jar包位置: 3.安装本地的jar到本地仓库: 命令: mvn install:install-file ...

  8. mvn打包并部署本地tomcat_Maven项目打包成war包部署到Tomcat的方法

    Maven项目打包成war包部署到Tomcat的方法 有关于 Maven 项目的打包部署,我这里用的是 Eclipse 编辑器,以此来做个简单的记录. 实践环境 操作系统: Windows IDE: ...

  9. Maven mvn install 本地jar添加到maven仓库中

    Maven mvn install 本地jar添加到maven仓库中 最近在使用支付宝.财付通这样的第三方支付,在使用支付宝过程中需要引入官方SDK方便开发,使用以下命令来将本地的jar装载到mave ...

最新文章

  1. 后端好书阅读与推荐(续六)
  2. 用python做炒股软件-python程序源码_基于python的炒股软件
  3. 一步步创建Qt Widget项目+TextFinder案例(摘自笔者2015年将出的《QT5权威指南》,本文为试读篇)
  4. 如何在mysql中打开mongodb_图解:如何从MySQL移植到MongoDB
  5. vue2.0 如何自定义组件(vue组件的封装)
  6. 速成pytorch学习——1天
  7. 求解数独难题, Sudoku问题(回溯)
  8. Windows 7安装Virtual Server 2005 R2 SP1
  9. 配置多个git账号_Git ssh配置(Mac)
  10. C++中algorithm头文件中一些函数使用记录
  11. SELECT INTO 和 replace into SELECT
  12. 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证....
  13. 步进电机驱动电路设计精华_电动机控制电路图讲解
  14. java百度地图坐标_腾讯地图坐标与百度地图坐标互相转换(PHP版、Java版)
  15. java医疗报销_医疗保险报销流程图(修改后)
  16. 在Microsoft Server Management Studio中用T-SQL语句创建数据库和工作表
  17. 计算机专业专业导论论文题目,计算机专业导论论文.doc
  18. 特殊儿童领间最灿烂的一缕红——我们入队了
  19. 解决Circular reference问题
  20. 高新技术企业补贴如何申请?

热门文章

  1. (26)IMPCAT软件bit文件下载流程(FPGA不积跬步101)
  2. 基于ZYNQ FPGA实现8路ADC数据采集存储(AD7606)
  3. (46)Xilinx ILA IP核配置(七)(第10天)
  4. (39)Verilog HDL参数:localparam
  5. (50)FPGA面试技能提升篇(版本控制工具Clearcase、Git)
  6. linux bootstrap强制结束,Cisco UCCX bootstrap服务目录遍历漏洞
  7. 2023.TortoiseGit 工具
  8. STM32学习——高级定时器
  9. 网络协议栈深入分析(二)--sk_buff的操作函数
  10. Netfilter分析