アプリケーション サーバーとして Tomcat を使用して Java Web アプリケーションをセットアップするとき、ライブラリがいつ利用できるかについてよく混乱します。スタック オーバーフローに関するいくつかの議論を通じて、一部のライブラリ (.jar) ファイルは実行時に利用可能であり、他のファイルはコンパイル時に利用可能であることを知りました。多くの場合、エラーが発生し、試行錯誤によって解決し、アプリケーションが実行またはコンパイルされるまで、jar ファイルを別のディレクトリに配置します。最近、WEB-INF/lib フォルダーを介して実行時に .jar ライブラリを使用できるようにすることができると指摘されました。私はこれについて考え始め、いくつかの質問がありました。過去にこのトピックについて読んだことがありますが、情報を簡単に理解して保持できるコンテキストにまとめた情報源は見つかりませんでした。
プロジェクトに設定できるコンパイル時クラスパスと実行時クラスパスはありますか?
を。クラスパスは、実行時に利用可能なライブラリを議論するための適切な用語ですか?
実行時にライブラリを利用できるようにする唯一の方法は WEB-INF/lib ですか? Tomcat の lib フォルダは実行時に利用できますか?
これはクラスローダーとどのように関係していますか? クラスローダーの階層が作成されていることを知っています。これらはランタイム操作専用ですか?