2012-11-19 41 views
2

我想在Eclipse Juno中爲websphere構建portlet。到目前爲止,一切正常,在WPS7上構建並運行WAR文件是可以的。IBM Websphere Portal 7中portlet taglibs的定義JAR在哪裏?

但在我的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中,或者是否有其他我錯過的東西。

回答

2

我正在使用Portal 8安裝,但結構應該類似。

我發現含有portal.tld在一個罐子[門戶安裝根] \門戶Server \基\ wp.engine.tags \共享\應用\ wp.engine.tags.jar

雖然作爲一個更完整的解決方案可能需要將整個基礎文件夾包含到您的類路徑中。作爲基本設置的一部分,服務器運行時RAD添加到我的portlet項目中,包含大量來自該文件夾的jar。它還包含許多來自[WAS Install root] \ App Server \ plugins的jar。由於您只是使用Eclipse而不是RAD(這將有助於管理Portal服務器罐),因此您可能需要創建用戶庫來管理所有這些罐。

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文件。

1

在RAD/Eclipse中,假設您安裝了Portal 8存根和開發工具,您可以轉到項目 - >項目屬性 - > Java構建路徑,到庫選項卡,轉到添加庫 - >服務器運行時,你應該看到「Websphere Portal 8」或者你已經安裝的任何版本......一旦添加了這個庫,你的URI問題應該被解決。這實質上是將整個門戶安裝中的每個jar文件添加到構建路徑中。如果您沒有安裝存根和開發工具,或者如果您使用的是其他IDE,則需要手動將jar文件添加到構建路徑中....

相關問題