gpt4 book ai didi

javac "cannot find symbol"命令行错误

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:19 32 4
gpt4 key购买 nike

我有两个类 Owning 和 OwningAccessor。这些文件位于同一目录中。

public class Owning {
String _name = "";
public void printBanner()
{
}
public void printOwning(double amount)
{
printBanner();

//print details
System.out.println("name:" + _name);
System.out.println("amount:" + amount);
}
}


public class OwningAccessor {
public void access()
{
Owning o = new Owning();
o.printOwning(500);
}
}

当我尝试使用 javac -cp 编译 OwningAccessor 时。 OwningAccessor.java,编译错误。

symbol  : class Owning
location: class smcho.OwningAccessor
Owning o = new Owning();
^
OwningAccessor.java:6: cannot find symbol
symbol : class Owning
location: class smcho.OwningAccessor
Owning o = new Owning();
^

这是怎么回事?代码在 eclipse IDE 下编译良好。

最佳答案

好的,假设您将代码分布在文件中,如下所示

myproject
├── out
└── src
├── OwningAccessor.java
└── Owning.java

转到命令提示符,将目录更改为 myproject。一旦发出以下命令:

javac -d out -sourcepath src src/OwningAccessor.java

我刚刚测试了它,它工作得很好。您编译的类将位于 out 文件夹中:

.
├── out
│   ├── OwningAccessor.class
│   └── Owning.class
└── src
├── OwningAccessor.java
└── Owning.java

编译一个类会触发所有其他依赖类的编译。编译器会自动在 src 文件夹中寻找它们。

关于javac "cannot find symbol"命令行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407983/

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