jar嵌入静态资源 供引用调用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jar嵌入静态资源 供引用调用相关的知识,希望对你有一定的参考价值。
参考技术A 一、jar包的制作1、maven工程引入下列三个依赖
2、写三个Java文件 和 相应资源包(vue+element)
3、写index.html ,可直接引用本地资源也可cdn 引入,正常编写网页
===================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
<el-button @click="visible = true">Button</el-button>
<el-dialog :visible.sync="visible" title="Hello world">
<p>Try Element</p>
</el-dialog>
</div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
new Vue(
el: '#app',
data: function()
return visible: false
)
</script>
</html>
===================
4、InitListener 初始化文件,执行相应初始化动作,可不加
5、MvcConfig配置文件,自动装配bean
6、ThisApi 自定义注解类,并引入MvcConfig.class
7、生成jar包
二、jar包本地引入,并执行
1、新建springboot项目,引入web 和 thymeleaf ,正常执行,并做一个主页进行测试
2、本地引入jar包,在resources下新建lib ,并复制jar包
3、在启动类上,填写注解
4、正常执行,并访问jar中Configuration 中addResourceHandlers 配置的访问路径,就可以访问jar中的静态页面了
三、本地jar引入后打包注意事项
四、获取相关设置(简单通信)
1、InitListener
···
package com.juncheng.syc.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
public class InitListener implements ServletContextListener
···
2、设置 application.properties
01-静态资源访问
静态资源分类:
SpringBoot默认设置的静态资源访问分为两种:jar中的静态资源和自己添加的静态资源
如何访问jar包中的静态资源
- 首先重点理解这里jar中的静态资源,指的是以jar包的方式引入的静态资源,如
-
通过查看SpringBoot源码可知,jar包中的访问路径为
/webjars/**
,而该路径映射到了classpath:/META-INF/resources/webjars/
-
该映射,可以理解为,如果你要访问jar中的资源,你需要在浏览器中输入如下地址:
http//:ip:port/webjars/具体的jar资源路径
-
classpath:/META-INF/resources/webjars/
映射到web工程中所有jar
??如你所见,引入的jar包中都有一个/META-INF/resources/webjars/
目录
- 访问举例,访问
jquery.js
,浏览器需要输入:hhtp://ip:port/webjars/jquery/3.4.1/jquery.js
ps:别把这个 . 搞混了,它代表 /
如何访问自己添加的静态资源
浏览器所有的hhtp://ip:port/**
请求,都会自动映射到以下的路径:
classpath:/META‐INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
/ :当前项目的根路径 (233,我是在没摸准这个位置)
这4个位置的资源都可以直接访问
自定义的静态资源中包含有:首页index.html和网站图标favicon.ico,4个路径下的index.html都会被映射为首页,所以只需要有1个index.html即可,favicon.ico也是同理
以上是关于jar嵌入静态资源 供引用调用的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 打包静态资源和 jar包分离怎么配置?
SpringBoot 打包静态资源和 jar包分离怎么配置?