Установка classpath для строки, которая находится в текстовом файле - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь запустить программу JUnit Test через командную строку из приложения Java.В 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

1 Ответ

0 голосов
/ 30 мая 2018

Этого можно добиться, просто сохранив содержимое вашего текстового файла в переменной, а затем используйте его как путь к классу.Если вы используете, например, bash, вы можете просто сделать это в одной строке:

java -cp $(cat cp.txt) org.junit.runner.JUnitCore Testing

Если ваш текстовый файл содержит новую строку, вы можете даже просто заменить их на ;, например:

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

Я почти уверен, что вы можете сделать это и в Windows, но там синтаксис, вероятно, немного другой.Это сообщение должно помочь вам там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...