如何编译使用另一个Java类作为Object的Java类?

时间:2012-04-12 06:37:03

标签: java jsp javabeans

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

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

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

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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

这是问题的重复:Can I use JAVAC to compile a project with multiple files and directories?

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

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