繁体   English   中英

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

[英]Adding folder in eclipse in src directory without making it package

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM