在eclipse中的一个项目的src目录中创建一个文件夹时,它会使该文件夹成为一个包。有没有办法避免这个文件夹自动成为一个包? 例如,我在src目录中添加主文件夹。我不希望它成为一个包。我怎么能这样做?
假设我以这种方式添加文件夹:src / main / org / apache。我不希望main.org.apache成为一个包,而是希望包装从org开始。 (即org.apache)。
答案 0 :(得分:34)
Eclipse强制您区分源目录和普通文件夹。源文件夹中的所有子目录都将被视为包。
在您的情况下,您可以在src/
之外创建一个普通文件夹,以防止子目录被解释为包。
或者,您可以修改项目属性以将src/
视为普通目录,并将源目录放在其中。
您可以通过以下方式管理项目中的哪些目录被视为源目录:
Properties
。Java Build Path
。在右侧窗格中,选择Source tab
。答案 1 :(得分:12)
你需要去Project - >属性 - > Java构建路径 - >来源(标签)。
从“构建路径上的源文件夹”中删除src
然后添加 src/main
作为源文件夹。如果您已在main下使用org
,那么您的包应该根据需要以org
开头。
答案 2 :(得分:5)
我添加了"排除"具有值的模式**到' Java构建路径 - >来源 - >的src /主/资源'我的包变成了Eclipse中的一个简单文件夹。
答案 3 :(得分:0)
src目录中的任何文件夹都成为一个包。如果您希望拥有一个主文件夹,则创建一个名为main的源文件夹,然后在主文件夹中创建所需的包。
答案 4 :(得分:0)
在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等)来执行此操作。不需要在源文件或二进制文件夹中放置资源目录;让他们分开。