Lan*_*nce 2 eclipse maven-2 tomcat6
我正在使用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>
Run Code Online (Sandbox Code Playgroud)
maven-war-plugin可以防止在mvn package目标过程中将指定文件打包到war文件中。但是,当我在开发中的Eclipse中使用tomcat时,每次重新发布项目时,都必须从tomcat工作空间中手动删除这两个jar。
从pom依赖项中删除它们,在Eclipse中添加tomcat 6服务器运行时库。在这种情况下,开发很好,但是不能与maven打包,因为pom文件中缺少两个依赖项。
我如何在Maven中添加“ Tomcat 6服务器运行时库”,以便不将这两个jar复制到项目的lib目录中,并且编译器仍然可以找到依赖项?
小智 5
只需将范围“提供”添加到依赖项。
例:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3134 次 |
| 最近记录: |