2014-10-17 113 views
1

我是新來的從終端運行java,我目前正試圖在終端中運行JUnit測試類。我的java類的基本結構是在終端運行JUnit測試

JavaProject 
    Queue.java 
    QueueTests.java 
    junit.jar 
    RunTests 

RunTests是一個具有以下代碼的腳本。

#!/bin/sh 
javac Queue.java 
CLASSPATH=".:junit.jar:"; export CLASSPATH 
javac QueueTests.java 
java org.junit.runner.JUnitCore QueueTests 

然而,當我運行它,我總是得到最後一行是「在線程異常‘主要’java.lang.NoClassDefFoundError」的錯誤。如果我註釋掉最後一行,那就沒有錯誤了。因此,它似乎無法找到QueueTests.class。然而,看着這個文件夾,在我運行腳本之後,很明顯Queue.class和QueueTests.class都在那裏。我不確定我做錯了什麼。任何幫助真的會被讚賞。

+0

可能的複製HTTP ://stackoverflow.com/q/2235276/1161025。 – maciek 2016-03-07 22:57:05

回答

0

JavaProject文件夾,執行以下命令:

java -cp .:./junit.jar org.junit.runner.JUnitCore QueueTests 

適應你的腳本,這將是

#!/bin/sh 
javac Queue.java QueueTests.java 
CLASSPATH=".:junit.jar:" 
java -cp $CLASSPATH org.junit.runner.JUnitCore QueueTests 

參見以下問題:的How to run JUnit test cases from the command line

+2

當我這樣做時,我得到了完全相同的問題。線程「main」java.lang.NoClassDefFoundError中的異常 – user3684980 2014-10-17 05:28:41