Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Ámbito de dependencia de MapStruct en un proyecto Maven

MapStruct genera código en tiempo de compilación y no debería requerir dependencias de tiempo de ejecución :

¿En qué se diferencia MapStruct de otras herramientas de mapeo de beans?

A diferencia de la mayoría de las otras herramientas de mapeo de beans, MapStruct no funciona en tiempo de ejecución, pero es un generador de código en tiempo de compilación.

La generación de código de mapeo en el momento de la compilación tiene muchas ventajas:

  • Excelente rendimiento, ya que no se necesita reflexión ni generación de código de bytes en tiempo de ejecución; el código generado contiene invocaciones de métodos simples, como si el mapeador estuviera escrito a mano
  • Sin dependencias de tiempo de ejecución, lo que convierte a MapStruct en una excelente solución para aplicaciones de Android

¿Qué alcance de dependencia se debe usar en un proyecto de Maven? ¿Debería incluirse MapStruct como una dependencia proporcionada ?

 <dependencies> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${org.mapstruct.version}</version> <scope>provided</scope> </dependency> </dependencies>
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La dependencia org.mapstruct:mapstruct contiene las anotaciones necesarias para indicarle al org.mapstruct:mapstruct-processor qué hacer.

También contiene la fábrica Mappers que se usa cuando se usa el modelo de componente predeterminado. Por lo tanto, el alcance de org.mapstruct:mapstruct depende del modelo de componente que esté utilizando:

Modelo de componente predeterminado

Si está utilizando este modelo de componentes, necesita org.mapstruct:mapstruct durante el tiempo de ejecución si está utilizando Mappers o si tiene dependencias entre diferentes mapeadores.

En teoría, puede usar el modelo de componentes predeterminado e instanciar sus propios mapeadores. Sin embargo, las dependencias entre los mapeadores seguirán usando Mappers , a menos que ya haya creado una instancia de su mapeador en MyMapper.INSTANCE de alguna manera, entonces MapStruct usará MyMapper.INSTANCE para obtener la instancia de MyMapper . Esto significaría que aún puede usar el mismo alcance que los otros modelos de componentes (consulte a continuación para obtener más información)

Otro modelo de componente (resorte, jsr330, cdi, etc.)

En este caso, no necesita org.mapstruct:mapstruct durante el tiempo de ejecución y puede usar <optional>true</optional> con <scope>provided</scope> .

Con Gradle, esto sería una dependencia compileOnly .

Nota: tenga cuidado al usar Spring Boot y <scope>provided</scope> el complemento maven de Spring Boot aún incluirá la dependencia org.mapstruct:mapstruct en el contenedor final proporcionado. Deberá ignorarlo configurando el complemento Spring Boot Maven.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda