Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > jar-файл и путь с пробелами.


Автор: kashka 9.3.2006, 15:29
Проблемма такая:
Надо из одной java программы вызвать jar-архив, и не дожно быть никаких ограничений на путь (т.е такое возможно C:\Programm Files\my.jar).
Вызываю я так
Код

Process p = Runtime.getRuntime().exec("javaw -jar \"D:\\Projects\\Alware\\jars\\Leer Zeichen\\vis.jar\"");


Вызываться то он вызывается, но... Относительные пути в jar-е не работают т.е. он не находит например свою
lib папку.

Может кто нибудь с такой проблеммой уже сталкивался.

Автор: Beard 9.3.2006, 18:02
Если эту команду исполнить в командной строке, то все работает?

А попробуй так:
Код

        String[] arguments = new String[] {"javaw", "-jar", "vis.jar"};
        Process process = Runtime.getRuntime().exec(arguments, new String[0], new File("D:\\Projects\\Alware\\jars\\Leer Zeichen\\"));

Автор: kashka 13.3.2006, 16:44
Большое спасибо!
Так действительно все работает. smile

Автор: kashka 14.3.2006, 15:07
У меня еще один вопрос:
а если мне нужно чтобы мой jar уже вместе с файлом открывался т.е.

"javaw -jar \"D:\\Projects\\Alware\\jars\\Leer Zeichen\\vis.jar D:\models\model.xml

Автор: Beard 14.3.2006, 15:09
В смысле - передать аргументы main методу в jare?

Автор: Beard 14.3.2006, 15:32
Вобщем, если я правильно вас понял, то надо так же делать:
Код

String[] arguments = new String[] {"javaw", "-jar", "vis.jar", "D:\\models\\model.xml"};
Process process = Runtime.getRuntime().exec(arguments, new String[0], new File("D:\\Projects\\Alware\\jars\\Leer Zeichen\\"));

Автор: kashka 14.3.2006, 15:36
так почемуто не получается smile
Добавлено @ 15:44
Нет все получается, ето я балбеска.
Спасибо большое.

Автор: Beard 14.3.2006, 15:45
А в командной строке все работает?
можно еще попробовать добавить кавычки:
String[] arguments = new String[] {"javaw", "-jar", "vis.jar", "\"D:\\models\\model.xml\""}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)