如何使用Tycho处理Eclipse插件项目中的依赖项

时间:2016-03-21 01:15:05

标签: eclipse maven plugins eclipse-plugin tycho

我正在编写一个eclipse插件,我想使用Maven管理它,特别是依赖项。

这是我的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example.plugin</groupId>
    <artifactId>SomePlugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>eclipse-plugin</packaging>

    <properties>
        <tycho.version>0.24.0</tycho.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <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>tycho-versions-plugin</artifactId>
                <version>${tycho.version}</version>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>luna</id>
            <layout>p2</layout>
            <url>http://download.eclipse.org/releases/luna</url>
        </repository>
    </repositories>

</project>

我可以成功构建这个项目,但Junit在我的项目中不可见,我无法从Junit调用任何类或方法。所以我似乎没有正确使用dependencies。知道如何使用依赖项吗? Junit只是一个例子,成功构建后我没有依赖。

我是插件和Maven的菜鸟,所以任何帮助或指导都会非常感激。

2 个答案:

答案 0 :(得分:0)

您可以从您自己的位置创建一个p2存储库,其中填充了jar / plugins / features(也放在那里jUnit),然后将该存储库添加到您的pom.xml中;我认为外部依赖不是一个好主意,我建议使用缓存的本地存储库。 如何创建p2存储库:http://wiki.eclipse.org/Equinox/p2/Publisher#Features_And_Bundles_Publisher_Application。 此外,在构建Eclipse RCP产品时,使用自定义目标平台并在其中转储Eclispe SDK,JUnit +其他jar等(仅限Google Eclipe目标平台)

答案 1 :(得分:0)

答案很晚。对于那些现在提出这个问题的人来说,Orbit Eclipse repository包含许多可用于Tycho构建的库。 Junit就是其中之一。