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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

解決済

Mavenで本資材とは別にJarを作成したい

bobo
bobo

総合スコア35

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1回答

1リアクション

0クリップ

209閲覧

投稿2022/10/05 03:46

前提

Javaで作成してるアプリが有り、Maven操作してます。
OpenAPIと言うソースの自動生成ツールを使い、生成した資材だけでJarに固め、
本資材のアプリのソースに組み込んで(Jarのimport)最終的なJARを作成したいと思ってます。

1.[A]openapi-generatorを使ってJavaソースを生成し、それだけでjarに固めたい。
2.[A]のjarを本資材に組込み、全体ビルドしたい。

実現したいこと

openapi-generator-maven-plugin
ここに実現したいことを箇条書きで書いてください。

  • openapi-generatorで生成されたJavaソースだけをjarに固めたい。(本資材のビルドが走らぬ様)

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

以下の①③のみですとビルドは正常に行われ、JARファイル(本資材のみ)も生成されます。
ただ、②を含めますとopenAPIのソースはtarget/generate-source/以下に生成されるのですが、全体Buildが同時に走ってしまう為か、本資材側のソースでエラーが起こります。

target/generate-source/以下だけを対象にMavenのビルドコマンドを作るにはどの様にすれば良いでしょうか?(goalが関係している?)
お分かりになる方いましたら宜しくお願いします。

該当のソースコード

pom.xml

<build> <pluginManagement> <plugins> <plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>5.4.0</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${codegen.definition}</inputSpec> <groupId>${codegen.git.groupId}</groupId> <artifactId>${codegen.git.artifactId}</artifactId> <artifactVersion>${codegen.git.artifactVersion}</artifactVersion> <generatorName>spring</generatorName> <apiPackage>${codegen.package.api}</apiPackage> <modelPackage>${codegen.package.message}</modelPackage> <addCompileSourceRoot>true</addCompileSourceRoot> <configOptions> <basePackage>${codegen.package.base}</basePackage> <configPackage>${codegen.package.config}</configPackage> <useTags>true</useTags> <openApiNullable>false</openApiNullable> <interfaceOnly>true</interfaceOnly> </configOptions> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin>                        ① <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> </plugin> <plugin>                        ② <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> </plugin> <plugin>                        ③ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Dfile.encoding=UTF-8</argLine> <executable>${java.home}/bin/java</executable> <arguments> <argument>-jar</argument> <argument>lib/swagger-source-converter.jar</argument> <argument>-i</argument> <argument>${project.build.directory}/generated-sources/openapi/src/main/java</argument> <argument>-o</argument> <argument>${project.build.directory}/messages/generated-sources</argument> <argument>-ip</argument> <argument>${codegen.package.api}</argument> <argument>-op</argument> <argument>${codegen.package.message}</argument> </arguments> </configuration> </plugin> </plugins> </build>

試したこと

上記の設定で
・mvn package -e
・①③のみの挙動&生成物の確認
・①②③の挙動&生成物の確認

補足情報(FW/ツールのバージョンなど)

PCの環境設定もJava1.8にパスを通しています。

takezoux2👍を押しています

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。