2015-04-03 12 views

Odpowiedz

4

one są takie same, sprawdź http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

-classpath classpath cp classpath Określa listę katalogów, plików JAR i ZIP do wyszukiwania plików klasowych. Oddzielaj wpisy ścieżek klas od średników (;). Określanie opcji -classpath lub -cp zastępuje dowolne ustawienie zmiennej środowiskowej CLASSPATH: .

Jeśli -classpath i -cp nie są używane, a CLASSPATH nie jest ustawione, ścieżka klasy użytkownika składa się z bieżącego katalogu (.).

Jako specjalny wygody elemencie ścieżki klasy, która zawiera bazową imię * jest uznane za równoważne z określeniem listę wszystkich plików w katalogu z rozszerzeniem .jar lub JAR. Program Java nie może odróżnić dwóch wywołań.

Na przykład, jeśli mydir katalog zawiera a.jar i b.JAR, wówczas klasa element ścieżki mydir/* jest rozszerzona do A.jar: b.JAR, z wyjątkiem tego kolejność plików jar jest nieokreślona . Wszystkie pliki JAR w określonym katalogu , nawet ukryte, znajdują się na liście. Ścieżka klasy zawierająca po prostu * rozszerzenie do listy wszystkich plików JAR w katalogu bieżącym. Zmienna środowiskowa CLASSPATH, gdzie zdefiniowano , zostanie podobnie rozszerzona. Każda ekspansja wieloznaczna ścieżki klas występuje przed uruchomieniem maszyny wirtualnej Java. Żaden program w języku Java nie zobaczy nigdy żadnych dzikich kart, które nie zostaną rozwinięte, z wyjątkiem zapytania o środowisko. Na przykład, wywołując System.getenv ("CLASSPATH").

2

Nie ma absolutnie żadnej różnicy. Po prostu informuje kompilator Java, który ma używać niestandardowej ścieżki klasy określonej w argumencie wiersza poleceń.

Tak więc -cp i -classpath są w pełni równoważne.

Możesz znaleźć więcej informacji na stronie javac - Java programming language compiler.

1

Nie ma. Oba są opcjami do ustawienia ścieżki klas. Zobacz man page.

Powiązane problemy