Maven中的"未知包装:eclipse-plugin"

dev*_*dev 16 eclipse-plugin tycho maven

我想使用eclipse-plugin打包在Maven中构建一个项目,但是我的POM出现以下错误:

[ERROR] Unknown packaging: eclipse-plugin @ line 15, column 13 .
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

obe*_*ies 22

包装类型eclipse-plugin由名为Tycho的Maven构建扩展定义.要使用Tycho的打包类型,您需要将Tycho配置为构建扩展:

<build>
  <plugins>
    <plugin>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-maven-plugin</artifactId>
      <version>${tycho-version}</version>
      <extensions>true</extensions>
    </plugin>
  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

此外,Tycho需要存在其他元数据文件,例如eclipse-plugin模块的OSGi清单.与常规Maven项目相比,Tycho项目的另一个主要区别是您必须配置所谓的目标平台,例如,通过定义存储库layout=p2,以防您的项目引用任何外部工件.首先,您可以查看此示例项目.

有关更多信息,您还可以查看Tycho的文档维基,例如参考卡页面.