我在开发我的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