1、拉取jar包失败
如果第一次下载jar包时,pom文件里的
<groupId>juni</groupId>地址写错了,maven也会在本地仓库创建对应文件夹juni,
这样会导致下次下载jar包失败
解决方法:去本地仓库删除groupId对应的文件夹,重新拉取jar包
2、在maven工程里怎么读取配置文件
在maven工程中配置文件默认放在recourses目录下
src\main\java里的代码运行时用到的配置文件放在src\main\resources目录下
src\test\java里的代码运行时用到的配置文件放在src\test\resources目录下
想要加载里面的配置文件有以下两个方法
准备工作:在 src/main/resources目录下添加一个配置文件11.properties
方式一:
可以通过类加载器去获取配置文件的绝对路径,再用new FileInputStream("绝对路径");获取配置文件输入流
类加载器会去字节码文件所在位置,寻找.class文件
例如上图中的Hello类,它有自己的类加载器
//获得Hello的类加载器
ClassLoader classLoader = Hello.class.getClassLoader();
//类加载器会去对应resources目录下获取11.properties的绝对路径
URL resource = classLoader.getResource("11.properties");
System.out.println(resource);
//把URL类型转换成绝对路径
String path = resource.getPath();
System.out.println(path);
FileInputStream fileInputStream = new FileInputStream(path);
打印结果
方式二
//把上面步骤简化
InputStream inputStream = Hello.class.getClassLoader().getResourceAsStream("11.properties");
ClassLoader和Class类的getResourceAsStream(String name)方法,能从对应的resources文件夹下获得InputStream对象(如:
src\main\java里的类加载器能获取放在src\main\resources目录下文件的InputStream对象
src\test\java里的类加载器能获取放在src\test\resources目录下InputStream对象
)
--------------------------------------------------下面的没证明,仅作参考------------------------------------------
Class.getResourceAsStream():
例如MyTest类在包com.test.mycode,MyTest.class.getResourceAsStream("name")会com.test.mycode包下查找叫name的资源(不用输后缀名)。如果形参是以’/’开头的,就会从classpath(?src所在位置)的根路径下开始查找
PS:如果一直显示空指针,尝试rebuild
ClassLoader.getResourceAsStream():资源路径不能带'/',直接从classpath的根路径下查找
每个类都有一个ClassLoader,可通过类的字节码对象.getClassLoader()获得
3、在pom.xml快速查找jar包
有一些jar的完整坐标不记得了,可以通过这个方法找到
在pom.xml右键Generate-dependency
选中版本后点击add,可以快速添加依赖