0

我有一个“你好,世界!” 基于 tycho 的 0.24 POM-less构建示例的 OSGi 包。项目根目录包含一个名为 com.softalks.tycho.bundle 的捆绑代码目录和以下构建配置文件

.mvn/extensions.xml

<?xml version="1.0" encoding="UTF-8"?>
<extensions>
    <extension>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-pomless</artifactId>
        <version>0.24.0</version>
    </extension>
</extensions>

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.softalks.tycho</groupId>
    <artifactId>com.softalks.tycho.parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

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

    <modules>
        <module>com.softalks.tycho.bundle</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>0.24.0</version>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>
</project>

我的构建环境:

Apache Maven 3.3.9
Java 版本:1.7.0_95,供应商:Oracle Corporation
Java 主页:/usr/lib/jvm/java-7-openjdk-amd64/jre
操作系统名称:“linux”,版本:“3.13.0-61 -generic”,arch:“amd64”,家庭:“unix”

和 Maven 回应:

/home/runner/tycho/pom.xml 的子模块 /home/runner/tycho/com.softalks.tycho.bundle/pom.xml 不存在

我还尝试将其添加到我的 pom 中(如示例所示),但没有成功:

    <pluginRepositories>
        <pluginRepository>
            <id>tycho-snapshots</id>
            <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

我究竟做错了什么?

4

1 回答 1

0

您必须在您的/home/runner/tycho/com.softalks.tycho.bundle/目录中提供一个 pom.xml。是的,'pomless',但是这个目录中的父 pom 必须被写入。

<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/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.softalks.tycho</groupId>
    <artifactId>bundles</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>com.softalks.tycho</groupId>
        <artifactId>com.softalks.tycho.parent</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <modules>
        <module>...All your modules...</module>
    </modules>

</project>

这里提到的模块目录中的所有 pom.xml 文件都会自动生成。

于 2016-04-28T08:58:23.413 回答