JDK11 Tomcat9春のアプリケーションにjavaxのランタイムエラーを修正する方法

アダム:

Tomcat9に私のアプリを起動したとき、私は直面しています特定のエラー。春バージョン:5.1.5.RELEASE:

SEVERE: Error configuring application listener of class [org.springframework.web.context.request.RequestContextListener] java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceRef

すべてのMavenの依存関係を追加することをお勧めすることをこのエラーの複数回答があります。私は、これらの依存関係を追加しました:

pom.xml

私のビルド・パス:

ここでは、画像の説明を入力します。

WebServiceRefクラスは、パッケージエクスプローラで発見されました。

ここでは、画像の説明を入力します。

コンソールでこのエラーはショーTomcat9上のアプリを起動します。ここではより多くのスタックトレースのです。ここでは、画像の説明を入力します。

SEVERE: Error configuring application listener of class [org.springframework.web.context.request.RequestContextListener] java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceRef at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:303) ...more stuf.... java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

すべてのヘルプや提案をいただければ幸いです!

アップデート1:ここではWEB-INF / libの下に最終の.warビルドにコピーされますいくつかの.jarファイルがあります。4つの新しいMavenの依存関係とそのバージョンはここにありますが、可能性の重複.jarファイルもあります。

ここでは、画像の説明を入力します。

Update 2: Copying the jaws-api jar directly into my Tomcat Classpath resolved the runtime error... So the app is launching now, but how would I overcome this issue when actually deploying the .war file?

ここでは、画像の説明を入力します。

Adam :

This issue came down to Docker Desktop (Windows) interfering with Tomcat and specifically Tomcat's admin port 8006, which forced me to change the port number to allow Tomcat to launch (from 8006 to 8007 for example). I had an old Tomcat container at one point in time, and this may have been fired up when my computer started via Docker Desktop without me realizing it.

Steps completed to fix the issue assuming your pom.xml has the necessary dependencies.

  1. Stop Docker Desktop
  2. Use the latest JDK11 build and update JAVA_HOME as needed
  3. デフォルトのTomcat管理サーバのポートを復元8006
  4. 再発行/再起動Tomcatサーバー

私が説明したように、ほとんどの場合、この問題が解決されるだろうと思い、ここで必要な依存関係を持つのpom.xmlを更新するから。私の場合、それは完全な環境だったし、いくつかの理由でドッカーDesktopはアクセスからTomcatを防止顎-API-2.3.1.jar、実行時にファイルを。この.jarファイルにアクセスするには、Tomcatのできないことは、上記の質問に私の「アップデート2」を介して確認されました。

私のpom.xmlは、以下の項目を必要とすることになりました。 ここでは、画像の説明を入力します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=167424&siteId=1