SpringBootを使ってライブラリ(jar)を作る際、Mavenで単純に作成するとBOOT-INF配下にclassファイルが配置されるため他のJavaから参照できない。
他のjarと同様にトップフォルダにclassが配置されるようにする対応。
pom.xmlを変更する
pom.xmlに通常のjarファイルを作成する設定を追記する。
<build>
<plugins>
<!-- 他のplugin情報 -->
・・・
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<!-- 他のプロジェクトから参照するため通常JARを作成-->
<id>create-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>library</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
上記の設定でBOOT-INF配下にclassファイルが配置されたjarと、他のプロジェクトから参照可能なjar(~-library.jar)が作成できるようになる。
Mavenのコマンドでjarファイルを作成する
以下のコマンドにてjarを作成する。(cursorのターミナルで実行)
./mvnw.cmd clean package
正常終了すると「.../target」フォルダ配下にjarファイルが作成される。