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

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

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

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

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

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

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

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

您需要转到项目 – >属性 – > 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等)来执行此操作。 不需要将资源目录放在源文件或二进制文件夹中; 让他们分开。