2

Eclipse Juno で Websphere 用のポートレットを構築しようとしています。これまでのところすべてが機能しており、WPS7 で WAR ファイルをビルドして実行しても問題ありません。

しかし、私の JSP エディターでは、多くの警告が表示されます。

Can not find the tag library descriptor for "/WEB-INF/tld/portal.tld"

私の JSP ファイルでは、通常の taglib 行を使用しています。

<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%>

このタグを定義する実際の JAR ファイルを eclipse に持ち込む必要があるのか​​、それとも見逃しているものがあるのか​​ 疑問に思っています。

4

3 に答える 3

2

Portal 8 のインストールを使用していますが、構造は似ているはずです。

[ポータル インストール ルート]\Portal Server\base\wp.engine.tags\shared\app\wp.engine.tags.jar に、portal.tld を含む jar が見つかりました。

ただし、より完全なソリューションとして、ベース フォルダー全体をクラスパスに含めることをお勧めします。RAD がポートレット プロジェクトに追加するサーバー ランタイムには、基本的なセットアップの一部として、そのフォルダーの多数の jar ファイルが含まれています。また、[WAS インストール ルート]\App Server\plugins からの多くの jar も含まれています。RAD の代わりに Eclipse を使用しているだけなので (ポータル サーバーの jar の管理に役立ちます)、これらすべての jar を管理するためのユーザー ライブラリを作成することをお勧めします。

于 2012-11-19T20:15:17.783 に答える
2

このエラー メッセージが表示される理由は、taglib引用した宣言とは関係ありません。後者は標準ポートレット・タグ・ライブラリー (JSR-168) を指しますが、前者は WebSphere Portal 固有の機能を使用するために必要な WebSphere Portal の独自タグに関係しています。

私はそれportal.tldがあなたによって言及されていると推測していますweb.xml

RAD でポートレットを開発する場合、IBM の RAD プラグインは、WebSphere Portal ランタイム全体を動的 Web プロジェクトのクラスパスに接続することにより、この TLD ファイルが JSP コンパイラーに認識されるようにします。

Eclipse Juno では、これは自動的に行われません。それを含む JAR ファイル (WebSphere Portal のリリースごとに異なる可能性があります) を見つけて、コンパイル時のクラスパスに追加する必要があります。

web.xmlそうは言っても、そもそもなぜその宣言が必要なのかを考えてみてください。Portal 7.0 では、IBM のタグ ライブラリのほとんどを URI で参照できるようになり、TLD ファイルを具体的に指定する必要がなくなりました。

于 2012-11-19T20:35:18.900 に答える
1

RAD/Eclipse で、Portal 8 スタブと開発者ツールがインストールされていると仮定すると、[プロジェクト] -> [プロジェクト プロパティ] -> [Java ビルド パス] に移動し、[ライブラリ] タブに移動して、[ライブラリの追加] -> [サーバー ランタイム] に移動すると、次のように表示されます。 「Websphere Portal 8」またはインストールしたバージョン...そのライブラリが追加されると、URI の問題は解決されます。これにより、基本的に、ポータル インストール全体のすべての jar ファイルがビルド パスに追加されます。スタブと開発ツールがインストールされていない場合、または別の IDE を使用している場合は、jar ファイルをビルド パスに手動で追加する必要があります ....

于 2013-06-26T15:01:30.833 に答える