6

我正在尝试在排序下创建一个包合并,但它说:

源文件夹不在 Java 构建类路径上

在此处输入图像描述

所以我右键单击排序文件夹,并尝试将其添加到 Java 构建类路径中。但唯一的选项是排除,所以这意味着它应该已经包含在类路径中。 在此处输入图像描述

那么如何在排序下创建包呢?

编辑:

添加 .classpath :

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
4

6 回答 6

7

从“src”文件夹本身的上下文菜单中执行此操作。“源文件夹”的字面意思是在 Java 构建路径中指定的源文件夹,而不仅仅是恰好包含源的某个文件夹。Name 字段需要实际的、正确的“这是其中的 .java 文件将声明的内容”的限定包名称。如果您只是想在其中创建一个新文件夹然后创建一些新的 .java 文件,您可以使用新建文件夹向导。

编辑:另外,请记住,项目和包资源管理器视图之间的包演示设置(从视图的本地菜单设置 - 倒三角形)可能不同。如果事情看起来与您想要的相反,请根据您的需要进行调整。

于 2012-06-06T17:33:11.473 回答
4

只需右键单击文件夹src -> 构建路径 -> 使用源文件夹就是这样

于 2018-05-27T12:26:33.490 回答
2

您是否已经创建了合并包。也许您可以选择 eclipse 不显示空包。如果已创建,只需右键单击 MergeSort.java 文件 > Refactor > Move 并选择排序下的新合并包。这会将文件移动到那里,eclipse 将显示该包。

或者,如果您尚未创建合并包,请执行以下操作:创建一个文件夹(不是包)Algorithms/src/sort/merge。然后在eclipse树中找到它>右键单击它>构建路径>用作源文件夹

顺便提一句。您只在排序包上排除,因为它已经在构建路径上(至少在屏幕截图中)

干杯

于 2012-06-06T09:45:00.440 回答
1

只需在您的默认源文件夹中创建一个包并为其命名sort.merge

于 2012-06-06T07:55:12.297 回答
1

右键项目->属性->java构建路径->添加需要的源到构建路径

在此处输入图像描述

于 2021-05-19T05:04:35.453 回答
0

Java 包名称约定定义句.点标记子文件夹。因此lorem.ipsum.dolor.sit.amet将创建一个文件夹结构,如lorem/ipsum/dolor/sit/amet. Eclipse 支持这种格式。因此,要创建“子包”,您需要sort.merge在您的案例中命名的源文件夹中创建一个包。这将自动创建所需的文件夹结构。

但是你是对的,我从来不明白为什么 Eclipse 不以反映底层文件夹结构的方式显示包结构。也许有人可以阐明该设计决策?

于 2012-06-06T10:02:08.650 回答