减少 JEE 项目的战争文件大小

问题描述

我是大数据领域的初学者,我的任务是减少 JEE 项目的战争规模。我收到以下错误

ERROR [stderr] (ServerService Thread Pool -- 81) log4j:ERROR A "org.apache.log4j.xml.DOMConfigurator" object is not assignable to a "org.apache.log4j.spi.Configurator" variable.
ERROR [stderr] (ServerService Thread Pool -- 81) log4j:ERROR The class "org.apache.log4j.spi.Configurator" was loaded by 
ERROR [stderr] (ServerService Thread Pool -- 81) log4j:ERROR [ModuleClassLoader for Module "com.bigdata.hdfs.listener.hdfs-listener" from local module loader @56ef9176 (finder: local module finder @4566e5bd (roots: /opt/wildfly-20.0.1.Final/modules,/opt/wildfly-20.0.1.Final/modules/system/layers/base))] whereas object of type 
ERROR [stderr] (ServerService Thread Pool -- 81) log4j:ERROR "org.apache.log4j.xml.DOMConfigurator" was loaded by [ModuleClassLoader for Module "org.jboss.log4j.logmanager" version 1.2.0.Final from local module loader @56ef9176 (finder: local module finder @4566e5bd (roots: /opt/wildfly-20.0.1.Final/modules,/opt/wildfly-20.0.1.Final/modules/system/layers/base))].
ERROR [stderr] (ServerService Thread Pool -- 81) log4j:ERROR Could not instantiate configurator [org.apache.log4j.xml.DOMConfigurator].
17:31:03,059 ERROR [stderr] (ServerService Thread Pool -- 81) log4j:WARN No appenders Could be found for logger (com.bigdata.hdfs.listener.HdfsListenerMain$).
ERROR [stderr] (ServerService Thread Pool -- 81) log4j:WARN Please initialize the log4j system properly.

这个 JEE 项目的主要思想是,它在 pom.xml 中添加一个 hdfs-listener scala jar 文件作为 maven 依赖项,其(scala jar 文件)主 scala 类是从 Java 类调用的。 JEE war 文件部署在wildfly 服务器中,并在启动时调用scala jar 文件的主类。当wildfly 服务器运行时,sp​​ark 和hadoop 必须并行运行,因为需要在hdfs 目录中添加一个xml 文件,一旦scala 主类被调用并触发该事件,spark 会对其进行处理以在wildfly 服务器端(Architecture-Spark 运行在 Hadoop 之上)。

为了减小war大小,在所有pom依赖中添加scope标签,并在将这些模块添加到$WILDFLY_HOME/modules/system/layers/base后将需要的模块添加到jboss-deployment-structure.xml并添加标记添加到 maven-war-plugin 以排除 war 文件的 lib 文件夹。

enter code here
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
enter code here

因此,实际战争大小从 121.4mb 减少到 4.9kb

以下是 log4j 的 pom 依赖:

enter code here
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    <scope>provided</scope>
</dependency>
enter code here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)