gpt4 book ai didi

java包: cannot find symbol

转载 作者:搜寻专家 更新时间:2023-11-01 01:55:14 25 4
gpt4 key购买 nike

我有一个奇怪的错误。我在同一个包中有 2 个类,但它们找不到彼此。据我所知,只要类在同一个包中,它们就应该能够调用彼此的方法。

我的代码看起来类似于:

在 A.java 中:

package com.mypackage;
public class A{
public static int read(){
//some code
}
}

在 B.java 中:

package com.mypackage;
public class B{
public static void main(String args[]){
int x = A.read();
}
}

它给了我一个 cannot find symbol variable A错误。

这两个类都依赖于一些 .jar文件,但我已经将这些 jar 的路径包含到 CLASSPATHA.java编译正常,但 B 由于某些原因找不到 A...

当我删除 package com.mypackage;在这两个类中,它们都可以正常编译。

最佳答案

由于您正在编译位于不同包中的 Java 文件,因此您必须确保将它们编译到适当的目录。

您可以使用此调用来做到这一点。将 $SRC 替换为您的源文件的位置,您可以让 $BIN 成为当前目录,或您机器上的其他位置。

javac -sourcepath $SRC -d $BIN A.java B.java

当你想运行它们时,你必须再次手动将它们添加到类路径中(但这并不是一件坏事)。

java -cp $BIN com.mypackage.B

这个调用应该有效;刚刚用我桌面上的 A.java 和 B.java 确定了它。使用 -d 标志,确保在编译时,它们会转到适当的包文件夹方案。

关于java包: cannot find symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com