私はこの問題に直面しています。swagger-codegen-cli (swagger 2) によって生成されたコードがいくつかあります。swagger-codegen-cli (swagger 3) から生成されるように更新しています。
現在、pom.mustache を変更したテンプレート フォルダーがあります。
swagger codegen 2 とその templateFolder で実行すると:
java -jar SwaggerCodegen**2**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder
すべて正常に動作します。
しかし、swagger codegen 3 jar で同じコマンドを実行すると、
java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder
私は得る:
ERROR can't find model.mustache.
そして、欠落しているさまざまな .mustache ファイルがおそらく 12 個ほどあるため、エラーが発生し続けます。
これで、完全に別のリポジトリから Java .mustache ファイルを取得することで、これらのエラーを修正できます。swagger-codegen-generators に移動し、すべての口ひげファイルを swagger-codegen-generators/src/main/resources/handlebars/Java/*.mustache から templateFolder にコピーします。
私がそれをしたら、私が走るとき
java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile -t templateFolder
いずれかの口ひげファイルに変更-last
した後、すべてが正常にコンパイルされます。id
しかし、それは持続不可能な解決策のようです。
(補足: -t を指定せずにコマンドを実行すると、
java -jar SwaggerCodegen**3**/swagger-codegen-cli.jar generate -i swagger.json -l java -o . -c configFile
すべて正常にコンパイルされますが、 pom.mustache ファイルを編集する必要があるため、うまくいきません)
このことから、swagger codegen 2 は、templateFolder で必要なデフォルトのテンプレート ファイルが見つからない場合、欠落している口ひげファイルを (swagger-codegen-generators ではなく) 自分自身で検索するように思えます。ただし、swagger codegen 3 は、templateFolder が指定されている場合、そのフォルダーのみを検索します。つまり、顧客の templateFolder には、関連するすべての口ひげファイルが含まれている必要があります。swagger codegen 3 に templateFolder が指定されていない場合、欠落している口ひげファイルはそれ自体からではなく、swagger-codegen-generators からプルされると思います。
これは本当ですか?別のレポからコピーせずに、関連するすべての口ひげファイルを自動的に取り込む別の方法はありますか? templateFolder に編集した pom.mustache ファイルを 1 つだけ入れて、すべてを実行できるようにしたいのです。