|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 12
|
|||||||||||||||||||||
Запуск java rmi системы18.04.2017, 01:23. Показов 5949. Ответов 2
Метки нет (Все метки)
Всем привет) Только разбираюсь с rmi и решила запустить простой пример с выводом "Hello World". Но у меня не получается. Опишу все подробно, может кто поможет. Сразу скажу, что сами классы я в пакет не помещала, так легче в консоли потом переходить в папки. Но знаю, что так делать плохо.
Интерфейс:
1. Нужно скомпилировать все классы 2. Запустить реестр Java RMI 3. Запустить Server 4. Запустить Client 1. Начинаем с компиляции. Мой проект лежит на диске D: и называется Hello. Запуская командную строку и перехожу в папку src моего проекта (cd /d d:Hello\src). Перешла, теперь нужно скомпилировать. На сайте oracle приведена следующая команда для этого: javac -d destDir Hello.java Server.java Client.java. Ввожу - ошибка: javac: directory not found: destDir Usage: javac <options> <source files> use -help for a list of possible options Поэтому я компилирую просто вот так: javac *.java. Итог - в папке src появляются файлы с расширением .class. Т.е. все сделано правильно. 2. Нужно запустите реестр Java RMI. В этой же консоли ввожу start rmiregistry. В итоге открывается консоль, в верху которой прописан следующий путь: C:\Program Files\Java\jdk1.8.0_121\bin\rmiregistry. exe. Я так понимаю, что здесь тоже все правильно. Если нет, то исправьте, пожалуйста. 3. Запуск сервера. В новой консоли перехожу в src и ввожу start java -classpath classDir -Djava.rmi.server.codebase=file:classDir/ Server (взято с сайта oracle). Открывается на несколько секунд другая консоль и закрывается. В той консоли, что я ввела команду для запуска сервера ничего не происходит, хотя должно писать Server ready. Пробую еще раз в этой же консоли ввести уже другую команду: просто java Server. Выдает ошибку: Error: Main method not found in class Server, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application Пробую здесь по-другому: start java -classpath classDir Server. Результат такой же, как и при вводе start java -classpath classDir -Djava.rmi.server.codebase=file:classDir/ Server: открывается на несколько секунд другая консоль и закрывается. 4. Запуск клиента. В новой консоли переходу в src проекта и ввожу java -classpath classDir Client. Выводит ошибку: Error: Could not find or load main class Client. Ввожу java Client и тоже ошибка: Error: Main method not found in class Client, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application Почему-то у меня не получается запустить сервер и клиент. Наверное, я делаю какие-нибудь очень глупые ошибки, но я только начала изучать) и хочу разобраться. Кстати, если я меняю код сервера (изменения выделено жирным):
Client exception: java.rmi.NotBoundException: Hello java.rmi.NotBoundException: Hello at sun.rmi.registry.RegistryImpl.lookup(Reg istryImpl.java:209) at sun.rmi.registry.RegistryImpl_Skel.dispa tch(Unknown Source) at sun.rmi.server.UnicastServerRef.oldDispa tch(UnicastServerRef.java:450) at sun.rmi.server.UnicastServerRef.dispatch (UnicastServerRef.java:294) at sun.rmi.transport.Transport$1.run(Transp ort.java:200) at sun.rmi.transport.Transport$1.run(Transp ort.java:197) at java.security.AccessController.doPrivile ged(Native Method) at sun.rmi.transport.Transport.serviceCall( Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handl eMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$Conne ctionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$Conne ctionHandler.lambda$run$0(TCPTransport.j ava:683) at java.security.AccessController.doPrivile ged(Native Method) at sun.rmi.transport.tcp.TCPTransport$Conne ctionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at sun.rmi.transport.StreamRemoteCall.excep tionReceivedFromServer(StreamRemoteCall. java:276) at sun.rmi.transport.StreamRemoteCall.execu teCall(StreamRemoteCall.java:253) at sun.rmi.server.UnicastRef.invoke(Unicast Ref.java:379) at sun.rmi.registry.RegistryImpl_Stub.looku p(Unknown Source) at Client.main(Client.java:13) Естественно, я переходила в папку src каждый раз. Не понимаю, что не так. Может проблема в переменной среды, но я в этом плохо разбираюсь. Может у кого было что-то подобное вначале изучения и Вы мне сможете помочь. Буду очень признательна)
0
|
|||||||||||||||||||||
| 18.04.2017, 01:23 | |
|
Ответы с готовыми решениями:
2
Ошибка в RMI: nested exception is: java.lang.ClassNotFoundException: rmi.RemoteDateImpl_Stub Java RMI JAVA RMI калькулятор |
|
0 / 0 / 1
Регистрация: 18.04.2017
Сообщений: 2
|
||||||
| 18.04.2017, 15:11 | ||||||
В клиенте помимо хоста постарайтесь явно указывать порт, который прописали в Сервере. Переменная host в клиентском коде у вас какое значение принимает?
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 12
|
|
| 18.04.2017, 16:00 [ТС] | |
|
Я для клиента прописала Registry registry = LocateRegistry.getRegistry(1098);и все получилось! Спасибо большое!
0
|
|
| 18.04.2017, 16:00 | |
|
Помогаю со студенческими работами здесь
3
Как исправить ошибку java.rmi.ServerException Запуск java из консоли Запуск Java приложений Запуск java приложения Запуск java через прокси Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|