我在開發我的WebSphere 7應用程序時遇到問題。以下是安裝程序。我有一個基於maven的項目,包含RAD 7.5.5.2開發的多個模塊。WebSphere + RAD + Taglib
其中一個模塊是一個使用JSP並依賴於taglib的普通Web應用程序(war)。
Taglib本身就是另一個模塊 - 只有兩個文件的純java項目,META-INF/tags下的taglib描述符和標記文件。
當我構建taglib jar並手動將其複製到Web應用程序的WEB-INF/lib中時,該標記將被正確拾取並呈現在頁面上。
當我通過RAD部署項目 - taglib沒有拿起。錯誤說:
```
com.ibm.ws.jsp.JspCoreException: JSPG0047E: Unable to locate tag library for uri http://juriy.com/myproject/jsp/my-taglib
```
打包爲JAR並添加到WEB-INF/lib中的相同標記庫完美工作。
當我打開WebSphere管理控制檯時,發現taglib項目被WebSphere識別。但是它不是打包成JAR,而是項目的路徑被添加到webapp類路徑中。在
```
Troublehooting -> Class Loader Viewer -> Module - com.ibm.ws.classloader.CompoundClassLoader
```
我看到我的taglib的條目:
```
file:/D:/Data/MyProject/UIComponents/target/classes
```
在它看起來像WS不小心打包項目作爲在開發週期JAR,然後它不拿起換句話說作爲taglib。
有沒有辦法告訴RAD(或WebSphere)「請將此項目打包爲JAR,然後再將其添加到類路徑中」?任何替代方式來使這個設置工作也表示讚賞。我無法在開發過程中一直手動複製jar - 我們都希望事情能夠自動工作。免責聲明:我不是一位WebSphere專家(僅與這位野獸合作一週),我可能錯過了一些明顯的設置。請提出任何可能解決此問題的建議。
您可以一次創建jar並將其作爲共享庫添加到websphere。由於您無需每次都部署它,現在可以訪問所有應用程序。 – 2013-03-16 19:49:33
感謝您的建議Gregory。我會用它作爲最後的手段 - 如果可能的話,想使它成爲「正確」的方式。 – Juriy 2013-03-17 12:22:23
您是否將您的項目打包在RAD內的EAR項目中? – 2013-03-20 17:00:58