2016-05-24 7 views
0

Mavenは私の設定を間違ったクラスにシリアル化しようとしていますが、私はそのバグがmaven、ジェネレータライブラリ、Maven mojoの設定を解析できません - 間違ったクラス

私は私のプラグイン設定で、次のXMLスニペットを持っている:

<generator> 
    <strategy> 
     <matchers> 
      <schemas> 
       <schema> 
        <schemaClass> 
         <transform>PASCAL</transform> 
         <expression>SCHEMA_$0</expression> 
        </schemaClass> 
        <schemaIdentifier> 
         <transform>PASCAL</transform> 
         <expression>SCHEMA_$0</expression> 
        </schemaIdentifier> 
       </schema> 
      </schemas> 
     </matchers> 
    </strategy> 
</generator> 

と私が構築しようとすると、次のエラーを取得する(周りthis bugを仕事にしようと、documentationを参照してください):

[エラー]目標org.jooqを実行できませんでした:jooq-codegen-maven:3.8.1:プロジェクトで生成(デフォルト)my-project:mojo org.jooqの設定を解析できません:jooq-codegen-maven:3.8。 1:パラメータschemaClassの生成:org.jooq.util.jaxb.Schemaクラスの 'schemaClass'を見つけることができません - > [ヘルプ1]

org.jooq.util.jaxb.Schema

はschemaClass性を有するが、内部のmatcherオブジェクトない - >スキーマはschema xsd、生成コードに係るタイプorg.jooq.util.jaxb.MatchersSchemaTypeでなければなりません。

ここでは何が起こっていますか?このクラスを正しく非直列化するのは誰の責任ですか?maven、jooqなどですか?

+1

うーん、興味深い。あなたの設定が正しいと思います。これはXMLをデシリアライズするときに面白いことを行うMavenでなければなりません。この問題を調査し、後で回答を提供します。この問題を回避するには、常に外部のXML設定を使用し、joyqのGenerationToolをMavenではなくJAXBでデシリアライズさせることができます。これを達成する1つの方法は、[maven ant plugin](http://www.jooq.org/doc/latest/manual/code-generation/codegenant)を使用することです。 –

答えて

0

私はこれを早く考えなかったとは思えません。私はそれと一緒に働いた:

<generator> 
    <strategy> 
     <matchers> 
      <schemas> 
       <matchersSchemaType> 
        <schemaClass> 
         <transform>PASCAL</transform> 
         <expression>SCHEMA_$0</expression> 
        </schemaClass> 
        <schemaIdentifier> 
         <transform>PASCAL</transform> 
         <expression>SCHEMA_$0</expression> 
        </schemaIdentifier> 
       </matchersSchemaType> 
      </schemas> 
     </matchers> 
    </strategy> 
</generator> 
関連する問題