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>
posted @ 2011-08-31 14:11  skyme  阅读(10533)  评论(0编辑  收藏  举报