用jdk编程时,若使用了package语句,存放java文件的目录都要自己创建吗?
是的。
多个java源文件放在一个包(非默认包即classpath起始目录)时,怎么老是编译出错呀?
如果都是同一个包的类,就不应该出现这中情况。不知具体情况。
是的。
多个java源文件放在一个包(非默认包即classpath起始目录)时,怎么老是编译出错呀?
如果都是同一个包的类,就不应该出现这中情况。不知具体情况。
很奇怪……
同一个包的两文件Pie.java与Cake.java为:
//: Pie.java
package my;
public class Pie {
public void f() { System.out.println("Pie.f()"); }
} ///:~//: Cake.java
package my;
public class Cake {
public static void main(String[] args) {
Pie pie=new Pie();
pie.f();
System.out.println("haha");
}
} ///:~编译时无出错使用java Cake命令时出错信息为:
Exception in thread "main" java.lang.NoClassDefFoundError:<wrong name: my/Cake>
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
java my.Cake