getResource

URL u1 = MyBatisCodeGenerator.class.getResource("/");//a
System.out.println("u1:" + u1);
URL u11 = MyBatisCodeGenerator.class.getResource("");//b
System.out.println("u11:" + u11);
URL u2= MyBatisCodeGenerator.class.getClassLoader().getResource("");//c
System.out.println("u2:" + u2);
URL u22= MyBatisCodeGenerator.class.getClassLoader().getResource("/");//d
System.out.println("u22:" + u22);

output:

u1:file:/D:/programs/openshift/sp/target/classes/
u11:file:/D:/programs/openshift/sp/target/classes/com/dev/gen/
u2:file:/D:/programs/openshift/sp/target/classes/
u22:null

class.getResource("/")和class.getClassLoader().getResource("")效果一致,返回最上层的路径

class.getResource(""):返回当前类所在包路径

class.getClassLoader().getResource("");//返回null