0

我有一个使用 B.java 类作为对象的 A.java 类。

当我编译 A.java 类时,它会抛出编译错误消息,因为 Java 编译器根本无法引用 B.java 对象。所以,这是我的问题:

如果 A.java 类包含另一个 B.java 类,我该如何编译它?

Eclipse 是一个很棒的工具,但是当我需要为 Java bean 编译 Java 文件时,这个工具就没有用了。

4

4 回答 4

6

您还没有解释您是如何尝试编译 A.java 的,或者您是否已经编译了 B.java。如果您还没有编译它们中的任何一个,只需将它们一起编译,例如

javac -d bin path/to/A.java path/to/B.java

如果你已经编译了 B,你需要确保你的类路径是正确的,例如

javac -d bin -cp path/to/Broot path/to/A.java

请注意,类路径值不应该是 B.class 文件本身,甚至也不应该是包含 B.class 的目录,而是输出层次结构的根。因此,如果 B 在包 foo.bar 中,并且 B.class 在目录 /x/y/z/foo/bar 中,您将编写:

javac -d bin -cp /x/y/z path/to/A.java
于 2012-04-12T06:39:24.327 回答
0

错误似乎是 B 类尚未编译。你能检查B类的错误,编译B,然后去A吗?

于 2012-04-12T06:39:01.133 回答
0

确保在编译类时依赖项(jar 文件)和当前目录位于类路径中。

于 2012-04-12T06:39:31.133 回答
0

这是问题的重复:我可以使用 JAVAC 编译具有多个文件和目录的项目吗?

根据对象 B 的类型,您必须将其添加到类路径中。如果它在 jar 文件(库)中,则应该在命令行上使用 -c 选项。要添加其他源文件,请使用 -s 选项。

一旦你开始了更大的项目,就很难在命令行上继续手动执行此操作。看看像eclipse这样的合适的IDE。它为你做这一切。您只需在属性中设置一次类路径,然后单击一些菜单选项(或设置自动构建或使用快捷键)即可编译。

于 2012-04-12T06:41:52.873 回答