请帮助我集成节点ui模块和Spring引导使用gradle。
我只想用web文件部署war文件。
我的项目结构就像
myproject
api
src/main/java
src/main/resources
build/libs
web
<--- node files
dist
build/libs
gradle
build.gradle
gradlew
gradlew.bat
settings.gradleapi模块是rest应用程序.
web模块是npm节点应用程序。
我想做这件事。
./gradlew clean build:web项目首先编译并创建dist目录,然后生成jar文件。:api项目使用这个jar文件进行战争。我将把api war部署到服务器上。也许上面的步骤是不对的,因为我不擅长。
我应该如何编写代码才能做到这一点?我必须在一个build.gradle文件中编写脚本。只有一个build.gradle文件。我只能用这个文件。
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)
}发布于 2017-10-08 12:09:40
看一看分级节点插件。
将其包含在构建依赖项中:
buildscript {
...
dependencies {
classpath "com.moowork.gradle:gradle-node-plugin:1.1.1"
}
}应用插件:
apply plugin: 'com.moowork.node'配置它以适应您的项目结构:
node {
version = '6.10.2'
npmVersion = '3.10.6'
download = true
workDir = file("${project.buildDir}/node")
nodeModulesDir = file("${project.projectDir}")
}提供运行NPM的分级任务:
task build(type: NpmTask) {
args = ['run', 'build']
}
build.dependsOn(npm_install)您可以找到一个在Gradle构建这里中集成了一个角度应用程序的工作示例。
https://stackoverflow.com/questions/46629655
复制相似问题