Как запустить файл .class, который находится в другом каталоге - PullRequest
0 голосов
/ 07 октября 2010

Мой вопрос заключается в том, как запустить Java-файл .class в каталоге, используя exec () или класс ProcessBuilder.Это работает, только если файл .class находится в том же каталоге (что и программа java).

Ответы [ 2 ]

0 голосов
/ 07 октября 2010

Проблема решена, ребята, спасибо за ваши ответы ...:)

Решение, которое я использовал

String path = "D: \ work"; // Путь к моей программе для выполнения

String program = "Test"; // Имя моей программы

ProcessBuilder pb = new ProcessBuilder ("java", "- classpath", путь, программа);

0 голосов
/ 07 октября 2010

Вы хотите создать совершенно новый процесс? Тогда вы должны использовать

Runtime.getRuntime().exec(new String[] {"java","-cp","/path/to/classes/dir/","com.foo.MyClass"});

Если вы хотите что-то в том же процессе, вы можете создать новый ClassLoader, который знает, как загрузить ваш .class файл. Затем вы можете использовать отражение, чтобы получить объект класса из загрузчика классов, и вызвать его «основной» метод или что-то в этом роде. Вам нужно будет использовать отражение, потому что класс не будет доступен в загрузчике классов по умолчанию.

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