2016-12-22 1 views
0

J'utilise axis2-wsdl2code-maven-plugin pour générer mon client de service SOAP. Le plug-in lui-même fonctionne correctement et il génère un client SOAP correct, mais je reçois avertissement suivant dans la console avec chaque build:Avertissement Log4j lors de l'utilisation de axis2-wsdl2code-maven-plugin pour générer le client SOAP

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

Je sais que je dois configurer les propriétés Log4j, mais je n'ai trouvé aucune façon fonctionnelle faire dans le contexte de axis2-wsdl2code-maven-plugin ...

Ceci est mon fichier 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

Avez-vous essayé d'ajouter un fichier log4j.properties à src/main/resources? Je pense que dans un projet maven, des trucs dans src/main/resources sont inclus dans le classpath. –

+0

Oui, j'ai essayé - ça ne marche toujours pas sans avertissement. Le projet est [disponible sur github] (https://github.com/lime-company/lime-security-powerauth/tree/master/powerauth-java-client-axis), je le construis en utilisant 'mvn package -am - pl powerauth-java-client-axis'. –

+0

Pouvez-vous essayer de construire un objectif maven avec '-Dlog4j.configuration = log4j.properties'? –

Répondre

2

Ceci est en fait un bug. Le fix pour AXIS2-5364 a ajouté une dépendance sur log4j à axis2-wsdl2code-maven-plugin. Le problème est qu'une partie du code exécuté par le plugin utilise Commons Logging et a donc commencé à utiliser log4j. Cela génère l'avertissement que vous avez vu car dans un environnement Maven, log4j n'est pas configuré.

Ce que le greffon doit faire est de rediriger les journaux vers SLF4J, car cette API est supported by recent Maven versions. L'option -X (qui active la journalisation du débogage sur la ligne de commande Maven) fonctionne également pour ces journaux.

Ce problème sera traité dans AXIS2-5827.