我有以下目录,我们称之为program/
,包含以下内容:
Circle.java
Point.java
Shape.java
Triangle.java
Main.java
Geometry/`
所有.java文件都是同一个geometry
包的一部分,因此我使用此命令将它们编译在一起:
javac -d Geometry/ Main.java Triangle.java Shape.java Point.java
这会将上述每个文件的.class
文件放入目录program/Geometry/geometry
。它还将这些相同的文件放入/ program目录,所以我想我的第一个问题是为什么它会将这些.class
文件放在这两个位置?如果它们被.java
包目录中的它们包含在geometry
文件中,似乎没有意义。
无论答案如何,我的主要问题是我似乎无法运行我的程序。在Main.java
内,有一个Main
类,其main()
函数可以发挥其魔力。我在program/
和program/Geometry/geometry
中都运行了以下命令,错误相同,两者都列在下面:
java Main
Error: Could not find or load main class Main
有人可以解释我在这里做错了什么,并回答我的第一个问题吗?感谢您提供任何帮助!
答案 0 :(得分:0)
指定类路径。在您运行上面编译的同一文件夹中,类似
java -cp Geometry Main
答案 1 :(得分:0)
您的Main.java
文件必须包含 main()方法。
这样的事情:
public static void main(String[] args) {
...
}