質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%

Q&A

0回答

175閲覧

Mavenでカスタムコマンドを作りたい

bobo

総合スコア40

0グッド

0クリップ

投稿2022/10/19 06:02

前提

こんにちは。
初歩的な質問かもしれませんがMavenのカスタムコマンドを指定したいです。

あるライブラリを使い、両方ともgenerate(BuildOption,goal?)を使っている為、
別々のMavenコマンドで呼べるようにしたいです。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • mvn archetype:generate-docのコマンド実行でDoc生成
  • mvn archetype:generate-warのコマンド実行でWAR生成

発生している問題・エラーメッセージ

カスタムコマンド化の実装方式が不明

該当のソースコード

pom.xml

1<build> 2 <plugins> 3 <plugin> 4 <groupId>org.openapitools</groupId> 5 <artifactId>openapi-generator-maven-plugin</artifactId> 6 <version>6.2.0</version> 7 <executions> 8 <execution> 9 <id>generate-doc</id> 10 <phase>generate</phase> 11 <goals> 12 <goal>generate-doc</goal> 13 </goals> 14 ....options 15 </execution> 16 <execution> 17 <id>generate-war</id> 18 <phase>generate</phase> 19 <goals> 20 <goal>generate-war</goal> 21 </goals>

上記の様に実現させようと思っていますが、根本的に考えが間違っている等指摘頂ければ幸いです。
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bobo

2022/10/19 07:20 編集

ググっていてProfileで切り替えるのが一般的と言う事で、受け渡すOption部を可変に下記の様に組んでみたのです(ご覧の様にそれぞれでOptionの指定有無に差異がある)が、可能でしょうか? コマンドは mvn package -P build_doc(or build_war) のイメージです。 <build>  <plugins>   <plugin>    <groupId>org.openapitools</groupId>    <artifactId>openapi-generator-maven-plugin</artifactId>    <version>6.2.0</version>    <executions>     <execution>      <goals>       <goal>generate</goal>      </goals>      ←ここにProfilesの<configuration>をそれぞれ差し替えてBuildしたい     </execution>    </executions>   </plugin>  </plugins> </build> <profiles>  <profile>   <id>build_doc</id>   <configuration>    <inputSpec>${openapi.inputSpec}</inputSpec>    <generatorName>markdown</generatorName>    <output>target/html</output>   </configuration>  </profile>  <profile>   <id>build_war</id>   <configuration>    <inputSpec>${openapi.inputSpec}</inputSpec>    <generatorName>spring</generatorName>    <library>spring-cloud</library>    <generateApiTests>false</generateApiTests>    <generateModelTests>false</generateModelTests>    <generateApiTests>false</generateApiTests>    <configOptions>     <sourceFolder>src/gen/java/main</sourceFolder>     <groupId>${project.groupId}</groupId>     <artifactId>${project.artifactId}</artifactId>     <invokerPackage>${project.groupId}.${project.artifactId}.${openapi.invokerPackage}</invokerPackage>     <apiPackage>${project.groupId}.${project.artifactId}.${openapi.apiPckage}</apiPackage>     <modelPackage>${project.groupId}.${project.artifactId}.${openapi.modelPackage}</modelPackage>     <dateLibrary>java8</dateLibrary>     <java8>true</java8>     <interfaceOnly>true</interfaceOnly>     <useSwaggerUI>false</useSwaggerUI>     <serializableModel>true</serializableModel>     <useBeanValidation>true</useBeanValidation>     <performBeanValidation>true</performBeanValidation>    </configOptions>   </configuration>  </profile> <profiles>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問