【发布时间】:2019-04-11 12:44:53
【问题描述】:
我有两个问题:
为什么javac -cp 不需要.?
$ javac -cp /home/t/programs/java/test/junit-4.11.jar TestCase.java
为什么java -cp 需要.?
$ java -cp /home/t/programs/java/test/junit-4.11.jar:/home/t/programs/java/test/hamcrest-core-1.3.jar org.junit.runner.JUnitCore TestCase
JUnit version 4.11
Could not find class: TestCase
Time: 0.002
OK (0 tests)
$ java -cp .:/home/t/programs/java/test/junit-4.11.jar:/home/t/programs/java/test/hamcrest-core-1.3.jar org.junit.runner.JUnitCore TestCase
JUnit version 4.11
.running TestCase test1
.running TestCase test2
Time: 0.023
OK (2 tests)
TestCase.java:
import static org.junit.Assert.*;
import org.junit.Test;
// define a test case class, whose instances represent test cases
public class TestCase {
@Test
public void test1() {
System.out.println("running TestCase test1");
assertTrue(true);
}
@Test
public void test2() {
System.out.println("running TestCase test2");
assertTrue(true);
}
}
【问题讨论】:
-
这是一个真正的答案的百分之零,但是:Java 1 是一项紧急工作,他们弄错了一些东西。如果这种不一致只是他们没有注意到的事情,或者不是高优先级的修复,我不会感到惊讶。然后一旦它出来,他们就不想改变它。
-
@yshavit 不,完全一致,只是原因没有得到很好的解释。或者根本没有。