解决Maven静态资源过滤问题

软件版本:

  • IDEA 2020.1
  • Maven 3.6.3

认识静态资源和动态资源

  • 静态资源,包含HTMl,图片,CSS,JS等不需要与数据库交互的一类文件
  • 动态资源:需要与数据库交互,可以根据需要显示不同的数据,不需要修改页面

问题描述

在src或其子文件夹下写了配置文件却无法被导出到target, 导致程序发生错误无法执行

写这个博客的时候是在mybatis配置的过程中遇到的问题, 以前也遇到过, 索性写下来趴

解决步骤

在pom.xml中加入

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

Tip: 如果你的目录结构或静态资源类型与上面的不同, 请随机应变

clean一下去掉原来的target

重新运行程序
Tip: 如果遇到IDEA编码不对提示一堆UTF-8的情况, 去Settings里面改一下编码即可

结局

参考

http://maven.apache.org/guides/getting-started/index.html#how-do-i-filter-resource-files

https://blog.csdn.net/weixin_39206909/article/details/109484178

到此这篇关于解决Maven静态资源过滤问题的文章就介绍到这了,更多相关Maven静态资源过滤内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • maven资源过滤打包后文件变大的处理方法

    前言 今天遇到一个问题,我们有个ip.dat二进制文件,通过里面内容可以解析ip所在的地域信息,本地单元测试都是OK的,部署到测试环境后,发现解析ip的时候报错.拿测试环境打印出的IP地址,在本地单元测试也么有问题.最后发现:代码库的ip.dat文件大小只有3.5M左右,而测试环境的ip.dat文件大小在5M左右. 问题在于:为什么ip.dat通过maven打包后文件变大了?由于maven打包的时候,会将这个文件从src/main/resources/下面拷贝的conf目录下.我直接将ip.da

  • 解决Maven静态资源过滤问题

    软件版本: IDEA 2020.1 Maven 3.6.3 认识静态资源和动态资源 静态资源,包含HTMl,图片,CSS,JS等不需要与数据库交互的一类文件 动态资源:需要与数据库交互,可以根据需要显示不同的数据,不需要修改页面 问题描述 在src或其子文件夹下写了配置文件却无法被导出到target, 导致程序发生错误无法执行 写这个博客的时候是在mybatis配置的过程中遇到的问题, 以前也遇到过, 索性写下来趴 解决步骤 在pom.xml中加入 <build> <resources&

  • nodejs构建本地web测试服务器 如何解决访问静态资源问题

    直接打开html文件,是以file:///方式打开的,这种方式很多时候会遇到跨域的问题,因此我们一般会搭建一个简易的本地服务器,来运行测试页面. 一.构建静态服务器 1.使用express模块 建立个js文件,命名server,内容代码如下: var express = require('express'); var app = express(); var path = require('path'); //指定静态资源访问目录 app.use(express.static(require('

  • springboot访问静态资源遇到的坑及解决

    目录 访问静态资源遇到的坑及解决 直接访问静态资源的问题 SpringBoot 默认静态资源访问配置 引入shiro 或 security后的拦截过滤 访问静态资源遇到的坑及解决 开始是以这种结构进行的,结果页面上一篇红,访问的页面是这样的 最终找出来问题,虽然每次调整路径都不对,最终查看多种方法可以看到了: 增加: package com.example.demo.config; import org.springframework.stereotype.Component; import o

  • 手写Node静态资源服务器的实现方法

    想写静态资源服务器,首先我们需要知道如何创建一个http服务器,它的原理是什么 http服务器是继承自tcp服务器 http协议是应用层协议,是基于TCP的 http的原理是对请求和响应进行了包装,当客户端连接上来之后先触发connection事件,然后可以多次发送请求,每次请求都会触发request事件 let server = http.createServer(); let url = require('url'); server.on('connection', function (so

  • SpringBoot之导入静态资源详解

    一.分析源码 我们学完之前的框架,大概知道静态资源过滤是由mvc处理的,然后在分析自动装配的时候会遇到WebMvcAutoConfiguration类,我们点击进入该类,如图所示: 进入该类,我们会发现没有@EnableConfigurationProperties注解,接下来进行猜想 1.可能是存在内部类中: 2.有可能不是这个类 : 我们经过前面的猜想,终于找到了有关静态资源路径的方法 二.webjars方式 webjars官网:https://www.webjars.org/ 我们导入jq

  • springBoot快速访问工程目录下的静态资源

    目录 1.牛刀小试 1.1 图片静态资源的访问 1.2 为静态资源添加访问前缀 1.3 WelCome Page 的奇妙跳转 2.那么,SpringBoot是如何做到的呢? 1.牛刀小试 1.1 图片静态资源的访问 先看官方怎么说,点击链接,打开SpringBoot官方文档 ​ 文档中明确指出:/static(or/publicor/resourcesor/META-INF/resources) ,这几个目录是SpringBoot放置静态资源的目录,只要把静态资源放到这几个目录下,就能直接访问到

  • 防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    SpringMVC提供<mvc:resources>来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决: 方案一.拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping=&quo

  • vue cli3.0打包上线静态资源找不到路径的解决操作

    项目中遇到打包之后静态资源路径找不到,报如下错误: 解决方法是: 在项目的根目录下创建vue.config,js文件,在里面配置静态资源的路径,publicPath是配置静态资源路径的属性,vue.config,js文件的代码如下: module.exports = { publicPath: './' } 补充知识:vue-cli3 npm run build 打包后静态资源的配置 vue.config.js的配置 vue.config.js配置如下: const path = require

  • 解决springMVC 跳转js css图片等静态资源无法加载的问题

    web.xml中 servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-va

随机推荐