2012-03-01 5 views
42

Chciałbym wiedzieć Jaka jest różnica między strukturą folderów a pakietem używanym w środowisku Eclipse IDE do programowania Java EE.Pakiet Java Struktura folderu Vs? jaka jest różnica

Kiedy używamy jednego i dlaczego ?.

Jaka powinna być praktyka

  • utworzyć strukturę folderów jak src/com/utils, a następnie utworzyć klasę w środku
  • utworzyć pakiet jak src.com.util a następnie utworzyć klasę wewnątrz to

która opcja byłaby lepsza i łatwiejsza do wdrożenia, gdybym musiał napisać skrypt mrówki później do wdrożenia?

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

Odpowiedz

27

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

To wszystko zależy od Ciebie, niezależnie od tego, co Ci odpowiada - dodaj folder lub utwórz pakiet. Ponadto po umieszczeniu materiałów pod numerem src nazwa pakietu zaczyna się od podfolderu. Tak więc src/com/naishe/test będzie pakietem com.naishe.test.

+6

hej ktoś oszalał, a -1ed za odpowiedzi! – Nishant

+0

Kto to był? Czy głosy zostały cofnięte? – Pacerier

3

utworzyć pakiet jak 'src.com.util'

To brzmi jak pomyłkę. Nazwa pakietu powinna brzmieć "com.util", a "src" jest nazwą folderu źródłowego.

Poza tym nie widzę różnicy między tymi dwoma wyborami. Wynik jest taki sam, prawda? Po prostu różne kroki w GUI, aby do niego dotrzeć. Kreator, który utworzy nowy pakiet w środowisku Eclipse, jest po prostu otoką do tworzenia odpowiedniej hierarchii folderów w folderze źródłowym.

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

10

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

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

iw obu przypadkach, trzeba wspomnieć

package com.utils; 

jako pierwszej linii w class

Ponieważ nie ma praktycznie żadnej różnicy, to nie będzie żadnej różnicy ant script.

8

"Opakowanie pomaga nam uniknąć kolizji nazw klas, gdy używamy tej samej nazwy klasowej, co inni. Na przykład, jeśli mamy nazwę klasy o nazwie" Wektor ", jej nazwa ulegnie awarii z klasą Vector z JDK. Jednak to się nigdy nie zdarza, ponieważ JDK używa java.util jako nazwy 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, np. Com.mycompany .Vector bez walki z nikim.Zalety korzystania z pakietu odzwierciedlają łatwość konserwacji, organizacji i zwiększania współpracy między programistami. Zrozumienie koncepcji pakietu pomoże nam zarządzać i korzystać z plików przechowywanych w plikach jar w bardziej efektywny sposób.”

Wyjazd http://www.jarticles.com/package/package_eng.html uzyskać więcej informacji na opakowaniach

+0

Niestety to nie uzasadnia, dlaczego muszę utworzyć "com/mojafirma/projekt"/package/name/here'-podkatalogi w moim systemie plików. Czy nie ma opcji łączenia katalogów 'com/mojafirma/projekt/pakiet/nazwa', aby zapisać wpisywanie i uniknąć trafienia' MAX_PATH'? – Dai

1

Pakiet jest automatycznie«Folder źródłowy»gdzie jest teczka tylko normalny folder 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)