在 Windows powershell 上编译和运行 Java 文件时导入我自己的类

Importing my own classes when compiling and running Java file on Windows powershell

我正在开发一个 Java 项目,其中有一个目录 Project,它有两个子目录(GUILogic

相关classes:

主要的 class 在 GUI 包中,它导入了一个在 'Logic' 包中的文件。

在尝试以下命令并运行文件时,我遇到了“NoClassDefFoundError”。

javac -sourcepath [path to Project] [file containing the import] 

如果我理解你的目录结构是这样的

.\source
.\source\GUI
.\source\GUI\frame.java
.\source\Logic
.\source\Logic\logic.java

那么这将不起作用,因为目录名称应该像包名称一样命名。将结构和 class 名称更改为

.\source\gui
.\source\gui\Frame.java
.\source\logic
.\source\logic\Logic.java

假设文件中的导入语句和 class 名称已正确修改,您可以使用

编译它
javac -sourcepath source source\gui\Frame.java

终于可以编译了。所有目录和包名称都是正确的,我需要做的是从我的根目录使用以下命令:

javac src/gui/*.java    

然后,运行:

 java -cp ./src gui.Gui

感谢那些试图提供帮助的人!