2009-09-01 5 views
24

10MB보다 큰 파일의 성능을 고려하여 어느 것이 더 낫다고 (JAXB 또는 Apache XMLBeans) 알 수 있습니까?JAXB 대 Apache XMLBeans

+1

** 개발자를위한 참고 사항 : ** 현재 XMLBeans 프로젝트는 공식적으로 종료되고 적극적인 개발이 중단됩니다. Apache XMLBeans [홈 페이지] (https://xmlbeans.apache.org/) (인용구) 상단에있는 메시지에주의하십시오. _ ""2014/05/23 - Apache XMLBeans은 ** 폐기되었습니다 **. 자세한 내용은 [Apache Attic] (http://attic.apache.org/projects/xmlbeans.html)을 참조하십시오. _ – informatik01

답변

18

두 가지 모두 비슷한 성능을 제공하지만 아파치 XMLBeans가 더 나은 성능을 제공한다고해도 타사 도구를 사용하여 응용 프로그램의 크기를 늘리고 싶지 않기 때문에 일반적으로 JAXB를 선택합니다.

Apache XMLBeans를 사용하면 약 2MB 크기의 작은 패키지가 필요합니다. 배우기 쉽고 문서화가 잘되어 있습니다. XSD 사양 및 네임 스페이스를 완벽하게 지원하고 XSD (XML 스키마 정의)를 통해서만 매핑 할 수 있습니다. 또한 비추천 API를 사용하는 것 같습니다.

+0

최종 응용 프로그램의 크기가 매우 중요하므로 webstart 응용 프로그램을 만들려고합니다. 성과 차이가 너무 크지 않기 때문에 아마 내 결정에서 가장 무거운 요소 일 것입니다. – Simon

1

은 bruno와 일치합니다. JAXB는 이유 때문에 Java와 번들로 제공됩니다.

+4

아니요, xml-java-object-mapping-tool 복권을 획득했기 때문에 아니오 – Nico

+0

"복권"은 품질에 의한 선택과 같은 것이 아니라 행운에 의한 것입니다 ... – Henning

+9

JAXB는 도구가 아니지만 http : //jcp.org/en/jsr/detail? id = 222). Metro JAXB impl (https://jaxb.dev.java.net/)은 Java SE 6에 포함되어 있습니다. MOXy (http://www.eclipse.org/eclipselink/moxy.php)와 같은 다른 JAXB impls도 있습니다. JaxMe (http://ws.apache.org/jaxme/). –

4

XML 인스턴스 문서에서 XML 스키마를 생성 할 수있는 "inst2xsd"라는 편리한 도구가 있으므로 XMLBeans를 선호합니다. JAXB는이를 수행 할 수 없습니다.

는 XML 빈스의 건축가 그가 JAXB가 기존의 표준에도 불구하고, XML 빈스를 구축 선택한 이유에 대해 쓴 http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html#inst2xsd

+5

JAXB 2에서 XML 스키마를 생성 할 수 있습니다. http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/xml/bind/JAXBContext를 참조하십시오. html # generateSchema (javax.xml.bind.SchemaOutputResolver) –

+3

JAXB 2는 xml에서 스키마를 생성 할 수 없습니다. schemagen 도구는 Java 클래스에서 스키마 만 생성합니다. – Kamran

+0

참조 http://stackoverflow.com/questions/7212064/is-it-possible-to-generate-a-xsd-from-a-jaxb-annotated-class :) – everlasto

7

참조하십시오. blog (특히 problems with jaxb)을 살펴보세요. 가장 큰 이점은 유형 대체입니다.

+14

jaxb 블로그 게시물의 문제점은 JAXB 1 (JSR-31)을 참조한 것입니다. JAXB 2 (JSR-222)는 도약과 경계가 더 좋습니다. 이는 JAXB 2 전문가 그룹의 회원이었던 David Bau의 공헌 덕분입니다. –