java - 找不到符号枚举
问题描述
我正在使用 javac 手动编译 Java 代码,但出现以下错误:
Packet.java:13: error: cannot find symbol
public final PacketType type;
^
symbol: class PacketType
location: class Packet
Packet.java:22: error: cannot find symbol
type = PacketType.UNDEF;
^
symbol: variable PacketType
location: class Packet
Packet.java:26: error: cannot find symbol
type = PacketType.values()[message[0]];
^
symbol: variable PacketType
location: class Packet
3 errors
包.java:
package gameManager.gameServer;
import java.util.logging.Logger;
public class Packet {
private static final Logger LOGGER = Logger.getLogger(Class.class.getSimpleName());
public static final int PACKET_SIZE = 1024; //Packet size in bytes
public final PacketType type;
public final byte[] data = new byte[PACKET_SIZE-1]; //Data size is PacketSize minus PacketType Header
public Packet(byte[] message) {
if(message.length != PACKET_SIZE) {
LOGGER.warning("Tried to create a packet with insufficent amount of data");
type = PacketType.UNDEF;
return;
}
type = PacketType.values()[message[0]];
for(int i = 0; i < data.length; i++) {
data[i] = message[i+1];
}
}
}
PacketType.java:
package gameManager.gameServer;
public enum PacketType {
UNDEF, JOIN_SERVER, MOVE, SHOOT, CHANGE_INVENTORY;
}
我正在使用编译
javac PacketType.java && javac Packet.java
我不知道为什么这不会编译,我已经编译了 PacketType.java 并且 Eclipse 从 Packet 中看到 PacketType 没有问题
解决方案
将目录更改为src,尝试以下命令:
javac -cp src ./src/gameManager/gameServer/Packet.java
推荐阅读
- javascript - Laravel + Quasar @click 显示模式不起作用
- php - php 在文件错误/警告中创建证书签名请求
- sql - Postgres ORDER BY DESC 然后 ASC
- c# - 寻找数字的 replace() 通配符
- permissions - 使用 Rest API 为 Azure DevOps 中的不同命名空间设置权限
- c - 为什么使用 printf 打印随机文本时代码的输出会发生变化?
- python-3.x - 拆分字符串并存储到熊猫数据框中的新列中
- c# - 用户代码未处理 SQL 异常
- dialogflow-es - Dialogflow 中代理的限制
- spring - 如何在 Spring JPA 中为不同实体创建用户帐户?