CoreJava第十章
在cmd中通过javac SimpleFrameTest.java和java SimpleFrameTest时出现问题:
找不到或无法加载主类。
原因并不在classpath的配置上,而是源码的目录不对。
CoreJava:
运行javac命令时对目录要求不高,可以在其他地方编译,将产生的.class文件粘贴在BASE/simpleFrame下,并在BASE这层文件夹下运行java simple.SimpleFrameTest
但是最好按上面说的,place source files into a subdirectiory that matches the full package name。
参考:http://blog.csdn.net/changtianshuiyue/article/details/6200791
在Eclipse中,项目同名主类直接放在src目录下,其他package必须每一个.java文件的主类与其文件名一致,并且package name与文件夹一致。
如下图:
SimpleFrameTest.java:
Ex05.java
package simpleFrame; import java.awt.*; import javax.swing.*; /** * @version 1.33 2015-05-12 * @author Cay Horstmann */ public class SimpleFrameTest { public static void main(String[] args) { EventQueue.invokeLater(() -> { SimpleFrame frame = new SimpleFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }); } } class SimpleFrame extends JFrame { private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 200; public SimpleFrame() { setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); } }