IBM Websphere Portal 7中portlet标记库的定义JAR在哪里?

时间:2012-11-19 09:06:57

标签: websphere websphere-portal

我正在尝试在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文件带入我的日食中,或者是否还有其他错过的内容。

3 个答案:

答案 0 :(得分: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服务器jar),您可能需要创建一个用户库来管理所有这些jar。

答案 1 :(得分:2)

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

我猜你的portal.tld引用web.xml

在RAD下开发portlet时,IBM的RAD插件通过将WebSphere Portal运行时(完整地)附加到Dynamic Web Project的类路径,确保JSP编译器知道此TLD文件。

在Eclipse Juno下,这不适合你。您将不得不找到包含它的JAR文件(可能从一个WebSphere Portal版本到另一个版本不同)并将其添加到编译时类路径中。

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

答案 2 :(得分:1)

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