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); } }