jre6/eclipse を使用し、javax.el をインポートしています。* エラー
パッケージ javax.el が存在しません [javac] import javax.el.*;
出てきます。これはJavaの一部ではないのですか?これがなぜなのか、誰か教えてください。ありがとうございます
EL(Unified Expression Language)は、JavaEE仕様の一部です。このライブラリは、JavaEEサーバーまたはJSPコンテナの一部として見つけることができます。実装は、 Glassfish、Apache、またはJUELとは別に入手することもできます。
これは通常、問題のサーブレット コンテナーの一部です (サーブレット コンテナーは、基本的に、抽象的な Java EE API のサーブレット/JSP/EL 部分の具体的な実装です)。通常、必要なライブラリは で利用できますServerInstallFolder/lib
。基本的に、コンパイル時のクラスパスに含める必要があります。
ただし、Eclipse で開発する場合は、問題のサーバーを [サーバー] ビューに統合し、動的 Web プロジェクトをそれに関連付けるのが通常の方法です。サーバー ビューで、新しいサーバーを追加し、既存のサーバー インストールを見つけます。次に、動的 Web プロジェクトの作成ウィザードで、これが一覧表示されます。プロジェクト プロパティの [サーバー]セクションで後で追加/変更することもできます。
それが完了すると、Eclipseはサーバーのライブラリをプロジェクトのビルドパスに自動的に含めます(コンパイルとランタイムの両方で使用されるIDE管理のクラスパスを読んでください)javax.el
。
私は日食を通して開発しています。私は現在動的 Web プロジェクトを使用していませんが、ant を使用してアプリを構築しています。
これはすでに含まれています(何年も前に忘れてしまいました):
次に、サーブレット コンテナーのセットアップに el-api.jar を追加します。
<path id="compile.cliClasspath">
<fileset dir="${cliLibDir}">
<include name="*.jar" />
</fileset>
<fileset dir="${cliTomcatlib}">
<include name="servlet-api.jar" />
<include name="jsp-api.jar" />
<include name="el-api.jar" />
</fileset>
</path>
サーブレット API は「Java の一部」ではありません。これは Java EE (「エンタープライズ エディション」) によって定義されており、サーブレット コンテナーによって提供されるライブラリで見つけることができます。
同じ問題がありました。jar tomcat/lib/el-api.jar を web-inf/lib フォルダーに含める必要があり、ant ビルドは正常に機能しました :)