Как мога да кажа на Axis WSDL2Java да взема WSDL от JAR?

Имам проект maven, в който използвам приставката Codehaus Axis Tools, за да стартирам WSDL2Java.

За съжаление, нямам директен контрол върху моите WSDL файлове - те ми се предоставят в JAR, който е в моето хранилище на Maven. Моят проект има зависимост на Maven от WSDL JAR, следователно WSDL файловете са ресурси в пътя на моя клас.

Възможно ли е да конфигурирате WSDL2Java да взема WSDL файлове от вътрешността на JAR? Или по-конкретно, от ресурси пътя на класа?

Разглеждайки документацията в Codehaus (http://mojo.codehaus.org/axistools-maven-plugin/wsdl2java-mojo.html), виждам, че има два конфигурационни параметъра sourceDependecies и wsdlFiles, които може да мога да използвам - но няма много информация за това как да ги използвате.

Пробвал съм следното

<sourceDependencies>
  <sourceDependency>
    <groupId>myGroupId</groupId>
    <artifactId>myArtifactId</artifactId>
    <version>myVersion</version>
  </sourceDependency>
</sourceDependecies>
<wsdlFiles>
  <wsdlFile>myFile.wsdl</wsdlFile>
</wsdlFiles>

и

<sourceDependencies>
  <sourceDependency>
    <groupId>myGroupId</groupId>
    <artifactId>myArtifactId</artifactId>
    <version>myVersion</version>
    <file>myFile.wsdl</file>
  </sourceDependency>
</sourceDependecies>

където myFile.wsdl е ресурс в JAR, идентифициран от зависимостта, вътре в конфигурацията на приставката, но без резултат.

Тъй като <configuration> не е строго типизиран в Maven, наистина е трудно да се разбере какво може или не може да се случва.

Актуализация: Не е задължително да използвам Axis. Бих могъл също така да използвам инструмента за генериране на WSDL към Java на някоя друга рамка, за да създам моите мъничета, ако поддържа четене на WSDL файлове като ресурси в пътя на класа. Някакви препоръки?


person Vihung    schedule 29.02.2012    source източник
comment
Възможно ли е да разархивирате буркана си? Можете да създадете някаква задача за мравка за това.   -  person Michael Laffargue    schedule 29.02.2012
comment
Бих могъл да разархивирам JAR, но изглежда малко заплетен. JAR, съдържащ WSDL, също съдържа класове и XSD, които така или иначе са зависимост от моя проект, следователно е в classpath.   -  person Vihung    schedule 29.02.2012


Отговори (1)


можете да опитате така:

<sourceDependencies>
  <sourceDependency>
    yourGroupId:yourArtifactId:yourVersion:yourFile.wsdl
  </sourceDependency>
</sourceDependecies>

Колко е ужасно!

person Keilon    schedule 28.10.2014