Pakiet Java Vs Struktura Folderów? jaka jest różnica

Chciałbym się dowiedzieć jaka jest różnica pomiędzy strukturą folderów a pakietem używanym w Eclipse IDE do tworzenia Java EE.

Kiedy używamy którego i dlaczego?.

Jaka powinna być praktyka

  • Utwórz strukturę folderów jak src / com / utils, a następnie utwórz klasę wewnątrz niej
  • Utwórz pakiet podobny do src. com. util, a następnie utwórz klasę wewnątrz niego

Która opcja byłaby lepsza i łatwa do wdrożenia, gdybym musiał napisać skrypt ant później do rozmieszczenia ?

Jeśli przejdę do struktury folderów, czy wdrożenie będzie tak proste, jak kopiowanie plików z deweloperskiego do docelowego wdrożenia ?

Author: Arjan Tijms, 2012-03-01

5 answers

Jeśli skonfigurowałeś stuffs poprawnie. Dodanie folderu wewnątrz src jest takie samo jak dodanie pakietu z File > New Package.

To zależy od ciebie, co będzie dla Ciebie wygodne-Dodaj folder lub Utwórz pakiet. Ponadto, gdy umieścisz stuffs pod src Nazwa pakietu zaczyna się od podfolderu. Więc src/com/naishe/test będzie pakietem com.naishe.test.
 34
Author: Nishant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-01 05:18:50

Zasadniczo nie ma różnicy, oba są takie same.

W obu przypadkach struktura folderów będzie src/com/utils.

I w obu przypadkach należy wspomnieć

package com.utils;

Jako pierwszy wiersz w class

Ponieważ praktycznie nie ma żadnej różnicy, nie zrobi żadnej różnicy ant script.

 11
Author: dku.rajkumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-20 19:56:02

" opakowanie pomaga nam uniknąć kolizji nazwy klasy, gdy używamy tej samej nazwy klasy, co inne. Na przykład, jeśli mamy nazwę klasy o nazwie "Vector", jej nazwa ulegnie awarii wraz z klasą Vector z JDK. Jednak nigdy tak się nie dzieje, ponieważ JDK używa Javy.util jako Nazwa pakietu dla klasy Vector (java.util.Vector). Więc nasza klasa Vector może być nazwana "Vector" lub możemy umieścić ją w innym pakiecie, takim jak com.mycompany.Vector bez walki z nikim. Korzyści z korzystania z pakietu odzwierciedlają łatwość konserwacji, organizacji i zwiększają współpracę między programistami. Zrozumienie koncepcji pakietu pomoże nam również zarządzać i używać plików przechowywanych w plikach jar w bardziej efektywny sposób."

Sprawdź http://www.jarticles.com/package/package_eng.html Aby uzyskać więcej informacji na temat opakowań

 9
Author: user2729857,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-25 13:40:42

Utwórz pakiet podobny do 'src. com. util'

To brzmi jak pomyłka. Nazwa pakietu powinna brzmieć " com.util', a ' src ' to nazwa folderu źródłowego. Poza tym, nie widzę różnicy między twoimi wyborami. Wynik jest taki sam, prawda? Tylko różne kroki w GUI, aby do niego dotrzeć. Kreator tworzenia nowego pakietu w Eclipse jest tylko opakowaniem wokół tworzenia odpowiedniej hierarchii folderów w źródle folder.

Nie musisz w ogóle tworzyć pustych pakietów, możesz bezpośrednio tworzyć klasy(pakiet zostanie utworzony automatycznie, jeśli jeszcze nie istnieje).

 3
Author: Thilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-01 05:15:41

Pakiet jest automatycznie "folderem źródłowym", gdzie folder jest zwykłym folderem. Podczas kompilacji projektu Eclipse, wszystkie pliki w folderach źródłowych są kompilowane, ale nie w zwykłych folderach (chyba że te zwykłe foldery a)

 1
Author: teamaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-20 15:01:56