包类不存在错误

时间:2012-10-09 06:05:19

标签: java awt packages textfield

我在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.

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令进行编译。

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

运行你的程序:

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

有关详细信息,请查看此链接PATH and CLASSPATH

答案 1 :(得分:0)

在编译代码时,编译器正在抱怨缺少的类Screen.java,我认为它位于“classes”包中。

您需要将src \ classes \添加到src文件夹列表中,或将Screen.java移动到与ScreenDemo.java相同的位置,然后再次尝试编译。