スタンドアロンのWebアプリケーションを作成したい。 SpringBootに問題があります。
私のアプリケーションは、SpringBootからの1つのjarファイルです。
しかし、私のアプリケーションには通常、jdbcドライバーjarが必要でした。アプリケーションのjdbcドライバーjarを除外したい。ライブラリjarをlibフォルダーから読み取りたい。
ただし、SpringBoot libフォルダーはBOOT-INF/lib
はfinal static
。
したがって、jdbcドライバーjarの外部クラスパス(lib)を追加します。
SpringBootで追加のクラスパスを構成する方法。利用可能ですか?
以下のリンクをスプリングブートから参照できます。
Loader.pathプロパティを使用して、libフォルダーの場所を定義できます
Loader.pathパラメーターを使用して、外部libフォルダーの場所を定義できます。このフォルダーの下のすべてのjarがクラスパスに追加されます。たとえば、C:\ extLibを外部libフォルダーとして定義する場合は、次を実行できます。
Java -Dloader.path=/C:/extLib/ -jar aapName.jar
これが機能するには、PropertiesLauncherを使用する必要があります。それを行うには2つの方法があります。
オプション1
プロジェクトpom.xmlを更新し、次のタグを追加します。
<configuration> <!-- added -->
<layout>Zip</layout> <!-- to use PropertiesLauncher -->
</configuration
効果的なビルドタグ、更新後は以下のようになります。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration> <!-- added -->
<layout>Zip</layout> <!-- to use PropertiesLauncher -->
</configuration>
</plugin>
</plugins>
</build>
オプション2
コマンドラインからアプリケーションを起動するときに、PropertiesLauncherを使用します。
Java -cp aapName.jar -Dloader.path=/C:/extLib/ org.springframework.boot.loader.PropertiesLauncher