在src目录中的eclipse中添加文件夹而不使其成为包

时间:2011-11-06 05:18:04

标签: java eclipse packaging

在eclipse中的一个项目的src目录中创建一个文件夹时,它会使该文件夹成为一个包。有没有办法避免这个文件夹自动成为一个包? 例如,我在src目录中添加主文件夹。我不希望它成为一个包。我怎么能这样做?

假设我以这种方式添加文件夹:src / main / org / apache。我不希望main.org.apache成为一个包,而是希望包装从org开始。 (即org.apache)。

5 个答案:

答案 0 :(得分:34)

Eclipse强制您区分源目录和普通文件夹。源文件夹中的所有子目录都将被视为包。

在您的情况下,您可以在src/之外创建一个普通文件夹,以防止子目录被解释为包。

或者,您可以修改项目属性以将src/视为普通目录,并将源目录放在其中。

您可以通过以下方式管理项目中的哪些目录被视为源目录:

  1. 右键单击您的项目,然后点击Properties
  2. 在左侧窗格中,点击Java Build Path。在右侧窗格中,选择Source tab
  3. 您可以在此处添加/编辑/删除源文件夹。

答案 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等)来执行此操作。不需要在源文件或二进制文件夹中放置资源目录;让他们分开。