помощь для решения проблем в назначении Java RMI - PullRequest
0 голосов
/ 11 февраля 2010

Привет, я хочу написать клиент-серверное приложение с java rmi, чтобы у клиента была возможность запустить оконный медиаплеер на стороне сервера Я использовал класс ProcessBuilder следующим образом:

ProcessBuilder process= new ProcessBuilder(“mwplayer”).start();

но это не работает. Это вызывает следующие исключения:

java.io.IOException: Cannot run program "mwplayer": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(Unknown Source)
    at server.ServerFrame.mediaPlayer(ServerFrame.java:135)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 16 more

Как я могу решить эту проблему? Вы можете помочь мне с этим? Большое спасибо

Ответы [ 3 ]

1 голос
/ 11 февраля 2010

Возможно, попробуйте указать полный путь к mwplayer, а не просто двоичное имя. Я полагаю, что в контексте вашего вызова не установлены переменные окружения.

1 голос
/ 11 февраля 2010

Разве это не называется «wmplayer», когда поменялись местами m и w?

1 голос
/ 11 февраля 2010

Сообщение об ошибке говорит о том, что ProcessBuilder не видит файл с именем mwplayer.

...