具有依赖关系的javac文件
很抱歉问了一个很常见的问题,但我找不到有效的答案。 我只想使用javac编译几个如下组织的源文件:具有依赖关系的javac文件,java,javac,Java,Javac,很抱歉问了一个很常见的问题,但我找不到有效的答案。 我只想使用javac编译几个如下组织的源文件: 自适应霍夫曼编码/ Encoder.java Decoder.java FullBinaryTree/ Node.java Tree.java 例如,如果我跑步 javac FullBinaryTree/Node.java 在生成类文件时,它工作正常 但如果我跑 javac FullBinaryTree/Tree.java 它将失败,报告每个节点出现未知符号错误 正如您所看到的,这
- 自适应霍夫曼编码/
- Encoder.java
- Decoder.java
- FullBinaryTree/
- Node.java
- Tree.java
javac FullBinaryTree/Node.java
在生成类文件时,它工作正常
但如果我跑
javac FullBinaryTree/Tree.java
它将失败,报告每个节点出现未知符号错误
正如您所看到的,这两个文件在同一个包中,因此我不使用任何导入,它们共享相同的第1行
package AdaptiveHuffmanCoding.FullBinaryTree;
我想我必须告诉编译器在哪里可以找到这个节点,但实际上我正在努力解决这个问题。如果有人能解释的话
谢谢
正如您所看到的,这两个文件在同一个包中
为了让编译器能够访问同一个包的类,不要直接从这个包执行javac
,而是从上层执行
要编译树
类:
javac AdaptiveHuffmanCoding/FullBinaryTree/Tree.java
要编译此包的所有类,请执行以下操作:
javac AdaptiveHuffmanCoding/FullBinaryTree/*.java
请注意,要符合Java命名约定:包不应包含任何大写字符。是的,您必须配置
类路径
,以告诉编译器在哪里可以找到其他类签名。现在我遇到了另一个错误,但闻起来更好。错误的类文件:./AdaptiveHuffmanCoding/FullBinaryTree/Node.class类文件包含错误的类:AdaptiveHuffman.FullBinaryTree.Node请删除或确保它出现在类路径的正确子目录中。欢迎使用本:)似乎AdaptiveHuffmanCoding/FullBinaryTree/Node.class
应该包含AdaptiveHuffmanCoding.FullBinaryTree.Node
类,但它包含AdaptiveHuffman.FullBinaryTree.Node
类AdaptiveHuffman
不同于AdaptiveHuffmanCoding
。确保包和目录一致。OMG我必须稍微关闭计算机并休息。再次感谢。你是对的,因为每件事都有时间:)再次欢迎你:)