Tycho构建引入Guava Maven依赖时出现jdk:srczip无效Jar报错如何解决
Tycho构建Guava依赖报错解决方案
你可以通过以下仅修改项目构建配置的方式解决问题,无需调整构建环境,满足可移植性要求:
- 直接排除无效依赖
在Target Platform的Guava依赖配置中添加排除规则,过滤掉jdk:srczip构件:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>28.2-jre</version> <exclusions> <exclusion> <groupId>jdk</groupId> <artifactId>srczip</artifactId> </exclusion> </exclusions> </dependency> - 关闭Guava的传递依赖拉取
将Target Platform中Guava条目的includeDependencyScope属性设置为none,手动声明你实际需要的传递依赖,避免误拉取Profile专属的可选依赖。 - 全局过滤system作用域无效依赖
在tycho-target-platform-plugin的配置中添加全局过滤规则,直接移除所有jdk:srczip相关构件:<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-target-platform-plugin</artifactId> <configuration> <filters> <filter> <type>eclipse-plugin</type> <id>jdk.srczip</id> <removeAll /> </filter> </filters> </configuration> </plugin>
报错根因:Guava 28.2版本的POM中
jdk:srczip是绑定特定JDK构建Profile的system作用域依赖,Tycho的依赖解析逻辑未正确识别该Profile的激活条件,误将其识别为必填依赖。
内容的提问来源于stack exchange,提问作者Radioo
相关产品推荐
相关产品推荐

