spring boot实战之本地jar包引用示例

部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,spring boot框架内通过maven加载第三方jar包可以通过以下方式来实现(本地jar放在lib/目录下),项目会打包为jar包来运行。

1、添加maven依赖

<dependency>
 <groupId>org.ansj</groupId>
 <artifactId>ansj_seg</artifactId>
 <version>3.0</version>
 <scope>system</scope>
 <systemPath>${project.basedir}/lib/ansj_seg-3.0.jar</systemPath>
</dependency>
  • scope system指明是本地jar包
  • systemPath指明本地jar包路径

经过以上配置,在eclipse内已可正常运行,但编译为jar包时会提示找不到相关的类,需要进行以下配置。

2、调整plugin参数

<plugins>
 <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>

 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
   <source>1.7</source>
   <target>1.7</target>
   <compilerArguments>
    <extdirs>${project.basedir}/lib</extdirs>
   </compilerArguments>
  </configuration>
 </plugin>
</plugins>

重点是compilerArguments内的extdirs配置

3、调整resources配置

<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>*/.jar</include>
</includes>
</resource>

 <resource>
  <directory>${project.basedir}/src/main/resources</directory>
  <targetPath>BOOT-INF/classes/</targetPath>
 </resource>
</resources>
  • directory lib配置的作用是指定lib目录下的jar包作为资源文件,在打包时一起copy至classes是目录下
  • directory src/main/resources配置的作用是指明正常的java资源文件,不配置会被忽视

打包后的文件格式大概为:

BOOT-INF
 -- lib
  -- ansj_seg-3.0.jar
 -- classess
  -- application.properties

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解springboot解决第三方依赖jar包的问题

    公司现在用的是springboot+maven,想要把一些老的项目都改成这种框架.但是一些老的项目中有好多第三方的jar包或者是自己的jar包,maven库上没有.最初的解决方案是一个个的deploy到maven库上,但是遇到太多的三方jar包就太费事了.网上查了一下发现maven有一种方式可以将本地的Jar包依赖到项目中而不需要先deploy到maven库上.具体做法如下: 跟普通的java项目一样,新建个lib目录放jar包,我建在了src下. pom文件中依赖这样写: <!--添加外部依赖

  • spring boot打包成可执行jar包

    在使用spring boot进行打包的时候出现了一些问题,不是说找不到主类,就是说spring初始化时有些类没有加载. 下面介绍一下如何解决. <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> &

  • 详解Spring Boot 部署jar和war的区别

    本文介绍了Spring Boot 部署jar和war两种方式的区别,分享给大家,具体如下: 1. packaging的方式不同,一种设置成jar一种是war <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org

  • SpringBoot项目打包三方JAR的示例代码

    SpringBoot项目打包成可运行JAR包,但是不是所有JAR包都是MAVEN中央库或者是私有库里面有的,那么要如何把第三方的JAR包通过MAVEN的SpringBoot的打包组件打包进可运行JAR包里呢? 解决方法: 1.所第三方的JAR放到项目下如:/src/lib 2.加入maven依赖: <dependency> <groupId>com.seven</groupId> <artifactId>smssdk</artifactId> &

  • spring boot加载第三方jar包的配置文件的方法

    前言 今天收到一封邮件,大概内容如下:spring boot鼓励去配置化,那么怎么将第三方jar包中的xml去配置化了? 其实,这个问题,在前面的文章中也有提到,http://www.jb51.net/article/125700.htm 下面,我们就以Quartz定时任务为例,单独对这个问题来进行说明,如何实现去配置化. 如果不使用spring boot,我们配置一个简单的定时任务时,需要引入以下配置文件: <!-- 配置需要定时执行的任务类以及方法 --> <bean id=&quo

  • 详解spring boot 以jar的方式启动常用shell脚本

    用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bash JAVA_OPTIONS_INITIAL=-Xms128M JAVA_OPTIONS_MAX=-Xmx512M _JAR_KEYWORDS=monitor-alarm-task-1.0-SNAPSHOT.jar APP_NAME=monitor-alarm-task APPLICATION_FILE=/opt/scpip_monitor/a

  • spring boot实战之本地jar包引用示例

    部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,spring boot框架内通过maven加载第三方jar包可以通过以下方式来实现(本地jar放在lib/目录下),项目会打包为jar包来运行. 1.添加maven依赖 <dependency> <groupId>org.ansj</groupId> <artifactId>ansj_seg</artifactId> <version>3.0<

  • Spring Boot创建可执行jar包的实例教程

    传统的spring项目,可能大部分都要部署到web容器中,如Tomcat.Spring Boot提供了一种超级简单的部署方式,就是直接将应用打成jar包,在生产上只需要执行java -jar就可以运行了. 本篇文章就介绍如何创建可执行jar包,以及如何部署.运行和停止. 第一步,我们需要在pom.xml添加spring-boot-maven-plugin,添加在dependecies部分下面: <build> <plugins> <plugin> <groupId

  • Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

    前言 最近项目需要和Oracle数据库进行交互,然后我从Maven中央仓库下载数据库驱动jar包,但怎么都下不下来,我到Oracle官网上一看,我去,居然不让用Maven直接下(大学时候用过Oracle,很久远的事情了0rz),没办法我还是直接下载jar包放到我的项目里面吧.SpringBoot项目引入外部jar包是非常方便的,包含打引入外部jar等操作. 我的做法如下: 首先在src同级目录建一个lib文件夹,将第三方jar包放到这个文件内,比如我将ojdbc6.jar 这个jar包放到这个地

  • Spring Boot实战之逐行释义Hello World程序

    一.前言 研究Spring boot也有一小段时间了,最近会将研究东西整理一下给大家分享,大概会有10~20篇左右的博客,整个系列会以一个简单的博客系统作为基础,因为光讲理论很多东西不是特别容易理解,并且如果每次通过一个简单的小程序也无法系统的把握好一些知识点,所以就以一个简单的系统作为基础来讲,看看通过spring boot如何实现一个完整系统.本系列除了Spring boot基本的知识点之外,还会涉及到Spring boot与数据库.缓存(redis).消息队列等的结合以及多实例部署等方面的

  • Spring Batch远程分区的本地Jar包模式的代码详解

    1 前言 Spring Batch远程分区对于大量数据的处理非常擅长,它的实现有多种方式,如本地Jar包模式.MQ模式.Kubernetes模式.这三种模式的如下: (1)本地Jar包模式:分区处理的worker为一个Java进程,从jar包启动,通过jvm参数和数据库传递参数:官方提供示例代码. (2)MQ模式:worker是一个常驻进程,Manager和Worker通过消息队列来传递参数:网上有不少相关示例代码. (3)Kubernetes模式:worker为K8s中的Pod,Manager

  • 在maven中引入本地jar包的步骤

    目录 1 起因 2 解决方案 2.1 在pom中引入 2.2 Spring Boot 打包处理 2.3 拓展: Spring Boot 打包加入其它资源 1 起因 在和一些第三方厂商对接的过程中, 偶尔会遇到对方提供的SDK自带maven无法获取的jar包的情况(对于开源激进者的笔者很讨厌这种行为) 我们该如何处理这种情况呢, 其实解决思路很简单: 在pom中引入本地jar 打包时本地jar包含在内 让我们来看看具体怎么操作吧 idea中虽然可以在项目配置加入, 但打包时会报错, 相关的处理方案

  • 详解如何将本地JAR包添加到本地Maven仓库中

    详解如何将本地JAR包添加到本地Maven仓库中 有些时候,当我们需要在自己的maven工程中添加一个确定的jar而发现Maven中央仓库不存在时,但是我们自己手上有这些需要的jar包,那么我们可以自给自足,把这个jar包添加到我们的自己的maven仓库中,这样方便在maven工程中引用. 比如sqljdbc.jar在Maven中央仓库中找不到,但是我们的maven工程中确实需要这样的一个jar包,那么我们首先需要下载对应版本的sqljdbc.jar包到本地,然后按照以下的命令添加到本地仓库.(

  • 深入Spring Boot实现对Fat Jar jsp的支持

    spring boot 对于jsp支持的限制 对于jsp的支持,Spring Boot官方只支持了war的打包方式,不支持fat jar.参考官方文档: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-jsp-limitations 这里spring boot官方说是tomcat的问题,实际上是sp

  • Maven pom.xml 添加本地jar包依赖以及打包方法

    Maven项目打包时,如果遇到需要添加本地jar包依赖的时候,可以选择两种方法: 1. 安装到本地仓库 第一种方法比较常规,适用于需要添加的jar包也是由maven项目导出,含有pom文件的时候.只需要将jar包安装到本地maven仓库下,然后添加依赖即可. (1)安装到本地仓库,执行以下命令(其中的-Dfile/-DgroupId/-DartifactId/-Dversion项根据pom文件内容填写): mvn install:install-file -Dfile=xxxxx.jar -Dg

随机推荐