에 같은 공간에 여러 파일을 바인딩 :는 JAXB는이 같은 스키마 계층 구조를 가지고있어 동일한 패키지
common
|---legacy
| |---legacy.xsd xmlns="http://common/legacy"
| |---other.xsd xmlns="http://common/legacy"
| '---....xsd xmlns="http://common/legacy"
|---send
|---file.xsd xmlns="http://common/send"
'---text.xsd xmlns="http://common/send"
'---....xsd xmlns="http://common/send"
하나 개의 폴더의 모든 파일이 동일한 네임 스페이스를 가지고있다.
이제 네임 스페이스를 특정 자바 패키지에 매핑하려고합니다 (네임 스페이스를 변경할 수 없음).
스키마를 패키지에 바인딩하는 솔루션을 찾았습니다.
<jaxb:bindings schemaLocation="./common/legacy/legacy.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="./common/legacy/other.xsd">
<jaxb:schemaBindings>
<jaxb:package name="com.company/legacy"/>
</jaxb:schemaBindings>
</jaxb:bindings>
.....
직접 네임 스페이스와 패키지 이름 사이의 바인딩을 정의하는 방법이 있나요 :하지만 나는 XSD 파일 당 하나 개의 항목을 작성해야?
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<generatePackage>com.company/legacy</generatePackage>
</configuration>
</plugin>
하지만 난 정말 내가 원하는 것이 아니다 폴더 당 하나 개의 실행을 만들어야 할 것입니다 :
다른 방법은 받는다는에서 패키지를 정의하는 것입니다.
시도해 볼 수 있습니까? /common/legacy/*.xsd –