【问题标题】:Log4j warning while using axis2-wsdl2code-maven-plugin to generate SOAP client使用axis2-wsdl2code-maven-plugin生成SOAP客户端时出现Log4j警告
【发布时间】:2017-05-07 19:46:45
【问题描述】:

我正在使用axis2-wsdl2code-maven-plugin 来生成我的 SOAP 服务客户端。该插件本身可以正常工作并生成正确的 SOAP 客户端,但每次构建时我都会在控制台中收到以下警告:

log4j:WARN No appenders could be found for logger (org.apache.axiom.locator.DefaultOMMetaFactoryLocator).
log4j:WARN Please initialize the log4j system properly.

我知道我需要配置 Log4j 属性,但在 axis2-wsdl2code-maven-plugin 的上下文中我还没有找到任何功能性方法来执行此操作...

这是我的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>

    <artifactId>powerauth-java-client-axis</artifactId>
    <version>0.13.0</version>
    <name>powerauth-java-client-axis</name>
    <description>PowerAuth 2.0 Service Client - Axis</description>

    <parent>
        <groupId>io.getlime.security</groupId>
        <artifactId>powerauth-parent</artifactId>
        <version>0.13.0</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-api</artifactId>
            <version>1.2.20</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-impl</artifactId>
            <version>1.2.20</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.security</groupId>
            <artifactId>wss4j</artifactId>
            <version>1.6.19</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- tag::wsdl[] -->
            <plugin>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
                <version>1.6.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsdl2code</goal>
                        </goals>
                        <configuration>
                            <packageName>io.getlime.powerauth.soap</packageName>
                            <wsdlFile>${basedir}/src/main/resources/soap/wsdl/service.wsdl</wsdlFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- end::wsdl[] -->
        </plugins>
    </build>

</project>

【问题讨论】:

  • 您是否尝试将 log4j.properties 文件添加到 src/main/resources ?我认为在 src/main/resources 中的 maven 项目中的内容包含在类路径中。
  • 是的,我确实尝试过 - 如果没有警告,它仍然无法工作。该项目是available on github,我使用mvn package -am -pl powerauth-java-client-axis构建它。
  • 你可以尝试使用-Dlog4j.configuration=log4j.properties 构建运行的maven 目标吗?

标签: soap log4j axis2 wsdl2code


【解决方案1】:

这实际上是一个错误。 fixAXIS2-5364 向 axis2-wsdl2code-maven-plugin 添加了对 log4j 的依赖。问题是插件执行的一些代码使用了Commons Logging,因此开始使用log4j。这会生成您看到的警告,因为在 Maven 环境中,未配置 log4j。

插件应该做的是将日志重定向到 SLF4J,因为那个 API 是supported by recent Maven versions-X 选项(在 Maven 命令行上启用调试日志记录)也适用于这些日志。

此问题将在AXIS2-5827 中解决。

【讨论】:

    猜你喜欢
    • 2020-08-31
    • 1970-01-01
    • 2015-04-18
    • 2015-05-23
    • 2011-12-31
    • 2013-06-24
    • 2021-08-08
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多