java - 导入的类必须位于父目录中的目录中吗?

标签 java

所以我有一个名为 A.java 的程序。

我正在尝试通过为名为 helpers 的包中定义的这些类设置类路径,将我自己的预定义类导入到该程序中。

我已将这两个类编译到 helpers 包中名为 helpers 的类中。 helpers 源代码位于名为 helpers 的文件夹中。我希望这不是一个糟糕的命名。

无论如何,我如何设置类路径,以便 A.java 可以获取这些类?

我的目录布局如下:

Java dir:
 -helpers
   -helpers.java
   -helpers.class
 -A
   -A.java
   -A.class

最佳答案

首先,您应该遵守 Java 命名约定。类以大写字母开头。包都是小写的。

您还应该避免将 .class 文件放在与 .java 文件相同的目录结构中。

并且目录结构必须与源和类中的包结构完全匹配。

因此,如果您有 2 个类 a.Ahelpers.Helpers,则结构应如下所示:

project
  src
    a
      A.java
    helpers
      Helpers.java
  classes
    a
      A.class
    helpers
      Helpers.class

为了能够编译源文件,请进入项目目录,然后键入以下命令:

javac -d classes -cp classes src/a/A.java src/helpers/Helpers.java

为了能够运行 a.A 类,请进入项目目录,然后键入以下命令:

java -cp classes a.A

关于java - 导入的类必须位于父目录中的目录中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950211/

相关文章:

java - 从Java读取数据并在Flex中显示

java - 如何检查日期对象的空值

java - SHAppBarMessage 和自动隐藏

java - 来自 Throwable 的 findbugs 未经检查/未经确认的转换

java - 在运行时更新 JTable

java - Hibernate 外键约束失败

java - 缺少返回语句 - int[]

Java 11 : Predicate or/and on Optional

java - 正则表达式不适用于 Android Studio 中字符串前面的特殊字符

java - 如何将对象从 primefaces 上的树传递到 View