Java CLASSPATH 是一个困扰了我很久的问题(虽然很简单,但每次需要使用的时候总是记不起来,主要是对IDE太依赖了),今天花了点时间再搞明白了一起。为了免得下次再去查,这里简单总结一下。
假设,我们现在需要用JUnit 对一个test case ShowFileStatusTest进行测试。目录结构如下:
$ls
junit4.8.2 filestatus.jar
$ls junit4.8.2
junit-4.8.2.jar
其中ShowFileStatusTest在filestatus.jar中,org.myorg.ShowStatusTest。而我们用来跑测试的JUnitCore在junit4.8.2/junit-4.8.2.jar中,org.junit.runner.JUnitCore。一般来说我们有两种方式将上述的filestatus.jar和junit-4.8.2.jar加到Java CLASSPATH中。
第一种是显示得设置环境变量:
$export CLASSPATH=junit4.8.2/junit-4.8.2.jar:filestatus.jar
$java org.junit.runner.JUnitCore org.myorg.ShowFileStatusTest
第二种是利用java的-cp选项来设置:
$java -cp junit4.8.2/junit-4.8.2.jar:filestatus.jar org.junit.runner.JUnitCore org.myorg.ShowFileStatusTest