Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题

这篇具有很好参考价值的文章主要介绍了Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述
项目打包时,类缺少依赖,操作 pom.xml -> Maven -> Reload project ,还是不生效,但是同事(别人)那里正常。

问题出现的环境

  1. 可能项目是多模块项目,结构例如:
my-project
|-- pom.xml(根项目)
|-- module-1
|   `-- pom.xml
|-- module-2
|   `-- pom.xml
`-- module-3
    `-- pom.xml
  1. 可能继承另一个项目(项目是快照版本),例如:
 <parent>
        <groupId>other.project.groupId</groupId>
        <artifactId>project_artifactId</artifactId>
        <version>1.0-SNAPSHOT</version>
 </parent>
  1. 可能依赖是快照版本,例如:
 <dependency>
     <groupId>other.project.groupId<</groupId>
     <artifactId>project_artifactId</artifactId>
     <version>2.0.0-SNAPSHOT</version>
 </dependency>

问题分析
Maven 查找依赖的顺序是 1.本地依赖 2. 私仓 3. 中央仓库,当类出现引入错误,但是(快照)依赖配置正确,问题可能是 快照依赖没有发布到 私仓, 或者你的本地Maven 没有拉取最新的快照依赖。
在默认情况下,Maven 并不会一直拉取快照依赖

问题解决

  1. IDEA 项目配置

Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题,Maven,maven,java
2. Maven setting.xml 配置快照策略

 <repository>
          <id>snapshots</id>
         <url>your_snapshots_path</url>
          <snapshots>
            <enabled>true</enabled>
            <!-- 配置快照拉取策略 -->
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
          </snapshots>
        </repository>
      <repository>

updatePolicy可以根据自身需求配置:文章来源地址https://www.toymoban.com/news/detail-817449.html

  • always : 总是检查最新的快照版本。
  • daily : 每天检查一次远程仓库以获取最新的快照版本
  • interval:X : 每隔 X 分钟检查一次远程仓库以获取最新的快照版本。
  • never : 从不检查远程仓库以获取最新的快照版本。
  1. 命令方式, Maven 强制拉取快照(Snapshot)依赖而不依赖本地缓存
mvn clean install -U

到了这里,关于Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • idea中导入maven项目,但是却没有导入依赖的问题

    idea中导入maven项目,但是却没有导入依赖的问题

    今天我遇到很奇葩的问题,用maven几年了,只是导入maven项目配置好maven,所有的依赖从仓库下载下来后就自动导入了,前几天电脑硬盘坏了,所以重新装的idea, 可以看到pom的素有依赖都没引入,我重新导入pom还是一样。 这是需要勾选上: 然后再重启idea,再reimport一下就好了

    2024年02月16日
    浏览(38)
  • 【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )

    【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )

    当前最新的 Android Studio 开发环境 , 生成的 Gradle 配置脚本使用了最新 API , 用起来不太习惯 ; 根目录下的 build.gradle 构建脚本变成了下面的样式 , 单纯的用于配置 Android 应用编译所需插件的 插件 和 版本 ; 原来应用中配置插件 , 是在 根目录下的 build.gradle 中的 buildscript / depend

    2024年02月07日
    浏览(12)
  • Maven 引入外部依赖

    Maven 引入外部依赖

    如果我们需要引入第三方库文件到项目,该怎么操作呢? pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项。 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 lib 文件夹下。我们使用的是 ldapjdk.jar ,它是为

    2024年02月07日
    浏览(9)
  • 【错误记录】Android 编译报错 ( Could not resolve xxx | 手动下载依赖库并进行本地配置 Gradle 依赖的解决方案 | 构建 Maven 依赖下载路径 )

    【错误记录】Android 编译报错 ( Could not resolve xxx | 手动下载依赖库并进行本地配置 Gradle 依赖的解决方案 | 构建 Maven 依赖下载路径 )

    编译 Android Studio 项目时 , 报如下错误 , 下载依赖库失败 ; 报错信息 : 下面是 当前 Android 项目的 Gradle 配置中的 Maven 仓库 ; 其中使用 maven { url \\\"https://repo.spring.io/plugins-release/\\\" } 配置的 Maven 仓库就是对应的地址 ; 使用 google() 函数配置的 Maven 仓库地址 是 https://maven.google.com/ , 可

    2024年04月15日
    浏览(46)
  • maven:本地仓库有依赖但是idea报错找不到依赖Could not find artifact com.*.*

    maven:本地仓库有依赖但是idea报错找不到依赖Could not find artifact com.*.*

    控制台提示: 原因:是仓库中 _remote.repositories 的这样一个文件导致maven不会识别本地仓库已经存在的依赖。Maven在下载啊仓库找不到对应资源时会生成一个_remote.repositories为后缀的文件。 解决办法:去你的maven本地仓库下找到_remote.repositories和.lastUpdates文件删除。 注意: 如果

    2024年02月11日
    浏览(8)
  • 解决idea中依赖报错找不到这个包,但是本地maven仓库中却存在此依赖包问题

    解决idea中依赖报错找不到这个包,但是本地maven仓库中却存在此依赖包问题

    问题: intellj idea新打开一个项目,经过项目加载完毕后,但是发现maven的依赖存在一些无法下载到的问题。 原因一: 配置的私服和中央仓库中本身就无此包(这属于基本异常,不讨论) 原因二: 本地仓库中存在此包,当时却无法加载到,此类现象更可能是拷贝了其他电脑的

    2024年02月13日
    浏览(42)
  • 【Maven】maven引入第三方jar包并打包

    【Maven】maven引入第三方jar包并打包

    idea中的springboot项目引用第三方jar包,打包时将其引入 本文参照官网:http://maven.apache.org/ 第一种:在pom文件引入jar包的目录 1.选择File下的project Structure 2.选择Module,选择项目模块,选择Dependencies下的加号:点击JARs or Directories…: 3.选择你jar包所在的位置,点击OK,点击Apply,此时已

    2024年02月16日
    浏览(10)
  • maven工程打包引入本地jar包

    maven工程打包引入本地jar包

     在jar包的文件目录下执行:   maven仓库效果:   maven引入:

    2024年02月22日
    浏览(9)
  • maven 模块打包时包含依赖和打包可执行的jar

    maven 模块打包 1)maven 模块打包jar文件时,指定包含依赖(with-dependencies); 2)maven 模块打包jar文件时,指定入口MainClass、打包生成可执行的jar; vi qftools/common/src/main/java/com/xxx/qftools/common/Main.java package com.xxx.qftools.common; public class Main {     public static void main(String args[]) {    

    2024年02月14日
    浏览(19)
  • maven打包所有依赖,对外提供sdk.jar

    maven打包所有依赖,对外提供sdk.jar

    maven打包所有依赖 如何让引入自己sdk的spring扫描sdk下的类 新建配置类(@Import注解可以加载指定类至spring容器中) 新建如下目录以及文件  

    2024年02月11日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包