JAR包含不起作用

时间:2018-03-31 17:00:30

标签: java jar rmi

我正在学习如何创建一个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中,但由于某种原因它无法找到它们。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

消息说rmi.interfaces包不在您的类路径中。在您的示例中,这意味着不在compute.jar中。您可以通过键入zipinfo -1 compute.jar来查看JAR中的条目。

您真的应该为您的项目设置构建工具。除非你正在学习什么是javac,否则你真的不应该手工编写Java。如果您想尝试Maven,可以克隆rm5248/Java-RMI-Example以了解如何使用独立的客户端和服务器模块设置RMI项目。