我正在尝试在 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";
}
}
租赁文件夹必须命名为jte,现在在里面创建您想要的子文件夹在此处输入图像描述