maven工程依赖的jar包,在本地仓库有,但是pom.xml文件却报错找不到jar包;IDEA运行项目类文件报错:java: 错误: 无效的源发行版:16

2023-11-16

 

1、maven项目依赖的jar包,在本地仓库有,但是pom文件却报错找不到jar包。

window10

Maven3.8.3

jdk1.8

Intellj IDEA2021.2.2

maven项目依赖的jar包,在本地仓库有,但是pom文件却报错找不到jar包。

检查项目的maven配置是否正确:

maven版本、setting.xml文件、repository目录

经检查IDEA内的项目Maven配置正确。

原因是:

maven项目的,pom.xml中依赖的jar包全都默认先去你电脑本地仓库去找。

可能是由于仓库是从另一个地方拷贝过来(如外网拷贝到内网),仓库里存在多版本临时文件信息,或者是因为网络问题,导致jar描述不全等。

解决方式:

在本地仓库目录下,删除生成的多余的文件,然后重新maven-》reimport:

_remote.repositories
m2e-lastUpdated.properties
*.lastUpdated

删除方式参考:

指定本地仓库路径,批量删除指定后缀的文件。工具类如下:


import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class FileUtils {

    private static List<File> fileList = new ArrayList<>();

    /**
     * 根据扩展名,过滤文件
     *
     * @param file
     * @param extensions
     * @param isDeep
     * @return
     */
    public static Collection<File> listFiles(File file, String[] extensions, boolean isDeep) {

        if (!file.exists()) {
            System.out.println("路径不存在:" + file);
        }

        listFiles(file, extensions);
        return fileList;

    }


    /**
     * 根据文件扩展名列表,过滤出指定扩展名的所有文件(包含子目录下的)
     *
     * @param file
     * @param extensions
     */
    private static void listFiles(File file, String[] extensions) {
        File[] fs = file.listFiles();

        for (File f : fs) {
            if (f.isDirectory()) {
                listFiles(f, extensions);
            }
            if (f.isFile()) {
                for (String extension : extensions) {
                    if (f.toString().endsWith(extension)) {
                        fileList.add(f);
                    }
                }
            }
        }
    }

}


import java.io.File;
import java.util.Collection;

public class MavenDeleteVersion {

    public static void main(String[] args) {

        //本地仓库地址
        String repoPath = "Z:\\repository";
        //需要删除的文件后缀
        String[] extensions = new String[]{
                "lastUpdated",
                "properties",
                "repositories"
        };
        //获取所有文件进行删除
        Collection<File> listFiles = FileUtils.listFiles(new File(repoPath), extensions, true);
        for (File file : listFiles) {
            System.out.println(file);
            file.delete();
        }
    }
}

执行后更新项目的maven依赖包:

项目右键-》maven-》reimport,更新后即可。

2、IDEA运行项目类文件报错:java: 错误: 无效的源发行版:16

IDEA项目环境java版本配置不正确:

项目右键-》Open Module Settings-》Project-》sdk版本和language level设置成一致版本1.8

 

参考链接:

maven引入依赖时,识别不到本地仓库jar包问题【补充版】_尘言九的博客-CSDN博客

maven引入依赖时,识别不到本地仓库jar包问题_天涯共明月的博客-CSDN博客_maven找不到本地jar包

maven工程依赖的jar包,在本地仓库有,但是pom.xml文件却报错找不到jar包 - 滑稽的鼠标 - 博客园

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven工程依赖的jar包,在本地仓库有,但是pom.xml文件却报错找不到jar包;IDEA运行项目类文件报错:java: 错误: 无效的源发行版:16 的相关文章

随机推荐