/ / jak ustalić nazwę pakietu pliku jar w Javie - Java, import

jak określić nazwę pakietu pliku JAR w Javie - java, import

Właśnie zostałem wepchnięty na pokład javy.

W przypadku istniejącego pliku jar log4j.jar (http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip), Umieszczam go w podfolderze ./lib, mój źródłowy plik Java MyDemo.java znajduje się w folderze ./jms/example i używam jms.example jako nazwy pakietu i importuję klasy log4j do mojego pliku Java:

package jms.example;
import org.apache.log4j.*;

Podczas kompilacji za pomocą następującego polecenia pojawia się błąd:

c:JDKbinjavac.exe -cp ".;.liblog4j.jar" -d .classes -g .jmsexampleMyDemo.java

błąd: nie można znaleźć symbolu prywatny rejestrator końcowy;

Co jest źle w powyższym kodzie?

Ponadto zastanawiam się: * Czy nazwa pakietu jest powiązana ze ścieżką pliku? na przykład, umieszczam mój plik Java w jms / example, czy to jest powód, dla którego muszę nazwać pakiet jako jms.example?

Kiedy wyodrębniam inne dostarczone pliki jarprzez firmę zewnętrzną ścieżka do plików klas to jms / example, a przykładowy kod innej firmy używa jms.example jako nazwy pakietu i jest zgodny ze ścieżką klasy jms / example, czy muszą być spójne?

  • Podczas wypakowywania pliku log4j.jar ścieżka do jego plików klas to org / apache / log4j /, więc powinienem użyć polecenia „import org.apache.log4j.", aby zaimportować klasy? Jeśli nadal używam jms.example jako nazwy pakietu, czy import doda go do ścieżki klasy, tzn. faktycznie stanie się jms.example.org.apache.log4j.?

Odpowiedzi:

1 dla odpowiedzi № 1

Ścieżka nie może być ujęta w cudzysłów, tzn. Jest niepoprawna w poleceniu:

-cp ".;.liblog4j.jar"

Powinno być:

-cp .;.liblog4j.jar

0 dla odpowiedzi nr 2

Jeśli chodzi o pytanie:
Czy nazwa pakietu jest powiązana ze ścieżką pliku? na przykład, umieszczam mój plik Java w jms / example, czy to jest powód, dla którego muszę nazwać pakiet jako jms.example?
Nie, możesz użyć dowolnej nazwy pakietu, na przykład:

package yyyyjmsxxx.zzzzexamplexxx;