2013-01-17 3 views
5

Projekt Maven po przeniesieniu na inny komputer daje błąd. Czemu?Nie można rozwiązać nazwy 'xjc: globalJavaType' w jaxb-xjc-2.2.5-2.jar

[INFO] [jaxb2:generate {execution: default-cli}] 
[INFO] ------------------------------------------------------------------------ 
[ERROR] FATAL ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] org.xml.sax.SAXParseException; systemId: jar:file:/.m2/repository/com/sun/xml/bind/jaxb-xjc/2.2.5-2/jaxb-xjc-2.2.5-2.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 86; columnNumber: 48; src-resolve: Cannot resolve the name 'xjc:globalJavaType' to a(n) 'group' component. 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/.m2/repository/com/sun/xml/bind/jaxb-xjc/2.2.5-2/jaxb-xjc-2.2.5-2.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 86; columnNumber: 48; src-resolve: Cannot resolve the name 'xjc:globalJavaType' to a(n) 'group' component. 
    at com.sun.tools.xjc.SchemaCache.newValidator(SchemaCache.java:78) 
    at com.sun.tools.xjc.reader.xmlschema.bindinfo.AnnotationParserFactoryImpl$1$1.startElement(AnnotationParserFactoryImpl.java:118) 
    at com.sun.xml.xsom.impl.parser.state.NGCCRuntime.startElement(NGCCRuntime.java:253) 
    ... 

Odpowiedz

14

Miałem podobny problem. W moim przypadku ścieżka do repozytorium lokalnych mavenów zawierała symbole cyrylicy.
Zmieniłem plik settings.xml i wstawię tam element <localRepository>, aby określić nową ścieżkę do repozytorium wyłącznie z symbolami łacińskimi. I to zadziałało dla mnie.

+0

Ta odpowiedź powinna zostać przyjęta. Dokładnie ten sam komunikat o błędzie tutaj, i to rozwiązało (miałem "é" w mojej nazwie katalogu domowego). – ddekany

0

Miałem również podobny problem. Jak się okazało, ścieżka do domu użytkownika systemu Windows zawierała znak z akcentem, co spowodowało błąd. Było: c: \ Users \ Géza.m2 Zmieniliśmy na innego użytkownika, wszystko było dobrze.

0

mam Apple Mac więc domyślnie Maven repozytorium znajduje się w ../../ ∫.m2 /repository

Charakter (zwróć uwagę na spacje) to problem dla JAXB-XJC.

Zmiana repozytorium na ../../.m2/repository rozwiązała to dla mnie.