2013-07-14 25 views
13

Chcę zbudować projekt w Maven korzystając eclipse-plugin opakowania, ale pojawia się następujący błąd na moim POM:"Nieznany opakowanie: Eclipse wtyczki" w 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

proszę, udostępnij kod ... – ritesh

+0

\t 4.0.0 \t \t \t ../ releng/pom.xml \t \t net.sf.logsaw \t \t rodzic \t \t 1.0.0-SNAPSHOT \t \t net.sf.logsaw.core \t 1.0.4-SNAPSHOT \t eclipse-plugin \t LogSaw Rdzeń Plugin dev

+1

@ritesh: ten komentarz nie był pomocny. Wszystkie istotne informacje znajdują się w pytaniu oryginalnym. – oberlies

Odpowiedz

19

Typ opakowania eclipse-plugin jest definiowany przez rozszerzenie kompilacji Maven o nazwie Tycho. W celu wykorzystania rodzajów opakowań Tycho, trzeba skonfigurować Tycho jako rozszerzenie produkcji:

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

Również Tycho wymaga dodatkowych plików metadanych być obecne, np manifest OSGi dla modułów eclipse-plugin. Inną istotną różnicą w projekcie Tycho w porównaniu do zwykłego projektu Mavena jest to, że musisz skonfigurować tak zwane target platform, np. poprzez zdefiniowanie repozytorium o numerze layout=p2, jeśli projekt odwołuje się do wszelkich zewnętrznych artefaktów. Na początek możesz rzucić okiem na this example project.

Aby uzyskać więcej informacji, można również sprawdzić Tycho's documentation wiki, np. reference card page.

+0

+1 za odpowiedź. Więcej linków: http://blog.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/ http://wiki.eclipse.org/Tycho/Packaging_Types – ritesh

+0

Teraz otrzymuję następujące error: org.apache.maven.InternalErrorException: Błąd wewnętrzny: java.lang.RuntimeException: nie można rozwiązać artefaktu specyfikacji platformy docelowej net.sf.logsaw: parent: target: workspace: 1.0.0-SNAPSHOT i tutaj jest częścią mój pom: org.eclipse.Tycho platforma docelowa konfiguracja $ {Tycho-version} net.sf.logsaw rodzic 1.0.0-SNAPSHOT roboczy dev

+0

i kiedy ja element docelowy otrzymuję ten błąd: Brakujące wymaganie: net.sf.logsaw.core 1.0.0.qualifier wymaga "bundle org.eclipse.core.runtime 0.0.0", ale nie można go znaleźć. Każdy pomysł plz? – dev