gpt4 book ai didi

java - 重新编译包中的单个类

转载 作者:行者123 更新时间:2023-12-01 16:01:34 24 4
gpt4 key购买 nike

当我尝试重新编译包内的单个类时,我遇到了这个问题。

现在这个类使用全局类型,并且其中一些全局类型引用它。因此,将其从包装中取出确实不是一个选择。

因此,当我尝试单独使用 javac 编译它时,我收到无效符号错误,并且 netbeans 显示它正在尝试编译诸如classespackage.globaltype 之类的内容。基本上它是在包内搜索全局类。有什么办法可以阻止它这样做吗?

这是代码:

全局

public class Global {
example.Main main;
public Global(example.Main m) {
main = m;
}
}

示例.Main

package example;

public class Main {
public static void main(String[] args) {
Global g = new Global(new Main()); // COMPILE ERROR
}
}

最佳答案

I get invalid symbol errors

您可能指的是“找不到符号”错误?这可能是由任何原因引起的。导入的类不在编译时类路径中,方法不存在,变量超出范围。您确实需要发布编译错误才能获得更详细的答案。

至少,这听起来像是您没有使用 -cp-classpath 参数在编译时类路径中指定依赖项(导入的类)。

Is there anyway to stop it from doing that?

通过倾听这些错误并采取相应的行动。

<小时/>

更新按照发布的代码示例:问题的原因是默认包中的类(即没有 package声明)对于具体包内的类(即具有 package 声明的类)不可见。您需要将 Global 放入包中。然后它对于包内的类是可见的(可导入的)。

关于java - 重新编译包中的单个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3740278/

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