在src目录中的eclipse中添加文件夹而不使其成为包
在eclipse中的一个项目中的src目录中创建一个文件夹时,它会使该文件夹成为一个包。 有没有办法避免这个文件夹自动成为一个包? 例如,我在src目录中添加主文件夹。 我不希望它成为一个包。 我怎样才能做到这一点?
假设我以这种方式添加文件夹:src / main / org / apache。 我不希望main.org.apache成为一个包,而是希望包装从org开始。 (即org.apache)。
Eclipse强制您区分源目录和普通文件夹。 源文件夹中的所有子目录都将被视为包。
在您的情况下,您可以在src/
之外创建一个普通文件夹,以防止子目录被解释为包。
或者,您可以修改项目属性以使src/
被视为普通目录,并在其中放置源目录。
您可以通过以下方式管理项目中的哪些目录被视为源目录:
- 右键单击项目,然后单击“
Properties
。 - 在左窗格中,单击
Java Build Path
。 在右侧窗格中,选择“Source tab
。 - 在这里,您可以添加/编辑/删除源文件夹。
您需要转到项目 – >属性 – > Java构建路径 – >源(选项卡)。
从“构建路径上的源文件夹”中删除src
然后添加 src/main
作为源文件夹。 如果你已经在main下使用org
,那么你的包应该根据需要以org
开头。
我将带有值**的“Excluded”模式添加到“Java Build Path – > Source – > src / main / resources”,我的包变成了Eclipse中的一个简单文件夹。
src目录中的任何文件夹都成为一个包。 如果您希望拥有一个主文件夹,则创建一个名为main的源文件夹,然后在主文件夹中创建所需的包。
在eclipse中运行Java项目时,当前工作目录是项目的根文件夹。 那么为什么不在那里创建资源文件夹呢?
ProjectDirectory ../bin ../src ../resourceDirectory
然后,在您的项目中,您可以使用获取resourceDirectory
public File getDirectory(String dir) { File cwdir = new File(".").getParentFile(); // remove the "." in path for (File f : cwdir.listFiles()) { if (f.isDirectory() && f.getName().equals(dir)) { return f; } } return null; }
和
File resourceDir = getDirectory("resourceDirectory"); if (null == resourceDir) { System.err.println("Resource directory not found"); System.exit(-1); }
注意:您可能想要为getDirectory()
方法创建一个实用程序类,或类似的东西。 这只是一个例子。
最重要的是,应用程序很可能会在应有的位置启动,您可能只是使用启动文件(.bat,.sh等)来执行此操作。 不需要将资源目录放在源文件或二进制文件夹中; 让他们分开。