Maven ignoriert die Ausführungskonfiguration

Ich versuche, zwei Ausführungsblöcke in einem Maven-Plugin mit unterschiedlichen Konfigurationen zu haben, aber Maven scheint die Konfigurationsblöcke in den Ausführungsblöcken zu ignorieren und verwendet nur den Konfigurationsblock außerhalb des Ausführungsblocks.

Um das Problem einzugrenzen, habe ich einen funktionierenden Plugin-Abschnitt verwendet und die Arbeitskonfiguration nur geringfügig nach oben in den Ausführungsblock verschoben und dann funktioniert sie nicht mehr (die WSDL wird noch aufgenommen (tatsächlich sind es beide), aber das ist einfach so Da es sich im Standardverzeichnis befindet, wird die Bindungsdatei und nicht die andere Konfiguration abgerufen, wenn sich der Konfigurationsabschnitt im Ausführungsblock befindet. Tatsächlich sollte es nicht einmal die zweite wsdl kennen, da ich dies nicht getan habe überall angegeben):

<build>
    <pluginManagement>
        <plugins>
            <plugin> 
                <groupId>org.jvnet.jax-ws-commons</groupId> 
                <artifactId>jaxws-maven-plugin</artifactId> 
                <version>2.1</version> 
                <executions>
                    <execution> 
                        <id>wsdla</id>
                        <phase>generate-sources</phase>
                        <configuration> 
                            <packageName>com.mycee.project.model</packageName> 
                            <sourceDestDir>src/main/java</sourceDestDir>
                            <wsdlFiles>
                                <wsdlFile>
                                  ${basedir}/src/wsdl/a.wsdl
                                </wsdlFile>            
                            </wsdlFiles>
                            <bindingDirectory>
                                ${basedir}/src/wsdl/binding
                            </bindingDirectory>
                            <verbose>true</verbose>
                        </configuration>
                        <goals> 
                            <goal>wsimport</goal> 
                        </goals>            
                    </execution> 
                </executions>
            </plugin> 
        </plugins>  
    </pluginManagement>
</build>

Ist dies ein Maven-Problem, das ich lösen muss, oder ein Jaxws-Problem, und wie löse ich das?

Wenn ich die Version auf 2.3 ändere, wird folgende Fehlermeldung angezeigt:

[FEHLER] Ziel org.jvnet.jax-ws-commons konnte nicht ausgeführt werden: jaxws-maven-plugin: 2.3: wsimport (default-cli) auf Projekt mycee-project: Ausführung default-cli von Ziel org.jvnet.jax-ws -commons: jaxws-maven-plugin: 2.3: wsimport fehlgeschlagen: String-Index außerhalb des Bereichs: -1 -> [Help 1]

mvn clean jaxws: wsimport -X ausführen Ich kann in der Debug-Ausgabe sehen, dass die Standardeinstellungen verwendet werden:

[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport (default-cli)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <bindingDirectory default-value="${basedir}/src/jaxws"/>
  <destDir default-value="${project.build.outputDirectory}"/>
  <encoding>${project.build.sourceEncoding}</encoding>
  <extension default-value="false"/>
  <genJWS default-value="false"/>
  <implDestDir default-value="${project.build.sourceDirectory}"/>
  <keep default-value="true"/>
  <localRepository default-value="${localRepository}"/>
  <pluginArtifactMap>${plugin.artifactMap}</pluginArtifactMap>
  <quiet default-value="false"/>
  <remoteRepositories default-value="${project.pluginArtifactRepositories}"/>
  <settings>${settings}</settings>
  <sourceDestDir default-value="${project.build.directory}/generated-sources/wsimport"/>
  <staleFile default-value="${project.build.directory}/jaxws/stale"/>
  <verbose default-value="false"/>
  <wsdlDirectory default-value="${basedir}/src/wsdl"/>
  <xadditionalHeaders default-value="false"/>
  <xdebug default-value="false"/>
  <xdisableAuthenticator default-value="false"/>
  <xdisableSSLHostnameVerification default-value="false"/>
  <xnoAddressingDataBinding default-value="false"/>
  <xnocompile default-value="true"/>
  <xuseBaseResourceAndURLToLoadWSDL default-value="false"/>
  <project default-value="${project}"/>
</configuration>
[DEBUG] =======================================================================

Die Debug-Ausgabe für den Indexfehler außerhalb des Bereichs:

[ERROR] Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport (default-cli) on project mycee-project: Execution default-cli of goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport failed: String index out of range: -1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport (default-cli) on project mycee-project: Execution default-cli of goal org.jvnet.jax-ws-c
ommons:jaxws-maven-plugin:2.3:wsimport failed: String index out of range: -1
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport failed: String index out of range: -1
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 19 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:872)
        at java.lang.StringBuilder.substring(StringBuilder.java:72)
        at org.jvnet.jax_ws_commons.jaxws.AbstractJaxwsMojo.getCP(AbstractJaxwsMojo.java:484)
        at org.jvnet.jax_ws_commons.jaxws.AbstractJaxwsMojo.exec(AbstractJaxwsMojo.java:359)
        at org.jvnet.jax_ws_commons.jaxws.WsImportMojo.processLocalWsdlFiles(WsImportMojo.java:319)
        at org.jvnet.jax_ws_commons.jaxws.WsImportMojo.execute(WsImportMojo.java:283)
        at org.jvnet.jax_ws_commons.jaxws.MainWsImportMojo.execute(MainWsImportMojo.java:50)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        ... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

Voller Pom wie gewünscht:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>

  <groupId>com.mycee</groupId>
  <artifactId>mycee-project</artifactId>
  <version>0.0.1</version>
  <packaging>jar</packaging>

  <name>mycee</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <slf4j.version>1.7.2</slf4j.version>
  </properties>

  <repositories>

  </repositories>  
    <pluginRepositories>

    </pluginRepositories>  
  <dependencies>
    <!-- Junit4 Dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>  

    <!-- XML Dependencies -->
    <dependency>
        <groupId>javax.xml</groupId>
        <artifactId>webservices-api</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-xjc</artifactId>
        <version>2.2.7</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.2.8</version>
    </dependency>
    <!-- Log Dependencies -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.16</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
  </dependencies>

  <build>
      <pluginManagement>
        <plugins>
            <plugin> 
                <groupId>org.jvnet.jax-ws-commons</groupId> 
                <artifactId>jaxws-maven-plugin</artifactId> 
                <version>2.1</version> 
                <executions>
                    <execution> 
                        <id>basic</id>
                        <phase>generate-sources</phase>
                        <configuration> 
                            <packageName>com.mycee.project.model</packageName> 
                            <sourceDestDir>src/main/java</sourceDestDir>
                            <wsdlFiles>
                                <wsdlFile>
                                  ${basedir}/src/wsdl/wsdla.wsdl
                                </wsdlFile>            
                            </wsdlFiles>
                            <bindingDirectory>
                                ${basedir}/src/jaxws/binding
                            </bindingDirectory>
                            <verbose>true</verbose>
                            <target>2.1</target>
                        </configuration>
                        <goals> 
                            <goal>wsimport</goal> 
                        </goals>            
                    </execution> 
                </executions>
            </plugin> 
        </plugins>  
    </pluginManagement>
  </build>


</project>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage