Maven empaqueta el frasco y el paquete del frasco local, y maven empaqueta el paquete del frasco local

1. Descripción del problema

Cómo empaquetar el paquete jar dependiente local en el jar, como se muestra en la figura siguiente, el proyecto se basa en los SDK de taobao y pdd, y los importa al proyecto localmente:

inserte la descripción de la imagen aquí

    <!-- 淘宝客SDK-->
    <dependency>
      <groupId>taobao</groupId>
      <artifactId>taobao</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${
    
    pom.basedir}/lib/taobao-sdk.jar</systemPath>
    </dependency>

    <!-- 拼多多SDK -->
    <dependency>
      <groupId>pop</groupId>
      <artifactId>pop</artifactId>
      <version>1.11.5</version>
      <scope>system</scope>
     <!-- <systemPath>${
    
    project.basedir}/lib/pop-sdk-1.11.5-all.jar</systemPath>-->
      <systemPath>${
    
    pom.basedir}/lib/pop-sdk-1.11.5-all.jar</systemPath>
    </dependency>

Dos, la solución

Depende del paquete jar que desee crear. Si es un proyecto springboot, empaquetelo en un jar ejecutable y configúrelo de la siguiente manera:

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

includeSystemScope se establece en verdadero y, si está empaquetado en un paquete jar normal, la configuración es la siguiente:

    <resources>
      <resource>
        <!--本地jar的目录-->
        <directory>lib</directory>
        <!--打包时,目标jar存放位置-->
        <targetPath>BOOT-INF/lib/</targetPath>
        <includes>
          <include>**/*.jar</include>
        </includes>
      </resource>
    </resources>

Cuando se empaqueta el paquete jar, el paquete jar local se empaquetará en el directorio BOOT-INF/lib/.

Supongo que te gusta

Origin blog.csdn.net/mashangzhifu/article/details/118379676
Recomendado
Clasificación