Saltar al contenido

Cómo agregar archivos estáticos a jar usando la compilación de Gradle en el proyecto Spring Boot + Angular 2

Solución:

Prueba un enfoque diferente. En lugar de copiar manualmente los recursos, dígale a Gradle que cuando procese recursos para el JAR, también tenga en cuenta lo que hay en frontend/dist/:

processResources {
    from ('frontend/dist/') {
        into 'public'
    }
}

Esto debería resultar en un JAR que contiene un public/ directorio, con el contenido de frontend/dist/ dentro de ella.

Configuración de Gradle para Spring Boot 1.5 2.x + Angular 2-6

Angular en subcarpeta frontend

Módulo frontend

Caja build.gradle:

plugins {
  id "com.moowork.node" version "1.2.0"
}

node {
  version = '8.11.3'
  npmVersion = '5.6.0'
  download = true
  workDir = file("${project.buildDir}/node")
  nodeModulesDir = file("${project.projectDir}")
}

task build(type: NpmTask) {
  args = ['run', 'build']
}

build.dependsOn(npm_install)

Nota para Angular 6

Actualizar outputPath valor en angular.json a ‘dist’

Módulo backend

Editar build.gradle para el módulo de backend:

Spring Boot 2.X:

bootJar {
    archiveName = "yourapp.jar"
    mainClassName="com.company.app.Application"

    from('frontend/dist') {
        into 'static'
    }
}

Bota de primavera 1.5.X:

jar {
    archiveName = "yourapp.jar"
    manifest {
        attributes 'Main-Class': 'com.company.app.Application'
    }
    from('frontend/dist') {
        into 'static'
    }
    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

Finalmente ejecutar bootRepackage o bootJar tarea y comprobar los resultados en builds/libs

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *