如何在Eclipse中创建文件夹?

问题描述:

我想在Eclipse的包下创建文件夹...此文件夹的目的仅仅是为了组织目的。意思是,我不希望它成为另一个包。每次我尝试在包下添加一个文件夹时,它只是创建一个包。我想要有以下结构:如何在Eclipse中创建文件夹?

project/src/package1/someClass.java 
project/src/package1/someFOLDER/anotherClass.java 
project/src/package1/package2/anotherFOLDER/oneOtherClass.java 

是否可以在不添加包的情况下执行此操作?我来自.NET/C#和C++背景......在这里,我只是添加一个文件夹,该类的引用将在项目中更新。

如何在eclipse中添加组织文件夹?谢谢

当你需要多个类在大型项目中封装私有时,你应该做WTF吗?看看你的25-30类文件都在同一个目录中吗?

这是Java的包系统出了问题。每个包都是一个目录,子包只是不同的包(没有特殊的可见性规则)。

最粗的可见性水平包私人的,所以,是的,你有你的文件25-30混为一谈到同一个软件包,以避免普遍的公共知名度。

OSGi的解决了这个问题,通过引入包,它可以选择不使包装可见到外面。这为您提供了“项目专用”软件包。

更新:此外,您可以通过将相关类放入同一个源文件中来减少文件数量。只有公共类需要有他们自己的源文件(我更喜欢每个类有一个文件,不过公开或不公开)。

其实,文件夹在Java中的包,所以你的问题在Java上下文中没有任何意义。

术语“包”可能是误导......一个包肯定是不一样的.NET程序集。你可以将'package'看作一个命名空间,在Java世界恰好由目录路径决定。

对于非源文件,您可以将源文件夹之外创建一个新的文件夹,它就会被视为就像任何其他文件夹,而不是包装。

+0

包是包含源代码的文件夹。非源代码不会放在包文件夹中,它可以转到其他地方。 – 2010-03-26 00:33:18

+3

在Java上下文中,“包”不*表示“可部署/可分发包” – 2010-03-26 00:33:51

Well packages ARE folders。

如果你想Eclipse来不建包/文件夹的内容,上项目,选择属性,单击鼠标右键,以及Java下>构建路径编辑包含/排除过滤器。

如果您正在创建的文件夹来分班授课,组织的目的,但还是希望他们能在同一个包进行访问的目的,你可以创建多个源文件夹,并让他们建立到同一位置。因此,文件夹层次结构看起来略有不同:

project/concern1_src/package1/someClass.java 
project/concern2_src/package1/anotherClass.java 
project/concern3_src/package1/package2/oneOtherClass.java 

正如我所说的,所有三个源文件夹可以把对同一目标目录。或者,如果你愿意的话,他们可以建立不同的目标目录。单独的源文件夹也将传递给Package Explorer。

+0

请注意,源文件夹(“包1”)内的路径仍必须反映Java包声明。所以我不确定从组织的角度来看,这种方法是否会工作得很好。它可以用来在“public src”和“implementation src”之间进行分割,但其他类型的分割将会很困难,特别是如果“关注”不同于一揽子包。它所做的一件事就是将父文件夹放入与子文件夹完全不同的文件系统层次结构中,实际上这似乎是倒退了一步。 – Thilo 2010-03-26 00:59:27

+0

我回答的基础是我对组织目的的猜测。要求是一定数量的类必须具有包私有访问权。在Java中,这意味着它们必须位于相同的目录或镜像目录结构中。询问者对另一个答案提出了另一个暗示:实质上,不得不同时查看25-30个类文件。最后,我的猜测是,更多地使用Eclipse和Java会导致关于如何浏览代码的不同想法。 – 2010-03-26 01:15:28

+0

“我的猜测是,更多地使用Eclipse和Java会导致关于如何浏览代码的不同想法”:这是正确的答案。 – Thilo 2010-03-26 01:28:22

在eclipse中,src文件夹是主要的Source文件夹。首先,通过右键单击src文件夹并选择构建路径 - >“从构建路径中移除”,从构建源代码中删除。之后,在src下创建文件夹并右键单击子文件夹(package1),然后再次选择buildpath->用作源文件夹。现在你得到src/package1。