2015-02-13 9 views
11

मैं wsdl फ़ाइल से स्रोत जेनरेट करने का प्रयास कर रहा हूं, लेकिन मैं अपने pom.xml पर एक त्रुटि में चल रहा हूं जो मुझे विश्वास है कि मेरा मुद्दा हो सकता है? नीचे वह त्रुटि है जो मुझे अपने पोम से मिलती है, और मेरी पोम फ़ाइल। इसके अलावा मैं "एमवीएन क्लीन इंस्टॉल" के साथ परियोजना का निर्माण नहीं कर सकता। मुझे लगता है कि कोई वास्तविक कारण नहीं है।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

मुझे अभी भी डब्लूएसडीएल को देखने में दिलचस्पी होगी जो इसे दुर्घटनाग्रस्त कर देता है। – lexicore

+0

@javawocky आपने क्या परिवर्तन किए? ठीक करना? – Jesse

उत्तर

8

अपने जावा पथ अपने JDK पथ के लिए JRE बदलें और यह ठीक हो जाएगा! ग्रहण में आप अपने "स्थापित जेआरई" को अपने जेडीके में भी बदल सकते हैं।

आशा है कि यह आपके लिए काम करेगा। config विकल्प specVersion = 2.0 का उपयोग करके या version- का उपयोग करके

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

कोई एक:

3

मेरे मामले में, मैं इसे के रूप में प्लगइन विकि में निर्देश दिए JAXB विनिर्देश संस्करण बदलकर तय विशिष्ट प्लगइन: Maven-jaxb20-प्लगइन

0

जोड़े

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

आपके पोम में, इसमें गायब वर्ग है, इसके साथ मैंने इसे ठीक किया है।

+0

यह अंत में निकला कि त्रुटि wsdl फ़ाइल से ही आ रही है, न कि मेरे pom.xml – javawocky

26

टैग <pluginManagement> टैग के अंदर टैग (जैसा कि यहां विस्तृत किया गया है: How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds) ने मेरे लिए समस्या तय की है।

+1

बहुत बहुत धन्यवाद, इसने मेरे लिए समस्या तय की है। चीयर्स – nikolakoco

3

मेरे लिए यह एक पर्यावरण (जावा रनटाइम) समस्या है। मैं विंडोज कमांड प्रॉम्प्ट में ग्रहण लॉन्च करके, मेरे संदर्भ में m2e द्वारा ट्रिगर किए गए समान समस्या को हल कर सकता हूं: eclipse.exe -vm "सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.8.0_25 \ bin \ javaw.exe" (इसे सुनिश्चित करें "-vmargs" से पहले आता है) फिर मैंने एक्सप्लोरर से ग्रहण लॉन्च करने के लिए अपनी eclipse.ini को साफ करने की कोशिश की, यह काम करता है। जब मैं ग्रहण आदेश पर नज़र Javavisual वीएम में मैं Jvisual वी एम के माध्यम से देख सकते हैं कि ग्रहण कि जिस तरह से

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 = सी: \ प्रोग्राम फ़ाइलें \ जावा \ jre1.8.0_25 \ bin \ server \ jvm.dll ऐसा लगता है कि "एक्सप्लोरर से लॉन्च होने पर", ग्रहण लुना पाथ पर पाए गए जेरे से पैरामीटर जोड़ता है जो ग्रहण को ओवरराइड करता है। ini ... पर्यावरण में कुछ अंतर होना चाहिए जो प्रक्रिया के विभिन्न व्यवहार के लिए जिम्मेदार हो सकता है।

+0

आप सर उच्चतम सम्मान के पदक के लायक हैं। – cen

+0

ऐसा लगता है कि आपको उसी पंक्ति में वीएम तर्क नहीं डालना चाहिए: 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 संस्करण पर थी और यह पूरी तरह से गायब हो गई।

संबंधित मुद्दे