es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

.gradle publicando archivo project-version-PLAIN.war en lugar de project-version.war.

Cuando ejecuto “gradle build”, genera un archivo build/libs/project-version.war que puede ejecutarse por sí mismo con el comando “java -jar”. Pero cuando ejecuto “gradle artifactoryPublish”, se guarda en el repositorio de artifactory un archivo “project-version-plain-war” que no tiene tomcat integrado.

Estoy siguiendo estas instrucciones: https://www.jfrog.com/confluence/display/JFROG/Gradle+Artifactory+Plugin

Las líneas agregadas al gradle.build son algo como esto:

plugin "maven-publish"
plugin "com.jfrog.artifactory"
artifactory {
...
}

subprojects {
  plugin "war"
  group = group
  version = version

  publishing {
    publications {
      MavenPublication(MavenPublication) {
        from components.web
      }
    }
    repositories{
      maven { url "https://artifactory-server" }
    }
  }
}

Se agradece la ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en la configuración del complemento Artifactory en la construcción de Gradle. Por defecto, el complemento genera un archivo war “simple” sin el servidor Tomcat integrado al hacer una publicación en el repositorio de Artifactory.

    Para incluir el servidor Tomcat integrado, puedes configurar el complemento de Artifactory para que incluya las dependencias necesarias agregando el siguiente código al bloque artifactory:

    publications {
        dependencies {
            compileOnly "org.springframework.boot:spring-boot-starter-tomcat"
        }
    }
    

    Esto asegurará que la dependencia necesaria de Tomcat se incluya al publicar el proyecto en Artifactory.

    Alternativamente, puedes configurar el complemento war para que incluya el servidor Tomcat integrado agregando la siguiente línea al bloque subprojects:

    apply plugin: 'org.springframework.boot'
    

    Esto aplicará el complemento de Spring Boot, el cual incluye las dependencias necesarias de Tomcat por defecto.

    ¡Espero que esto te ayude! Avísame si tienes alguna pregunta adicional.

Comments are closed.