Maven项目中如何将自定义标签的tld文件添加到META-INF目录下
项目开发中为了提高复用性,经常把自定义标签打成单独的jar文件,同时将tld文件添加到jar文件中的META-INF目录下,这样其他的项目就能很方便的使用这些自定义标签。
tld文件中定义:
1 2 3 4 |
<tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>demo</short-name> <uri>/demo-tags</uri> |
jsp中使用:
1 2 |
<%@ taglib prefix="itil" uri="/demo-tags" %> <demo:dateFormat date="${history.createdAt}" format="yyyy-MM-dd"></demo:dateFormat> |
如何将tld文件放置在META-INF下,同时打进jar包呢?首先想到的是将META-INF放置在/main/resources目录下,但打包的时候却发现Maven将自己的描述文件放置在META-INF下面,我们自定义的tld文件却被覆盖掉了。
解决的方式就是不让Maven在打包时生成描述文件,只需要编辑pom.xml文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <classesDirectory>target/classes/</classesDirectory> <archive> <addMavenDescriptor>false</addMavenDescriptor> </archive> </configuration> </plugin> </plugins> </build> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架