Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包含从复合gradle构建生成的HTML/JS文件_Java_Reactjs_Gradle - Fatal编程技术网

Java 包含从复合gradle构建生成的HTML/JS文件

Java 包含从复合gradle构建生成的HTML/JS文件,java,reactjs,gradle,Java,Reactjs,Gradle,我有两个Gradle项目,我想连接在一起。第一个项目有一个标准的SpringBoot应用程序,我想把它与一个ReactJS项目链接起来,我在其中添加了一个“build.gradle”文件 我想将生成到ReactJS项目的“build/”目录中的文件包括到Spring引导项目的“META-INF/resources”目录中 以下是我的gradle.build文件: Spring Boot Gradle项目: buildscript { repositories { jcen

我有两个Gradle项目,我想连接在一起。第一个项目有一个标准的SpringBoot应用程序,我想把它与一个ReactJS项目链接起来,我在其中添加了一个“build.gradle”文件

我想将生成到ReactJS项目的“build/”目录中的文件包括到Spring引导项目的“META-INF/resources”目录中

以下是我的gradle.build文件:

Spring Boot Gradle项目:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE'
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'

group = "com.myproject"
version = "1.0"

bootRun {
    systemProperties = System.properties
}

repositories {
    jcenter()
}
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("com.myproject:myproject-ui:1.0")
}
plugins {
    id "com.moowork.node" version "1.1.1"
}

node {
    download = true
}

apply plugin: 'java'

group = "com.myproject"
version = "1.0"

buildDir = 'dist'

task webjar(type: Jar, dependsOn: 'jar') {
    from(fileTree('build')) {
        into 'META-INF/resources'
    }
}

build.dependsOn(webjar)
build.dependsOn(npm_run_build)

clean {
    delete 'dist'
    delete 'build'
}
ReactJS Gradle项目:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE'
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'

group = "com.myproject"
version = "1.0"

bootRun {
    systemProperties = System.properties
}

repositories {
    jcenter()
}
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("com.myproject:myproject-ui:1.0")
}
plugins {
    id "com.moowork.node" version "1.1.1"
}

node {
    download = true
}

apply plugin: 'java'

group = "com.myproject"
version = "1.0"

buildDir = 'dist'

task webjar(type: Jar, dependsOn: 'jar') {
    from(fileTree('build')) {
        into 'META-INF/resources'
    }
}

build.dependsOn(webjar)
build.dependsOn(npm_run_build)

clean {
    delete 'dist'
    delete 'build'
}
假设我已经正确设置了“settings.gradle”文件,使其成为复合构建,因为这似乎不会导致问题

当我为ReactJS项目运行“build”任务时,成功生成了“build/”目录,但Spring启动项目似乎没有包括我。如何包含生成的HTML/JS文件,以便在运行Spring Boot项目的“bootRun”任务时显示这些文件。

通常您会使用

reactjs/build.gradle

configurations {
    wj
}
task webjar(type: Jar) { ... }
dependencies {
    wj files(webjar)
}
configurations {
    wj
}
dependencies {
    wj project(path: ':reactjs', configuration: 'wj')
}
war {
    with copySpec {
        from zipTree(configurations.wj.singleFile)
        into 'META-INF/resources'
    }
}
springboot/build.gradle

configurations {
    wj
}
task webjar(type: Jar) { ... }
dependencies {
    wj files(webjar)
}
configurations {
    wj
}
dependencies {
    wj project(path: ':reactjs', configuration: 'wj')
}
war {
    with copySpec {
        from zipTree(configurations.wj.singleFile)
        into 'META-INF/resources'
    }
}