Introdução ao pacote jar de terceiros do projeto Springboot && resolução de conflitos do pacote jia

1 Introduzir pacotes jar de terceiros

1.1 colocação do jar

Recomenda-se que o pacote jar de terceiros seja colocado no caminho src / main / webapp / WEB-INF / lib do projeto springboot. Se o projeto não tiver esse caminho, você poderá criar um novo; de fato, consulte outros blogs, como colocá-lo é possível. É recomendável que o objetivo desta veiculação seja o empacotamento, para que o pacote jar que você deseja referenciar possa ser empacotado diretamente no pacote lib da Web-inf no pacote war. De acordo com o que vi em outros blogs, eu mesmo tentei. O pacote não está no pacote lib e não será referenciado no programa (é claro que pode estar na ideia, não funcionará no servidor).
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

1.2 pom configuration

$ {project.basedir} representa o diretório raiz do projeto
$ {project.basedir} /src/main/webapp/WEB-INF/lib/ImApi.jar aponta para a
configuração do rótulo da dependência do pacote 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>

configuração de tag de plugins

<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>

Conflito de pacote de 2 jar

Informações de erro
Insira a descrição da imagem aqui
Clique em ( LogFactoryImpl.java:392 ) na linha abaixo das informações de erro para
Insira a descrição da imagem aqui
solicitar as duas versões do método. Deve ser que o conflito do pacote jar faça com que o carregamento da classe não consiga determinar qual classe carregar; clique no primeiro logon comum1.1.3, Constatada como sendo a dependência original do sistema, clique no segundo commons-loggings1.0.4 e constatou ser uma dependência no pacote jar de terceiros que eu referenciei. Após várias tentativas, achei que o pacote jar referenciado deve usar a versão 1.0.4. A versão 1.0.4 pode ser usada, portanto, use a tag <exclusions> para excluir dependências transitivas e excluir 1.1.3 Reinicie o projeto e inicie com êxito.

Publicado 6 artigos originais · gostei 0 · visitas 317

Acho que você gosta

Origin blog.csdn.net/weixin_42542288/article/details/104482341
Recomendado
Clasificación