如何获取TomEE 9.x/Tomcat 10.0提供的JAR包完整列表?
如何确定TomEE WebProfile提供的依赖列表
1. 先看Jakarta EE WebProfile规范
TomEE WebProfile完全遵循Jakarta EE WebProfile规范,所以规范里定义的所有API都会由TomEE提供,比如你用到的jakarta.platform相关依赖就属于这类。除此之外,TomEE自身还会附带一些额外的实现类库,这些也归为服务器提供的范畴。
2. 直接查看TomEE安装目录的类库
打开你用的TomEE安装目录,核心类库都在这两个地方:
lib/:这个目录下的所有JAR包都是TomEE全局提供的,WAR包不用打包这些,直接设为provided就行。比如你提到的Jackson相关JAR如果在这里,就说明是服务器提供的。webapps/ROOT/WEB-INF/lib/:TomEE自带ROOT应用里的依赖一般也属于服务器级提供,不过这个目录内容可能随版本略有变化,需要留意。
3. 用TomEE的Maven BOM管理依赖
TomEE有Maven的BOM(物料清单),导入后不用手动指定依赖版本,还能明确哪些是服务器提供的。在你的POM里加这段:
<dependencyManagement> <dependencies> <dependency> <groupId>org.apache.tomee</groupId> <artifactId>tomee-webprofile-bom</artifactId> <version>你的TomEE版本号</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
导入BOM后,所有TomEE WebProfile提供的依赖,直接把scope设为provided就行,BOM会帮你统一版本,避免冲突。
4. 查TomEE官方文档的依赖清单
TomEE官方文档里会明确列出WebProfile包含的所有API和附带类库,你可以对照文档来标记provided依赖。比如WebProfile涵盖的Jakarta EE API有Servlet、JSP、EL、JPA、JSF(部分)、CDI等,这些对应的Maven依赖都应该设为provided。
内容的提问来源于stack exchange,提问作者user17022777
相关产品推荐
相关产品推荐

