生产中的 JTE 预编译不适用于 Spring Boot 3.3

问题描述 投票:0回答:1

我正在尝试在 Spring Boot 3.3 中使用 JTE 模板,它在

dev
环境中工作。在生产部署期间,预编译正在工作,但当我访问该路线时,我收到运行时错误。由于某种原因,找不到模板,我收到此错误。
Resource not found
。这是我的
build.gradle.kts

import kotlin.io.path.Path

plugins {
    java
    id("org.springframework.boot") version "3.3.0"
    id("io.spring.dependency-management") version "1.1.5"
    id("gg.jte.gradle") version("3.1.12")
}

group = "com.playpen"
version = "0.0.1-SNAPSHOT"

java {
    sourceCompatibility = JavaVersion.VERSION_21
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("gg.jte:jte-spring-boot-starter-3:3.1.12")
    implementation("gg.jte:jte:3.1.12")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

tasks.withType<Test> {
    useJUnitPlatform()
}

jte {
    precompile()
    sourceDirectory.set(Path("src/main/resources/templates"))
}

tasks.jar {
    dependsOn(tasks.precompileJte)
    from(fileTree("jte-classes") {
        include("**/*.class")
        include("**/*.bin") // Only required if you use binary templates
    })
}

这是我的

TemplateConfiguration

import gg.jte.ContentType;
import gg.jte.TemplateEngine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Configuration
@Profile("prod")
class TemplateConfiguration {
    @Bean
    public TemplateEngine templateEngine() {
        return TemplateEngine.createPrecompiled(ContentType.Html);
    }
}

这是我的

application.properties

gg.jte.templateLocation=src/main/resources/templates
gg.jte.templateSuffix=.jte
gg.jte.developmentMode=true

application-prod.properties

gg.jte.usePrecompiledTemplates=true
gg.jte.developmentMode=false

这是我的控制器

@Controller
public class IndexController {
    @GetMapping("/")
    public String indexAction() {
        return "index.html";
    }
}
java spring-boot spring-mvc jtemplates jtemplate
1个回答
0
投票

租赁文件夹必须命名为jte,现在在里面创建您想要的子文件夹在此处输入图像描述

© www.soinside.com 2019 - 2024. All rights reserved.