WebJars를 사용하고자하는 기본 Java 응용 프로그램이 있습니다. Gradle을 빌드 시스템으로 사용합니다. Bootstrap과 JQuery 용 WebJars를 사용하여 Spring-Boot/ThymeLeaf 응용 프로그램에서 쉽게 참조하고 업데이트 할 수 있습니다. 응용 프로그램은 기본적으로 튜토리얼에 위치한 양식입니다. hereGradle이 Jar 파일의 올바른 위치에 WebJar 내용을 넣지 않습니다.
제가 이해하는 것처럼 Gradle은 WebJars의 모든 파일을 Jar 파일의 META-INF 폴더에 저장해야합니다. 모든것을 올바르게 이해하면 Spring-Boot 리소스 핸들러가 META-INF/
에서 리소스를로드합니다.이 리소스는 내 HTML 페이지에서 무언가를 참조 할 때 /webjars/
으로 나타납니다. 불행히도 아직 작동하지 않습니다. Tomcat의 로그 출력에서 자원 핸들러가 올바르게 설치 되었기 때문에. 파일이 실제로 Jar 파일에 있는지 확인하기로했습니다.
Jar 파일을 추출 할 때 META-INF 폴더에는 Spring Boot에 대한 정보가 담긴 MANIFEST.MF
이라는 파일 만 있습니다. BOOT-INF/lib
에는 BootStrap-3.3.7.Jar와 JQuery-3.2-1.Jar 파일이 있지만 끝내기로되어 있다고는 생각하지 않습니다. (또는 내가 틀렸고 자원 처리기 어딘가에 오류가 있습니까?).
gradle build
을 실행할 때 이러한 파일로 올바른 작업을 수행하려면 어떻게해야합니까?
내 gradle.build 파일은 다음과 같다 : 항아리가 BOOT-INF/lib
에 포장되어야로
buildscript {
ext {
springBootVersion = '1.5.8.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: "jacoco"
jar {
baseName = 'gs-serving-web-content'
version = '0.0.1'
}
bootRun {
addResources = true
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.webjars:jquery:3.2.1")
compile("org.webjars:bootstrap:3.3.7")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
답장을 보내 주셔서 감사합니다. 맞아요, gradle은 옳은 일을하고 있습니다. 다른 누군가가 나를 믿지 않는 gradle이 잘못되었다는 사실을 오도하는 이것에 대해 혼란스러워했습니다. 그것은 단지 Eclipse가 작동하는 것으로 밝혀졌습니다. 콘솔에서 빌드하면 모든 것이 올바르게 수행됩니다. : /. 아마 몇 번 재부팅하면 이클립스가 다시 돌아올 것입니다. –
이클립스에서 Eclipse를 다시 시작하고 이클립스에서 gradle 프로젝트를 새로 고친 다음 실행 구성을 어지럽 혀서 어딘가 잘못되었다. : / –