Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven jboss服务器无法使用Log4J加载WAR_Maven_Log4j_Jboss Eap 6 - Fatal编程技术网

Maven jboss服务器无法使用Log4J加载WAR

Maven jboss服务器无法使用Log4J加载WAR,maven,log4j,jboss-eap-6,Maven,Log4j,Jboss Eap 6,我试图在本地jboss EAP 6.1服务器运行的Maven项目中使用Log4J。以下是我的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven

我试图在本地jboss EAP 6.1服务器运行的Maven项目中使用Log4J。以下是我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.company</groupId>
    <artifactId>pro</artifactId>
    <version>0.0.2-SNAPSHOT</version>
  </parent>
  <groupId>com.company.test</groupId>
  <artifactId>project</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>com.company.test.project</name>

  <dependencies>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
</dependency>

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.5</version>
</dependency>

  </dependencies>

</project>
编辑:这是我创建的jboss-deployment-structure.xml文件:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

    
        
            
        
    

在EAP 6.3中修复了一个错误,该错误将正确的依赖项添加到EAP中使用的log4j模块中。如果您添加以下依赖项
$JBOSS_HOME/modules/system/layers/base/org/JBOSS/log4j/logmanager/main/module.xml
,它应该会修复它



另一个选项是使用排除log4j并使用您提供的版本。

我不知道您的整个开发环境。但看起来,您已经在导入一些log4j模块(“org.jboss.log4j.logmanager:main”)。这意味着war中的log4j模块不用于解析xml配置。稍后,module-log4j找不到类AddressException,因为它无法访问您的war库。请添加jboss-deployment-structure.xml或Meta-inf/Manifest.MF依赖项,取决于您定义导入的位置。我创建了jboss-deployment-structure.xml并将其放在webapp/WEB-INF下。该文件出现以下错误:cvc复杂类型。2.3:元素“deployment”不能有字符[children],因为该类型的内容类型是element only.jboss deployment structure.xml/com.company.test.project/src/main/webapp/WEB-INF第2行xml问题。我将粘贴上面问题中的文件内容。不确定为什么它不起作用。我刚测试过,它对我来说很好。这是IDE中的错误吗?是的,在IDE中。我使用的是JBossDeveloperStudio 7.1.1,我认为如果删除
xmlns
部分,它可能会工作。它就是找不到模式。是的,就是这样。我删除了namespace属性,该文件现在在IDE中没有错误。谢谢
15:07:17,389 ERROR [org.jboss.msc.service.fail] (MSC service thread
1-2) MSC000001: Failed to start service
jboss.deployment.unit."com.company.test.project.war".POST_MODULE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."com.company.test.project.war".POST_MODULE:
JBAS018733: Failed to process phase POST_MODULE of deployment
"com.company.test.project.war"    at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127)
[jboss-as-server-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]     at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
[jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]   at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
[jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]   at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_55]     at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_55]     at java.lang.Thread.run(Thread.java:745)
[rt.jar:1.7.0_55] Caused by: java.lang.NoClassDefFoundError:
javax/mail/internet/AddressException  at
java.lang.Class.getDeclaredConstructors0(Native Method)
[rt.jar:1.7.0_55]     at
java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
[rt.jar:1.7.0_55]     at java.lang.Class.getConstructor0(Class.java:2803)
[rt.jar:1.7.0_55]     at java.lang.Class.newInstance(Class.java:345)
[rt.jar:1.7.0_55]     at
    org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:247)
      at
    org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:176)
      at
    org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:191)
      at
    org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:523)
      at
    org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:492)
      at
    org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:1001)
      at
    org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:867)
      at
    org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:794)
      at
org.jboss.as.logging.LoggingDeploymentUnitProcessor.configure(LoggingDeploymentUnitProcessor.java:295)
[jboss-as-logging-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]    at
org.jboss.as.logging.LoggingDeploymentUnitProcessor.processDeploymentLogging(LoggingDeploymentUnitProcessor.java:176)
[jboss-as-logging-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]    at
org.jboss.as.logging.LoggingDeploymentUnitProcessor.deploy(LoggingDeploymentUnitProcessor.java:81)
[jboss-as-logging-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]    at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)
[jboss-as-server-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]     ...
5 more Caused by: java.lang.ClassNotFoundException:
javax.mail.internet.AddressException from [Module
"org.jboss.log4j.logmanager:main" from local module loader @b7e2544
(finder: local module finder @6c09941 (roots:
C:\Users\sobczakm\EAP-6.1\jboss-eap-6.1\modules,C:\Users\sobczakm\EAP-6.1\jboss-eap-6.1\modules\system\layers\soa,C:\Users\sobczakm\EAP-6.1\jboss-eap-6.1\modules\system\layers\sramp,C:\Users\sobczakm\EAP-6.1\jboss-eap-6.1\modules\system\layers\base))]
  at
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
[jboss-modules.jar:1.2.2.Final-redhat-1]  at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
[jboss-modules.jar:1.2.2.Final-redhat-1]  at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
[jboss-modules.jar:1.2.2.Final-redhat-1]  at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
[jboss-modules.jar:1.2.2.Final-redhat-1]  at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
[jboss-modules.jar:1.2.2.Final-redhat-1]  ... 21 more

15:07:17,389 ERROR [org.jboss.as.server] (DeploymentScanner-threads -
1) JBAS015870: Deploy of deployment "com.company.test.project.war" was
rolled back with the following failure message:  {"JBAS014671: Failed
services" =>
{"jboss.deployment.unit.\"com.company.test.project.war\".POST_MODULE"
="org.jboss.msc.service.StartException in service jboss.deployment.unit.\"com.company.test.project.war\".POST_MODULE:
JBAS018733: Failed to process phase POST_MODULE of deployment
\"com.company.test.project.war\"
    Caused by: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
    Caused by: java.lang.ClassNotFoundException: javax.mail.internet.AddressException from [Module
\"org.jboss.log4j.logmanager:main\" from local module loader @b7e2544
(finder: local module finder @6c09941 (roots:
C:\\Users\\sobczakm\\EAP-6.1\\jboss-eap-6.1\\modules,C:\\Users\\sobczakm\\EAP-6.1\\jboss-eap-6.1\\modules\\system\\layers\\soa,C:\\Users\\sobczakm\\EAP-6.1\\jboss-eap-6.1\\modules\\system\\layers\\sramp,C:\\Users\\sobczakm\\EAP-6.1\\jboss-eap-6.1\\modules\\system\\layers\\base))]"}}
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>