2013-07-14 24 views
13

我想建立使用eclipse-plugin包装Maven的一个项目,但我得到了下面的错误我POM:“未知包装:Eclipse的插件” 在Maven的

[ERROR] Unknown packaging: eclipse-plugin @ line 15, column 13 . 

的pom.xml:

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

    <parent> 
    <relativePath>../releng/pom.xml</relativePath> 
    <groupId>net.sf.logsaw</groupId> 
    <artifactId>parent</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    </parent> 

    <artifactId>net.sf.logsaw.core</artifactId> 
    <version>1.0.4-SNAPSHOT</version> 
    <packaging>eclipse-plugin</packaging> 

    <name>LogSaw Core Plugin</name> 
</project> 
+0

请分享代码... – ritesh

+0

\t 4.0.0 \t \t \t ../ RELENG/pom.xml的 \t \t net.sf.logsaw \t \t \t \t 1.0.0-SNAPSHOT \t \t net.sf.logsaw.core \t 1.0.4-SNAPSHOT \t Eclipse的插件 \t LogSaw核心插件 dev

+1

@ritesh:此评论无帮助。所有相关信息都存在于原始问题中。 – oberlies

回答

19

包装类型eclipse-plugin由名为Tycho的Maven构建扩展定义。为了使用第谷的包装类型,则需要配置第谷作为构建扩展:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-maven-plugin</artifactId> 
     <version>${tycho-version}</version> 
     <extensions>true</extensions> 
    </plugin> 
    </plugins> 
</build> 

此外,第谷需要额外的元数据文件是存在,例如eclipse-plugin模块的OSGi清单。与常规Maven项目相比,Tycho项目的另一个主要区别是您必须配置所谓的target platform,例如,通过定义一个存储库layout=p2,以防您的项目引用任何外部工件。要开始,你可以看看this example project

欲了解更多信息,您还可以检查出Tycho's documentation wiki,例如, reference card page

+0

+1您的答案。更多链接:http://blog.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/ http://wiki.eclipse.org/Tycho/Packaging_Types – ritesh

+0

现在我得到以下错误: org.apache.maven.InternalErrorException:内部错误:java.lang.RuntimeException:无法解析目标平台规范工件net.sf.logsaw:parent:target:工作空间:1.0.0-SNAPSHOT 这里是我的朋友: org.eclipse。第谷 目标平台的配置 $ {第谷版本} <结构> net.sf.logsaw 1.0.0-SNAPSHOT 工作区 dev

+0

and when i co mment目标元素我得到这个错误:缺少要求:net.sf.logsaw.core 1.0.0.qualifier需要'捆绑org.eclipse.core.runtime 0.0.0',但它找不到。任何想法PLZ? – dev