1. ホーム
  2. maven

Spring bootに外部ライブラリ.jarを追加する .jar 内部 /lib

2023-09-29 15:11:34

質問

pom.xml を使って公開リポジトリからインポートできない外部 .jar があるのですが、それは sqljdbc41.jar .

IDEからローカルにプロジェクトを実行すると、すべてが動作します。このようにダウンロードした後にライブラリを参照しました。

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc41</artifactId>
    <version>4.1</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/sqljdbc41.jar</systemPath>
</dependency>

を実行すると mvn clean package を実行して .jar ファイルを作成し、作成した .jar を実行しようとすると、SQL Server への参照が有効でないという間違いがポップアップ表示されます。そこで、私の .jar ファイルを展開したところ、確かに、すべての pom.xml ファイルで参照されるすべてのものが適切にダウンロードされ追加されましたが、私の SQL Server はそうではありませんでした。

私は、非常にやっかいな方法* で、ただ手動で sqljdbc41.jar を .jar としてコンパイルした後、私の /lib フォルダに手動で追加すれば動作しますが、これは非常に非最適に思えます。より良い方法は何でしょうか?


*Winrar で .jar ファイルを開き、/lib フォルダに移動して、手動で私の sqljdbc41.jar ファイルを手動で選択し、Winrar が圧縮オプションを提供する左下のオプションで、圧縮なしを選択することを確認します。

どのように解決するのですか?

includeSystemScope'をtrueに設定します。

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>