如何在Maven POM中添加org.junit OSGi Bundle解决Eclipse插件构建依赖问题
解决Eclipse插件构建中org.junit OSGi依赖缺失问题
可以直接在Maven POM.xml中配置目标平台,引入标准的org.junit OSGi bundle来解决这个问题,具体操作步骤如下:
在POM中添加标准org.junit的OSGi依赖
找到POM里的目标平台配置区域(通常是配合Tycho插件的<dependencies>块),添加如下配置:<dependency> <groupId>org.junit</groupId> <artifactId>org.junit</artifactId> <version>4.11.0</version> <type>eclipse-plugin</type> </dependency>要保证这个依赖能从你的Maven仓库获取,你可以将标准的org.junit 4.11.0 OSGi bundle安装到本地仓库,或者配置包含该bundle的Maven仓库。
清理冲突依赖
移除POM中之前添加的junit:junit:4.11依赖,避免和标准OSGi版本产生冲突;同时修改feature.xml,把之前引用的org.scala-ide.junit.junit替换为标准的org.junit。验证构建
执行mvn clean verify命令,查看依赖树确认org.junit 4.11.0已被正确引入目标平台,且org.scala-refactoring.library能成功解析到该依赖。
之前的方法失效,是因为自动包装的org.scala-ide.junit.junit使用的bundle符号名和org.scala-refactoring.library要求的org.junit不匹配,必须引入符号名完全一致的标准OSGi bundle才能满足依赖要求。
内容的提问来源于stack exchange,提问作者Nicolas Baumann
相关产品推荐
相关产品推荐

