弹簧靴 |替代在资源文件夹中使用 Intellij 静态和模板运行

Posted

技术标签:

【中文标题】弹簧靴 |替代在资源文件夹中使用 Intellij 静态和模板运行【英文标题】:Spingboot | Alternative to running with Intellij static and templates in resource folder 【发布时间】:2021-04-16 18:55:55 【问题描述】:

背景:我们使用 Thymeleaf 和 React 作为前端堆栈制作 Springboot Web 应用程序。

我们团队当前的流程是有两个模块,“客户端”和“服务器”,在 gradle 命令“clean build”上,有一个自定义任务将采用编译好的前端(index.html 和静态 js 和css) 并将其适当地放在文件夹中,如下所示:

当您在 Intellij 中运行应用程序时,您可以将项目配置为使用“Gradle”或“Intellij”运行。如下图:

使用 gradle 运行时,实际上不需要复制资源文件夹,只需将它们放在 $buildDir 中即可。这是默认行为,并且在大多数情况下都能正常工作。如果有人选择了“使用 Intellij 运行”,那么我们需要添加一个额外的复制任务,以将编译的前端代码放入活动目录。 (不确定那里的术语)

目标:找到一种运行应用程序的方法,无论您如何运行应用程序,都无需在静态和模板文件夹中构建资源。

task copyClient(dependsOn: ":client:clientBuild") 
    doLast 
        //For Running with Gradle
        copy 
            from new File(project(":client").getProjectDir(), "build")
            into "$buildDir/resources/main/static"
        
        //For Running with Intellij
        copy 
            from new File(project(":client").getProjectDir(), "build/index.html")
            into "src/main/resources/static"
        
    

【问题讨论】:

不相关,不确定您是否看到我对您现在已删除的问题的评论...所以:您来错地方了。我们在这里不讨论 Java 语言增强的优缺点。有 JEP 流程,还有无数相关的邮件列表。我建议您从 mail.openjdk.java.net/mailman/listinfo 开始,然后选择更符合您想法的受众。 【参考方案1】:

您可以将任何 Gradle 任务作为 Before/After trigger 添加到 IDE 自己的 Build 操作中:

【讨论】:

以上是关于弹簧靴 |替代在资源文件夹中使用 Intellij 静态和模板运行的主要内容,如果未能解决你的问题,请参考以下文章

如何将 angular2 与弹簧靴一起使用

带有弹簧靴的百里香叶缓存

弹簧靴 |在类路径资源中定义名称为“entityManagerFactory”的 bean 创建错误

使弹簧靴和角度应用程序之间的模型保持同步。备择方案?

如何在项目中集成弹簧靴

弹簧靴服务角度