Подтвердить что ты не робот

Добавление папки в eclipse в каталог src без ее пакета

При создании одной папки в каталоге src в одном проекте в eclipse она делает эту папку пакетом. Есть ли способ избежать автоматической установки этой папки? например, я добавляю основную папку в каталог src. Я не хочу, чтобы он стал пакетом. Как я могу это сделать?

Предположим, что я добавляю папки таким образом: src/main/org/apache. Я не хочу, чтобы main.org.apache был пакетом, вместо этого я хочу, чтобы упаковка начиналась с org. (т.е. org.apache).

4b9b3361

Ответ 1

Eclipse заставляет вас различать исходные каталоги и обычные папки. Любые подкаталоги в исходной папке будут считаться пакетом.

В вашем случае вы можете создать обычную папку вне src/, чтобы запретить подкаталоги интерпретироваться как пакеты.

В качестве альтернативы вы можете изменить свойства проекта, чтобы src/ считался обычным каталогом и помещал в него исходный каталог.

Вы можете управлять каталоги в проекте, считая исходными каталогами:

  • Щелкните правой кнопкой мыши ваш проект, затем нажмите Properties.
  • На левой панели нажмите Java Build Path. На правой панели выберите Source tab.
  • Здесь вы можете добавлять/редактировать/удалять исходные папки.

Ответ 2

Вам нужно перейти в Project → Properties → Java Build Path → Source (вкладка).

Удалите src из "Исходные папки на пути сборки"

Затем добавьте src/main в качестве исходной папки. Если у вас уже есть org в основном, то ваши пакеты должны начинаться с org по желанию.

Ответ 3

Я добавил шаблон "Исключенный" со значением ** в "Java Build Path → Source → src/main/resources", и мой пакет стал простой папкой в ​​Eclipse.

Ответ 4

Любая папка в каталоге src становится пакетом. Если вы хотите иметь основную папку, тогда создайте исходную папку с именем main, а затем создайте требуемый пакет в основной папке.

Ответ 5

Когда вы запускаете проект Java в eclipse, текущий рабочий каталог является корневой папкой проекта. Так почему бы просто не создать свою папку ресурсов там?

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 и т.д.), чтобы сделать это в любом случае. Нет необходимости размещать каталоги ресурсов внутри вашей исходной или двоичной папки; держите их отдельно.