我是从终端运行java的新手,我正在尝试在终端中运行JUnit测试类。我的java类的基本结构是
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
然而,当我运行它时,我总是在线程" main"中得到一个"异常。 java.lang.NoClassDefFoundError"最后一行的错误。如果我注释掉最后一行,则没有错误。因此,似乎无法找到QueueTests.class。但是,查看该文件夹,在运行脚本后很明显Queue.class和QueueTests.class都在那里。我不确定我做错了什么。真的很感激任何帮助。
答案 0 :(得分: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
答案 1 :(得分:0)
如果你试图在java中学习和试验这样的新东西,而不必加载一个完整/重的IDE,同时不必运行冗长的终端命令,我建议你使用像{{3这样的轻量级Java IDE }}
PS:我假设你是从终端运行,只是为了避免IDE的执行麻烦,以及更快地运行这样的小任务。