当前页面: 开发资料首页 → Java 专题 → Package and ClassPath
摘要: Package and ClassPath
java version "1.4.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91)
Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode)
d:\mypackage\A.java
package mypackage;
public class A{
public A(){
System.out.println("Create A");
}
}
d:\mypackage\B.java
import mypackage.*;
class B{
B(){
System.out.println("Create B");
}
public static void main(String[] args){
A a=new A();
B b=new B();
}
D:\mypackage>javac A.java 没问题
D:\mypackage>javac B.java
B.java:7: cannot access A
bad class file: .\A.class
class file contains wrong class: mypackage.A
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
A a=new A();
^
1 error
将B.java移至d:\B.java然后运行
D:\>javac B.java
D:\>java B
Create A
Create B
D:\mypackage>java A
Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name: mypack
age/A)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
写全名包名+类名如下:
D:\mypackage>java mypackage.A
Exception in thread "main" java.lang.NoSuchMethodError: main
改写A.java如下,添加main()
package mypackage;
public class A{
public A(){
System.out.println("Create A");
}
public static void main(String[] args){
A a=new A();
}
}
D:\mypackage>java mypackage.A
Create A