Springbootプロジェクトのサードパーティjarパッケージの紹介とjiaパッケージの競合解決

1サードパーティのjarパッケージを導入する

1.1 jarの配置

サードパーティのjarパッケージは、Springbootプロジェクトのsrc / main / webapp / WEB-INF / libパスの下に配置することをお勧めします。プロジェクトにこのパスがない場合は、新しいパスを作成できます。実際、他のブログを参照して、配置する方法はあります。この配置の目的はパッケージ化することをお勧めします。これにより、参照するjarパッケージをwarパッケージのweb-inf libパッケージの直下にパッケージ化できます。他のブログで私が見たところによると、私はそれを自分で試しました。パッケージはlibパッケージの下になく、プログラムで参照されません(もちろん、それはアイデアの中にある可能性があり、サーバーでは機能しません)。
ここに画像の説明を挿入
ここに画像の説明を挿入

1.2 pom構成

$ {project.basedir}はプロジェクトのルートディレクトリを表します
$ {project.basedir} /src/main/webapp/WEB-INF/lib/ImApi.jarはjarパッケージの
依存関係ラベル構成を指します

<!--短信服务-->
<dependency>
    <groupId>com.ImApi</groupId>
    <artifactId>ImApi</artifactId>
    <version>1.0.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ImApi.jar</systemPath>
</dependency>
<dependency>
    <groupId>com.commons-logging-1.0.4</groupId>
    <artifactId>commons-logging-1.0.4</artifactId>
    <version>1.0.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/commons-logging-1.0.4.jar</systemPath>
</dependency>

プラグインタグの設定

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <includeSystemScope>true</includeSystemScope>
            <fork>true</fork>

        </configuration>
    </plugin>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
            <compilerArguments>
                <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
            </compilerArguments>
        </configuration>
    </plugin>
    </plugins>

2 jarパッケージの競合

エラー情報エラー情報の
ここに画像の説明を挿入
下の行で(LogFactoryImpl.java:392をクリックして
ここに画像の説明を挿入
メソッドの 2つのバージョンプロンプトます.jarパッケージの競合により、クラスのロードがどのクラスをロードするかを判別できないため、最初のcommons-loggings1.1.3、システムの元の依存関係であることがわかり、2番目のcommons-loggings1.0.4をクリックし、参照したサードパーティのjarパッケージの依存関係であることがわかりました。何度も試行した後、参照されたjarパッケージはバージョン1.0.4を使用する必要があることがわかりました。バージョン1.0.4を使用できるため、<exclusions>タグを使用して推移的な依存関係を除外し、1.1.3を除外します。プロジェクトを再起動して、正常に開始します。

オリジナルの記事を6件公開 ・いい ね!0 訪問数317

おすすめ

転載: blog.csdn.net/weixin_42542288/article/details/104482341