惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

芈亓的Blog

Docker迁移数据教程 – 芈亓的Blog CentOS安装记录之固定IP – 芈亓的Blog CentOS安装记录之无线网卡 – 芈亓的Blog IDEA通用激活码,有效期一年 – 芈亓的Blog Intellij IDEA激活码 – 芈亓的Blog 阿里云服务器学生合集,赶快看过来!!! – 芈亓的Blog ChatGPT-NEXT-Web免费使用 – 芈亓的Blog swagger使用教程 – 芈亓的Blog SpringBoot项目集成QuartzJob任务 – 芈亓的Blog MySQL主从复制学习小记 – 芈亓的Blog Elasticsearch 保姆级入门篇 – 芈亓的Blog 免费搭建自己的私人ChatGPT小助手 – 芈亓的Blog 宝塔面板使用记录分享 – 芈亓的Blog “七七事变”86周年!勿忘国耻,吾辈自强! – 芈亓的Blog NVM安装步骤及使用方法 – 芈亓的Blog 炒菜的一个坏习惯,很多人还在做! – 芈亓的Blog 早上吃粽子,要多久才能消化完? – 芈亓的Blog 长夏如意,逢考必赢 – 芈亓的Blog 公司砍的就剩我俩了,万万没想到... – 芈亓的Blog
Maven加载本地Jar包的实操记录 – 芈亓的Blog
芈亓 · 2023-09-08 · via 芈亓的Blog

场景溯源

本人在开发一个SpringBoot框架的项目,其中用到一个第三方的jar包,需要在本地进行导入。

踩坑小计

方式一:直接把jar包放入resource目录下新建的一个libs目录下(不推荐)

这种方式在本地怎么用怎么好使,但是你打成jar包方式的话,springboot默认打jar包的时候是不会把resource目录下添加的jar包给打进去的,所以就会出现本地OK,打的项目包缺不能正常运行的情况

解决办法

  1. 打包的方式改成war包
  2. 加什么配置使得maven package的时候把libs的jar包也一并打出来。
  • 将 JAR 包放置在 src/main/resources/lib 目录下:
    首先,确保您的本地 JAR 包位于项目的 src/main/resources/lib 目录下。如果目录不存在,请手动创建它。
  • 在 pom.xml 文件中配置 Maven 插件以包括资源文件:
    在项目的 pom.xml 文件中,添加以下配置以确保 Maven 在打包应用程序时包括 resource/lib 目录下的资源文件。
    <build>
      <resources>
          <resource>
              <directory>src/main/resources</directory>
              <filtering>true</filtering>
              <includes>
                  <include>lib/**</include>
              </includes>
          </resource>
      </resources>
     </build>
    
    
    这个配置将 src/main/resources 目录下的所有文件(包括 lib 子目录)包括在 Maven 构建中,并在打包时将它们复制到 JAR 文件中。
  • 清理和构建项目:
    执行以下 Maven 命令以清理和构建项目,并确保资源文件被正确打包:
      mvn clean package 
    
    这将触发 Maven 构建过程,并在构建目录中创建包含 resource/lib 目录内容的 JAR 文件。
  • 验证 JAR 文件内容:
    检查生成的 JAR 文件,确保 resource/lib 目录下的本地 JAR 包已包含在 JAR 文件中。您可以使用压缩工具或命令行工具查看 JAR 文件的内容。

方式二:把jar包导入到本地仓库再直接引入(推荐)

解决办法

如果你当前使用的是Windows系统电脑,下面是实际的解决步骤:

  1. 使用WIN+R建,弹出运行窗口
  2. 输入cmd,然后在黑窗口进入需要导入项目的jar包所在位置
  3. 执行命令先把jar包导入到自己本地的maven仓库中,下面命令不能直接在-Dfile后面引入jar包的绝对路径,会报错,别问我是怎么知道的~
    
      mvn install:install-file -Dfile=xxx.jar -DgroupId=com.example -DartifactId=xxx -Dversion=1.0.0 -Dpackaging=jar
    
    
  4. 通过如下命令在pom文件中正常引入即可
    <dependencies>
    <!-- 其他依赖项 -->
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>xxx(此处是上面jar包的名字)</artifactId>
        <version>1.0.0</version>
    </dependency>
    </dependencies>
    
  5. 引入成功后执行以下命令就OK了
       mvn clean package