我正在尝试在具有单独配置的maven插件中包含两个执行块,但是maven似乎忽略了执行块内部的配置块,而仅使用执行块外部的配置块。
因此,为了缩小问题的范围,我打开了一个有效的插件部分,将工作配置稍微移到了执行块的内部,然后停止了工作(wsdl仍然被拾取(实际上两个都被拾取)),但这很简单因为它位于默认目录中,所以当配置部分位于执行块内部时,将拾取绑定文件和其他配置中的非配置文件,实际上,它甚至不应该知道第二个wsdl,因为我没有在任何地方指定它):
<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>
Run Code Online (Sandbox Code Playgroud)
这是我需要解决的Maven问题,还是下颌问题,我该如何解决?
如果将版本更改为2.3,则会出现以下错误:
[错误]无法在项目mycee-project上执行目标org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport(default-cli):目标org.jvnet.jax-ws的执行default-cli -commons:jaxws-maven-plugin:2.3:wsimport失败:字符串索引超出范围:-1-> [帮助1]
运行mvn clean jaxws:wsimport -X我可以在调试输出中看到它正在使用默认值:
[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> …Run Code Online (Sandbox Code Playgroud)