2016-12-22 17 views
0

Я использую axis2-wsdl2code-maven-plugin для создания моего клиента службы SOAP. Сам плагин работает правильно, и это создает правильный клиент SOAP, но я получаю следующее предупреждение в консоли с каждой сборкой:Предупреждение Log4j при использовании 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> 
+0

Вы пытались добавить файл log4j.properties в src/main/resources? Я думаю, что в проекте maven проект в src/main/resources включен в classpath. –

+0

Да, я попробовал это - он все равно не работает без предупреждения. Проект [доступен по github] (https://github.com/lime-company/lime-security-powerauth/tree/master/powerauth-java-client-axis), я его создаю с помощью 'mvn package -am - pl powerauth-java-client-axis'. –

+0

Можете ли вы попытаться создать цель запуска maven с '-Dlog4j.configuration = log4j.properties'? –

ответ

2

Это действительно ошибка. fix для AXIS2-5364 добавил зависимость от log4j к axis2-wsdl2code-maven-plugin. Проблема в том, что некоторые из кода, выполняемого плагином, используют Commons Logging и поэтому начали использовать log4j. Это генерирует предупреждение, которое вы видели, потому что в среде Maven log4j не настроен.

Что должен сделать плагин, так это перенаправление журналов на SLF4J, потому что этот API равен supported by recent Maven versions. Опция -X (которая позволяет вести отладочную запись в командной строке Maven) также работает для этих журналов.

Эта проблема будет рассмотрена в AXIS2-5827.