組み込みTomcatサーバーでのSpring Boot 2.0.0.M6アプリケーションの起動中のopenSUSE Leap 42.3サーバーで、ログに次のエラーが表示されます。
ERROR 30471 --- [main] o.a.catalina.core.AprLifecycleListener: An incompatible version [1.1.34] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
このエラーを回避するために、そこで(およびどこで)何を修正する必要があるか説明してください。
私にとって答えは不完全であり、グーグルが研究のために見つけた最初のスレッドなので、私にとって問題を解決するものを言います。
https://Tomcat.Apache.org/download-native.cgi からApache Tomcatネイティブライブラリをダウンロードしてから、binフォルダーのコンテンツ(tcnative-1.dllを含む)を私が使用するjdk binフォルダー。
それが誰かを助けることを願っています!
ソース: 起動時のAPRバージョン不一致エラー
これは、Tomcat(CATALINA_HOME)がインストールされたシステムが、Spring Boot Tomcatとライブラリを競合しているためです。このエラーを取り除くには、必要なバージョンのネイティブライブラリをダウンロードし、binフォルダーのtcnative-1.dllに置き換えます
ダウンロードリンク: https://archive.Apache.org/dist/Tomcat/tomcat-connectors/native/
同じことが私にも起こりました。私の場合、マシンにTomcat 8.0.37があったため、CATALINA_HOME
。 Spring Boot(私の場合は2.0.5.RELEASE)が使用しているTomcatのバージョン(8.5.34でした)を確認し、古いバージョンをCATALINA_HOME
もちろん。その後、警告は消えました。
私のアプローチは、いくつかのネイティブTomcatライブラリをダウンロードしてJDKの近くに配置するよりも優れていると思います。
おそらく(不適切に)Tomcatをアップグレードしたため、ネイティブライブラリの古いバージョンがあります。 Tomcatのバージョンに同梱されているバージョンを使用する必要があります。
Tomcatは、bin/
ディストリビューションのディレクトリ。どこかに古いバージョンが座っていないことを確認してください。 libtcnative
を最初から再構築し、組み込みアプリケーションで再バンドルする必要がある場合があります。
または、非ネイティブソリューションを使用して、TomcatのNIOコネクタに切り替えることを検討してください。