Springboot項(xiàng)目打包如何將依賴的jar包輸出到指定目錄
場景
公司要對springboot項(xiàng)目依賴的jar包進(jìn)行升級,但是遇到一個問題,項(xiàng)目打包之后,沒辦法看到他里面依賴的jar包,版本到底是不是升上去了,沒辦法看到。
下面是項(xiàng)目打的jar包
我們通過反編譯工具jdgui,來看一下jar包文件內(nèi)容,我們發(fā)現(xiàn)里面根本沒有看到依賴的jar包
既然看不到依賴的jar包,那么就沒辦法確定,jar包版本是否升級成功,那應(yīng)該怎么辦呢?
解決辦法
maven有一個辦法,就是可以將依賴的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>
重要的事再說一遍,其實(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>
我們再打包一下看看效果:
我們發(fā)現(xiàn)target多了一個文件夾lib,其實(shí)他就是存放項(xiàng)目所依賴的jar包的。打開lib文件夾,發(fā)現(xiàn)里面全部都是jar包
這樣就可以知道,jar包的版本到底有沒有升級成功了。
到此這篇關(guān)于Springboot項(xiàng)目打包:將依賴的jar包輸出到指定目錄的文章就介紹到這了,更多相關(guān)Springboot項(xiàng)目依賴jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot或SpringAI對接DeepSeek大模型的詳細(xì)步驟
- SpringBoot整合DeepSeek實(shí)現(xiàn)AI對話功能
- 在 Spring Boot 3 中接入生成式 AI的操作方法
- 解決創(chuàng)建springboot后啟動報(bào)錯:Failed?to?bind?properties?under‘spring.datasource‘
- Springboot Logback日志多文件輸出方式(按日期和大小分割)
- Java調(diào)用ChatGPT(基于SpringBoot和Vue)實(shí)現(xiàn)可連續(xù)對話和流式輸出的ChatGPT API
- 在Spring Boot中使用Spark Streaming進(jìn)行實(shí)時數(shù)據(jù)處理和流式計(jì)算的步驟
- SpringBoot項(xiàng)目實(shí)現(xiàn)MyBatis流式查詢的教程詳解
- 使用Spring Boot輕松實(shí)現(xiàn)流式AI輸出的步驟
相關(guān)文章
springboot啟動不加載bootstrap.yml文件的問題
這篇文章主要介紹了springboot啟動不加載bootstrap.yml文件的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12簡單了解Mybatis如何實(shí)現(xiàn)SQL防注入
這篇文章主要介紹了簡單了解Mybatis如何實(shí)現(xiàn)SQL防注入,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01Java多線程中的CountDownLatch詳細(xì)解讀
這篇文章主要介紹了Java多線程中的CountDownLatch詳細(xì)解讀,一個同步輔助類,在完成一組正在其他線程中執(zhí)行的操作之前,它允許一個或多個線程一直等待,用給定的計(jì)數(shù) 初始化 CountDownLatch,需要的朋友可以參考下2023-11-11java實(shí)現(xiàn)自定義時鐘并實(shí)現(xiàn)走時功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時鐘并實(shí)現(xiàn)走時功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06