Добавление папки в eclipse в каталог src без ее пакета
При создании одной папки в каталоге src в одном проекте в eclipse она делает эту папку пакетом. Есть ли способ избежать автоматической установки этой папки?
например, я добавляю основную папку в каталог src. Я не хочу, чтобы он стал пакетом. Как я могу это сделать?
Предположим, что я добавляю папки таким образом: src/main/org/apache. Я не хочу, чтобы main.org.apache был пакетом, вместо этого я хочу, чтобы упаковка начиналась с org. (т.е. org.apache).
Ответы
Ответ 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 и т.д.), чтобы сделать это в любом случае. Нет необходимости размещать каталоги ресурсов внутри вашей исходной или двоичной папки; держите их отдельно.