从一个文件夹开始编译/运行Java



我有以下目录结构:

folder1/
    folder2/
        compiler.java

对于学校作业,我们能够从folder1运行以下命令

javac folder2/compiler.java
java  folder2/compiler

使用javac进行编译是可行的。当我尝试用上面的java命令运行它时,我会得到一个

Exception in thread "main" java.lang.NoClassDefFoundError: folder2/compiler (wrong name: compiler)

您有两个选项。

如果您的类compiler在默认包中,请执行此操作。(无包裹声明)

javac folder2/compiler.java
java -cp folder2/ compiler

否则,如果类compiler在包folder2中,则执行此操作。

javac folder2/compiler.java
java -cp . folder2.compiler

通过在compiler.java 的顶部放置包声明,可以将complier放入folder2包中

package folder2;

尝试

java -cp . folder2.compiler

确保类编译器在folder2包

相关内容

最新更新