2015-01-24 5 views
1

XML 기반 소프트웨어를 개발하려고합니다. Maven & XmlBeans를 사용하고 있습니다.Maven Xmlbeans Plugin - 지정된 스키마에 대한 파일 생성 및 유지

나는 을 제공하는 base-project을 가지고 있는데, 이는 몇 가지 요소, 추상 유형 등을 정의합니다.

다른 모든 sub-projects도 xml-schemas를 제공합니다. 그러나 이러한 하위 프로젝트는 base-xml-schemas을 가져 오거나 참조하여 &을 사용하여 base-schemas에 정의 된 요소/유형을 확장합니다.

는 비록 내 sub-projectsbase-project을 따라 플러그인의 사용에 대한 schemaDirectory에 존재하는 base-xml-schemas을 필요로 XML 빈스. 함축적으로 모든 하위 프로젝트는 이제 base-xml-schemas으로 인해 생성/컴파일 된 중복 콘텐츠를 포함합니다.

나는, 내 sub-projects는 그 하위 프로젝트 별 스키마 그들의 항아리에 & 콘텐츠를 원하는대로 내 base-project 유형은 런타임에서 해결 될 수있는 내 제이 보스 &의 모든 응용 프로그램에 사용할 수 있습니다.

xmlbean은 코드 생성을 위해 제시된 모든 스키마가 필요하다는 것을 이해 했으므로 xmlbean 생성 코드는 모두 base-xml-schema으로 인해 지워지고 sub-project 특정 스키마와 관련된 파일은 보유하고 싶습니다.

수동으로이 작업을 수행했습니다. 내 프로젝트에 & 런타임이 제대로 작동합니다.

제 질문은 - 생성 후 바로 base-schema으로 인해 생성 된 파일이 삭제되도록 Maven을 사용하여 자동화하는 방법입니다.

답변

0

Maven xmlbeans 플러그인은 기본적으로 라이프 사이클 단계 : generate-sources에 바인딩됩니다.

클린 플러그인의 깨끗한 목표를 위의 라이프 사이클 단계에 바인딩해야합니다.

링크를 참조하십시오 - Remove or delete resource files from target directory using pom file

구성은 다음과 같이 될 것입니다 :

 <execution> 
     <id>clean-autogenerated-code</id> 
     <phase>generate-sources</phase> 
     <goals> 
      <goal>clean</goal> 
     </goals> 
     <configuration> 
     <filesets> 
      <fileset> 
       <directory>some/relative/path/location/of/autogeneratd/code</directory> 
      </fileset> 
      </filesets> 
     </configuration> 
    </execution> 

디렉토리 위치 - 자동 생성 된 클래스의 정확한 디렉토리 위치를 제공합니다.

이렇게하면 자동 생성 된 xml beans 파일을 삭제해야하는 모든 하위 프로젝트에서 구성해야합니다. 모든 하위 프로젝트가 상위 pom 인 경우 해당 pom.xml 파일을 구성하십시오.