jaxws-maven-plugin résoudre WSDL emplacement par rapport à l'emplacement de la classe, pourquoi?

Je suis en utilisant le jaxws-maven-plugin version 2.1. J'ai trouvé très étrange code généré pour l'emplacement WSDL à partir de pot de ressources:

                <configuration>
                    <keep>true</keep>
                    <sourceDestDir>${basedir}/src/main/java</sourceDestDir>
                    <extension>true</extension>
                    <wsdlDirectory>${basedir}/src/main/resources/wsdl</wsdlDirectory>
                    <packageName>my.package.gen</packageName>
                    <wsdlLocation>wsdl/*</wsdlLocation>
                    <wsdlFiles>
                        <wsdlFile>mywsdl.wsdl</wsdlFile>                            
                    </wsdlFiles>
                </configuration>

Et le code généré est:

static {
    URL url = null;
    try {
        URL baseUrl;
        baseUrl = my.package.gen.My_Service.class.getResource(".");
        url = new URL(baseUrl, "wsdl/mywsdl.wsdl");
    } catch (MalformedURLException e) {
        logger.warning("Failed to create URL for the wsdl Location: 'wsdl/mywsdl.wsdl', retrying as a local file");
        logger.warning(e.getMessage());
    }
    MYSERVICE_WSDL_LOCATION = url; }

De sorte que le fichier wsdl est recherché dans le répertoire (package) de la classe générée par les résidents, et pas dans la jar du répertoire, comme ce serait logique. Et le WSDL peut pas être trouvé.

Est-ce un bug dans jaxws-maven-plugin, ou est l'erreur dans ma configuration?

  • en attendant, pourriez-vous trouver une solution pour le problème? Je suis confronté au même problème que vous et Samuels solution est vraiment un vilain hack.
  • Ici est la même question avec une autre solution. stackoverflow.com/questions/4163586/...