有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java WebSphere+RAD+Taglib

我在为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管理控制台时,我看到WebSphere可以识别taglib项目。但是,它没有打包为JAR,而是将项目的路径添加到webapp类路径中。在

```
Troublehooting -> Class Loader Viewer -> Module - com.ibm.ws.classloader.CompoundClassLoader
```

我看到我的taglib的条目:

```
file:/D:/Data/MyProject/UIComponents/target/classes
```

换言之,在开发周期中,WS似乎并不关心将项目打包为JAR,然后它就不会被作为标记库

有没有办法告诉RAD(或WebSphere)“请在将此项目添加到类路径之前将其打包为JAR”?任何使此设置工作的替代方法也值得赞赏。我不能在开发过程中一直手动复制jar——我们都希望事情能够自动运行

免责声明:我不是WebSphere专家(与此beast合作仅一周),我可能错过了一些明显的设置。请提出任何可能解决此问题的建议


共 (3) 个答案

  1. # 1 楼答案

    你有没有试图在你的战争中加入manifest

  2. # 2 楼答案

    将taglib打包为maven jar并安装到本地服务器。m2存储库。然后在主项目的pom中引用依赖项。它将被拉进来包装。如果它是为本地开发重新解决的,则可能是因为工作区解析已打开

    此外,在基于Maven的项目中向WEB-INF/lib添加JAR不是最佳做法,因为您已经绕过了Maven的主要目的,即控制构建项目所需的依赖关系

  3. # 3 楼答案

    据我所知,RAD是在eclipse平台上制作的。我知道使用maven可以创建构建jar文件并放入本地存储库的工件。其他模块可以通过M2_REPO变量引用该JAR。然后,您必须坚持使用maven,并且必须使用maven插件到eclipse中,以帮助将maven集成到eclipse中。但是考虑用project builder and ant配置项目的选项。然后,您可以轻松地在构建时运行ant目标,以便在部署之前制作JAR。这种技术不仅在EclipseIDE中使用,而且在其他IDE中也使用。在项目构建之前或之后运行ant目标是非常宝贵的特性