java类路径行为

java类路径行为,java,classpath,Java,Classpath,指定类路径失败。以下是我的设置: 文件:“root/src/hello/derman.java” 我在“根目录”中编译: 其中“root/package/hello”作为空目录存在。好的现在我想测试和编写 文件:“root/test/testHello.java” 我编译 > javac testHello.java -cp ../package 总而言之,我有: root/package/hello/German.class root/test/helloTest.class 我在“r

指定类路径失败。以下是我的设置:

文件:“root/src/hello/derman.java”

我在“根目录”中编译:

其中“root/package/hello”作为空目录存在。好的现在我想测试和编写

文件:“root/test/testHello.java”

我编译

> javac testHello.java -cp ../package
总而言之,我有:

  • root/package/hello/German.class
  • root/test/helloTest.class
  • 我在“root/test/”中执行:

    但是,将“hello”目录复制到测试中

  • root/test/hello/German.class
  • root/test/helloTest.class
  • I可以在“root/test/”中执行

    它用德语友好地打招呼。不过,我想指定类路径。但是,我不知道为什么不接受'-cp'和'-classpath'。

    试试这个:

    java -classpath .:../package testHello
    

    :../package
    使用当前目录和
    。/package
    作为类路径。

    类路径(cp)指令必须放在主类名之前
    java-cp../package testHello
    ,否则它们将被视为主类的参数,而不是java选项。“java-cp../package/testHello”抱怨它无法加载主类“testHello”。
    import hello.German;
    public class helloTest {
        public static void main(String[] args) {
            German guy = new German();
            guy.greet();
        }
    }
    
    > javac testHello.java -cp ../package
    
     > java testHello                      => class not found except.
     > java testHello -cp ../package       => class not found except.
     > java testHello -cp ../package/hello => class not found except.
    
     > java testHello
    
    java -classpath .:../package testHello