web-dev-qa-db-ja.com

APRベースのApache Tomcatネイティブライブラリの互換性のないバージョン[1.1.34]

組み込み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]

このエラーを回避するために、そこで(およびどこで)何を修正する必要があるか説明してください。

8
alexanoid

私にとって答えは不完全であり、グーグルが研究のために見つけた最初のスレッドなので、私にとって問題を解決するものを言います。

https://Tomcat.Apache.org/download-native.cgi からApache Tomcatネイティブライブラリをダウンロードしてから、binフォルダーのコンテンツ(tcnative-1.dllを含む)を私が使用するjdk binフォルダー。

それが誰かを助けることを願っています!

ソース: 起動時のAPRバージョン不一致エラー

5
Goldwynn

これは、Tomcat(CATALINA_HOME)がインストールされたシステムが、Spring Boot Tomcatとライブラリを競合しているためです。このエラーを取り除くには、必要なバージョンのネイティブライブラリをダウンロードし、binフォルダーのtcnative-1.dllに置き換えます

ダウンロードリンク: https://archive.Apache.org/dist/Tomcat/tomcat-connectors/native/

3
Alien

同じことが私にも起こりました。私の場合、マシンにTomcat 8.0.37があったため、CATALINA_HOME。 Spring Boot(私の場合は2.0.5.RELEASE)が使用しているTomcatのバージョン(8.5.34でした)を確認し、古いバージョンをCATALINA_HOMEもちろん。その後、警告は消えました。

私のアプローチは、いくつかのネイティブTomcatライブラリをダウンロードしてJDKの近くに配置するよりも優れていると思います。

2

おそらく(不適切に)Tomcatをアップグレードしたため、ネイティブライブラリの古いバージョンがあります。 Tomcatのバージョンに同梱されているバージョンを使用する必要があります。

Tomcatは、bin/ディストリビューションのディレクトリ。どこかに古いバージョンが座っていないことを確認してください。 libtcnativeを最初から再構築し、組み込みアプリケーションで再バンドルする必要がある場合があります。

または、非ネイティブソリューションを使用して、TomcatのNIOコネクタに切り替えることを検討してください。

1