我有一个基本的Java应用程序,我想使用WebJars。我使用Gradle作为我的构建系统。我想使用WebJars作为Bootstrap和JQuery,这样我就可以在Spring-Boot/ThymeLeaf应用程序中轻松地引用和更新它们。该应用程序基本上是从形式教程位于hereGradle不是将WebJar的内容放置在我的Jar文件中的正确位置
据我了解,它应该将所有文件从WebJar放入我的jar文件中的META-INF文件夹。如果我理解正确的一切春节,引导资源处理程序将然后从META-INF/
加载资源时,我引用我的html页面的东西,与/webjars/
开始不幸的是,这并不工作(还)。因为我在Tomcat的日志输出中看到资源处理程序已正确安装。我决定检查这些文件是否在我的Jar文件中。
当我提取我的Jar文件时,META-INF文件夹只有一个名为MANIFEST.MF
的文件,其中包含有关Spring Boot的一些信息。在BOOT-INF/lib
中有一个BootStrap-3.3.7.Jar和一个JQuery-3.2-1.Jar文件,但我不认为这是它们应该结束的地方。 (或者我错了,是否在资源处理程序中有错误?)。
当我运行gradle build
时,如何告诉gradle使用这些文件做正确的事情?
我gradle.build文件看起来像这样:
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是做对了。似乎有人对此感到困惑,这使我误以为相信的石was是错误的。事实证明,它只是Eclipse的行为。从控制台构建一切正确。 :/。重新启动可能会重新启动Eclipse。 –
是的,重新启动Eclipse +从Eclipse刷新gradle项目,然后搞乱启动配置(出错了),修复它。 :/ –