0

我有一个包,里面有一些类D:\ProjectGsc\。包根文件夹被调用gsc并包含三个子目录util,即coremodules。它们每个里面都有一些文件,里面core有一个名为gsc.class. res除此之外,文件夹内还有一个文件gsc夹,其中包含一些图像,这些图像由我的包类中的 JFrames 和 JDialogs 使用。我设法编译所有内容-classpath \projectgsc,并且由于代码已经过调试,所有内容都可以顺利编译。但我根本无法运行它。java gsc -classpath \projectgsc我在里面时尝试这样做,D:\ProjetctGsc\gsc\core\但它在线程 main 中给了我异常(main 的语法肯定是正确的)java.lang.NoClassDefFoundError: gsc (wrong name: gsc/core/gsc)。是不是因为我的班级名称gsc在包内gsc.core?

提前致谢!(顺便说一句,我不允许我将问题命名为“运行时的类路径问题”,所以这是我能想到的最好的标题,请随时编辑它)

4

1 回答 1

3

是的,要在包中运行一个名为gsc(它违反 Java 命名约定,顺便说一句)gsc.core的类(ick - 包含类名的包名;令人困惑!)你会写

java -classpath d:\ProjectGsc gsc.core.gsc

但是你必须编译它,以便你有一个目录结构

d:\ProjectGsc
             \gsc
                 \core
                      \gsc.class

如果你使用-djavac 的选项,你会自动得到这个:

javac -d d:\ProjectGsc *.java

(当然,相应地进行调整。)

您可能会发现,如果您是 Java 新手,使用为您处理所有这些的 IDE 会让您的生活更轻松。

于 2012-10-07T07:35:58.793 回答