JAR (Java App) 中的标记文件 (.tag) 未在 RAD 7 中获取

Posted

技术标签:

【中文标题】JAR (Java App) 中的标记文件 (.tag) 未在 RAD 7 中获取【英文标题】:Tagfiles (.tag) in JAR (Java App) not picked up in RAD 7 【发布时间】:2011-08-17 18:31:26 【问题描述】:

我正在使用 Websphere 6.1.0.23 和 RAD7。我有一个 Java 应用程序 (SearchJava),它在 src/META-INF/tags 下有一个标记文件 cluster.tag。我在 src/META-INF/tld 下也有 search.tld,其中有

    <taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
  version="2.0"> 
    <tlib-version>2.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name></short-name>
    <uri>http://x.y.z/search/tags</uri>
    <tag-file>
        <name>cluster</name>
        <path>/META-INF/tags/cluster.tag</path>
     </tag-file>
</taglib>

我有一个 Web 应用程序 (SearchWeb),它依赖于我的 java 应用程序(使用 J2EE 模块依赖项配置为 Web 库)。当我在 RAD 中启动服务器时,它可以找到 tld,但似乎找不到标记文件。但是,当我部署到独立的 Websphere 6.1 实例(即没有 RAD)时,它可以工作。这是我看到的错误。

[04/05/11 11:20:54:359 IST] 00000016 WebGroup      A   SRVE0169I: Loading Web Module: SearchWeb.
[04/05/11 11:20:54:703 IST] 00000016 jsp           E com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage Failed to parse Tag Library [search.tld]: JSPG0036E: Failed to find resource /META-INF/tags/cluster.tag
[04/05/11 11:20:54:703 IST] 00000016 jsp           W com.ibm.ws.jsp.taglib.TagLibraryCache loadLooseLibTagFiles jsp error failed to parse loose library tld . location = [C:\CCRC\common_apps\SearchJava\bin/META-INF/tld]
                                 com.ibm.ws.jsp.JspCoreException: com.ibm.ws.jsp.JspCoreException: JSPG0036E: Failed to find resource /META-INF/tags/cluster.tag
    at com.ibm.ws.jsp.taglib.TldParser.parseTLD(TldParser.java:251)
    at com.ibm.ws.jsp.taglib.TagLibraryCache.loadLooseLibTagFiles(TagLibraryCache.java:554)
    at com.ibm.ws.jsp.taglib.TagLibraryCache.loadLooseLibTagFiles(TagLibraryCache.java:589)
    at com.ibm.ws.jsp.taglib.TagLibraryCache.loadLooseLibTagFiles(TagLibraryCache.java:589)
    at com.ibm.ws.jsp.taglib.TagLibraryCache.<init>(TagLibraryCache.java:119)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.<init>(AbstractJSPExtensionProcessor.java:169)
    at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionProcessor.<init>(WASJSPExtensionProcessor.java:66)
    at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionFactory.createProcessor(WASJSPExtensionFactory.java:189)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionFactory.createExtensionProcessor(AbstractJSPExtensionFactory.java:75)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeExtensionProcessors(WebApp.java:1191)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:345)
    at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)
    at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)
    at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
    at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
    at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1165)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:832)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)

有人知道如何让它工作吗?我可以在 RAD 中配置什么吗? 谢谢

【问题讨论】:

【参考方案1】:

这周我也遇到了同样的错误,我认为问题是因为RAD使用了工作空间资源,你可以将服务器的配置更改为使用服务器资源而不是工作空间,然后它就可以正常工作了。

在服务器中双击,在 服务器视图 部分 WebSphere Application Server 的发布设置 选择 Run server with resources on Server

【讨论】:

以上是关于JAR (Java App) 中的标记文件 (.tag) 未在 RAD 7 中获取的主要内容,如果未能解决你的问题,请参考以下文章

Azure 应用服务App Service 部署txt静态文件和Jar包在不同目录中的解决办法

jar命令打包与java执行jar包

如何将java文件打包成jar

Gradle:使用依赖关系jar中的资源作为源集

java.io.FileNotFoundException: app/libs/perfectjpattern-core-1.0.0.jar (没有这样的文件或目录)

JAVA项目导出成.jar包的方法。