IBMWebSpherePortal7中portlet标记库的定义JAR在哪里?

IBMWebSpherePortal7中portlet标记库的定义JAR在哪里?,websphere,websphere-portal,Websphere,Websphere Portal,我正试图在EclipseJuno中为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"

我正试图在EclipseJuno中为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中,或者是否遗漏了其他内容。

我使用的是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 server JAR),您可能需要创建一个用户库来管理所有这些JAR。

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

我猜您的
web.xml
引用了
portal.tld

在RAD下开发Portlet时,IBM的RAD插件通过将WebSpherePortal运行时(全部)附加到动态Web项目的类路径,确保JSP编译器知道这个TLD文件

在EclipseJuno下,这不是为你做的。您必须找到包含它的JAR文件(可能因WebSpherePortal版本而异),并将其添加到编译时类路径中


已经说过,首先,您可能需要考虑为什么需要代码<代码> Web.XML/Cult>声明。在Portal7.0中,大多数IBM的标记库都可以通过它们的URI来引用,而不必特别提到TLD文件。

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