Oznacza dokładnie to, co jest napisane: „Biblioteka natywna Apache Tomcat oparta na APR, która zapewnia optymalną wydajność w środowiskach produkcyjnych, nie została znaleziona w java.library.path”
Biblioteka, o której mowa, jest dołączona do biblioteki DLL specyficznej dla systemu operacyjnego (tcnative-1.dll) ładowanej za pośrednictwem JNI. Pozwala tomcatowi korzystać z funkcji systemu operacyjnego, które nie są dostępne w Java Runtime (takich jak sendfile, epoll, OpenSSL, status systemu itp.). Tomcat będzie działał bez niego, ale w niektórych przypadkach będzie działał szybciej z natywnymi bibliotekami.
Jeśli naprawdę chcesz, pobierz plik tcnative-1.dll
(lub libtcnative.so
dla systemu Linux) i umieść go w folderze bin, a następnie dodaj właściwość systemową do konfiguracji uruchamiania serwera tomcat w eclipse.
-Djava.library.path=c:\dev\tomcat\bin
Jeśli nie masz serwera produkcyjnego, nie przejmuj się tą wiadomością. Jest to biblioteka służąca do poprawy wydajności (w systemach produkcyjnych). Z biblioteki natywnej opartej na Apache Portable Runtime (APR) dla Tomcat :
źródło
Na RHEL Linux wystarczy wydać:
/ Uwaga: w zależności od Twojej architektury pakiet 64-bitowy lub 32-bitowy może mieć różne rozszerzenia /
To wszystko. Następnie w pliku dziennika znajdziesz następną wiadomość informacyjną:
Wszystkie operacje będą zauważalnie szybsze niż wcześniej.
źródło
yum install tomcat-native
naprawiono to dla mnieInstalacja natywnej biblioteki na serwerze Ubuntu za pomocą:
Jeśli to nie zadziała, należy zainstalować tomcat-native
Zainstaluj Oracle java7:
Zainstaluj tomcat apr:
Zainstaluj tomcat tomcat-native:
źródło
Właśnie przez to przeszedłem i skonfigurowałem to z następującymi elementami:
Ubuntu 16.04
Tomcat 8.5.9
Apache2.4.25
KWI 1.5.2
Natywny dla Tomcat 1.2.10
Java 8
Oto kroki, których użyłem na podstawie starszych postów tutaj:
Zainstaluj pakiet
Sprawdź, czy te pakiety są zainstalowane
Zainstaluj pakiet
sudo apt-get install libssl-dev
Zainstaluj i skompiluj Apache APR
sprawdź instalację
powinieneś zobaczyć skompilowany plik jako
libapr-1.la
Pobierz i zainstaluj pakiet źródłowy Tomcat Native
zweryfikuj JAVA_HOME
Edytuj plik /opt/tomcat/bin/setenv.sh z następującym wierszem:
uruchom ponownie tomcat
sudo service tomcat restart
źródło
.rodata' can not be used when making a shared object; recompile with -fPIC /usr/local/ssl/lib/libssl.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make[1]: *** [libtcnative-1.la] Error 1
na Debianie 8 naprawiam to poprzez instalację
libapr1-dev
:źródło
Miałem też ten problem. Jeśli zrobić mają biblioteki, ale nadal mają ten błąd, może to być błąd konfiguracji. W Twoim
server.xml
może brakować następującego wiersza:(Alternatywnie można to skomentować). To
<Listener>
, podobnie jak inni słuchacze, jest dzieckiem z najwyższego poziomu<Server>
.Bez tej
<Listener>
linii nie ma próby załadowania biblioteki APR, więc ustawieniaLD_LIBRARY_PATH
i-Djava.library.path=
są ignorowane.źródło
W systemie Mac OS X:
Następnie dodaj go do argumentów tomcat eclipse ( kliknij dwukrotnie Serwer> Otwórz konfigurację uruchamiania > karta Argumenty> argumenty maszyny wirtualnej )
źródło
Miałem problem z aktualizacją Java 8 do 11 . Po dodaniu tej zależności moja aplikacja uruchomiła się bez problemu:
źródło
Miałem ten sam problem, gdy tomсat nie mógł znaleźć klasy. Spróbuj wyświetlić inne pliki dziennika. Czasami w różnych plikach dziennika pojawia się błąd „Brak definicji klasy”:
źródło
Jeśli nie masz biblioteki Tomcat Native, zainstaluj ją za pomocą:
a jeśli nadal jest stara wersja, zaktualizuj ją za pomocą:
źródło
Mój problem polegał na dodaniu biblioteki z tomcat do ścieżki klasy zaćmienia, po prostu zamierzam kliknąć zaćmienie prawym przyciskiem myszy i
debug configuration -> classpath -> Add External JARs
dodać wszystkie pliki jars zapache-tomcat-7.0.35\bin
tego.źródło