1. ホーム
  2. java

[解決済み] Eclipse のビルドパスのネストエラー

2022-06-04 08:52:41

質問

私は、授業で簡単な JSP/Servlet/Tomcat の Web アプリに取り組んでいます。教授は、デフォルトの動的な Web プロジェクト構造とはわずかに異なるフォルダ構造を使用するよう求めました。webcontent フォルダーを使用するのではなく、src/main/java と src/main/webapp の下にすべてのソース コードがあることを望んでいます。

アプリを実行すると、ウェルカム ファイルは問題なく表示されますが、Servlet にアクセスしようとすると、次のようなメッセージが表示されます。

 Http 500 SEVERE: Allocate exception for servlet InitDb

java.lang.ClassNotFoundExceptionが発生しました。ビルドパスのエラーであることは間違いないのですが。ビルドパスにfinal/srcがあるのですが、警告が表示されます。

"Cannot nest 'final/src/main/webapp/WEB-INF/classes' inside 'final/src'. To enable the    nesting exclude 'main/' from 'final/src'

<イグ

デプロイメントアセンブリにこのようなものがあります。

<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> 

main/を除外すると警告は消えますが、問題は解決しません。何かアドバイスを頂ければ幸いです。ありがとうございます。

どのように解決するのですか?

新しいプロジェクトを作成しても、同じ問題が発生しました。 私は Eclipse で Java プロジェクトを作成し、それを mavenize して、java ビルド パスのプロパティで次のものを削除していました。 src/ を削除し src/main/javasrc/test/java . Mavenのアップデートを実行すると、ネストされたパスエラーが発生することがありました。

そして、私はようやく気づきました - なぜなら、私は以前にそのエントリを見たことがなかったからです - そこに <sourceDirectory>src</sourceDirectory> の行があることに気づきました。それを削除したら解決しました。