maven加载第三方jar不能加载
这个问题处于项目组,总算是解决了。下面是一些自己的做法。
1.说明介绍
公司现在用的是spring+maven,使用的公共maven库没有问题,但是想要把一些老的项目改造这种框架会出现一些问题。
因为一些老的项目中有好多第三方的jar包或者是自己的jar包(尤其是这种自己的包),maven库上没有。
最初的解决方案是一个个的deploy到maven库上,但是遇到太多的三方jar包就太费事了,同时会有一些成本问题。
网上查了一下发现maven有一种方式可以将本地的Jar包依赖到项目中而不需要先deploy到maven库上,值得学习一下。
2.在项目中新建一个lib
这个lib可以在项目下建,只要可以找到即可。
不过这里讲lib目录放在src下面了,问题不大。
3.将jar包放进来

4.修改pom文件
<!--添加外部依赖-->
basedir是自带变量,指的是当前项目的绝对路径,三围自己随便写。
<dependency>
<groupId>ChartDirector</groupId>
<artifactId>ChartDirector</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/lib/ChartDirector.jar</systemPath>
</dependency>
5.问题所在
用mvn clean package打成jar包后运行就是报错,正式找不到这些jar包中的相关类。把jar包解压后在WEB-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把src/lib目录里面的jar打进去,后来通过查找也终于找到方法了。
6.修改pom文件,在build标签下增加如下配置
<!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/src/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
7.maven clean 与 install

8.看效果
这个可以直接从target中看。

进入这个目录下,然后打开war包:

maven加载第三方jar不能加载的更多相关文章
- maven 手动加载第三方jar、zip包
使用maven搭建工程时,难免要加载大量的第三方的jar包.zip包比较少用,而maven的官网提供的jar往往不能满足需求,这时需要我们手动加载到我们本地或nexus私服的仓库中. 1.加载jar包 ...
- (转)自定义ClassLoader ----可以加载第三方jar包
package com.classloader.util; import java.io.IOException; import java.net.MalformedURLException; imp ...
- Classpath in jar关于java加载第三方jar的集中方法和详细解释。
转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...
- Eclipse使用maven命令安装第三方jar包
使用原因: 使用maven时,有些第三方jar包是不能从maven远程仓库中下载得到,因此导致在pom.xml中添加jar包依赖时会怎么添加都会报错(Missing artifact ojdbc:oj ...
- maven加载第三方jar包
<dependency> <groupId>com.yeepay</groupId> <artifactId>yop-sdk</artifactI ...
- 27 Java动态加载第三方jar包中的类
我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String pr ...
- Maven install没有将jar包加载到本地仓库
错误描述 使用mvn install:install-file -Dfile=ojdbc8-19.3.0.0.jar -DgroupId=com.oracle -DartifactId=ojdbc8 ...
- maven打包成第三方jar包且把pom依赖包打入进来
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId& ...
- eclipse下将maven项目打包为jar(1.不带第三方jar,2.带第三方jar)
由于项目需要讲maven项目打包为jar包,由于之前没类似经验,百度找例子走了不少弯路,这边随手记录下,网上说的 开发工具:eclipse jar包管理:maven 一般打包出来的jar包分为两种 一 ...
随机推荐
- IDA Pro使用技巧
DA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头 ...
- Ribbon实现Office开始菜单
Ribbon实现Office开始菜单 界面效果: 首先:在主窗体上拖入popupMenu控件和imageCollection控件 然后选中popupMenu点击三角,再点击Run Designer在弹 ...
- Java SE之反射技术[Class](三)
/** * * @author Zen Johnny * */ package com.cpms.test; import java.lang.reflect.Field; import java.u ...
- mvc,mvp.mvvm模型
这些指的是框架模式,框架模式不是一门写代码的学问,而是一门管理与组织代码的学问.其本质是一种软件开发的模型. 与设计模式不同,设计模式是在解决一类问题时总结抽象出的公共方法(工厂模式,适配器模式,单例 ...
- ubuntu 系统关键指令
1. 查看系统版本号 cat /etc/issue uname -a cat /proc/version 2. linux 32/64 bit? getconf LONG_BIT 3. dpkg 的命 ...
- python2和3使用pip时的问题
win10,电脑之前装有Anaconda,python2.因为需要用到python3,所以直接下载安装了python3.python3默认路径在c盘.我将其移到D盘并修改了两个环境变量.这时电脑的默认 ...
- 【Connection Events】【BLE】【原创】
Connection Events 本人在TI官网的学习笔记,现整理如下 两台BLE设备建立连接后,所有的通信事件都是通过Connection Events中发生的 上图为两 ...
- C:malloc/calloc/realloc/alloca内存分配函数
原文地址:http://www.cnblogs.com/3me-linux/p/3962152.html calloc(), malloc(), realloc(), free(),alloca() ...
- sqlserver 无法获得数据库独占权
ALTER DATABASE trqxs_cs SET OFFLINE WITH ROLLBACK IMMEDIATE
- (并发编程)线程 (理论-创建-lock-属性-守护,与进程的对比)
一.线程理论1.什么是线程 线程指的是一条流水线的工作过程(执行代码) 进程不是执行单位,是资源单位 一个进程内自带一个线程,线程是执行单位 2.进程VS线程 1.同一进程内的线程们 ...