Mam 3 pliki jar i plik .java, który zależy od tych plików jar. Jak skompilować plik .java z tymi plikami jar przy użyciu wiersza polecenia?
java
jar
command-prompt
user1177567
źródło
źródło
java -cp ".;magic.jar" Foo
jest okjava Foo -cp ".;magic.jar"
nie jest.Odpowiedzi:
Pliki jar można dołączyć do polecenia „javac” za pomocą opcji „-cp”.
Zamiast „-cp” możesz też użyć „-classpath”
Możesz dołączyć pliki jar za każdym razem, gdy kompilujesz, ustawiając poprawnie zmienną środowiskową „CLASSPATH”. Zmienna środowiskowa będzie przechowywać ścieżkę do plików JAR i klas, które mają być używane do kompilowania / wykonywania dowolnego pliku java. Nie będziesz musiał dołączać poszczególnych słoików za każdym razem, gdy kompilujesz plik.
Różne komputery mają różne metody ustawiania ścieżki klas jako zmiennej środowiskowej. Polecenia dla systemu Windows, Linux itp. Są różne.
Więcej szczegółów znajdziesz na tym blogu .
źródło
javac -classpath ".:/home/path/mail.jar;/home/path/servlet.jar" MyJavaFile.java
pracował dla mnie. Używałem mac. Czytałem gdzieś, że ':' jest używane dla unixa..:
zrobić? przepraszam, jeśli to głupie pytanie, ale nie jest to dla mnie oczywiste.javac -cp .:/home/path/mail.jar:/home/path/servlet.jar; MyJavaFile.java
Spróbuj w systemie Linux
PRZYKŁAD: -
źródło
.:/jars
zastąpieniem katalogiem, w którym znajdują się moje pliki JAR, pojawia się komunikat o błędziejavac: invalid flag: /location/of/first/jar/file.jar
.Składnia będzie działać na komendzie dos w systemie Windows:
źródło
Spróbuj dodać wszystkie pliki jar zależności do ścieżki klasy za pomocą ustawień zmiennych środowiskowych lub wykonaj poniższe czynności:
Ustaw ścieżkę klas dla plików jar zależności, jak pokazano poniżej:
set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;
Teraz możesz skompilować plik java. (Polecenie:
javac YourJavaFile.java
)Mam nadzieję, że to rozwiąże problem z zależnościami.
źródło
Poniżej znajdują się kroki,
Skopiuj wszystkie pliki jar i plik .java do tego samego folderu (łatwo będzie wymienić nazwy plików zamiast wymieniać długą ścieżkę. Możesz jednak przechowywać pliki jar i .java w osobnych folderach).
Kompilować,
Wykonać,
Mam nadzieję, że to pomoże!
źródło
Spowoduje to utworzenie pliku .class:
Spowoduje to wykonanie pliku klasy:
źródło
javac -classpath "/home/scorncer/Downloads/spark-core-2.3.jar" MyFile.java
i ** uruchomićjava -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile.java also i tried java -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile
Spróbuj tego.
źródło
Musisz określić zależności w czasie kompilacji, a także w czasie wykonywania
Aby skompilować, użyj tego formatu
Przykład:
źródło
czasami działa następująca zmiana:
Uwaga: W systemie Windows.
$CLASSPATH
Zamiast tego do korzystania z systemu Linux .źródło
źródło
Jeśli używasz Ubuntu:
Przejdź do lokalizacji folderu (poza strukturą pakietu)
Uwaga: zobacz lokalizacje plików i nazwy pakietów
źródło
Dla Windowsa
źródło