2012-10-09 55 views
1

我已經在我的主文件夾中的java_src/classes中構建了自己的自定義AWT類。包類不存在錯誤

每個java文件都包含頂部的package classes;聲明。

我還創建了一個名爲ScreenDemo.java的示例程序,並將其放在java_src /文件夾中以使用自定義AWT類而不是java.awt

//ScreenDemo.java 
import classes.Screen; 
class ScreenDemo 
{ 
    public static void main(String args[]) 
    { 
     Screen.init(20,15,3); 
    } 
} 

但是,當我試圖編譯ScreenDemo.java,則顯示錯誤

java_src/ScreenDemo.java:1: package classes does not exist 
import classes.Screen; 
     ^
java_src/ScreenDemo.java:6: cannot find symbol 
symbol : variable Screen 
location: class ScreenDemo 
     Screen.init(20,15,3); 
     ^
2 errors 

當我加入我遇到這個錯誤

Exception in thread "main" java.lang.NoClassDefFoundError: ScreenSample (wrong name:     classes/ScreenSample) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334) 
Could not find the main class: ScreenSample. Program will exit. 
+0

我怎樣才能糾正這種??? – Gambler

+1

將路徑添加到'java_src \',其中包文件夾存在於您的類路徑中。 –

+1

您正在使用什麼編譯命令(即'javac'命令)? – MadProgrammer

回答

0

雖然編譯代碼編譯器的路徑正在抱怨我缺少的類Screen.java,我認爲它是在「類」包內。

要麼需要將src \ classes \添加到src文件夾列表中,要麼將Screen.java移動到與ScreenDemo.java相同的位置,然後再次嘗試編譯。

+0

如何將src \ classes添加到src文件夾列表中? – Gambler

+0

如果你使用的是命令行,那麼看看這個http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html#commandlineargfile – Vivek

1

您可以使用以下命令進行編譯。

javac -cp your-ScreenclassFile-dir your-source-dir/ScreenDemo.java 

併爲運行程序:

java -cp your-ScreenclassFile-dir your-classFile-dir/ScreenDemo 

有關詳情,請此鏈接PATH and CLASSPATH

+0

哪個目錄我必須運行這個命令 – Gambler

+0

它的不限於從特定目錄運行。我更新了ans,請檢查它。 –

+0

正如你所建議的我.......代碼編譯完美.........但是當運行程序時,我得到了上述錯誤 – Gambler