【发布时间】:2013-01-28 07:30:21
【问题描述】:
我正在使用 Eclipse 3.7、Tomcat 6 和 Maven 2 开发一个项目。该项目依赖于 jsp-api.jar 和 serlet-api.jar。但是这两个 jar 必须排除在部署到 Tomcat 6 之外,因为它们与 Tomcat 6 的 jar 冲突。所以我在开发阶段需要它们,在部署阶段不需要它们。我想以一种自动的方式实现这个要求。 我有两种解决方案,但都不能满足我的要求:
-
在pom中添加依赖,并在部署过程中通过添加排除这2个jar
<plugin> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <packagingExcludes>WEB-INF/lib/servlet-api-2.4.jar,WEB-INF/lib/jsp-api-2.1.jar</packagingExcludes> </configuration> </plugin>maven-war-plugin 防止在
mvn package目标期间将指定文件打包到 war 文件中。但是当我在Eclipse中使用tomcat进行开发时,每次重新发布项目时,我都必须手动从tomcat工作空间中删除这2个jar。 从 pom 依赖项中删除它们,在 Eclipse 中添加一个 tomcat 6 服务器运行时库。这种情况下开发是可以的,但是不能用maven打包,因为pom文件中少了两个依赖。
如何在 Maven 中添加“Tomcat 6 服务器运行时库”,这样这 2 个 jar 就不会复制到项目的 lib 目录中,编译器仍然可以找到依赖项?
【问题讨论】: