java - 无法从外部包导入/引用类

标签 java eclipse kryonet

我有两个包 mg.networktest 和 mg.networktest.server,它们都需要访问同一个类来注册/序列化需要通过网络发送的类。我认为最佳实践是在服务器包上创建它并将其包含在客户端中。

但是我无法正确引用该类。我还尝试添加另一个包,但我认为这是不允许的。但它只是无法识别我的其他包裹。下面的导入全部得到导入mg.networktest.server无法解析。我可以让它 import mg.networktest.*; 但这只是引用自身。

import mg.networktest.server; //This is the exact package
import mg.networktest.server.Network; //This is the physical class/.java name
import mg.networktest.server.Network.ChatMessage; //This is one of the classes inside the .java that needs to be included.

更清楚地说:

  • 包 1:(mg.networktest.server) 有一个带有 ChatMessage 类的 Network.java。
  • 包 2:(mg.networktest) 需要包 1 中的 ChatMessage 类。
  • 软件包 2:(mg.networktest) 无法执行以下操作:import mg.network.server.*;
  • 如何在包 2 (mg.networktest) 中访问包 1 (mg.networktest.server) 中的类 ChatMessage?

最佳答案

如果您的导入语句导致编译错误,请验证以下内容:

  • 您使用了正确的语法。对于单个类型名称,请使用语法 import TypeName;。要根据需要从包或类范围导入类型名称,请使用语法 import PackageOrTypeName.*;
  • 您已经命名了当前存在的包和/或类。检查路径并检查拼写。
  • 如果导入的类位于不同的 Eclipse 项目或库中,请验证它是否位于导入类项目的构建路径上。
  • 重建包含导入和已导入类的项目。如果您启用了自动构建,则通常不需要这样做。

关于java - 无法从外部包导入/引用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25956966/

相关文章:

java - 我如何托管服务器以便人们可以找到它?

java - Java 堆栈跟踪中的 "eliminated"是什么意思?

java - 单击 html 元素时如何从 jsp 调用 java 方法?

java - KryoNet sendToAllTCP 与 sendTCP

java - 设置多个 TextView Android

java - 在 Eclipse 中将 Java 应用程序导出为可运行 Jar - 启动配置中的旧项目

java - Kryonet 可靠性

java - 在解析 json 数组的适配器类中实现搜索过滤器(不使用 pojo)

java - 简单哈希函数(字符串输入输出 1 个字节)

java - 为什么 Eclipse 中的 Java 注释颜色不同?