我试图通过Java应用程序的命令行运行JUnit Test程序。在java文件中,我使用以下命令,
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar map.jar time.rel test.txt debug");
在 exec 函数中,我添加以下命令来运行Junit,
java -cp cp.txt org.junit.runner.JUnitCore Testing
代替cp.txt,我给了很长的类路径,这种方法会引发以下错误,
Cannot run program "java": CreateProcess error=206, The filename or extension is too long
所以我想将字符串放在cp.txt中并在命令中将其作为classpath提供。 任何帮助将不胜感激。 TIA
答案 0 :(得分:0)
您可以通过将文本文件的内容存储到变量中然后将其用作类路径来实现此目的。如果您使用例如bash你可以简单地在一行中做到这一点:
java -cp $(cat cp.txt) org.junit.runner.JUnitCore Testing
如果您的文字文件包含换行符,您甚至可以简单地将其替换为;
,如下所示:
java -cp $(cat cp.txt | tr '\n' ';') org.junit.runner.JUnitCore Testing
我非常确定你也可以在Windows上执行此操作,但语法可能略有不同。这个post可以帮助你。