2017-04-15 17 views
1

私はプロジェクト(春のブート)に取り組んでおり、maven jaxb2プラグインを使用してxmlファイルをJavaクラスに変換する必要があります。私はこのリンクに従っています: クラスが生成される問題は、このエラーが発生したxmlをアンマーシャリングするときです。 リソースServletContextリソース[/ xsd/MX_seev_031_001_05。リソースServletContextリソースが存在しません

context.path =xml.swift.spring.com 
schema.location= xsd/MX_seev_031_001_05.xsd 

設定のこの私の豆:

XSDファイルは、SRC /メイン/リソース/ XSD下にあり、これが私のPOMあるXSD]これが私のapplication.propertiesある 存在しません。 .xmlファイル:欠落しているものをi'am

<plugin> 
<groupId>org.jvnet.jaxb2.maven2</groupId> 
<artifactId>maven-jaxb2-plugin</artifactId> 
<version>0.12.1</version> 
<executions> 
    <execution> 
     <id>add-source-for-demoapp</id> 
     <goals> 
      <goal>generate</goal> 
     </goals> 
     <configuration> 
      <schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory> 
      <schemaIncludes> 
       <include>*.xsd</include> 
      </schemaIncludes> 


      <!-- Other configuration options--> 

     </configuration> 
    </execution> 
</executions> 

ありがとうございました。

答えて

0

私はpom.xmlにspring-oxm(私もspring-boot-startter-data-jpaがあります)に加えてspring-boot-startter-data-restを使い始めたとき、 。

問題は2番目の自動注入引数です。 @value( "$ {schema.location}")最後のリソースschemaResource

ので、代わりの

@Bean 
public Jaxb2Marshaller createJaxb2Marshaller(@Value("${context.path}") final String contextPath, @Value("${schema.location}") final Resource schemaResource){ 
    //... 
    marshaller.setSchema(schemaResource); 
    //... 
} 

下記ありません。

@Bean 
public Jaxb2Marshaller createJaxb2Marshaller(@Value("${context.path}") final String contextPath, @Value("${schema.location}") final String schemaLocation){ 
    //... 
    Resource schemaResource = new ClassPathResource(schemaLocation); 
    marshaller.setSchema(schemaResource); 
    //... 
} 

試してみてください。

関連する問題