【发布时间】:2016-04-05 18:18:51
【问题描述】:
我一直在从事的 Java 项目具有以下文件结构:
类/X/Y/Z/
在 X/ Y/ 和 Z/ 里面是我的 .java 文件,用于项目的不同部分。它们分别包装在一起。当我一起编译所有内容时,我使用以下命令将所有 .class 文件发送到 classes/ 目录:
javac -cp classes/jsoup-1.8.3.jar -d ./classes/ X/*.java Y/*.java Z/*.java
这编译得很好(在此之前我已将 JSoup JAR 文件放在 classes 目录中)。在 Z/ 中,有一个 Main.java,其中有一个适当声明的 public static void main(String[] args)。该文件与所有其他文件一起被编译,并且它们的 .class 文件都被发送到 /classes 目录。
现在,当我尝试在 classes/X/ 目录中使用 java Main 运行 Main.class 时,我收到以下错误:
Error: Could not find or load main class Main
所以我想我会尝试弄乱类路径。我去了两个目录并尝试了这个:
java -cp jsoup-1.8.3.jar;./X/;./Y/;./Z/ Z/Main
然后我得到的只是关于如何使用 java 的说明,然后是
bash: ./X/: Is a directory
bash: ./Y/: Is a directory
bash: ./Z/: Is a directory
附言我在 Windows 中使用 Git Bash,这就是为什么我得到 bash 错误而不是 cmd 或 powershell 错误的原因。我也尝试过使用冒号而不是分号作为分隔符,但除非我做错了什么else,否则这也不起作用。
【问题讨论】:
标签: java classpath packages javac