IDEA は jar パッケージをインポートし、その jar パッケージを Maven にパッケージ化します
背景
何らかの理由で、プロジェクトはデモでコードを導入する必要がありますが、デモは Java を使用し、フレームワークを使用せず、サードパーティの jar も参照します。そのため、デモを自分のプロジェクト (SpringBoot+Maven) に統合する場合は
、 )、統合プロセス全体は非常に複雑です。
将来必要になった場合に備えて、この手順を記録しておきます。
ステップ
Maven ベースのプロジェクトの場合は、IDEA インポート jar パッケージ部分を直接スキップして、後続の部分を直接設定できます。
- プロジェクトに jar 保存ディレクトリを作成する
私の方法は、プロジェクトのルート ディレクトリに lib ディレクトリを作成して、jar を保存することです。
IDEA インポート jar パッケージ
当初、サードパーティのjar(クラスの上のインポート部分)への参照が赤で報告されていたため、デモを正常に実行できるようにするために設定する必要があったため、同様の解決策をオンラインで見つけました
。手順は次のとおりです
- 選択したjarパッケージを入力して
File-> Project Structure-> Libraries -> 点击 + 号-> 选择java
選択します(複数ある場合は1つずつ追加します)
- jar を選択する場合、モジュール (Modules) を指定します。ここで指定するモジュールは、独自の pom ファイル内の artifactId です。
- 追加が完了すると、
Project Structure-> Modules
下に追加した jar が表示されます
。まだ存在しない場合は、+
クリックして、前の手順で構成したライブラリを手動で追加できます。
注目すべき主な点は+
、クリックした後、ライブラリが選択されていることです。追加するのは、jar やディレクトリではなく、ライブラリです。
設定を確認した後、[OK] をクリックすると、デモが正常に実行できることがわかります。
Maven でのサードパーティの jar パッケージのパッケージ化
実行はできますが、Maven のパッケージ化で問題が発生しました。
アイデアではモジュールに追加しましたが、パッケージ化時にサードパーティの jar パッケージを参照できません。下図に示すように、
Maven ではサードパーティの jar パッケージが参照できません。参照 jar はインポートされていないため、二次構成を実行する必要があります。
-
pom ファイルに、サードパーティの jar への参照を追加します。
<dependency> <groupId>com.time.pause</groupId> <artifactId>okhttp</artifactId> <!--依赖范围--> <scope>system</scope> <version>3.12.0</version> <!--依赖所在位置--> <systemPath>${project.basedir}/lib/okhttp-3.12.0.jar</systemPath> </dependency>
注意すべき点:
groupId,artifactId
jar パッケージと完全に一致する必要はなく、カスタマイズするだけで十分です。実際の状況に応じてバージョンを追加します。 -
追加されたサードパーティの jar の Maven 座標をパッケージ化プラグインに組み込みます
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--让maven编译的时候能将第三方包编入--> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
ステップ 2 で設定がない場合、パッケージ化時にエラーは報告されませんが、
java -jar
サードパーティの jar がパッケージング プラグによって実際には入力されないため、jar をローカルで実行するときにパッケージが見つからないことに注意してください。-で。
参考ブログ
https://blog.csdn.net/qq_43599841/article/details/127368168
https://blog.csdn.net/weixin_43888891/article/details/130611728