S'il vous plaît Aidez-moi à intégrer avec le module ui de noeud et le démarrage de printemps en utilisant gradle.comment intégrer avec npm web app et spring boot avec gradle?
Je veux juste déployer le fichier war
avec le fichier jar web.
Ma structure du projet est comme
myproject
api
src/main/java
src/main/resources
build/libs
web
<--- node files
dist
build/libs
gradle
build.gradle
gradlew
gradlew.bat
settings.gradle
Module api
est repos api application java.
Et le module web
est une application de nœud npm.
Je veux faire ce senario.
Si je tape
./gradlew clean build
puis
:web
projet compilez d'abord et fairedist
répertoire et fichier makejar
.Ensuite, le projet
:api
fait la guerre avec ce fichier jar. Je vais déployerapi war
sur le serveur.
Peut-être que l'étape ci-dessus n'est pas bonne parce que je ne suis pas bon.
Comment devrais-je faire du code pour le faire? Je dois écrire un script dans un fichier build.gradle. Il existe un seul fichier build.gradle. Je dois utiliser seulement ce fichier.
buildscript {
ext {
springBootVersion = '1.5.7.RELEASE'
}
repositories {
mavenCentral()
maven { url 'http://repo.spring.io/plugins-release'}
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE'
classpath "com.moowork.gradle:gradle-node-plugin:1.2.0"
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
}
project('api') {
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
apply plugin: 'propdeps'
dependencies {
compile project(':web')
compile('org.springframework.boot:spring-boot-starter-web')
runtime('org.springframework.boot:spring-boot-devtools')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
optional('org.springframework.boot:spring-boot-configuration-processor')
}
compileJava.dependsOn(processResources)
}
project('web') {
apply plugin: 'com.moowork.node'
node {
version = '6.11.4'
npmVersion = '3.10.10'
download = true
distBaseUrl = 'https://nodejs.org/dist'
}
task nodeBuild(type: NpmTask) {
args = ['run', 'build']
}
jar {
from ("dist/")
into ("${rootProject.project('api').projectDir}/src/main/resources/")
includeEmptyDirs = true
}
clean {
delete 'dist/'
}
nodeBuild.dependsOn(npm_install)
build.dependsOn(nodeBuild)
}