Предполагая, что вы не будете пытаться использовать сгенерированные заглушки в том же проекте, в котором вы это делаете (что создаст круговые зависимости и будет плохой идеей ...), тогда да, вы можете сделать как то так.
Конфиг не так уж и сложен, на самом деле вы бы догадались об этом в своем вопросе, но здесь говорится:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-wsdl</id>
<phase>process-classes</phase>
<goals>
<goal>wsgen</goal>
</goals>
<configuration>
<sei><!-- fully qualified class name goes here --></sei>
<genWsdl>true</genWsdl>
</configuration>
</execution>
<execution>
<id>generate-stubs</id>
<phase>process-classes</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>target/jaxws/wsgen/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile><!-- class name goes here -->Service.wsdl</wsdlFile>
</wsdlFiles>
<!-- *** you need the next line to set the wsdlLocation in the generated stubs *** -->
<wsdlLocation>http://localhost:8080/test</wsdlLocation>
</configuration>
</execution>
</executions>
</plugin>
Обновление - чтобы упаковать сгенерированный код в jar, я бы использовал maven-jar-plugin примерно так:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>package-wsclient-jars</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classesDirectory>target/jaxws/<!-- rest of the path here, can't remember it right now --></classesDirectory>
<classifier>wsclient</classifier>
</configuration>
</execution>
</executions>
</plugin>
Я быстро вставил это из нашего конфига, но наше использование немного отличается (так как мы заархивируем файлы wsdl, а не сгенерированный клиент, но я верю, что это довольно близко познакомит вас). Вам, вероятно, придется настроить версию для maven-jar-plugin, если вы ее еще не используете - 2.3.1, похоже, самая последняя версия.