当前位置: 首页 > 知识库问答 >
问题:

部署包含一个ApplicationLifecycleListener的ear时发生ClassNotFoundException

毋琪
2023-03-14

我有一个在Netbeans 7.4中定义的演示企业应用程序(ear),其中有一个Java EE模块(war)。

当我将war部署到Weblogic服务器时,部署成功,并执行ServletContextListener。

同一个war文件包含一个类,该类扩展了Application ationLifeycleListener。该类被定义为weblogic-application.xml中的侦听器

<listener>
  <listener-class>com.reddipped.sysstats.jmx.mbean.SysStatsMBeanLifeCycleListener</listener-class>
</listener>

在部署ear时,我得到以下异常:;

部署 /home/developer/NetBeansProjects/SysStats/dist/wldeploy/SysStats部署失败。消息是:java.lang.ClassNotFoundException:com.reddipped.sysstats.jmx.mbean.SysStatsMBeanLifeCycleListener /home/developer/NetBeansProjects/SysStats/nbproject/build-impl.xml:301:模块尚未部署。

战争包括在耳朵里。。。我错过了什么?包和类名在侦听器类中是正确的,甚至从war文件中复制和粘贴了名称。。

干杯Peter

[更新日期:2014年9月19日]

现在将项目拆分为企业应用程序、Web应用程序和一个jar文件。在部署时,现在有一个weblogic.management.DeploymentException:weblogic-application.xml中的类加载器结构元素正在引用此应用程序中不存在的模块-uri SysStatsMBean.jar

构建时,ear文件现在具有以下结构。

SysStats.ear
  - SysStats-war.war
      - META-INF
      - WEB-INF
        - classes
          - com
            - reddipped
              - sysstats
                - model
                  - SystemInfo.class
                  - SystemInfoCollector.class
                  - SystemInfoCollectorExecutor.class
  - SysStatsMBean.jar
          - com
            - reddipped
              - sysstats
                - model
                  - SysStats.class
                  - SysStatsMBeanLifeCycleListener.class
                  - SysStatsMXBean.class
  - META-INF
    application.xml
    MANIFEST.MF
    weblogic-application.xml

Weblogic应用程序。xml包含

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogic-application"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd     http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-    application/1.0/weblogic-application.xsd">
      <listener>
        <listener-    class>com.reddipped.sysstats.jmx.mbean.SysStatsMBeanLifeCycleListener</listener-class>
    </listener>

<classloader-structure>
    <module-ref>
        <module-uri>SysStats-war.war</module-uri>
    </module-ref>

    <module-ref>
        <module-uri>SysStatsMBean.jar</module-uri>
    </module-ref>

</classloader-structure>

</weblogic-application>    

共有1个答案

仲孙铭
2023-03-14

我们可以通过添加侦听器uri来解决此问题。虽然该类在默认包中可用,但必须显式将其添加到listener元素。

  <listener>
    <listener-class>com.reddipped.sysstats.jmx.mbean.SysStatsMBeanLifeCycleListener</listener-class>
    <listener-uri>SysStatsMBean.jar</listener-uri>
</listener>
 类似资料:
  • 这就是我想要达到的目标: 1 ear-package:all.ear 耳朵包包含两个war(耳朵根部的a.war和b.war) ear-package包含1个自制的jar C和许多第三方jar(在app-inf\lib下) 这个包需要部署在JBoss WildFly 8.2.1上 我使用的是Maven的ear插件(maven-ear-plugin,版本2.10.1)。我在pom中的配置如下所示(这

  • 我在Tomcat服务器上运行了一堆war文件。我将这些文件打包到一个ear中,并希望将其部署到WebLogic12c服务器上。在我进行部署时,Weblogic似乎试图预编译包中包含的所有jsp。它给了我以下错误: 我想jstl库有一些问题。我按照这个指南https://docs.oracle.com/cd/e24329_01/web.1211/e21049/configureJSFandJTSL.

  • 错误: 类ModeloApp: 接口EventOfacade.java(第一行,它真的很大): 感谢任何帮助

  • ear文件包含一个标准的JEE7SOAP Web服务,它使用JPA、JTA和eclipse Link2.5.2作为JPA引擎。

  • 我有一个模块化maven项目。在最高层,我有: 我已经尝试了我能想到的一切: 重新执行项目, 清理所有eclipse相关文件, 清理本地maven存储库, 正在清理服务器tmp文件夹并重新添加项目, 更新并安装maven 到目前为止没有任何帮助。 我有一个令人震惊的发现:我添加了一个名为“amodule”的模块。你猜怎么着,它得到了所需的罐子而其他的没有。似乎只有按字母顺序排列的第一个模块获得ja

  • 使用Tomcat 7.0.34、Primefaces 3.5和mojarra 2.1.25,我得到了以下文件“client.xhtml”: 文件client.inc(这是一个普通的xhtml,在几个xhtml文件中使用)如下:(简化) 和“客户端比林.inc”:(我在其他几个xhtml文件中使用) “clientBilling.inc”中的选项卡没有显示,但如果我将其从p:tabView上取下,就