Springboot項(xiàng)目打包如何將依賴的jar包輸出到指定目錄
場(chǎng)景
公司要對(duì)springboot項(xiàng)目依賴的jar包進(jìn)行升級(jí),但是遇到一個(gè)問(wèn)題,項(xiàng)目打包之后,沒(méi)辦法看到他里面依賴的jar包,版本到底是不是升上去了,沒(méi)辦法看到。
下面是項(xiàng)目打的jar包

我們通過(guò)反編譯工具jdgui,來(lái)看一下jar包文件內(nèi)容,我們發(fā)現(xiàn)里面根本沒(méi)有看到依賴的jar包

既然看不到依賴的jar包,那么就沒(méi)辦法確定,jar包版本是否升級(jí)成功,那應(yīng)該怎么辦呢?
解決辦法
maven有一個(gè)辦法,就是可以將依賴的jar包輸出的指定的目錄。具體配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hidata.kafka</groupId>
<artifactId>hijob-kafka</artifactId>
<version>0.1</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.7.18</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<bboss.version>5.8.6</bboss.version>
</properties>
<dependencies>
<!-- spring boot -->
<dependency>
.....
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>static/**</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>static/**</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.hidata.kafka.HijobKafkaApplication</mainClass>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--target/lib是依賴jar包的輸出目錄,根據(jù)自己喜好配置-->
<outputDirectory>target/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>重要的事再說(shuō)一遍,其實(shí)核心就是這一句配置
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <!--target/lib是依賴jar包的輸出目錄,根據(jù)自己喜好配置--> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin>
我們?cè)俅虬幌驴纯葱Ч?/p>

我們發(fā)現(xiàn)target多了一個(gè)文件夾lib,其實(shí)他就是存放項(xiàng)目所依賴的jar包的。打開(kāi)lib文件夾,發(fā)現(xiàn)里面全部都是jar包

這樣就可以知道,jar包的版本到底有沒(méi)有升級(jí)成功了。
到此這篇關(guān)于Springboot項(xiàng)目打包:將依賴的jar包輸出到指定目錄的文章就介紹到這了,更多相關(guān)Springboot項(xiàng)目依賴jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot或SpringAI對(duì)接DeepSeek大模型的詳細(xì)步驟
- SpringBoot整合DeepSeek實(shí)現(xiàn)AI對(duì)話功能
- 在 Spring Boot 3 中接入生成式 AI的操作方法
- 解決創(chuàng)建springboot后啟動(dòng)報(bào)錯(cuò):Failed?to?bind?properties?under‘spring.datasource‘
- Springboot Logback日志多文件輸出方式(按日期和大小分割)
- Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)可連續(xù)對(duì)話和流式輸出的ChatGPT API
- 在Spring Boot中使用Spark Streaming進(jìn)行實(shí)時(shí)數(shù)據(jù)處理和流式計(jì)算的步驟
- SpringBoot項(xiàng)目實(shí)現(xiàn)MyBatis流式查詢的教程詳解
- 使用Spring Boot輕松實(shí)現(xiàn)流式AI輸出的步驟
相關(guān)文章
自己動(dòng)手寫(xiě)的mybatis分頁(yè)插件(極其簡(jiǎn)單好用)
最近做了個(gè)項(xiàng)目,需要用到mybatis分頁(yè)功能,網(wǎng)上找了很多插件,都不太合適,于是就自己動(dòng)手寫(xiě)了個(gè)mybatis分頁(yè)插件功能,非常不錯(cuò),代碼簡(jiǎn)單易懂,需要的朋友參考下吧2016-11-11
springboot啟動(dòng)不加載bootstrap.yml文件的問(wèn)題
這篇文章主要介紹了springboot啟動(dòng)不加載bootstrap.yml文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
簡(jiǎn)單了解Mybatis如何實(shí)現(xiàn)SQL防注入
這篇文章主要介紹了簡(jiǎn)單了解Mybatis如何實(shí)現(xiàn)SQL防注入,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Java多線程中的CountDownLatch詳細(xì)解讀
這篇文章主要介紹了Java多線程中的CountDownLatch詳細(xì)解讀,一個(gè)同步輔助類,在完成一組正在其他線程中執(zhí)行的操作之前,它允許一個(gè)或多個(gè)線程一直等待,用給定的計(jì)數(shù) 初始化 CountDownLatch,需要的朋友可以參考下2023-11-11
java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Spring.Net控制反轉(zhuǎn)IoC入門(mén)使用
這篇文章主要為大家詳細(xì)介紹了Spring.Net控制反轉(zhuǎn)IoC入門(mén)使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

