我有一个A.java类,它使用B.java类作为对象。
当我编译A.java类时,它会抛出编译错误消息,因为Java编译器根本无法引用B.java对象。所以,这是我的问题:
如果它包含另一个B.java类,如何编译A.java类?
Eclipse是一个很棒的工具,但是当我需要为Java bean编译Java文件时,这个工具没用。
答案 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。它为你做到了这一切。您只需在属性中设置一次类路径,然后只需单击某些菜单选项(或设置自动构建或使用快捷键)即可编译。