IDEA はサードパーティの jar パッケージをインポートし、その jar パッケージを Maven にパッケージ化します。

IDEA は jar パッケージをインポートし、その jar パッケージを Maven にパッケージ化します


背景

何らかの理由で、プロジェクトはデモでコードを導入する必要がありますが、デモは Java を使用し、フレームワークを使用せず、サードパーティの jar も参照します。そのため、デモを自分のプロジェクト (SpringBoot+Maven) に統合する場合は
、 )、統合プロセス全体は非常に複雑です。
将来必要になった場合に備えて、この手順を記録しておきます。


ステップ

Maven ベースのプロジェクトの場合は、IDEA インポート jar パッケージ部分を直接スキップして、後続の部分を直接設定できます。

  1. プロジェクトに jar 保存ディレクトリを作成する
    私の方法は、プロジェクトのルート ディレクトリに lib ディレクトリを作成して、jar を保存することです。
    ここに画像の説明を挿入します

IDEA インポート jar パッケージ

当初、サードパーティのjar(クラスの上のインポート部分)への参照が赤で報告されていたため、デモを正常に実行できるようにするために設定する必要があったため、同様の解決策をオンラインで見つけました
。手順は次のとおりです

  1. 選択したjarパッケージを入力してFile-> Project Structure-> Libraries -> 点击 + 号-> 选择java 選択します(複数ある場合は1つずつ追加します)
    ここに画像の説明を挿入します
  2. jar を選択する場合、モジュール (Modules) を指定します。ここで指定するモジュールは、独自の pom ファイル内の artifactId です。
    ここに画像の説明を挿入します
  3. 追加が完了すると、Project Structure-> Modules下に追加した jar が表示されます
    。まだ存在しない場合は、+クリックして、前の手順で構成したライブラリを手動で追加できます。
    注目すべき主な点は+、クリックした後、ライブラリが選択されていることです。追加するのは、jar やディレクトリではなく、ライブラリです。
    ここに画像の説明を挿入します
    設定を確認した後、[OK] をクリックすると、デモが正常に実行できることがわかります。

Maven でのサードパーティの jar パッケージのパッケージ化

実行はできますが、Maven のパッケージ化で問題が発生しました。
アイデアではモジュールに追加しましたが、パッケージ化時にサードパーティの jar パッケージを参照できません。下図に示すように、
Maven ではサードパーティの jar パッケージが参照できません。参照 jar はインポートされていないため、二次構成を実行する必要があります。

ここに画像の説明を挿入します

  1. 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,artifactIdjar パッケージと完全に一致する必要はなく、カスタマイズするだけで十分です。実際の状況に応じてバージョンを追加します。

  2. 追加されたサードパーティの 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

おすすめ

転載: blog.csdn.net/qq_43371556/article/details/131954225