【问题标题】:JAR inclusion not workingJAR 包含不起作用
【发布时间】:2018-03-31 17:00:30
【问题描述】:

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

【问题讨论】:

  • 使用实际的 IDE 编译程序可能会很有用。最受欢迎的 3 个是 IntelliJNetBeansEclipse
  • 是的,很可能。我尝试使用 Oracle 的方式进行操作,但与往常一样,它无法正常工作

标签: java jar rmi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2012-06-20
    • 2018-09-06
    • 1970-01-01
    相关资源
    最近更新 更多