当前位置: 首页 > 面试题库 >

javac:编译使用其他类的.java文件

谯翔
2023-03-14
问题内容

您好,我有3个Java文件

a.java  
b.java  
c.java

我设法使用生成了A和B的.class文件

javac example/a.java  
javac example/b.java

但是当我对c.java执行相同操作时,出现错误错误:找不到符号b和c

关于如何解决此问题的任何建议?

所有的Java文件都在同一个文件夹中


问题答案:

尝试编译class时,必须具有类a并且b在类路径中c。这使编译器可以验证它们是否存在,找出它们具有哪些方法等。

javac对包名称和类路径非常敏感。最简单的方法是像这样同时编译这三个文件javac example/a.java example/b.java example/c.java

如果转到示例的父目录(我们称其为src),则可以运行以下命令:

javac -cp src src/example/c.java

之所以必须这样做,是因为您的类的软件包列为example。由于您的软件包名称,javac正在example其类路径中查找目录,希望在该目录中找到a.classb.class



 类似资料:
  • 问题内容: 我的文件夹中有四个Java文件。它们都在同一包中。这是包裹声明 所有这些类都在同一包中。我想知道如何使用它们来编译它们(我是说我不知道​​如何编译正在使用的多个文件)。一旦完成,如何启动然后在CLI中使用命令?这是文件名。 问题答案: 从项目的根目录: 要运行,假设没有其他依赖项: (假设具有正常功能。) 该命令将编译软件包目录中的所有文件。由于它们都在同一个包/目录中,因此可以使用。

  • 问题内容: 我正在尝试(从命令行)编译一个Java包,该包会导入我自己的另一个包。我正在网上关注教程,但是当我尝试编译最终的Java文件(CallPackage.java)时似乎出现错误。 这是文件结构: 这是CallPackage.java: 这是HelloWorld.java: 尝试的步骤 转到子包并使用编译HelloWorld.java 。 转到test_directory并使用编译Call

  • 我的Servlet源代码是: 我使用tomcat作为Web服务器,只是一个文本编辑器(Atom)来帮助我完成这个挑战(现在是stackoverflow)。我现在的问题是编译器没有找到我已经编译的类计算机,但没有成功修复这个错误。

  • 当Java文件是接口时,如: 我用编译,然后用反汇编,输出如下: 而当Java文件是类时,如: 使用,然后使用进行反汇编,输出如下: 为什么接口的类文件中不包括? JDK版本:1.8.0_311

  • 当我试图编译一个带有注释的项目时,我遇到了以下错误 如何在java解析器中修复此错误?我使用elcipselink和eclipse作为IDE。

  • 问题内容: 各位 我正在尝试在Ant和终端上玩Javac Cross编译。在本地和集成环境中,我在一个非常基本的问题上遇到了同样的问题。 我在linux终端(以及在Windows和cmd的cygwin上)上运行此命令: 与Main.java一起使用,仅是System.out.println。 我收到错误消息: 我在本地Windows机器上的配置大致相同,结果完全相同。 我的理解是,交叉编译就是使用