JAR 包含不起作用
JAR inclusion not working
我正在学习如何创建一个 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
它需要的 类 在罐子里,但由于某种原因找不到它们。我该如何解决这个问题?
消息说 rmi.interfaces
包不在您的类路径中。在您的示例中,这意味着不在 compute.jar
中。您可以通过键入 zipinfo -1 compute.jar
来验证这一点,以查看 JAR 中有哪些条目。
您真的应该为您的项目设置一个构建工具。除非您正在学习什么是 javac
,否则您真的不应该手动编译 Java。如果您想尝试 Maven,您可以克隆 rm5248/Java-RMI-Example 以查看如何设置具有独立客户端和服务器模块的 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
它需要的 类 在罐子里,但由于某种原因找不到它们。我该如何解决这个问题?
消息说 rmi.interfaces
包不在您的类路径中。在您的示例中,这意味着不在 compute.jar
中。您可以通过键入 zipinfo -1 compute.jar
来验证这一点,以查看 JAR 中有哪些条目。
您真的应该为您的项目设置一个构建工具。除非您正在学习什么是 javac
,否则您真的不应该手动编译 Java。如果您想尝试 Maven,您可以克隆 rm5248/Java-RMI-Example 以查看如何设置具有独立客户端和服务器模块的 RMI 项目。