我试图从javaee-api maven依赖
中排除javax.persistence <dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
</exclusion>
</exclusions>
</dependency>
但即使在添加排除后,我仍然在javaee-api-7.0.jar
答案 0 :(得分:0)
依赖项排除将jar从工件的解析中排除
这意味着在构建期间不会传递依赖性(jar
)
在您的情况下,它意味着这种依赖:
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
不会包含在依赖项的解析中:
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
因此不会包含在您构建的工件中。
但这并不意味着包含以javax.persistence
开头的包的类将从jar中删除
确实会向javax:javaee-api:7.0
jar提供其原始内容。
此外,你的排除没有任何意义
org.eclipse.persistence:javax.persistence
不是javax:javaee-api
提供的依赖项。
javax:javaee-api
是Java EE API,而org.eclipse.persistence:javax.persistence
是指重新打包java EE的特定javax.persistence
API + EclipseLink提供的一些扩展。