ошибка при запуске проекта RMI - PullRequest
0 голосов
/ 07 декабря 2011

что мне делать, когда у меня появляется эта ошибка:

java.rmi.UnmarshalException: ошибка, демарширующая аргументы ошибки; Вложенное исключение: java.lang.ClassNotFoundException

Я добавил путь к корзине в JDK в свойствах "МОЙ компьютер": этот "C: \ Program Files \ Java \ jdk1.6.0_19 \ bin"

и я вошел в run-cmd-

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\src\countrmi 
start rmiregistry

и я запускаю сервер, поэтому появляется эта ошибка

java.rmi.UnmarshalException: ошибка демарширует аргументы; Вложенное исключение: java.lang.ClassNotFoundException

Спасибо тебе

Ответы [ 2 ]

0 голосов
/ 16 августа 2012

Время прошло, но, может быть, это кому-то поможет.Когда вы помещаете

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\src\countrmi 

, вы задаете путь к исходным файлам, но вам нужно установить его для файлов классов, таким образом

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\build\classes

и запускать rmiregistryконечно

по крайней мере, у меня все работало нормально.

0 голосов
/ 09 декабря 2011

Рассмотрим проект Cajo .Это оборачивает RMI, так что вам не нужно беспокоиться о запуске реестров RMI и тому подобное.См. Пример ниже с одной из страниц ваджо Cajo

Duck.java

public interface Duck {
   boolean looks();
   boolean walks();
   boolean talks();
}

DuckServer.java

import gnu.cajo.invoke.Remote;
import gnu.cajo.utils.ItemServer;

public class DuckServer implements Duck {
   public boolean looks()  {
      System.out.println("hi there!");
      return true;
   }
   public boolean walks()  {
      System.out.println("waddle waddle");
      return true;
   }
   public boolean talks() {
      System.out.println("quack quack!");
      return true;
   }
   public static void main(String args[]) throws Exception { // simple unit test
      Remote.config(null, 1198, null, 0); // use cajo port 1198
      ItemServer.bind(new DuckServer(), "Donald");
      System.out.println("duck server running");
   }
}

DuckClient.java

import gnu.cajo.utils.extra.TransparentItemProxy;

public class DuckClient { // try out DuckServer
   public static void main(String args[]) throws Exception {
      Duck duck = (Duck)TransparentItemProxy.getItem(
         "//serverHost:1198/Donald",
         new Class[] { Duck.class }
      );
      System.out.println("looks like = " + duck.looks());
      System.out.println("walks like = " + duck.walks());
      System.out.println("talks like = " + duck.talks());
   }
}
...