我已经使用Tycho构建了一个Eclipse更新站点,但是当尝试从其中安装一个功能到目标IDE失败时.
更新站点建立良好; 我可以从目标Eclipse安装中看到它并选择要安装的功能.但是,依赖性检查在安装开始时失败,因为它无法找到声明的依赖项(org.eclipselabs.xtext.utils.unittesting).这应该不是依赖:它错误地包含在MANIFEST.MF中,用于我的一个eclipse插件项目.
我从清单中删除了依赖项并mvn clean install再次运行.构建报告成功,但是当我尝试使用新构建的更新站点时,它仍然抱怨对org.eclipselabs.xtext.utils.unittesting(a)的依赖性存在并且(b)不能满足.
所以问题是:我还需要做些什么才能从生成的更新站点中删除依赖项?
谢谢你的任何指示.
PS:我知道我可以在目标eclipse安装中添加oexuunittesting的站点,以便它可以满足依赖性.但是我不想这样做; 该功能不需要它,我不希望其他用户必须添加不必要的依赖项.
以下是您的方案中可能涉及的缓存位置列表,以及如何清除它们
目标文件夹:如果目标文件夹包含先前构建的结果,则Maven构建可以使用此数据来加速构建.Tycho没有使用此功能,而AFAIK它不应该从目标文件夹中获取任何现有内容.
可以肯定的是,始终clean在mvn通话中包含目标.
本地Maven存储库:为了支持反应堆部分的构建,Tycho将本地构建的工件添加mvn clean install到目标平台.如果您不了解此功能,可能会产生各种奇怪的效果.
为了避免这种情况,install除非必须,否则不要构建.请mvn clean verify改用.另外:删除文件会~/.m2/repository/.meta/p2-local-metadata.properties重置Tycho认为"本地安装"的内容.
从Tycho 0.16.0开始,您还可以通过命令行开关为一个构建禁用此行为,-Dtycho.localArtifacts=ignore或者通过在settings.xml中设置相同的属性来禁用所有构建.
p2:Eclipse中的p2更新管理器缓存了自Eclipse启动以来它一直使用的p2存储库.
要强制p2重新加载存储库,请转到"首选项">"安装/更新">"可用软件站点",选择存储库并单击" 重新加载".如果重新启动Eclipse,还将重新加载存储库.
| 归档时间: |
|
| 查看次数: |
1225 次 |
| 最近记录: |