博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot 打包 外部jar system
阅读量:5793 次
发布时间:2019-06-18

本文共 2173 字,大约阅读时间需要 7 分钟。

hot3.png

参考:

               

一、Maven添加本地Jar包

我们有时候项目依赖外部的jar,我们使用Eclipse开发的时候我们直接通过build path添加jar就可以,但是使用mvn 打包的时候就会缺少这个包。

1. 使用system scope

我们直接引入rabbitmq-client.jar。这个方式比较灵活,到新的服务器上,无需做额外的操作。

          
rabbitmq.client
           
rabbitmq.client
           
3.0
           
system
           
${basedir}/src/main/WEB-INF/lib/rabbitmq-client.jar
   
  
  • groupId和artifactId以及version都是可以随便填写的 ,scope必须填写为system,而systemPath我们现在我们jar包的目录地址就可以了
  • ${basedir}就是项目根目录

2. 将jar包安装到本地repository中

这个需要在新机器上执行mvn install:install-file命令。

  1. mvn install:install-file  
  2. -Dfile= jar文件所存放的地址     
  3. -DgroupId= jar文件所属的group:包名   
  4. -DartifactId=  jar的项目名 名称,一般就是去掉后缀的文件名     
  5. -Dversion=版本号  
  6. -Dpackaging=jar:此包的打包形式,就是jar  
  7. -DgeneratePom=true  

例如执行命令:

mvn install:install-file -Dfile=D:\JAR_LIB\rabbitmq-client.jar -DgroupId=com.rabbitmq -DartifactId=client -Dversion=3.5.0 -Dpackaging=jar  -DgeneratePom=true -DcreateChecksum=true

在项目中引用:

      
com.rabbitmq
      
client
      
3.5.0
  
  

二、Eclipse开发没问题但是SpringBoot打包,打不进去

通过方式一

通过这种方式引入依赖后,在编码的时候没有问题,但是用mvn clean package打成jar包后运行就是报错,正式找不到这些jar包中的相关类。把jar包解压后在BOOT-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把src/lib目录里面的jar打进去,后来通过查找也终于找到方法了,修改pom文件,在build标签下增加如下配置:

src/lib
BOOT-INF/lib/
**/*.jar
src/main/resources
BOOT-INF/classes/

目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必须要增加第二个resource,不然src/main/resources下的配置文件又打不进jar包了。

如果要打成war包,则pom文件需要这样改:

org.apache.maven.plugins
maven-war-plugin
lib
WEB-INF/lib/
**/*.jar

通过方式二

这种方式不会有以上问题,但是却要每台电脑都要运行命令,也是头疼。

转载于:https://my.oschina.net/chuibilong/blog/1486066

你可能感兴趣的文章
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
由数据库对sql的执行说JDBC的Statement和PreparedStatement
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>