2

我正在尝试在 Eclipse Juno 中为 websphere 构建 portlet。到目前为止一切正常,在 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

taglib您收到此错误消息的原因与您引用的声明无关。后者指的是标准的 Portlet 标记库 (JSR-168),而前者与 WebSphere Portal 的专有标记有关,需要使用 WebSphere Portal 特定的工具。

我猜这portal.tld是您的web.xml.

在 RAD 下开发 portlet 时,IBM 的 RAD 插件通过将 WebSphere Portal 运行时(整体)附加到动态 Web 项目的类路径来确保 JSP 编译器知道该 TLD 文件。

在 Eclipse Juno 下,这不是为您完成的。您必须找到包含它的 JAR 文件(可能会因一个 WebSphere Portal 版本而异)并将其添加到您的编译时类路径中。

话虽如此,您可能首先要考虑为什么需要该web.xml声明。使用 Portal 7.0,IBM 的大多数标记库都可以通过它们的 URI 来引用,而不必特别提及 TLD 文件。

于 2012-11-19T20:35:18.900 回答
2

我正在使用 Portal 8 安装,但结构应该相似。

我在 [Portal Install root]\Portal Server\base\wp.engine.tags\shared\app\wp.engine.tags.jar 找到了一个包含 portal.tld 的 jar

尽管作为一个更完整的解决方案,您可能希望将整个基本文件夹包含到您的类路径中。服务器运行时 RAD 添加到我的 portlet 项目中包括该文件夹中的许多 jar,作为基本设置的一部分。它还包括来自 [WAS Install root]\App Server\plugins 的许多 jar。由于您只是使用 Eclipse 而不是 RAD(这将有助于管理 Portal 服务器 jars),您可能希望创建一个用户库来管理所有这些 jars。

于 2012-11-19T20:15:17.783 回答
1

在 RAD/Eclipse 中,假设您安装了 Portal 8 Stubs 和 Developer Tools,您可以转到 Project->Project Properties -> Java Build Path,转到 Libraries 选项卡,转到 Add Library -> Server Runtime,您应该会看到“Websphere Portal 8”或您安装的任何版本......一旦添加了该库,您的 URI 问题应该得到解决。这实际上将整个门户安装中的每个 jar 文件添加到构建路径。如果您没有安装存根和开发工具,或者如果您使用的是其他 IDE,则需要手动将 jar 文件添加到构建路径...。

于 2013-06-26T15:01:30.833 回答