繁体   English   中英

如何编译将另一个Java类用作对象的Java类?

[英]How do I compile a Java class which uses another Java class as an Object?

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

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

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

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

您尚未说明如何尝试编译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

请注意,classpath值不应该是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

错误似乎是类B尚未编译。 您可以检查B类是否存在错误,然后编译B,然后再求A吗?

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

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

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

一旦开始较大的项目,将很难在命令行上手动进行此操作。 看一个像Eclipse一样的IDE。 它为您完成所有这些工作。 您只需在属性中设置一次类路径,然后单击一些菜单选项即可进行编译(或设置自动构建或使用快捷键)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM