我正在学习如何创建一个RMI系统,并将共享类编译成.jar,但是当我尝试包含它时,会发生以下错误:
javac -cp compute.jar Client.java
Client.java:6: error: package rmi.interfaces does not exist
import rmi.interfaces.Tasks;
^
Client.java:17: error: cannot find symbol
Tasks stub = (Tasks) registry.lookup("Tasks");
^
symbol: class Tasks
location: class Client
Client.java:17: error: cannot find symbol
Tasks stub = (Tasks) registry.lookup("Tasks");
^
symbol: class Tasks
location: class Client
3 errors
它需要的类在jar中,但由于某种原因它无法找到它们。我该如何解决这个问题?
答案 0 :(得分:1)
消息说rmi.interfaces
包不在您的类路径中。在您的示例中,这意味着不在compute.jar
中。您可以通过键入zipinfo -1 compute.jar
来查看JAR中的条目。
您真的应该为您的项目设置构建工具。除非你正在学习什么是javac
,否则你真的不应该手工编写Java。如果您想尝试Maven,可以克隆rm5248/Java-RMI-Example以了解如何使用独立的客户端和服务器模块设置RMI项目。