Jestem zdezorientowany z tymi dwoma terminami.
Co też powinienem zrobić, aby utworzyć plik w folderze src projektu Spring MVC? Kiedy tworzę za pomocą obiektu File, tworzy plik wewnątrz C: \ SpringSourceTool ... Myślę, że to jest ClassPath, prawda?
Jak mogę uzyskać applicationcontext
folder lub katalog główny aplikacji?
Ścieżka klas to konwencjonalny sposób informowania (standardowego) kompilatora języka Java i środowiska wykonawczego Java, gdzie mają znaleźć skompilowane klasy. Zwykle jest to sekwencja nazw plików JAR i nazw katalogów. Ścieżka klas używana przez kompilator i system wykonawczy nie musi być taka sama, ale zazwyczaj powinna być , szczególnie w przypadku małego projektu.
Buildpath nie jest standardową terminologią języka Java. Jest to termin opisujący bogatszy sposób, w jaki typowe IDE określa relacje między „projektami”, które składają się na aplikację. IDE używa tego do ustalenia ścieżki klas i ścieżki źródłowej do kompilacji kodu Java oraz ścieżki klas do jej uruchomienia. Środowisko IDE używa również ścieżki kompilacji, aby dowiedzieć się, jak spakować kod i jego zależności (na przykład) jako plik WAR.
Na przykład ścieżka kompilacji Eclipse dla projektu zawiera inne projekty, od których zależy, i zawiera listę wszystkich dodatkowych plików JAR bibliotek, które zawiera projekt / na których opiera się. Zawiera również listę pakietów w bieżącym projekcie, od których mogą zależeć dalsze projekty.
(Jeśli używasz Maven w swoim projekcie, mechanizm IDE buildpath jest drugorzędny w stosunku do zależności zadeklarowanych w plikach POM. Na przykład, używając Eclipse z m2eclipse, ścieżka budowania jest syntetyzowana z plików POM).
źródło
Ścieżka klasy jest używana w czasie wykonywania do ładowania skompilowanych klas i zasobów.
Ścieżka kompilacji jest używana w czasie kompilacji, aby znaleźć zależności potrzebne do skompilowania projektu.
źródło
.class
plików (i innych skompilowanych zasobów), podczas gdy ścieżka budowania służy do lokalizowania plików źródłowych, które należy skompilować?Każdy projekt Java ma własną ścieżkę kompilacji, która określa wszystkie zależności wymagane do skompilowania projektu. Te zależności mogą pochodzić z innych projektów Java w obszarze roboczym, z plików .jar archiwum Java lub z folderów zawierających pliki .class.
W środowisku CLASSPATH musisz określić tylko pliki .class (tj. Jar, pliki zip - wewnątrz jar, pliki zip znajdziesz tylko klasy java) tj. Pomagasz wirtualnej maszynie Java (JVM) znaleźć pliki klas Java
To tutaj została uruchomiona maszyna JVM, jeśli chcesz utworzyć plik w innym miejscu, użyj ścieżki względnej z tego miejsca.
Zobacz to i to, aby uzyskać więcej informacji.
źródło
Chciałbym dodać do odpowiedzi Andreas_D, aby wyjaśnić, że ścieżka budowania jest wymagana przez IDE / kompilator do zlokalizowania zewnętrznych pakietów i klas używanych przez twój kod. Czasami nazywamy je „zależnościami” .
Uwaga: Te zewnętrzne pakiety mogą być spakowane w skompresowanym pliku .jar lub rzeczywiście, może być kilka plików jar spakowanych w „bibliotece” . Biblioteka lub grupa bibliotek często tworzy „ramy” .
Jeśli Twój kod wymaga kodu napisanego przez innych, możesz zaimportować je do swojej klasy za pomocą
import
polecenia. Jednak to polecenie samo w sobie jest niewystarczające, ponieważ kompilator lub IDE muszą wiedzieć, gdzie znajdują się te klasy. Określasz to w ścieżce budowania .Z
classpath
drugiej strony informuje maszynę JVM obsługującą aplikację, gdzie znaleźć wszelkie zależności podczas rzeczywistego wykonywania kodu.Uwaga: Classpath jest używany przez maszynę JVM.
Ścieżka kompilacji jest używana przez IDE / kompilator i jest środkiem do tworzenia ścieżki klas ze środowiska programistycznego. Konfigurując ścieżkę kompilacji za pośrednictwem środowiska IDE, konfigurujesz również w projekcie ukryty plik o nazwie .classpath. Służy do udostępniania ścieżki klas do maszyny JVM podczas wdrażania.
źródło
Classpath ( z Wikipedii ):
Mówiąc najprościej - podczas działania programu JVM ładuje klasy tylko w razie potrzeby. Kiedy klasa jest potrzebna, JVM będzie zależało od ścieżki klas, aby wiedzieć, skąd załadować kod bajtowy (tj.
.class
Pliki).Z drugiej strony ścieżka kompilacji jest zwykle używana przez środowisko IDE, takie jak Eclipse, aby wiedzieć, gdzie szukać dodatkowych bibliotek, które są wymagane do skompilowania kodu źródłowego projektu. Ścieżka kompilacji nie jest używana w czasie wykonywania.
źródło