Структура пакетов и папок в проекте.
В первый раз, когда сталкиваешься с задачей создания структуры папок/пакетов внутри своего проекта - долго не можешь понять - зачем создавать такие сложные бессмысленные вложенности, как например 'src/main/java', а потом делать еще не менее непонятные вложенности вроде 'com.makeappinc.calculator.context'. Неужели не проще сразу располагать все свои пакеты и классы/файлы/ресурсы в корневой папке 'src'? Зачем делать параллельную ветку каталогов 'src/main/resources'?
Отвечаю:
Не проще, подобные мелочи сразу избавляют тебя от огромных проблем в будущем. Делай так и будешь счастлив!
А сейчас я объясню почему :)