【问题标题】:How to use the target folder of another project as target platform repository in a Tycho build?如何在 Tycho 构建中使用另一个项目的目标文件夹作为目标平台存储库?
【发布时间】:2015-10-06 00:32:54
【问题描述】:

我正在一个持续集成环境中创建一个 Eclipse 插件。我的项目包含四个子模块如下

parent
   ---p2Repository
   ---eclipseplugin
   ---feature
   ---updateSite

在持续集成构建期间,首先创建依赖项的 p2 存储库。我的 Eclipse 插件项目需要指向 p2Repository 的目标文件夹以获取依赖项。但是通过在eclipse-plugin POM 文件中提供以下代码不起作用:

 <repositories>
    <repository>
        <id>Dependencies</id>
        <layout>p2</layout>
        <url>file:/../p2Respository/target/repository/</url> 
    </repository>
</repositories>

有什么建议吗?

【问题讨论】:

  • 使用此解决方案,您是否还必须在目标定义文件中设置相对 URL?你是怎么做到的?

标签: maven eclipse-plugin tycho eclipse-pde p2


【解决方案1】:

您指定的文件 URL 不代表相对路径,并且存储库配置中不支持相对 URL。

但是您可以使用${project.baseUri} Maven 属性简单地构造一个指向同级项目目标文件夹的绝对 URL:

<repositories>
    <repository>
        <id>Dependencies</id>
        <layout>p2</layout>
        <url>file:/${project.baseUri}/../p2Respository/target/repository/</url> 
    </repository>
</repositories>

【讨论】:

  • :感谢您的回复。我有一个疑问。在作为预构建步骤的 maven 构建期间,eclipseplugin 检查存储库。但是在 p2Repository 项目执行后,只有目标文件夹将与存储库一起生成.所以它指向空文件夹。如何避免这种情况。正如我在 p2 存储库之后所描述的,我只需要执行 eclipse 插件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多