重新加载弹簧时将改变静态

时间:2020-07-30 08:58:23

标签: angular spring

我有一个使用Gradle + Spring Boot + Angular 9的项目。前端源位于以下路径:myProject> src> main> webapp。要编译Angular,我使用ng build,输出将在resources> public中生成,以便我可以使用./gradlew bootRun来提供它。

问题是我一直都在运行两个命令来重新加载更改:

  1. ng build
  2. ./gradlew bootRun

是否可以使用gradle自动执行此操作,并获得类似于ng serve的行为,每次更改源时,服务器都会重新启动?

我已经编写了一个自定义的gradle任务,但是我不确定如何将它与spring-devtools链接以在webapp/中的文件更改时自动重新启动服务器。

tasks.register("bootRunAll") {
    project.exec {
        commandLine("cmd", "/c/myProject", "ng", "build")
    }
    dependsOn(tasks["bootRun"])
}

1 个答案:

答案 0 :(得分:0)

对于您的开发,可以使用Spring devTool。使用Gradle,将其添加到您的项目中:

dependencies {
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
...
}

然后,您可能要配置IDE,因为其中一些不允许刷新.class文件。例如,使用IntelliJ,您必须:

  1. 访问注册表并将compiler.automake.allow.when.app.running设置为true
  2. 启用Build project Automatically中的Settings > Build, Execution, Deployment > Compile

但是,如果您使用其他IDE,则我不知道所有步骤。