La estructura del proyecto después del paquete SpringBoot está empaquetado (tome el paquete jar como ejemplo)

directorio raíz
     | - arranque- INF 
| - clases
| - lib
| - META- INF | - ORG
  • Directorio BOOT-INF
    • El archivo .class correspondiente al código del proyecto se almacena en el directorio de clases
    • El directorio lib almacena los paquetes dependientes del proyecto, que se almacenan en forma de paquetes jar (los archivos jar se almacenan en archivos jar, y hay un nombre especial llamado "FatJar"
  • META-INF
    • Almacene el archivo de manifiesto, su contenido describe la información básica del paquete jar ejecutable actualmente
    • Entre ellos, hay dos descripciones principales:
      • Clase principal
        • El archivo de entrada que describe el paquete jar (la clase donde se encuentra el método principal)

        • Spring framework es fijo org.springframework.boot.loader.JarLauncher

        • Después de definir este atributo, debe haber un salto de línea

      • Comenzar la clase
        • Describa el nombre completo del método principal personalizado.

  • org
    • Almacene algunas clases de inicio relacionadas después de empaquetar el proyecto SpringBoot

    • Debido a las consideraciones de administración y seguridad de SpringBoot, el empaquetado utiliza el método de "código de proyecto separado y paquete de dependencia" (a diferencia del método anterior de fusionar todos los archivos .class en el paquete de dependencia con los archivos .class del proyecto), por lo que empaqueta El paquete jar / war posterior aún contiene el paquete jar dependiente, que no se ajusta a la especificación del paquete jar. El cargador jar predeterminado no puede cargar el paquete jar dependiente

    • Con el fin de eludir la especificación de archivo JAR, SpringBoot utilizar un cargador a medida para cargar todo el proyecto, por lo que ya no es la entrada principal cuando el método de preparación del proyecto, pero el uso de org.springframework.boot.loader.JarLauncherla clase, crean todos los cargadores personalizados para proyectar la carga en el inicio Clase

    • Por lo tanto, el proyecto SpringBoot empaquetarse, solamente orgla clase de carpeta es el cargador de clases AppClassLoader, BOOT-INFla carpeta y el cargador de clases es dependenciasLaunchedURLClassLoader

La estructura del paquete war es similar a la estructura del paquete jar, excepto por algunos directorios más (como "WEB-INF /" etc.)

Supongo que te gusta

Origin www.cnblogs.com/flying-snake/p/12689801.html
Recomendado
Clasificación