Как я могу указать Axis WSDL2Java брать WSDL из JAR?

У меня есть проект maven, в котором я использую плагин Codehaus Axis Tools для запуска WSDL2Java.

К сожалению, у меня нет прямого контроля над моими WSDL-файлами — они предоставляются мне в JAR-файле, который находится в моем репозитории Maven. Мой проект имеет зависимость Maven от JAR WSDL, поэтому файлы 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-to-Java для создания своих заглушек, если он поддерживает чтение файлов WSDL в качестве ресурсов в пути к классам. Есть рекомендации?


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


Ответы (1)


вы можете попробовать это так:

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

Как это ужасно!

person Keilon    schedule 28.10.2014