我创建了一个简单的java项目"DesignPatterns“。我创建了一个路径为FacadePattern.java的文件~/DesignPatterns/Structural/FacadePattern/FacadePattern.java
我的FacadePattern.java
课,
public class FacadePattern {
public static void main(String args[]) {
// Some code
}
}
但是我的编辑器(VSCode)在文件开始时给了我一个错误:The declared package "" does not match the expected package "Structural.DecoratorPattern"
因此,在单击快速修复时,它在第一行中添加了package Structural.FacadePattern;
。
所以最后的代码变成
package Structural.FacadePattern;
public class FacadePattern {
public static void main(String args[]) {
// Some code
}
}
但是当我使用命令编译上面的文件时
javac FacadePattern.java && java FacadePattern
它给了我以下错误:
Error: Could not find or load main class FacadePattern
Caused by: java.lang.NoClassDefFoundError: Structural/FacadePattern/FacadePattern (wrong name: FacadePattern)
在网上搜索了很多之后,我运行了以下命令:
javac -sourcefile ~/DesignPatterns FacadePattern.java && java FacadePattern
但没用,我也犯了同样的错误。
有人能解释为什么我的编辑器给出了一个错误,但代码以前成功运行吗?为什么在添加"package Structural.FacadePattern;“行后不进行编译?javac命令中的-sourcefile参数是什么?以及如何在编辑器和终端中成功地运行代码而没有错误?
发布于 2022-04-05 16:58:51
package structural.facadepattern;
java Structural.FacadePattern.FacadePattern
或java structural.facadepattern.FacadePattern
。https://stackoverflow.com/questions/71755561
复制相似问题