繁体   English   中英

使用目标平台处理用Tycho构建的Eclipse插件的依赖关系

[英]Handling dependencies of an Eclipse plugin built with Tycho, using a Target Platform

我正在用Tycho开发一个Eclipse插件,我想按照本教程中描述的步骤使用目标平台来处理我的依赖项。 但是,当我尝试编译插件项目(使用全新安装)时,出现以下错误:

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: com.codeandme.tycho.plugin 1.0.0.qualifier
[ERROR]   Missing requirement: com.codeandme.tycho.plugin 1.0.0.qualifier requires 'bundle org.eclipse.ui 0.0.0' but it could not be found

这是我的插件项目的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>com.codeandme.tycho.plugin</artifactId>
    <packaging>eclipse-plugin</packaging>

    <parent>
        <groupId>tycho_example</groupId>
        <artifactId>com.codeandme.tycho.releng</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../com.codeandme.tycho.releng</relativePath>
    </parent>
</project>

这是父项目(releng)的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>tycho_example</groupId>
    <artifactId>com.codeandme.tycho.releng</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <tycho.version>0.22.0</tycho.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>



    <build>
        <plugins>
            <plugin>
                <!-- enable tycho build extension -->
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>${tycho.version}</version>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${tycho.version}</version>
                <configuration>
                    <resolver>p2</resolver>
                    <pomDependencies>consider</pomDependencies>
                    <target>
                        <artifact>
                            <groupId>tycho_example</groupId>
                            <artifactId>com.codeandme.tycho.releng.targetplatform</artifactId>
                        </artifact>
                    </target>
                    <environments>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86</arch>
                        </environment>
                    </environments>
                </configuration>
            </plugin>

        </plugins>
    </build>
    <modules>
        <module>../com.codeandme.tycho.plugin</module>

        <module>../com.codeandme.tycho.releng.targetplatform</module>
    </modules>
</project>  

这是我的目标平台的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <artifactId>com.codeandme.tycho.releng.targetplatform</artifactId>
  <packaging>eclipse-target-definition</packaging>
  <parent>
    <groupId>tycho_example</groupId>
    <artifactId>com.codeandme.tycho.releng</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <relativePath>../com.codeandme.tycho.releng</relativePath>
  </parent>
  <groupId>tycho_example</groupId>
</project>

最后是目标平台的.tpd:

target "Tycho Tutorial"

with source requirements

location "http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/" mars-orbit {
    org.apache.commons.lang3
}

location "http://download.eclipse.org/releases/mars" mars-release {
    org.eclipse.platform.feature.group
    org.eclipse.equinox.executable.feature.group
    org.eclipse.e4.rcp.feature.group
    org.eclipse.ui.trace
    org.eclipse.pde.feature.group
}

任何帮助将不胜感激。

在目标定义中,您包括了org.eclipse.e4.rcp.feature.group ,而原始教程要求您包括org.eclipse.rcp.feature.group 这就是缺少UI捆绑包的原因。

您可以轻松地检查目标平台的实际内容:右键单击.tpd文件,选择“生成目标定义”,打开新生成的.target文件,等待Eclipse对其进行解析(观看进度视图),然后单击它。解决后,目标编辑器的“内容”页面显示该目标平台中可用的插件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM