2017-06-12 5 views
0

私は以下のように見えるそのpom.xmlを持っています: -のmaven-JAXB2 - プラグイン:XSDとXJBファイルが同じ場所にあっても、スキーマの場所を解析中にエラーが発生しまし

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <groupId>com.eros</groupId> 
     <artifactId>model</artifactId> 
     <version>0.001-SNAPSHOT</version> 
    </parent> 

    <artifactId>nato-model</artifactId> 
    <packaging>jar</packaging> 
    <name>nato-model</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.eros</groupId> 
      <artifactId>core-model</artifactId> 
      <version>${main.version}</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.jvnet.jaxb2.maven2</groupId> 
       <artifactId>maven-jaxb2-plugin</artifactId> 
       <version>0.13.1</version> 
       <configuration> 
        <verbose>false</verbose> 
        <removeOldOutput>false</removeOldOutput> 
        <markGenerated>true</markGenerated> 
       </configuration> 

       <executions> 

        <execution> 
         <id>b</id> 
         <goals> 
          <goal>generate</goal> 
         </goals> 
         <configuration> 
          <generatePackage>com.eros.model.nato.n5k</generatePackage> 
          <generateDirectory>${project.build.directory}/generated-sources/jaxb</generateDirectory> 
          <schemaDirectory> 
           ${project.basedir}/../../schema/src/main/xsd/com/eros/model/nato/custom_xsds 
          </schemaDirectory> 
          <schemaIncludes> 
           <include>n5k.xsd</include> 
          </schemaIncludes> 
          <bindingDirectory>${project.basedir}/../../schema/src/main/xsd/com/eros/model/nato/custom_xsds</bindingDirectory> 
          <bindingIncludes> 
           <include>n5k.xjb</include> 
          </bindingIncludes> 
          <strict>false</strict> 
          <forceRegenerate>true</forceRegenerate> 
         </configuration> 
        </execution> 
        <execution> 
        <id>n7k</id> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
        <configuration> 
         <generatePackage>com.eros.model.nato.n7k</generatePackage> 
         <generateDirectory>${project.build.directory}/generated-sources/jaxb</generateDirectory> 
         <schemaDirectory> 
          ${project.basedir}/../../schema/src/main/xsd/com/eros/model/nato/custom_xsds 
         </schemaDirectory> 
         <schemaIncludes> 
          <include>n7k.xsd</include> 
         </schemaIncludes> 
         <bindingDirectory>${project.basedir}/../../schema/src/main/xsd/com/eros/model/nato/custom_xsds</bindingDirectory> 
         <strict>false</strict> 
         <forceRegenerate>true</forceRegenerate> 
        </configuration> 
       </execution> 
       </executions> 
      </plugin> 

     </plugins> 
    </build> 

</project> 

マイn5k.xjbファイルは以下のようになります。 : -

<?xml version="1.0" ?> 
<jaxb:bindings version="1.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" schemaLocation="./n5k.xsd"> 
     <jaxb:bindings> 
      <jaxb:globalBindings typesafeEnumMaxMembers="1024"/> 
     </jaxb:bindings> 
</jaxb:bindings> 

私n7k.xjbは、以下のようになります -

<?xml version="1.0" ?> 
<jaxb:bindings version="1.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" schemaLocation="n7k.xsd"> 
     <jaxb:bindings> 
      <jaxb:globalBindings typesafeEnumMaxMembers="1024"/> 
     </jaxb:bindings> 
</jaxb:bindings> 

しかし、私は取得していますコンパイルに以下のエラー: -

私が間違っていることを誰かに教えてもらえますか?

環境: -

  • のJava 8
  • のMaven 3.5

答えて

0

私はこの問題はn7k.xsdのコンパイルから来ていると思います。 2回目の実行では、bindingIncludesを設定しませんでした。したがって、明らかにn7k.xjbn5k.xjbの両方が使用されます。そしてn5k.xjb参照n5k.xsdこのコンパイルの一部ではありません。

追加してみて、解決するには、次の

<bindingIncludes> 
    <include>n7k.xjb</include> 
</bindingIncludes> 

を第二の実行の構成に。

関連する問題