Java 将类路径设置为txt文件中的字符串

Java 将类路径设置为txt文件中的字符串,java,cmd,junit4,Java,Cmd,Junit4,我试图通过Java应用程序的命令行运行JUnit测试程序。在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,我给出了很长的类路径,这种方

我试图通过Java应用程序的命令行运行JUnit测试程序。在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中,并在命令中将其作为类路径。 任何帮助都将不胜感激。
TIA

您可以通过将文本文件的内容存储到变量中,然后将其用作类路径来实现这一点。如果您使用例如bash,您可以简单地在一行程序中完成:

java -cp $(cat cp.txt) org.junit.runner.JUnitCore Testing
如果您的文本文件包含换行符,您甚至可以简单地将其替换为
如下所示:

java -cp $(cat cp.txt | tr '\n' ';') org.junit.runner.JUnitCore Testing

我很确定你也可以在Windows上这样做,但是语法可能有点不同。这应该对您有所帮助。

只需将classpath置于命令中即可。无法处理文件。只需将类路径放入JAR文件中,并像最初那样使用
java-JAR
。@EJP将类路径放入JAR文件意味着什么,请详细说明一下好吗?@harry你听说过清单文件吗?@Antoniosss是的,我听说过。你想让我在其中添加一个条目吗?即使对于一个变量,也有一个限制,因此无法在变量中存储整个类路径。