2017-08-01 12 views
0

我想編譯我的maven項目,但是不能這樣做。我得到這個問題:java.lang.NoClassDefFoundError:com/sun/xml/bind/api/TypeReference

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/bind/api/TypeReference 
    at com.sun.xml.ws.db.glassfish.JAXBRIContextFactory.typeInfoMappings(JAXBRIContextFactory.java:127) 
    at com.sun.xml.ws.db.glassfish.JAXBRIContextFactory.newContext(JAXBRIContextFactory.java:85) 

....跳過...

at com.ric.st.impl.TaskController.searchTask(TaskController.java:144) 
    at com.ric.st.impl.App22.main(App22.java:82) 
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.api.TypeReference 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 33 more 

但我的POM包括所有圖書館,這個項目所需:

<dependency> 
    <groupId>com.sun.xml.ws</groupId> 
    <artifactId>jaxws-rt</artifactId> 
    <version>2.2.10</version> 
</dependency> 

<dependency> 
    <groupId>com.sun.xml.ws</groupId> 
    <artifactId>policy</artifactId> 
    <version>2.7.2</version> 
</dependency> 

<dependency> 
    <groupId>com.sun.xml.stream.buffer</groupId> 
    <artifactId>streambuffer</artifactId> 
    <version>1.5.4</version> 
</dependency> 

<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb1-impl --> 
<dependency> 
    <groupId>com.sun.xml.bind</groupId> 
    <artifactId>jaxb1-impl</artifactId> 
    <version>2.2.5.1</version> 
</dependency> 

我怎樣才能更正這個問題?

+0

依賴應該JAXB-implement執行。而不是jaxb1-impl – ravthiru

回答

0

缺少JAX-WS依賴庫「jaxb-impl.jar」。您可以嘗試通過jaxb-impl更換jaxb1-impl,你可以在下面找到

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

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