Maven项目中如何将自定义标签的tld文件添加到METAINF目录下

项目开发中为了提高复用性,经常把自定义标签打成单独的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>
作者:张锋
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
更多精彩文章可以观注
微信公众号 soft张三丰

微信交流群,添加群主微信,邀请入群
原文地址:https://www.cnblogs.com/skyme/p/2160681.html