Frage

Ich habe Quellen wsimport zu erzeugen und ich nehme an, dass es zu / target / erzeugt-Quellen / wsimport anstatt / src / main / java gehen sollte.

Das Problem ist, dass wsimport Bedürfnisse Ordner vor der Ausführung erstellt Ziel und es funktioniert nicht. Kann ich zum ersten Mal mit einer beliebigen Maven-Plugin, das dir erstellen. Ich kann es tun Ameise verwenden, aber ich ziehe es in POM zu halten.

War es hilfreich?

Lösung

Ich habe Quellen wsimport zu erzeugen und ich nehme an, dass es zu / target / erzeugt-Quellen / wsimport anstatt / src / main / java gehen sollte.

Dies ist eine richtige Annahme.

Das Problem ist, dass wsimport Bedürfnisse Ordner vor der Ausführung erstellt Ziel und es funktioniert nicht. Kann ich zum ersten Mal mit einer beliebigen Maven-Plugin, das dir erstellen. Ich kann es tun Ameise verwenden, aber ich ziehe es in POM zu halten.

Ich habe nie bemerkt, dieses Problem (und es als Fehler betrachten würde, hat ein Plugin kümmern solche Dinge).

Das seltsame ist, dass WsImportMojo scheint zu tun, was durch den Aufruf von File#mkdirs() :

public void execute()
    throws MojoExecutionException
{

    // Need to build a URLClassloader since Maven removed it form the chain
    ClassLoader parent = this.getClass().getClassLoader();
    String originalSystemClasspath = this.initClassLoader( parent );

    try
    {

        sourceDestDir.mkdirs();
        getDestDir().mkdirs();
        File[] wsdls = getWSDLFiles();
        if(wsdls.length == 0 && (wsdlUrls == null || wsdlUrls.size() ==0)){
            getLog().info( "No WSDLs are found to process, Specify atleast one of the following parameters: wsdlFiles, wsdlDirectory or wsdlUrls.");
            return;
        }
        ...
     }
     ...
}

Könnten Sie zeigen, wie Sie rufen Sie das Plugin und deren Konfiguration?

Andere Tipps

Versuchen Sie, die add source Ziel des Build-Helfer-Plugin mit :

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>add-source</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>add-source</goal>
      </goals>
      <configuration>
        <sources>
          <source>${basedir}/target/generated/src/wsimport</source>
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>  
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top