начал изучать rmi. Создал проект в нём package Server и там файл
LoginControlImpl. Работаю на эклипсе. Когда делаю save в эклипсе создаётся файл class. Но при запуске
c:\Documents and Settings\mike\workspace\Poker\Server>rmic LoginControlImpl
получаю
c:\Documents and Settings\mike\workspace\Poker\Server>rmic LoginControlImpl
error: File .\LoginControlImpl.class does not contain type LoginControlImpl as e
xpected, but type Server.LoginControlImpl. Please remove the file, or make sure
it appears in the correct subdirectory of the class path.
error: Class LoginControlImpl not found.
2 errors
при чём при попытке прописать
c:\Documents and Settings\mike\workspace\Poker\Server>javac LoginControlImpl
получаю
javac: invalid flag: LoginControlImpl
Usage: javac <options> <source files>
в чём дело то, ведь эклипс его
да скомпилировал?
проблема с rmi
Модератор: Absurd
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
michael, немного сложно понять саму проблему,
но судя по ответам Java, можно сказать следующее.
Poker - это проэкт, я правильно понимаю?
для того, чтобы "добраться" до класса, который находится в пакете, нужно написать: пакет.класс
Пример:
находясь в директории на один выше, чем test, нужно писать:
Правда не понимаю, при чём тут rmi, rmic и eclipse
Кроме того,
если это bin, так нужно (в твоём случае) писать:
c:\Documents and Settings\mike\workspace\Poker\bin\>rmic Server.LoginControlImpl
(кажется, это не по правилам, называть пакеты с большой буквы..)
Что такое rmic я не знаю. Предполагаю, что "с" - может быть для компилятора,
тогда такой вопрос: зачем писать всё это где-то, если eclipse, на то он и IDE, может сам компилировать?!..
но судя по ответам Java, можно сказать следующее.
Poker - это проэкт, я правильно понимаю?
для того, чтобы "добраться" до класса, который находится в пакете, нужно написать: пакет.класс
Пример:
Код: Выделить всё
package test;
public class Test {
public static void main(String[] argv) {
System.out.println("Hello world");
}
}
Код: Выделить всё
javac test\Test.java
java test.Test
Кроме того,
Вопрос ещё в том, какая директория установлена в проэкте для компилирования,michael писал(а):в чём дело то, ведь эклипс его
да скомпилировал?
если это bin, так нужно (в твоём случае) писать:
c:\Documents and Settings\mike\workspace\Poker\bin\>rmic Server.LoginControlImpl
(кажется, это не по правилам, называть пакеты с большой буквы..)
Что такое rmic я не знаю. Предполагаю, что "с" - может быть для компилятора,
тогда такой вопрос: зачем писать всё это где-то, если eclipse, на то он и IDE, может сам компилировать?!..
-
- Сообщения: 116
- Зарегистрирован: 15 июл 2004, 13:06
- Откуда: ISRAEL (ранее - из Литвы)
- Контактная информация:
привожу код класса
пробовал c:\Documents and Settings\mike\workspace\Poker\Server>javac Server.LoginControlI
mpl таже ошибка.
Проект не компилируется в bin.
В еclipse когда делаеш save автоматически происходит компиляция (и она проходит-ведь LoginControlImpl.class создался), но для того что бы создать stub и skeleton нужно делать rmic, а его еclipse не поддерживает и приходится запускать через command prompt и он то и не проходит
Код: Выделить всё
package Server;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import Util.Connectivity;
import Util.User;
import GUI.*;
public class LoginControlImpl extends UnicastRemoteObject implements LoginControl
{
Connectivity connect; //connect object
public LoginControlImpl() throws RemoteException,Exception
{
connect = new Connectivity("jdbc:odbc:Poker");
}
//add user
public synchronized boolean addUser(User user) throws RemoteException, Exception
{
return connect.addUser(user);
}
}
mpl таже ошибка.
Проект не компилируется в bin.
В еclipse когда делаеш save автоматически происходит компиляция (и она проходит-ведь LoginControlImpl.class создался), но для того что бы создать stub и skeleton нужно делать rmic, а его еclipse не поддерживает и приходится запускать через command prompt и он то и не проходит
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Неправильно пробовал.michael писал(а):пробовал c:\Documents and Settings\mike\workspace\Poker\Server>javac Server.LoginControlI
mpl таже ошибка.
Компилировать нужно, находясь на один уровень выше, чем первый пакет.
В твоём случае:
c:\Documents and Settings\mike\workspace\Poker>javac Server.LoginControlImpl
А ещё может заинтересует: RMI Plugin for Eclipse