[英]Source folder is not on the Java build class path, creating Java package
我正在尝试在排序下创建一个包合并,但它说:
源文件夹不在 Java 构建类路径上
所以我右键单击 sort 文件夹,并尝试将其添加到 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>
从“src”文件夹本身的上下文菜单中执行此操作。 “源文件夹”字面意思是在 Java 构建路径中指定的源文件夹,而不仅仅是某个恰好包含源的文件夹。 Name 字段需要实际的、正确的“这是其中的 .java 文件将声明的内容”,限定包名称。 如果您只想在其中创建一个新文件夹,然后创建一些新的 .java 文件,您可以使用新建文件夹向导。
编辑:另外,请记住,项目和包资源管理器视图之间的包展示设置(从视图的本地菜单设置 - 倒三角形)可能不同。 如果事情看起来与您想要的相反,请根据您认为合适的方式进行调整。
只需右键单击文件夹src -> 构建路径 -> 使用源文件夹就是这样
您是否已经创建了合并包。 也许您可以选择 eclipse 不显示空包。 如果已经创建,只需右键单击 MergeSort.java 文件 > Refactor > Move 并选择 sort 下的新合并包。 这会将文件移动到那里,eclipse 将显示该包。
或者,如果您尚未创建合并包,请执行以下操作:创建一个文件夹(不是包)Algorithms/src/sort/merge。 然后在eclipse树中找到它>右键单击它>构建路径>用作源文件夹
顺便提一句。 您只排除了 sort 包,因为它已经在构建路径上(至少在屏幕截图中)
干杯
只需在您的默认源文件夹中创建一个包并将其命名为sort.merge
Java 包命名约定定义了一个句点.
标记一个子文件夹。 所以lorem.ipsum.dolor.sit.amet
将创建一个文件夹结构,如lorem/ipsum/dolor/sit/amet
。 Eclipse 支持这种格式。 因此,要创建“子包”,您需要在源文件夹中创建一个名为sort.merge
的包。 这将自动创建所需的文件夹结构。
但是您说得对,我一直不明白为什么 Eclipse 不以反映底层文件夹结构的方式显示包结构。 也许有人可以阐明该设计决策?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.