2017-11-28 19 views
1

Jerseyアノテーションを使用してRESTリソースを記述しました。春ブーツでその作業を行うために、私はJerseyConfigurationクラスを追加しました:RESTアプリケーションはEclipseで実行されますが、実行可能なJARとしては実行されません。 NoClassDefFoundError:javax/xml/bind/annotation/XmlElement

@Configuration 
@ApplicationPath("/api") 
public class JerseyConfiguration extends ResourceConfig { 
    public JerseyConfiguration() { } 

    @PostConstruct 
    public void setUp() { 
     register(AdminController.class); 
     register(AdminResource.class); 
     register(GenericExceptionMapper.class); 
    } 
} 

Eclipseでアプリケーションを実行する際にこれが正常に動作します。私が作成し、JARファイルを実行すると、私は次のエラーを取得:

12:45:15.311 [main] ERROR o.s.boot.SpringApplication : Application startup failed org.springframework.context.ApplicationContextException: Unable to start embedded container; 
nested exception is java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration': Bean instantiation via constructor failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$$EnhancerBySpringCGLIB$$d46b8aee]: Constructor threw exception; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceConfigCustomizer' defined in class path resource [org/springframework/boot/autoconfigure/jersey/JerseyAutoCon figuration$JacksonResourceConfigCustomizer.class]: Bean instantiation via factory method failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.jersey.ResourceConfigCustomizer]: Factory method 'resourceConfigCustomizer' threw exception; 
nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement 

をこれがなぜ起こるか誰も教えてもらえますか?私の知る限りではjavax/xml/bind/annotationは、Java 8 rt.jar

の一部であり、私はJavaの8 SDKを使用してjarファイルを開始したと思ったが、それは本当にだったのJava 8、

答えて

2

を春ブーツ1.5.9.RELEASEを使用していますJava 9 JREしたがって、Java 8 SDK java.exeを使用してjarを起動すると問題は発生しません。 Java 8 SDKを使用してjarを起動すると、この問題は解決されました。

関連する問題