使用maven项目pom.xml文件配置打包功能和静态资源文件自带版本号功能

 更新时间:2024年09月29日 10:01:36   作者:闲走天涯  
在Maven项目中,通过pom.xml文件配置打包功能,可以控制构建过程,生成可部署的包,同时,为了缓存控制与版本更新,可以在打包时给静态资源文件如JS、CSS添加版本号,这通常通过插件如maven-resources-plugin实现

maven项目pom.xml文件配置打包功能和静态资源文件自带版本号功能

例如:

html文件中引用js文件

<script src="js/jquery-2.0.2.min.js"></script>

打包编译后会变成

<script src="js/jquery-2.0.2.min.js?v=2021-07-09T09:29:42Z"></script>

pom.xml标签内增加

<build>
        <plugins>
        	<!--配置打包 start-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--配置打包 end-->
            <!--配置页面文件自带版本号 start-->
            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <version>1.5.3</version>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>replace</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includes>
                        <include>${basedir}/target/classes/templates/**/*.html</include>
                    </includes>
                    <replacements>
                        <replacement>
                            <token>\.js\"</token>
                            <value>.js?v=${maven.build.timestamp}\"</value>
                        </replacement>
                        <replacement>
                            <token>\.js\'</token>
                            <value>.js?v=${maven.build.timestamp}\'</value>
                        </replacement>
                        <replacement>
                            <token>\.css\"</token>
                            <value>.css?v=${maven.build.timestamp}\"</value>
                        </replacement>
                        <replacement>
                            <token>\.css\'</token>
                            <value>.css?v=${maven.build.timestamp}\'</value>
                        </replacement>
                    </replacements>

                </configuration>
            </plugin>
            <!--配置页面文件自带版本号 end-->
        </plugins>
    </build>

maven打包时包含resource静态文件

<build>
        <!-- maven打包时包含静态资源文件 -->
        <resources>

            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yaml</include>
                    <include>META-INF/**</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>

        </resources>
    </build>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java微信开发第二步 获取消息和回复消息

    java微信开发第二步 获取消息和回复消息

    这篇文章主要为大家分享java微信开发的第二步,如何获取消息和回复消息,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Java事务管理学习之Hibernate详解

    Java事务管理学习之Hibernate详解

    hibernate是jdbc轻量级的封装,本身不具备事务管理的能力,在事物管理层面,一般是委托于底层的jdbc和jta来完成调度的。下面这篇文章主要给大家介绍了Java事务管理学习之Hibernate的相关资料,需要的朋友可以参考下。
    2017-03-03
  • java实现省市区三级联动

    java实现省市区三级联动

    这篇文章主要为大家详细介绍了java实现省市区三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Java蓝桥杯实现线段和点

    Java蓝桥杯实现线段和点

    本文主要介绍Java蓝桥杯实现线段和点的内容,感兴趣的小伙伴可以参考下文
    2021-08-08
  • springboot配置resilience4j全过程

    springboot配置resilience4j全过程

    这篇文章主要介绍了springboot配置resilience4j全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringMVC实现controller中获取session的实例代码

    SpringMVC实现controller中获取session的实例代码

    本篇文章主要介绍了SpringMVC实现controller中获取session的实例代码,具有一定的参考价值,有兴趣的可以了解一下。
    2017-02-02
  • SpringCloud如何使用Eureka实现服务之间的传递数据

    SpringCloud如何使用Eureka实现服务之间的传递数据

    这篇文章主要介绍了SpringCloud使用Eureka实现服务之间的传递数据操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java实现常见的排序算法的示例代码

    Java实现常见的排序算法的示例代码

    这篇文章主要为大家详细介绍了Java实现常见的排序算法(选择排序、插入排序、希尔排序等)的相关资料,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-10-10
  • Java进阶之Object类及常用方法详解

    Java进阶之Object类及常用方法详解

    Object 类是 Java 默认提供的一个类,是所有 Java 类的祖先类,每个类都使用 Object 作为父类。本文就来和大家聊聊Object类的常用方法,希望对大家有所帮助
    2023-01-01
  • Spring单例类加载多例属性问题实例解析

    Spring单例类加载多例属性问题实例解析

    本文给大家介绍Spring单例类加载多例属性问题实例解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2026-03-03

最新评论