Log4J警告使用AXIS2-WSDL2Code-Maven-Plugin生成SOAP客户端时



我正在使用axis2-wsdl2code-maven-plugin生成我的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>

这实际上是一个错误。AXIS2-5364的修复程序对log4j的依赖性增加了axis2-wsdl2code-maven-plugin。问题在于,该插件执行的某些代码使用Commons日志记录,因此开始使用Log4J。这会生成您看到的警告,因为在Maven环境中未配置Log4J。

插件应该做的是将日志重定向到SLF4J,因为该API受到最近的Maven版本的支持。-X选项(可以在Maven命令行上启用调试记录),然后适用于这些日志。

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

相关内容

  • 没有找到相关文章