V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tiRolin
V2EX  ›  Java

maven 总是无法正确导入依赖问题求解答

  •  
  •   tiRolin · 265 天前 · 1997 次点击
    这是一个创建于 265 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近做项目创建了一个 Spring 项目后遇上了这个问题

    具体是在 pom 文件中无法导入 fastjson 的依赖,无论怎么刷新都爆红

    解决方式我尝试过更换镜像地址、重新安装 maven 、删除 maven 仓库的内容重新加载、更改 maven 地址、跟着网上的教程增加内存等等,都没能解决这个问题

    但是奇怪的事,fastjson 的依赖导入不了,总是爆红,但是 springboot 的相关依赖又能正确导入,非常的怪

    我导入依赖的代码如下

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.66</version>
    </dependency>
    

    当然感觉直接下载 jar 包导入也是能用的,但是感觉这种方法太 low 了,还是想解决这个问题这样的

    这个问题卡了我一天了,球球各位懂的大佬不吝赐教,我先谢谢各位了

    19 条回复    2024-02-27 22:36:53 +08:00
    wxg4net
        1
    wxg4net  
       265 天前
    用的什么编辑器?应该重载一下工程就能消失
    phrack
        2
    phrack  
       265 天前 via iPhone
    invalidate cache 或者 maven->reload

    实在不行删掉 idea project 重新导入。

    假如你用的 idea 的话。
    xuanbg
        3
    xuanbg  
       265 天前
    本地.m2/repository/com/alibaba/fastjson 目录删掉,然后刷新一下重新加载看看能不能好
    potatowish
        4
    potatowish  
       265 天前 via iPhone
    找到对应的版本依赖目录,删除.lastupdated 文件
    wushigejiajia01
        5
    wushigejiajia01  
       265 天前
    我有时候也遇到这个问题,明明仓库里有包,但是依赖死活拉不动,
    然后我发现,重启下 IDEA 再进来,就能拉动了
    就很无语
    misaka19000
        6
    misaka19000  
       265 天前
    查看 maven 执行时候的报错信息
    Goooooos
        7
    Goooooos  
       265 天前   ❤️ 1
    换最新版本号试试?
    cleanery
        8
    cleanery  
       265 天前
    改镜像仓库, 删除 .lastupdated 文件
    pangdundun996
        9
    pangdundun996  
       265 天前
    IDE 爆红不一定是没下到依赖,终端编译一下试试:mvn clean compile
    能编译过的话就是 IDE 的问题,不行再看具体报错
    chinaguaiu
        10
    chinaguaiu  
       265 天前
    有可能是废文件导致的。到本地的 maven 仓库删掉对应的包文件夹可以强制让 maven 在下一次拉依赖时重新下载更新。例如 fastjson 在:C:\Users\用户名\.m2\repository\com\alibaba\fastjson\2.0.2

    你可以某个版本号的文件夹删了,或者直接把 fastjson 这个文件夹删了,或者更激进一点把 alibaba 这个包删了,甚至 com 包、repository 。总之,这样做相当于把本地 maven 仓库缓存的文件删掉,有时候 maven 拉取依赖失败了会在本地仓库留下废文件占用了名称路径,这时候就需要使用这种方法手动清理废文件。
    diagnostics
        11
    diagnostics  
       265 天前
    1. maven idea:idea
    2. invalidate cache 然后重启
    3. 删除 .m2/repository/com/alibaba/fastjson 下的所有包,重新下载

    做完这些还不行,再看看 mvn dependency:tree 是不是有不同版本的 fastjson 依赖?
    helee9199
        12
    helee9199  
       265 天前
    # 这里写你的仓库路径
    REPOSITORY_PATH=/Users/helee/Develop/maven/repository
    echo 正在搜索...
    find $REPOSITORY_PATH -name "*lastUpdated*" -print | xargs rm -frv
    echo 搜索完
    read -p "按任意键退出..."
    prosgtsr
        13
    prosgtsr  
       264 天前
    我是 windows
    总共分三步

    1:打开 everything ,搜索.lastupdated ,全部选中,删掉
    2:idea 选中这个项目,点一下 maven reimport
    3:还不行就再删除一遍.lastipdated ,然后 idea ,invalidate cache and restart
    prosgtsr
        14
    prosgtsr  
       264 天前
    @prosgtsr everything 是一个搜索本机文件的软件
    pocketz
        15
    pocketz  
       264 天前
    报错日志也不发,那你过来问有什么意义
    Corybyte
        16
    Corybyte  
       264 天前
    安装本地依赖
    tiRolin
        17
    tiRolin  
    OP
       264 天前
    @pocketz 没报错就是,我都没找到爆红的日志,只有依赖爆红
    tiRolin
        18
    tiRolin  
    OP
       264 天前 via Android
    @Goooooos 太感谢了,的确是版本的问题,jdk 17 不支持 3.6.1 的 maven ,太谢谢你了
    jeesk
        19
    jeesk  
       264 天前
    直接把 fastjson 下载到项目根目录,然后作为本地仓库导入。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5798 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:35 · PVG 14:35 · LAX 22:35 · JFK 01:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.