java - 包括React从复合gradle构建生成的HTML/JS文件

标签 java reactjs gradle

我有2个要链接在一起的Gradle项目。第一个项目有一个标准的Spring Boot应用程序,我想将其与已添加“build.gradle”文件的ReactJS项目链接。

我想将在ReactJS项目的“build /”目录中生成的文件包括在Spring Boot项目的“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")
}

ReactJS Gradle项目:
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 /”目录,但是Spring Boot项目似乎没有将我包含在其中。如何包含生成的HTML / JS文件,以便在运行Spring Boot项目的“bootRun”任务时显示它们。

最佳答案

通常,您为此使用Configuration
reactjs/build.gradle

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

关于java - 包括React从复合gradle构建生成的HTML/JS文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207072/

相关文章:

macos - 在Eclipse中使用Gradle导入时未找到SDK位置错误

Java 优化 : local variable or function call

java - SonarQube Test Custom Java Rule 显示语义信息失败

java - 尽管显示值从方法 block 内部更改,但从 setter 设置私有(private)值 "balance"时出错

java - 如何将文件从 Android 写入 PC 并返回?

javascript - 在同一设备 reactJS 上登录时跨配置文件保留的信息

android - Gradle同步失败-无法确定当前字符

javascript - react 路由器 : render is not a function

javascript - 该函数有多个参数。但是,不要传递所有参数

android - BuildConfig.java中的意外更改,无法还原