jaxb,xsd导入无法识别

我有一个jaxb插件的大问题。 我有一个项目A,我有src / main / resources / xsd / common.xsd文件。 在这个项目中,我使用cxf-xjc-plugin来生成java类。 我还有我的episod文件在src / main / resources / META-INF下名为sun-jaxb.episode

接下来,我有项目B,它对项目A有maven依赖。在这个项目中我有src / main / resources / catalog.txt

PUBLIC "http://www.some_path" "maven:GROUP_ID_OF_PROJECT_A:ARTIFACT_ID_OF_PROJECT_A:jar::!/common.xsd" 

在项目BI中有pom文件和jaxb插件

  org.jvnet.jaxb2.maven2 maven-jaxb2-plugin  true   GROUP_ID_OF_PROJECT_A ARTIFACT_ID_OF_PROJECT_A    src/main/resources/catalog.txt    

接下来,我在项目B中

  src/main/resources/other/xsd my main.xsd 

我使用common.xsd中的类型定义的文件

我有xmlns:cmns =“http://www.some_path”//它与catalog.txt中的相同

  

但问题是我得到错误未定义简单或复杂类型,因为它不识别cmns

我使用这个插件来解决xsd的公共导入问题

  org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.8.1   generate-sources  generate      -Xannotate -Xnamespace-prefix -nv  true true ${basedir}/src/main/resources/xjb  *.xjb     ${basedir}/src/main/resources/xsd  *.xsd      groupID artifactID target.xsd      groupID artifactID   true true   org.jvnet.jaxb2_commons jaxb2-basics 0.6.2   org.jvnet.jaxb2_commons jaxb2-basics-annotate 0.6.2   org.jvnet.jaxb2_commons jaxb2-namespace-prefix 1.1     

项目A的pom.xml插件

  org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.8.1   generate-sources  generate      -Xannotate -nv -Xnamespace-prefix  true    ${basedir}/src/main/resources/xsd/  A.xsd     src/main/resources/xjb  *.xjb  true true true   org.jvnet.jaxb2_commons jaxb2-basics 0.6.0   org.jvnet.jaxb2_commons jaxb2-basics-annotate 0.6.0   org.jvnet.jaxb2_commons jaxb2-namespace-prefix 1.1     

项目B的pom.xml插件

  org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.8.1   generate-sources  generate      -Xannotate -Xnamespace-prefix -nv  true true ${basedir}/src/main/resources/xjb  *.xjb     ${basedir}/src/main/resources/xsd/  B.xsd      AgroupID AartifactID xsd/A.xsd      AgroupID AartifactID   true true   org.jvnet.jaxb2_commons jaxb2-basics 0.6.2   org.jvnet.jaxb2_commons jaxb2-basics-annotate 0.6.2   org.jvnet.jaxb2_commons jaxb2-namespace-prefix 1.1     

您必须在项目B之前执行项目A的mvn安装


添加此插件以添加到源目标生成的类

   org.codehaus.mojo build-helper-maven-plugin 1.1   add-source generate-sources  add-source    target/generated-sources/xjc      

记得执行Maven – 更新项目