【问题标题】:Tycho ignores p2 repository第谷忽略 p2 存储库
【发布时间】:2011-12-06 20:00:12
【问题描述】:

我有一个让我发疯的问题:Tycho 忽略了我添加到 POM 的所有 p2 存储库。以下是 POM 的相关部分:

<properties>
    <tycho-version>0.13.0</tycho-version>
</properties>

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

<profiles>
    <!-- Fix for Eclipse maven plugin which insists to mix its output with Eclipse's -->
    <profile>
        <id>eclipse-folders</id>
        <properties>
            <target.dir>target-eclipse</target.dir>
        </properties>
    </profile>
</profiles>

<build>
    <sourceDirectory>src</sourceDirectory>
    <directory>${basedir}/${target.dir}</directory>
    <outputDirectory>${basedir}/${target.dir}/classes</outputDirectory>
    <testOutputDirectory>${basedir}/${target.dir}/test-classes</testOutputDirectory>

    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <!-- Compile with Java 5 -->
                <source>${compileSource}</source>
                <target>${compileSource}</target>
                <compilerArguments>
                    <g />
                </compilerArguments>
            </configuration>
        </plugin>

        <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>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
                <resolver>p2</resolver>
                <environments>
                    <environment>
                        <os>linux</os>
                        <ws>gtk</ws>
                        <arch>x86</arch>
                    </environment>
                    <environment>
                        <os>linux</os>
                        <ws>gtk</ws>
                        <arch>x86_64</arch>
                    </environment>
                    <environment>
                        <os>win32</os>
                        <ws>win32</ws>
                        <arch>x86</arch>
                    </environment>
                    <environment>
                        <os>win32</os>
                        <ws>win32</ws>
                        <arch>x86_64</arch>
                    </environment>
                    <environment>
                        <os>macosx</os>
                        <ws>cocoa</ws>
                        <arch>x86_64</arch>
                    </environment>
                </environments>
            </configuration>
        </plugin>
    </plugins>

    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.4.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.3</version>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

<distributionManagement>
    <!-- use the following if you're not using a snapshot version. -->
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>local URL</url>
    </repository>
    <!-- use the following if you ARE using a snapshot version. -->
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshots</name>
        <url>local URL</url>
    </snapshotRepository>
</distributionManagement>

在输出中,我从未看到 [INFO] Resolving target platform for project MavenProject[INFO] Adding repository @987654321@

为什么不呢?如果我从http://git.eclipse.org/gitroot/tycho/org.eclipse.tycho.git 构建第谷,它确实有效,所以它与我的settings.xml 无关。我还尝试了 Tycho 0.12.0,结果相同。

我的构建输出中有趣的部分:

[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from /home/adigulla/packages/apache-maven-3.0.3/conf/settings.xml
[DEBUG] Reading user settings from /home/adigulla/.m2/settings.xml
[DEBUG] Using local repository at /home/adigulla/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10 for /home/adigulla/.m2/repository
[INFO] Scanning for projects...
[DEBUG] org.eclipse.tycho:tycho-maven-plugin:jar:0.13.0:
[DEBUG]    org.eclipse.tycho:tycho-core:jar:0.13.0:compile
...
[DEBUG] Extension realms for project com.avanon.tycho:parent:pom:0.0.1-SNAPSHOT: [ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.13.0, parent: sun.misc.Launcher$AppClassLoader@4aad3ba4]]
[DEBUG] Created new class realm project>com.avanon.tycho:parent:0.0.1-SNAPSHOT
[DEBUG] Populating class realm project>com.avanon.tycho:parent:0.0.1-SNAPSHOT
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[project>com.avanon.tycho:parent:0.0.1-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]
[DEBUG] Extension realms for project de.itemis.xtext:typesystem:jar:2.0.0.2: [ClassRealm[extension>org.eclipse.tycho:tycho-maven-plugin:0.13.0, parent: sun.misc.Launcher$AppClassLoader@4aad3ba4]]
[DEBUG] Looking up lifecyle mappings for packaging jar from ClassRealm[project>com.avanon.tycho:parent:0.0.1-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]
...
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project:       com.avanon.tycho:parent:0.0.1-SNAPSHOT
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): []
[DEBUG] Repositories (dependencies): [indigo (http://download.eclipse.org/releases/indigo, disabled), Nexus (http://nexus:8082/nexus/content/groups/public2, releases)]
[DEBUG] Repositories (plugins)     : [Nexus (http://nexus:8082/nexus/content/groups/public2, releases)]

如您所见,第谷已被识别,但显示为 indigo (http://download.eclipse.org/releases/indigo, disabled)。为什么?

【问题讨论】:

    标签: p2 tycho


    【解决方案1】:

    Tycho 团队的 Igor Fedorenko 发现了问题所在。在模块中,我使用了

    <packaging>jar</packaging>
    

    而不是

    <packaging>eclipse-plugin</packaging>
    

    【讨论】:

      【解决方案2】:

      您是否尝试过启用版本和快照?

      <repository>
         <id>indigo</id>
         <layout>p2</layout>
         <url>http://download.eclipse.org/releases/indigo/</url>
         <releases>
            <enabled>true</enabled>
         </releases>
         <snapshots>
            <enabled>true</enabled>
         </snapshots>
      </repository>
      

      调用 Maven 时你的命令行是什么? 您还说,当您“从 github 构建 Tycho”时,这是否意味着您在 Eclipse 中使用了 m2e 嵌入式 Maven/Tycho?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-26
        • 1970-01-01
        • 1970-01-01
        • 2017-10-09
        • 2011-02-24
        • 1970-01-01
        • 2018-06-24
        相关资源
        最近更新 更多