我有一个使用Gradle + Spring Boot + Angular 9的项目。前端源位于以下路径:myProject> src> main> webapp。要编译Angular,我使用ng build,输出将在resources> public中生成,以便我可以使用./gradlew bootRun来提供它。
问题是我一直都在运行两个命令来重新加载更改:
ng build
./gradlew bootRun
是否可以使用gradle自动执行此操作,并获得类似于ng serve
的行为,每次更改源时,服务器都会重新启动?
我已经编写了一个自定义的gradle任务,但是我不确定如何将它与spring-devtools链接以在webapp/
中的文件更改时自动重新启动服务器。
tasks.register("bootRunAll") {
project.exec {
commandLine("cmd", "/c/myProject", "ng", "build")
}
dependsOn(tasks["bootRun"])
}
答案 0 :(得分:0)
对于您的开发,可以使用Spring devTool
。使用Gradle,将其添加到您的项目中:
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
...
}
然后,您可能要配置IDE,因为其中一些不允许刷新.class
文件。例如,使用IntelliJ,您必须:
compiler.automake.allow.when.app.running
设置为true
Build project Automatically
中的Settings > Build, Execution, Deployment > Compile
但是,如果您使用其他IDE,则我不知道所有步骤。