osgi + maven + maven-pax-plugin 的 Eclipse 错误

标签 eclipse maven osgi m2e

我正在尝试创建一个 OSGi 包并将其集成到 eclipse 中。我正在使用 maven-pax-plugin 创建包。这些是我遵循的步骤

我使用 pax 创建了一个 osgi 项目

mvn org.ops4j:maven-pax-plugin:create-project -DgroupId=org.sonatype.mcookbook -DartifactId=osgi-project -Dversion=1.0-SNAPSHOT

然后创建一个包
mvn pax:create-bundle -Dpackage=org.sonatype.mcookbook -Dname=osgi-bundle -Dversion=1.0-SNAPSHOT

然后尝试将maven项目导入eclipse(文件/导入/现有maven项目)第二步创建的bundle项目总是给我这个错误
maven-pax-plugin:1.5:compile (1 error)
   Execution default-compile, in org.sonatype.mcookbook/pom.xml
maven-pax-plugin:1.5:testCompile (1 error)
   Execution default-testCompile, in org.sonatype.mcookbook/pom.xml

当我选择错误之一时,描述说
No marketplace entries found to handle Execution default-compile, in org.sonatype.mcookbook/pom.xml in Eclipse.  Please see Help for more information.

如果我忽略错误并无论如何导入项目,这就是 eclipse 所提示的
Plugin execution not covered by lifecycle configuration: org.ops4j:maven-pax-plugin:1.5:compile (execution: default-compile, phase: compile)

有没有人看到这个?任何想法如何解决它?
我正在关注 this tutorial但是添加了与 eclipse 的集成。但是请注意,如果我使用 maven 构建它并且根本不使用 eclipse,则一切正常,问题出在 eclipse/m2e

我正在使用 Eclipse Indigo SR2 和 m2e 1.0.200

最佳答案

我按照生成的 POM 中的注释解决了这个问题并移动了 <extensions>true</extensions>到下面的 maven-bundle-plugin 给出:

  ...
  <plugins>
    <plugin>
      <groupId>org.ops4j</groupId>
      <artifactId>maven-pax-plugin</artifactId>
      <version>1.4</version>
      <!--
         | enable improved OSGi compilation support for the bundle life-cycle.
         | to switch back to the standard bundle life-cycle, move this setting
         | down to the maven-bundle-plugin section
        -->
      <!-- WAS HERE -->
    </plugin>
    <plugin>
      <groupId>org.apache.felix</groupId>
      <artifactId>maven-bundle-plugin</artifactId>
      <version>1.4.3</version>
      <!--
       | the following instructions build a simple set of public/private
       | classes into an OSGi bundle
      -->
      <extensions>true</extensions> <!-- MOVED HERE :-) -->
      <configuration>
    ...

然后更新项目(在 Project Explorer 中右键单击项目名称:Maven -> Update Project...),等待构建完成,错误消失。

希望有帮助!

关于osgi + maven + maven-pax-plugin 的 Eclipse 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11457829/

相关文章:

java - 如何将所有控制台输出重定向到 GUI 文本框?

java - EclEmma 行号输出 Java Eclipse 插件

eclipse - Eclipse的Hadoop插件(1.0.3)

java - 创建 osgi 实用程序包有多大用处

java - 无法直接运行.jsp页面

java - cvc-complex-type.2.4.a 从 faces-config.xml 中的元素工厂开始发现无效内容

java - Maven 没有使用服务器的 servlet-api 构建

java - 从 subversion repo 中排除哪些 eclipse 文件

java - 包含用于 JUnit 测试的 OSGI jar

osgi - 将 OpenNTF-Domino-API-2.0.0 安装到 Designer Client