2015-02-13 3 views
11

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

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

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> 

+2

Оказалось, что это ошибка в файле wsdl, вызывающем это. – javawocky

+3

Мне все равно было бы интересно увидеть WSDL, который разбил его. – lexicore

+0

@javawocky Какие изменения вы внесли? Исправить это? – Jesse

ответ

8

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

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

0

Добавить

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

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

+0

В конце концов выяснилось, что ошибка исходила из самого файла wsdl, а не моего pom.xml – javawocky

3

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

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, но дополнен Затмение launcher.In системы prooperties : eclipse.vm = C: \ Program Files \ Java \ jre1.8.0_25 \ bin \ server \ jvm.dll Это похоже на «при запуске из проводника», Eclipse luna добавляет параметр из jre, найденный в PATH, который переопределяет eclipse. ini ... В среде должно быть какое-то различие, которое может объяснить различное поведение процесса.

+0

Вы, сэр, заслуживаете медали высшей награды. – cen

+0

Кажется, вы не должны ставить vm arg в одну строку: http://stackoverflow.com/a/2454767/1084605 это сработало для меня! – cen

1

Я имел эту проблему, но я был в состоянии решить:

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

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