Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有依赖关系的javac文件_Java_Javac - Fatal编程技术网

具有依赖关系的javac文件

具有依赖关系的javac文件,java,javac,Java,Javac,很抱歉问了一个很常见的问题,但我找不到有效的答案。 我只想使用javac编译几个如下组织的源文件: 自适应霍夫曼编码/ Encoder.java Decoder.java FullBinaryTree/ Node.java Tree.java 例如,如果我跑步 javac FullBinaryTree/Node.java 在生成类文件时,它工作正常 但如果我跑 javac FullBinaryTree/Tree.java 它将失败,报告每个节点出现未知符号错误 正如您所看到的,这

很抱歉问了一个很常见的问题,但我找不到有效的答案。 我只想使用javac编译几个如下组织的源文件:

  • 自适应霍夫曼编码/
    • 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我必须稍微关闭计算机并休息。再次感谢。你是对的,因为每件事都有时间:)再次欢迎你:)