springboot项目通过gradle制作webjars
本文目录
- 什么是webjars?
- 通过gradle引入webjars依赖
- 使用
- 原理
- maven制作webjars
- 通过gradle制作webjars并发布到本地
- 大功告成!赶紧实现自己的webjars吧!
什么是webjars?
Web前端使用了越来越多的JS或CSS,如jQuery,Backbone.js和Bootstrap。一般情况下,我们是将这些Web资源拷贝到Java Web项目的webapp相应目录下进行管理。这种通过人工方式管理可能会产生版本误差,拷贝版本错误,漏拷等现象,导致前端页面无法正确展示,版本不一致,文件混乱等,导致出现一些莫名其妙的错误等。
WebJars是将web前端资源(js,css等)打成jar包文件,然后借助Maven工具,以jar包形式对web前端资源进行统一依赖管理,保证这些Web资源版本唯一性。WebJars的jar包部署在Maven中央仓库上。
WebJars官网:http://www.webjars.org/
通过gradle引入webjars依赖
dependencies {// https://mvnrepository.com/artifact/org.webjars/jqueryimplementation 'org.webjars:jquery:1.12.4'
}
引入后,jquery webjars的结构
使用
html中直接使用
<script src="/webjars/jquery/1.12.4/jquery.min.js"></script>
原理
springboot的自动装配帮我们配置好了webjars的映射
https://www.webjars.org/documentation#springboot
Spring Boot automatically configures Spring to map requests for /webjars to the /META-INF/resources/webjars directory of all the JARs in the CLASSPATH.
Idea中按住ctrl+shift+F 对 /META-INF/resources/webjars进行全局搜索
WebMvcAutoConfiguration.class帮我们配置好了,所以可以直接访问**/webjars/目录就能获取项目/META-INF/resources/webjars的资源文件,包括jar包中的资源;
所以我们只需要将这些资源打包到/META-INF/resources/webjars**目录下就能通过引入jar包的方式使用静态资源了,方便了版本管理;
maven制作webjars
官网有很详细的说明,请参考官网吧
https://www.webjars.org/contributing
通过gradle制作webjars并发布到本地
- Idea中用gradle新建java moudle
- 我们将用到的静态资源放在/src/main/resources/webjars中
- build.gradle文件内容
plugins {id 'java'id 'maven'
}group 'jhd.jcode'
version '1.0'sourceCompatibility = 1.8repositories {mavenCentral()
}//打包webjar,发布到本地
uploadArchives {repositories.mavenDeployer {repository(url: 'file://I:/DEV/jhdMvnRepo/')}
}processResources {//将webjars目录整个拷贝到build目录下的/resources/main/META-INF/resources/webjarscopy {from("src/main/resources/webjars") {eachFile {println(getPath())}}into "$buildDir/resources/main/META-INF/resources/webjars"println("processResources: webjars copy success( created by jhd 20200620 16:19)")}
}jar {//打jar包之前先将build目录中原来的webjars文件删除doFirst {delete "$buildDir/resources/main/webjars"}
}
- gradle执行uploadArchives 即可完成webjar的制作
- 使用发布的自定义webjar
gradle 向引入其他依赖一样引入自定义的webjars
implementation 'jhd.jcode:jcode-web-webjars:1.0'
- 我们打的jar包目录结构
大功告成!赶紧实现自己的webjars吧!
springboot项目通过gradle制作webjars相关推荐
- SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法)
SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法) 可用于SpringBoot引用的前端UI的Jar包,类似于SwaggerUI包 WABJAR介绍 ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- gradle 项目打包成多个jar包_永不失优雅——高效管理Springboot项目
猿灯塔 全文略长 希望能帮到各位 另外!文末有你们想要的白嫖惊喜哦! 本文主要讲述一下如何优雅地管理SpringBoot项目. 第一种方式:使用SHELL脚本 As we known 作为一个后端程序 ...
- springboot项目如何使用HikariCP(国际主流)做为数据源,gradle构建工具
1.创建springboot项目 创建这个不用说了吧... https://blog.csdn.net/u013294097/article/details/93042544 这儿有创建springb ...
- 教你如何制作vue+springboot项目
前言 最近刚刚做了一个基于vue+springboot的学生成绩管理系统,于是基于这点,对遇到的一些问题进行一些配置的汇总.以及vue+springboot项目是怎么实现的,以下将贴出vue和spri ...
- pycharm项目中如何安装包_如何将Thymeleaf技术集成到SpringBoot项目中
给天气预报一个"面子" 截至目前,不仅有了天气预报的API接口,也有了数据的缓存方案.现在,就要进行天气预报服务的实现,也就是说,这里需要一个面向用户的应用.这个应用应该拥有友好的 ...
- springboot项目之电影预告
目录 一.开发环境准备 二.SpringBoot项目搭建 1.搭建SpringBoot项目 2.项目初始配置 2.1项目编码设置 2.2 Maven配置 2.3 git配置 2.4自动删除没用的包 3 ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解
Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...
最新文章
- 将pdf转为html,使用pdfdom将pdf转为html
- 5G 在物联网中的需求
- Mac下Unity5x的安装
- Spring_Hibernate整合准备
- win8 Windows 8 设置 默认浏览器
- 关于springBoot post请求参数过大导致后端接收不到参数问题
- hdu 5094 Maze
- 信息学奥赛一本通 1024:保留3位小数的浮点数 | OpenJudge NOI 1.1 04
- fastjson的一些常见用法
- python提高——进程、线程、协程对比及代码实现
- PLSQL用DBMS_JOB建立作业
- java awt android_Android开发基础之Java 日期时间
- matlab的开方算法_[转载]数值计算方法中的一些常用算法的Matlab源码
- 增值税相关软件基本常识
- 输入法编程之 光标跟随
- 【视频学习】宋维钢词霸天下38000词汇速记 万法归宗之英语语法速成全集
- 怎样快速提高计算机能力,如何提高算术能力?不借助计算机、笔、纸等工具,怎么能快速心算出多位数计算结果?如:489x85 如:128965-98542有什么口决及速算的方法的详细步骤?...
- Win7环境下STAF安装STAX遇到的问题及解决方法
- phpmywind 导航函数详解整理中……
- 酷炫小程序相册源码,制作属于自己的相册,免费下载