【问题标题】:Unable to build a POM-less OSGi bundle with tycho无法使用 tycho 构建无 POM 的 OSGi 包
【发布时间】:2016-04-12 16:56:36
【问题描述】:

我有一个“你好,世界!” OSGi 包基于 tycho 的 0.24 POM-less build example。项目根目录包含一个名为 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,供应商:甲骨文公司
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>

我做错了什么?

【问题讨论】:

    标签: maven osgi-bundle tycho polyglot


    【解决方案1】:

    您必须在您的/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>
    

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

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 2012-05-07
      • 1970-01-01
      • 2019-04-15
      • 2015-09-06
      • 2015-05-13
      • 2017-11-16
      • 2013-11-29
      • 1970-01-01
      相关资源
      最近更新 更多