我在为 WebSphere 7 开发应用程序时遇到问题。设置如下。我有一个基于 maven 的项目,由 RAD 7.5.5.2 中开发的多个模块组成
其中一个模块是使用 JSP 并依赖于 taglib 的普通 Web 应用程序(war)。
Taglib 本身是另一个模块 - 纯 java 项目,只有两个文件,taglib 描述符和 META-INF/tags 下的标记文件。
当我构建 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 专家(仅与这个野兽打交道一周),我可能错过了一些明显的设置。请提出任何可能解决此问题的建议。