我不熟悉从终端运行java,目前正在尝试在终端中运行JUnit测试类。我的java类的基本结构是
JavaProject
Queue.java
QueueTests.java
junit.jar
RunTests
RunTest是一个带有以下代码的脚本。
#!/bin/sh
javac Queue.java
CLASSPATH=".:junit.jar:"; export CLASSPATH
javac QueueTests.java
java org.junit.runner.JUnitCore QueueTests
然而,当我运行这个时,我总是从最后一行得到一个“线程中的异常”main“java. lang.NoClassDefFoundError”错误。如果我注释掉最后一行,就没有错误。因此,它似乎无法找到QueueTest.class。然而,查看文件夹,在我运行脚本后很明显,QueueTest.class和QueueTest.class都在那里。我不确定我做错了什么。任何帮助都将不胜感激。
在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
另请参阅以下问题:如何从命令行运行JUnit测试用例
如果您尝试在java中学习和尝试新事物,而无需加载完整/繁重的IDE,同时无需运行冗长的终端命令,我建议您使用像Java博士这样的轻量级javaIDE。
PS:我假设你从终端运行只是为了避免IDE更快地执行和运行这样的小任务的麻烦。