在.....\testPackage
文件夹中,我有一个文件Test.java
:
package testPackage;
public class Test {}
和另一个文件OtherTest.java
:
package testPackage;
public class OtherTest extends Test {}
第二个文件无法编译,因为找不到类Test
。我做错了什么?
编辑:
path\testPackage>javac Test.java
path\testPackage>java Test
Error: Could not find or load main class Test
path\testPackage>javac OtherTest.java
OtherTest.java:2: error: cannot find symbol
public class OtherTest extends Test {}
^
symbol: class Test
1 error
奇怪的是,当我在TextPad中运行Error: Could not find or load main class Test
时我没有得到Test
(我知道,这是多么原始),但我确实得到OtherTest
的编译错误。 / p>
编辑2:主要问题已经解决,但是如果有其他人想知道,java Test
不起作用的原因是因为它应该是java testPackage.Test
,并且在{的父文件夹中{1}}。
答案 0 :(得分:1)
您的问题是由于包装造成的。您从javac
目录运行testPackage
,因此您的类路径实际上应位于以下目录中。以下是您可以编译的两种方法(假设您已编译Test.java
):
path\testPackage>javac -classpath ".." OtherTest.java
path>javac testPackage\OtherTest.java
有关详细信息,请参阅这篇关于类路径的好文章:http://kevinboone.net/classpath.html