2017-09-10 13 views
0

私はクラスを生成するプロジェクトを持っています。このプロジェクトでは、これらのクラスのスキーマ、モデル、...を定義する入力JSONが必要です。Maven - ソースまたはリソースを生成するソース用の入力ファイルですか?

Mavenの世界では、この入力ファイルをソースまたはリソースと見なすべきですか?

+1

私はそれをリソースと呼んでいます。最も重要なのは、それが生成されていることを明確にしています。 (私はJAXBを使用しています) – duffymo

+0

コンパイルが必要ですか?はいの場合は、sourceまたはその他のリソース。主に意見に基づく質問。 – nullpointer

+0

私は**どちらも**と言います。このファイルがいくつかのクラスを生成するだけのものであれば、それは他の目的を持っていなければ、最終的なビルドアーチファクトには関与しません。したがって、私は 'src'の外にある別のフォルダに入れます。 –

答えて

1

私は完全なパスで尊敬する方がよいと思います。リソースの場合、src/main/resourcesになります。ソースについては、何かが必要ですsrc/main/<here>src/main/jsonである必要がありますか?私のために右に見えないので、私はsrc/main/resourcesに選ぶだろう。 JAXBスキーマコンパイラ(XJC)を使用するモジュールで

更新 XMLスキーマは、多くの場合、src/main/schemaに時々、src/main/resourcesに入れています。

+0

ジェネレータプロジェクトの名前が 'mighty-generator'の場合、入力ファイルを 'src/main/mighty-generator'に入れるのは良い考えですか?次に、このディレクトリ 'mighty-generator'はソースディレクトリかリソースディレクトリですか? –

+0

私は強く反対します。この情報を最終ビルドアーチファクトに漏らすことは悪い考えです。このファイルは 'src'以外の場所には存在しません。 –

+0

@BasOpersそれはどちらでもありません、それはプロジェクトのメタデータです。 'pom.xml'と同様です。 –

1

参考例として、よく知られているパーサジェネレータであるANTLRは、文法がsrc/main/antlr4であると想定しています。 http://www.antlr.org/api/maven-plugin/latest/examples/simple.htmlを参照してください。

同様に、発電機プロジェクトの名前がmighty-generatorの場合、入力ファイルをsrc/main/mighty-generatorに入れるとよいでしょう。

関連する問題