62,614
社区成员
发帖
与我相关
我的任务
分享
package test;
public class A {}
package test;
public class Main {
public static void println(Class clazz) {
System.out.println("=====" + clazz.getName() + "=====");
try {
System.out.println("1 " + clazz.getResource(""));
} catch (Exception e) {
System.out.println("1 error " + e.getMessage());
}
try {
System.out.println("2 " + clazz.getResource("/"));
} catch (Exception e) {
System.out.println("2 error " + e.getMessage());
}
try {
System.out.println("3 " + clazz.getClassLoader().getResource(""));
} catch (Exception e) {
System.out.println("3 error " + e.getMessage());
}
System.out.println("4 " + clazz.getResource("test.txt"));
}
public static void main(String[] args) {
println(Main.class);
try {
println(Class.forName("test.A"));
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFound " + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
try {
println(Class.forName("oracle.jdbc.driver.OracleDriver"));
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFound" + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
=====Test.Main=====
1 file:/G:/alking/test/build/classes/Test/
2 file:/G:/alking/test/build/classes/
3 file:/G:/alking/test/build/classes/
4 null
=====Test.A=====
1 file:/G:/alking/test/build/classes/Test/
2 file:/G:/alking/test/build/classes/
3 file:/G:/alking/test/build/classes/
4 null
ClassNotFoundoracle.jdbc.driver.OracleDriver
java -jar cl2.jar调用**************************************************
Failed to load Main-Class manifest attribute from
cl2.jar
将cl2.jar添加到CLASSPATH中
java csdn.clazz.cl2.Main调用**************************************************
=====wxxr.csdn.clazz.cl2.Main=====
1 jar:file:/G:/clazz/cl2.jar!/wxxr/csdn/clazz/cl2/
2 file:/G:/clazz/
3 file:/G:/clazz/
4 null
=====wxxr.csdn.clazz.cl1.A=====
1 jar:file:/G:/clazz/cl1.jar!/wxxr/csdn/clazz/cl1/
2 file:/G:/clazz/
3 file:/G:/clazz/
4 jar:file:/G:/clazz/cl1.jar!/wxxr/csdn/clazz/cl1/test.txt
=====org.gjt.mm.mysql.Driver=====
1 jar:file:/G:/clazz/mysql-connector-java-3.1.13-bin.jar!/org/gjt/mm/mysql/
2 file:/G:/clazz/
3 file:/G:/clazz/
4 null
G:\clazz>pause
=====Test.Main=====
1 file:/G:/alking/test/build/classes/Test/
2 file:/G:/alking/test/build/classes/
3 file:/G:/alking/test/build/classes/
4 null
Exception in thread "main" java.lang.NoClassDefFoundError: test/A (wrong name: Test/A)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Test.Main.main(Main.java:40)
Java Result: 1