Проблема с Maven при попытке сгенерировать из файла WSDL

Я пытаюсь сгенерировать источники из файла wsdl, но продолжаю сталкиваться с ошибкой в ​​моем pom.xml, которая, как мне кажется, может быть моей проблемой? Ниже приведена ошибка, которую я получаю от моего pom и моего файла pom. Также я не могу собрать проект с помощью «mvn clean install». Я просто получаю сообщение об ошибке без реальной причины.

Ошибка в теге генерирует:

Execution default of goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.12.3:generate failed: A required class was missing while executing org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.12.3:generate: com/sun/codemodel/CodeWriter
-----------------------------------------------------
realm =    plugin>org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.12.3-715230752
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/C:/Users/Windows/.m2/repository/org/jvnet/jaxb2/maven2/maven-jaxb2-plugin/0.12.3/maven-jaxb2-plugin-0.12.3.jar
urls[1] = file:/C:/Users/Windows/.m2/repository/org/jvnet/jaxb2/maven2/maven-jaxb2-plugin-core/0.12.3/maven-jaxb2-plugin-core-0.12.3.jar
urls[2] = file:/C:/Users/Windows/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
urls[3] = file:/C:/Users/Windows/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar
urls[4] = file:/C:/Users/Windows/.m2/repository/com/sun/org/apache/xml/internal/resolver/20050927/resolver-20050927.jar
urls[5] = file:/C:/Users/Windows/.m2/repository/junit/junit/4.8.1/junit-4.8.1.jar
urls[6] = file:/C:/Users/Windows/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
urls[7] = file:/C:/Users/Windows/.m2/repository/org/jvnet/jaxb2/maven2/maven-jaxb22-plugin/0.12.3/maven-jaxb22-plugin-0.12.3.jar
urls[8] = file:/C:/Users/Windows/.m2/repository/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.jar
urls[9] = file:/C:/Users/Windows/.m2/repository/org/glassfish/jaxb/jaxb-xjc/2.2.11/jaxb-xjc-2.2.11.jar
urls[10] = file:/C:/Users/Windows/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar
Number of foreign imports: 5
import: Entry[import org.sonatype.plexus.build.incremental from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import org.codehaus.plexus.util.Scanner from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import org.codehaus.plexus.util.DirectoryScanner from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import org.codehaus.plexus.util.AbstractScanner from realm ClassRealm[plexus.core, parent: null]]
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

-----------------------------------------------------
 (org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.12.3:generate:default:generate-sources)

мой файл pom.xml:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.bigthunk</groupId>
        <artifactId>BigThunkCore</artifactId>
        <version>0.0.7-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>com.bigthunk</groupId>
        <artifactId>BigThunkWeb</artifactId>
        <version>0.0.4-SNAPSHOT</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- tag::wsdl[] -->
        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaLanguage>WSDL</schemaLanguage>
                <generatePackage>hello.wsdl</generatePackage>
                <forceRegenerate>true</forceRegenerate>
                <schemas>
                    <schema>
                        <url>http://172.19.137.21:8280/services/umarketsc?wsdl</url>
                    </schema>
                </schemas>
            </configuration>
        </plugin>
        <!-- end::wsdl[] -->
    </plugins>
</build>

<repositories>
    <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${project.basedir}/repo</url>
    </repository>
    <repository>
        <id>spring-releases</id>
        <name>Spring Releases</name>
        <url>https://repo.spring.io/libs-release</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
</pluginRepositories>


person javawocky    schedule 13.02.2015    source источник
comment
Оказалось, что это была ошибка в самом файле wsdl, вызвавшем это.   -  person javawocky    schedule 20.02.2015
comment
Мне все еще было бы интересно увидеть WSDL, который его разбил.   -  person lexicore    schedule 21.02.2015
comment
@javawocky Какие изменения вы внесли? починить это?   -  person Jesse    schedule 19.01.2017
comment
Прежде всего попробуйте, если ваш URI актуален и WS работает. Чтобы попробовать WSDL, поместите URI в адресную строку браузера: 172.19.137.21:8280/services/umarketsc?wsdl < / а>. Работает или нет? Если нет, проверьте, запущен ли WS. Проверить URI.   -  person hariprasad    schedule 09.05.2020


Ответы (7)


Включение тега <plugins> в тег <pluginManagement> (как подробно описано здесь: Как решить проблему с выполнением плагина, не охваченным конфигурацией жизненного цикла для сборок Spring Data Maven), исправил проблему для меня.

person Simeon Leyzerzon    schedule 11.07.2015
comment
Большое спасибо, это устранило проблему для меня. Ваше здоровье - person nikolakoco; 10.06.2016

Измените Java Path jre на свой путь jdk, и все будет хорошо! В Eclipse вы также можете изменить «Установленную JRE» на свой jdk.

Надеюсь, это сработает для вас.

person martin    schedule 12.03.2015

В моем случае я исправил это, изменив версию спецификации JAXB, как указано в вики плагина:

https://github.com/highsource/maven-jaxb2-plugin/wiki/Using-a-Specific-JAXB-Version

Либо с помощью параметра конфигурации specVersion = 2.0, либо с помощью подключаемого модуля для конкретной версии: maven-jaxb20-plugin

person Alberto Velasco    schedule 08.04.2015

Для меня это проблема среды (времени выполнения java). Я мог бы решить аналогичную проблему, вызванную m2e в моем контексте, запустив eclipse в командной строке Windows: eclipse.exe -vm "C: \ Program Files \ Java \ jdk1.8.0_25 \ bin \ javaw.exe" (убедитесь, что он появился раньше "-vmargs") Затем я попытался очистить свой eclipse.ini таким же образом, чтобы запустить eclipse из проводника, он действительно работает. Когда я смотрю на команду eclipse в Javavisual VM, я вижу через Jvisual vm, что eclipse выглядит именно так

eclipse.commands=-os
win32
...
-vm "C:\Program Files\Java\jdk1.8.0_25\bin\javaw.exe"
-vm C:\Program Files\Java\jre1.8.0_25\bin\server\jvm.dll

Последняя строка взята не из моего eclipse.ini, а добавлена ​​программой запуска Eclipse. В свойствах системы: eclipse.vm = C: \ Program Files \ Java \ jre1.8.0_25 \ bin \ server \ jvm.dll Это выглядит так: «при запуске из проводника» Eclipse luna добавляет параметр из jre, найденный в PATH, который переопределяет eclipse.ini ... Должна быть какая-то разница в среде, которая может учитывать различное поведение процесса.

person Ronan Fauglas    schedule 04.09.2015
comment
Вы, сэр, заслуживаете высшей награды. - person cen; 10.09.2015
comment
Кажется, вы не должны помещать vm arg в одну строку: stackoverflow.com/a/2454767/1084605, это сработало для меня ! - person cen; 10.09.2015

У меня была эта проблема, но я смог ее решить:

  1. Я удалил ВСЕ один файл JRE (предыдущая и текущая версии)
  2. Добавил в "Путь" C:\Program Files\Java\jdk1.8.0_91\jre\bin (работаю на Win10)
  3. Выгода.

Проблема была в версии 0.12.2 - 0.13.1, и она полностью исчезла.

person nEraquasAr    schedule 07.06.2016

Добавлять

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.2.11</version>
</dependency>

в ваш pom он содержит недостающий класс, с этим я его исправил.

person Francesco Pitzalis    schedule 07.07.2015
comment
В итоге выяснилось, что ошибка исходила из самого файла wsdl, а не из моего pom.xml - person javawocky; 09.07.2015

Лично я использую sdkman для управления своими версиями Java, и я решил проблему, переключившись с Java 11 на 8 раньше. запуск команды Maven.

person François Dupire    schedule 02.12.2019