ポートレットを開発したとき、および jsp ページを作成したときに使用したもの:
<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
しかし、Eclipse はhttp://java.sun.com/portlet_2_0のタグ lib 記述子が見つからないというエラーを表示します。
tld ファイルを使用せずにこの問題を解決するにはどうすればよいですか?
ポートレットを開発したとき、および jsp ページを作成したときに使用したもの:
<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
しかし、Eclipse はhttp://java.sun.com/portlet_2_0のタグ lib 記述子が見つからないというエラーを表示します。
tld ファイルを使用せずにこの問題を解決するにはどうすればよいですか?
私の場合、Liferay Portal を使用しているため、このエラーを回避するために次のように変更しました。
<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet">
に
<%@ taglib uri="/WEB-INF/tld/liferay-portlet.tld" prefix="portlet" %>
およびファイル「WEB-INF/liferay-plugin-package.properties」にあります。この行を追加しました
portal-dependency-tlds=/WEB-INF/tld/liferay-portlet.tld
これはLiferayのスタッフによって提案されています(リンク)
このエラーは、指定された ( http://java.sun.com/portlet_2_0 ) タグ URIを解決するタグ ライブラリ記述子 (TLD) を Eclipse が見つけられないことを意味します。ポータル コンテナー (Gatein、Pluto、Liferay など) に対応する TLD を GitHub からダウンロードして、WEB-INF フォルダーに配置できます。Gatein 固有の tld は、ここにあります。また、プロジェクト パスに portlet_2.0 jar があることを確認してください。
portlet-2.0.jarをダウンロードして、プロジェクト パスに追加できます。ただし、Liferay 向けに開発している場合liferay-portlet.tld
は、ポートレット 2.0 仕様の を使用することをお勧めします。
これを WEB-INF フォルダーの web.xml に追加すると、Eclipse エラー メッセージが削除されます。
<web-app>
<taglib>
<taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri>
<taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
</taglib>
</web-app>
それが役に立てば幸い。