Introducción al paquete jar de terceros del proyecto Springboot && solución de conflictos del paquete jia

1 Introducir paquetes jar de terceros

1.1 colocación de jarra

Se recomienda que el paquete jar de terceros se coloque en la ruta src / main / webapp / WEB-INF / lib del proyecto springboot. Si el proyecto no tiene esta ruta, puede crear una nueva; de hecho, vea otros blogs, es posible ubicarlo. Se recomienda que el propósito de esta ubicación sea el empaquetado, de modo que el paquete jar al que desea hacer referencia se pueda empaquetar directamente debajo del paquete lib de web-inf en el paquete war. Según lo que he visto en otros blogs, lo probé yo mismo. Si el jar El paquete no está bajo el paquete lib, y no se hará referencia en el programa (por supuesto, puede estar en la idea, no funcionará en el servidor).
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

1.2 configuración de pom

$ {project.basedir} representa el directorio raíz del proyecto
$ {project.basedir} /src/main/webapp/WEB-INF/lib/ImApi.jar apunta a la
configuración de la etiqueta de dependencia del paquete 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>

configuración de etiqueta de complementos

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

Conflicto de paquete de 2 jarras

Información de error
Inserte la descripción de la imagen aquí
Haga clic en ( LogFactoryImpl.java:392 ) en la línea debajo de la información de error para
Inserte la descripción de la imagen aquí
solicitar las dos versiones del método. Debe ser que el conflicto del paquete jar hace que la carga de la clase no pueda determinar qué clase cargar; haga clic en el primer commons-loggings1.1.3, Se descubrió que era la dependencia original del sistema, haga clic en el segundo commons-loggings1.0.4, y se encontró que era una dependencia en el paquete jar de terceros que cité. Se puede usar la versión 1.0.4, así que use la etiqueta <exclusions> para excluir dependencias transitivas y excluir 1.1.3. Reinicie el proyecto y comience con éxito.

Publicado 6 artículos originales · me gustó 0 · visitas 317

Supongo que te gusta

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