Java Package Vs Folder-Structure? в чем разница

Я хотел бы знать. Какая разница между структурой папок и пакетом, используемым в Eclipse IDE для разработки Java EE.

Когда мы используем какой и почему?

Какова должна быть практика

  • создайте структуру папок, такую ​​как src/com/utils, а затем создайте внутри нее класс
  • создайте пакет, например src.com.util, а затем создайте внутри него класс

какой вариант будет лучше и проще развернуть, если мне нужно будет написать ant script позже для развертывания?

Если я пойду для структуры папок, развертывание будет таким же простым, как копирование файлов с разработки на цель развертывания?

Ответ 1

Если вы правильно настроили материал. Добавление папки внутри src аналогично добавлению пакета из File > New Package.

Итак, это зависит от вас, независимо от того, что вам удобно, - добавьте папку или создайте пакет. Кроме того, когда вы помещаете вещи под src, имя пакета начинается с подпапки. Итак, src/com/naishe/test будет пакетом com.naishe.test.

Ответ 2

В принципе нет разницы, оба одинаковы.

В обоих случаях структура папок будет src/com/utils.

и в обоих случаях вам нужно будет указать

package com.utils;

в качестве первой строки в class

Так как он практически не имеет никакой разницы, он не будет иметь никакого значения для ant script.

Ответ 3

"Упаковка помогает нам избежать столкновения с именем класса, когда мы используем то же имя класса, что и у других. Например, если у нас есть имя класса под названием" Вектор ", его имя будет разбиваться с классом Vector из JDK., это никогда не происходит, потому что JDK использует java.util как имя пакета для класса Vector (java.util.Vector). Поэтому наш векторный класс можно назвать" Вектор ", или мы можем поместить его в другой пакет, например com.mycompany. Вектор, не сражающийся ни с кем. Преимущества использования пакета отражают простоту обслуживания, организации и расширения сотрудничества между разработчиками. Понимание концепции пакета также поможет нам более эффективно управлять файлами, хранящимися в файлах jar, и использовать их".

просмотрите http://www.jarticles.com/package/package_eng.html для получения дополнительной информации о пакетах

Ответ 4

создайте пакет, например 'src.com.util'

Это звучит как ошибка. Имя пакета должно быть "com.util", а "src" - это имя исходной папки.

Кроме этого, я не вижу, какая разница между двумя вашими выборами. Результат тот же, верно? Просто разные шаги в графическом интерфейсе, чтобы прийти к нему. Мастер создания нового пакета в Eclipse - это всего лишь оболочка создания соответствующей иерархии папок в исходной папке.

Вам вообще не нужно создавать пустые пакеты, вы можете напрямую создавать классы (пакет будет создан автоматически, если он еще не существует).

Ответ 5

Пакет автоматически "исходная папка", где папка - обычная папка. Когда вы компилируете проект Eclipse, все файлы в исходных папках скомпилированы, но не в обычных папках (если только эти обычные папки a)