对于日常的web开发而言,像css
、js
、images
、font
等静态资源文件管理是非常的混乱的、比如jQuery、Bootstrap、Vue.js等,可能每个框架使用的版本都不一样、一不注意就会出现版本冲突或者重复添加的问题。所以找到了一个叫做WebJars的技术,下面我将介绍如何将静态资源打包成jar。
原本我们在进行web
开发时,一般上都是讲静态资源文件放置在webapp
目录下,在SpringBoot
里面,一般是将资源文件放置在src/main/resources/static
目录下。而在Servlet3
中,允许我们直接访问WEB-INF/lib
下的jar
包中的/META-INF/resources
目录资源,即WEB-INF/lib/{*.jar}/META-INF/resources
下的资源可以直接访问。
所以其实,WebJars
也是利用了此功能,将所有前端的静态文件打包成一个jar
包,这样对于引用放而言,和普通的jar
引入是一样的,还能很好的对前端静态资源进行管理。
话不多说,开始打包。
习惯性的使用idea new Project
补充:resources/application.properties也删了(不删也可以)
现在时间是2018年11月29日、如果你也是用的springboot2.1.0.RELEASE的话、可以跟着我一个字符不多的删除
一会几乎要重写了
UTF-8
UTF-8
1.8
不需要引用任何jar
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
4.0.0
com.player
webjars
0.0.1-SNAPSHOT
jar
webjars
This is webjars Teaching
org.springframework.boot
spring-boot-starter-parent
2.1.0.RELEASE
UTF-8
${project.build.outputDirectory}/META-INF/resources/webjars/${project.artifactId}/${project.version}
${project.basedir}/src/main/resources
${destDir}
thirdparty
http://10.168.2.244:8081/nexus/content/repositories/thirdparty
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.artifactId} 项目的artifactId
${project.version} 项目的version
UTF-8
${project.build.outputDirectory}/META-INF/resources/webjars/${project.artifactId}/${project.version}
${project.basedir} 项目根目录
${destDir} 编译根目录
${project.basedir}/src/main/resources
${destDir}
这个就不细说了、maven也要填写正确的私服name、passowrd and url
(不使用私服也可以打包成功)
thirdparty
http://10.168.2.244:8081/nexus/content/repositories/thirdparty
个人习惯,先创建一个assets,资源放在assets/*
(assets仅是一个文件夹)
图片临时不好找、随手截桌面
就上面的那张图片、左下角那个Terminal、点一下
输入mvn clean package
等待打包完,这个时候你就已经打包成功了。
我在家、电脑暂时链接不上私服,直接推到本地仓库
和推私服的命令一样
在Terminal中输入:mvn clean deploy
如果你连接不上私服,那么会失败、不过jar包已经加入到你的本地仓库了
随便找一个springboot项目
使用该jar包
com.player
webjars
0.0.1-SNAPSHOT
这些信息就是你上面改的那个pom里面的内容
可以注意到我的地址是:
localhost:8080/webjars/webjars/0.0.1-SNAPSHOT/assets/desktop.png
路径格式:
webjars/{artifactId}/{version}/路径
有什么问题还请大佬们指出~
我的Blog:hanhantop.com
欢迎加群摸鱼:826953936