Configuración de Empaquetado del Demo de la API de Nube de DJI con Spring Boot

El demo de la API de Nube de DJI presenta limitaciones al empaquetarse en un JAR ejecutable. La estructura del proyecto incluye dos módulos principales: uno para la aplicación de ejemplo y otro que contiene la biblioteca base de la API. Los archivos de configuración Maven se distribuyen en el POM raíz y en los POM de cada módulo.

El proyecto proporcionado por DJI basado en Spring Boot no incluye el plugin de empaquetado por defecto. Esto se debe a varias consideraciones técnicas:

  • La naturaleza modular del proyecto: algunos módulos podrían ser bibliotecas estándar que no requieren un JAR ejecutable, por lo que una configuración centralizada podría intreferir.
  • Flexibilidad para el usuario: permite personalizaciones específicas del entorno, como inclusiones de recursos adicionales o estructuras de directorio no estándar.
  • Enfoque en la gestión de dependencias: el POM principal prioriza la correcta resolución de versiones y alcances de las bibliotecas, dejando el empaquetado como un paso opcional configurable.

Modificación para Habilitar el Empaquetado

Para transformar el módulo de la aplicación en un JAR ejecutable, es necesario integrar el plugin de Spring Boot en su archivo POM. Siga estos pasos:

  1. Identifique el archivo POM del módulo principal (por ejemplo, el ubicado en el directroio sample).
  2. Inserte la siguiente configuración de plugin dentro de la etiqueta <build>. Si ya existe, combine la sección <plugins> de manera coherente:
<project>
  <!-- Otras configuraciones -->
  <build>
    <plugins>
      <!-- Plugin esencial para generar un JAR autoejecutable con Spring Boot -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>3.1.5</version> <!-- Alineado con la versión de Spring Boot en el proyecto -->
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <!-- Especificar la clase principal si no se detecta automáticamente -->
          <!-- <mainClass>com.dji.demo.AppPrincipal</mainClass> -->
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
  1. Ejecute el siguienet comando desde la raíz del proyecto para iniciar el empaquetado:
mvn clean package -DskipTests

Tras la ejecución exitosa, se generará un archivo JAR en el directorio sample/target/, el cual puede ejecutarse mediante java -jar nombre-del-jar.jar.

Consideraciones Clave

  • El objetivo repackage del plugin es fundamental para incluir todas las dependencias en el JAR final.
  • Verifique que la versión del plugin coincida con la de Spring Boot utilizada en el proyecto para evitar conflictos.
  • Si la aplicación no encuentra la clase principal al ejecutarse, active y configure el parámetro mainClass con el nombre completo de la clase.

Etiquetas: Spring Boot maven DJI Cloud API empaquetado JAR configuración de plugins

Publicado el 7-6 08:54