Я понятия не имею, почему это связано с ошибкой во время выполнения, я столкнулся с проблемой, и он говорит, что класс, который был доступен во время компиляции, больше не доступен во время выполнения.java.lang.NoClassDefFoundError
Это код:
package examples.RMIShape;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
//import java.rmi.server.UnicastRemoteObject;
public class ShapeListServer {
public static void main(String args[]){
// System.setSecurityManager(new RMISecurityManager());
System.out.println("Main OK");
try{
ShapeList aShapelist = new ShapeListServant();
System.out.println("After create");
String registryURL = "rmi://localhost:" + "/ShapeList";
startRegistry();
Naming.rebind(registryURL, aShapelist);
System.out.println("ShapeList server ready");
}catch(Exception e) {
System.out.println("ShapeList server main " + e.getMessage());
}
}
// This method starts a RMI registry on the local host, if it
// does not already exists at the specified port number.
private static void startRegistry()throws RemoteException{
Registry registry;
try {
registry = LocateRegistry.getRegistry();
registry.list(); // This call will throw an exception
// if the registry does not already exist
}
catch (RemoteException e) {
// No valid registry at that port.
System.out.println ("RMI registry cannot be located at port " + Registry.REGISTRY_PORT);
registry = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
System.out.println("RMI registry created at port " + Registry.REGISTRY_PORT);
}
} // end startRegistry
}
Google говорит об этом правильно, просто найдите ответы на эти вопросы, и вы должны быть хорошими. Для какого класса вы получаете эту ошибку? В каком банке этот класс присутствует? Наконец, это банка в вашем классе? –
Пожалуйста, опубликуйте полное сообщение об ошибке, включая трассировку стека; он также сообщает вам, какой класс отсутствует. Вы должны убедиться, что класс находится в пути к классам при запуске программы. – Jesper