IDEA importa el paquete jar de terceros y lo empaqueta en Maven


fondo

Por algunas razones, el proyecto necesita introducir el código en la demostración, pero la demostración usa Java y no utiliza ningún marco, y también hace referencia a jar de terceros, por lo que al integrar la demostración en su propio proyecto (SpringBoot + Maven
) , Todo el proceso de integración es bastante complicado, para evitar problemas,
registraré este paso en caso de que sea necesario en el futuro.


paso

Si se trata de un proyecto basado en Maven, puede omitir directamente la parte del paquete jar de importación de IDEA y configurar directamente las partes posteriores.

  1. Cree un directorio de almacenamiento jar en el proyecto.
    Mi método es crear un directorio lib en el directorio raíz del proyecto para almacenar el jar.
    Insertar descripción de la imagen aquí

Paquete jar de importación IDEA

Al principio, la referencia al jar de terceros (la parte de importación encima de la clase) se reportaba en rojo, por lo que era necesario configurarlo con la idea para permitir que ejecutara la demostración normalmente, así que encontré una solución similar en línea
. los pasos son los siguientes

  1. Ingrese y File-> Project Structure-> Libraries -> 点击 + 号-> 选择java seleccione el paquete jar seleccionado (agregue uno por uno si hay varios)
    Insertar descripción de la imagen aquí
  2. Al seleccionar jar, especifique el módulo (Módulos). El módulo especificado aquí es el artefactoId en su propio archivo pom.
    Insertar descripción de la imagen aquí
  3. Una vez completada la adición, Project Structure-> Modulesestará el jar que agregamos a continuación
    . Si aún no está allí, podemos +hacer clic para agregar manualmente la biblioteca configurada en el paso anterior.
    Lo principal a tener en cuenta es que +después de hacer clic, elige agregar Biblioteca Bibliotecas, no jar o directorio.
    Insertar descripción de la imagen aquí
    Después de confirmar la configuración, haga clic en Aceptar y verá que la demostración se puede ejecutar normalmente.

Empaquetado de paquetes jar de terceros en Maven

Aunque se puede ejecutar, encontré un problema en el empaquetado de Maven.
Aunque se agregó al módulo en la idea, no se puede hacer referencia al paquete jar de terceros al empaquetar. Como se muestra en la siguiente figura,
en Maven, el paquete de terceros referenciado El jar no se ha importado, por lo que debemos realizar una configuración secundaria.

Insertar descripción de la imagen aquí

  1. En el archivo pom, agregue una referencia al jar de terceros.
    Insertar descripción de la imagen aquí

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

    Cabe señalar que: groupId,artifactIdno es necesario que sea completamente coherente con el paquete jar, solo necesitamos personalizarlo y agregaremos la versión según la situación real.

  2. Incorpore las coordenadas Maven del frasco de terceros agregado en el complemento de empaquetado
    Insertar descripción de la imagen aquí

          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <!--让maven编译的时候能将第三方包编入-->
              <configuration>
                  <includeSystemScope>true</includeSystemScope>
              </configuration>
          </plugin>
    

    Cabe señalar que si no hay configuración en el paso 2, aunque no se informará ningún error al empaquetar, java -jarel paquete aún no se encontrará al ejecutar el jar localmente ,
    porque el complemento de empaquetado no ingresa el jar de terceros. -en.


Blog de referencia
https://blog.csdn.net/qq_43599841/article/details/127368168
https://blog.csdn.net/weixin_43888891/article/details/130611728

Supongo que te gusta

Origin blog.csdn.net/qq_43371556/article/details/131954225
Recomendado
Clasificación