java神秘的类路径行为

时间:2016-02-26 16:05:19

标签: java classpath

我未能指定类路径。这是我的设置:

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

   package hello;
   public class German {
        public void greet() { System.out.println("Hallo"); }
   }

我在“root”中编译:

> javac root/src/hello/German.java -d root/package

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

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

import hello.German;
public class helloTest {
    public static void main(String[] args) {
        German guy = new German();
        guy.greet();
    }
}

我编译

> javac testHello.java -cp ../package

总结一下,我有:

  1. 根/包/你好/ German.class
  2. 根/测试/ helloTest.class
  3. 我执行“root / test /”:

     > java testHello                      => class not found except.
     > java testHello -cp ../package       => class not found except.
     > java testHello -cp ../package/hello => class not found except.
    

    但是,将'hello'目录复制到测试中,以便有

    1. 根/测试/你好/ German.class
    2. 根/测试/ helloTest.class
    3. 可以在“root / test /”

      中执行
       > java testHello
      

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

1 个答案:

答案 0 :(得分:1)

试试这个:

java -classpath .:../package testHello

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