1. ホーム
  2. ウェブ開発

スタートアップエラー:spring クラスパス上に Spring WebApplicationInitializer の型が検出されない。

2022-02-22 06:15:18

mavenプラグインでプロジェクトを送った直後、1,618msで**warが終了しましたと表示され、ブラウザのログインを開いても404が見つかりません。

ログを見てください open catalina.2017-01-08.log と報告されたエラーを見つける [spring No Spring WebApplicationInitializer types detected on classpath

これは、"Spring did not detect WebApplicationInitializer types on classpath"という意味で、初期化型のエラーになるはずです。

ウェブの半分が言っている。 3.1.0 以降では、ロード前に WebApplicationInitializer の実装クラスをスキャンします。これは、以下の設定でオフにすることができます。
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"。
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"。
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"。 <スパン metadata-complete="true"。 >

でも、2.5を使っているので............。
---------------------------------------------------------------------------------------------------------------------------------- ------

<スパン metadata-complete="true"。 : web.xml ファイルでは、<metadata-complete 要素を使用して、アノテーションを探すかどうかを Web コンテナに通知します。もし、<metadata-complete を false に設定するか、ファイル内で <metadata-complete 要素を指定しない場合、デプロイ時にコンテナはアノテーションとウェブスライスをスキャンしてウェブアプリケーション用の有効なメタデータを構築しなければなりません。<metadata-complete が true に設定されている場合、Web アプリケーションのすべての設定情報は、デプロイメント記述子によって提供されます。


その後、ググってみると、spring mvc .xml file could not be foundと表示されました。web.xmlファイル内のspringmvc.xmlファイルにsを追加してみました。

<init-param>
    


 結果は、見つからないというエラーになります。


classpath:sspringmvc.xml

実際にファイルが読み込まれたことを意味します。

読み込みはspringmvc本体の初期化問題

<スパン スキャンしていない可能性があります。その後、私は

<スパン

<context:component-scan />

試してみましたが、見つかりませんでした。その後、追加してもまだ見つかりません。

まさか、spring mvc自体は問題ない。

コードの最終チェック 引き続きバグを探す , ログにデフォルトのコンストラクタが見つからず、ネストした例外がj ava.lang.NoSuchMethodException: online.**. **.entity.Blogger.<init>()] を根本原因としています。


理由が判明しましたね!!!!!空のコンストラクタが追加されていないのです。

パラメータ付きのコンストラクタを書きました。ということです。

なぜなら スプリング  mvc に渡されたオブジェクトのパラメータは、反射されないコンストラクタを持たなければなりません。

パラメータ付きコンストラクタが定義されていることが示されている場合は、現実的に非参照コンストラクタを定義しなければ、パラメータを束ねることはできません。パラメータ付きコンストラクタが定義されていない場合は、開発仕様に従って非参照コンストラクタを定義しなければならないはずです。


<スパン 解決策 空のコンストラクタを追加する、または参照用コンストラクタを削除する