2015-04-17 73 views
1

我在裝配我的目標產品時使用tycho-p2-repository-pluginarchive-repository目標的默認行爲是創建聚合p2存儲庫的zip存檔。使用tycho-p2-repository-plugin與父目錄創建zip

我想知道的是如何在zip文件中包含父目錄repository?默認情況下,僅包含repository目錄的內容。例如,如果你有2個文件a.fileb.filerepository目錄,當您打開生成的JAR,你會看到這個

a.file 
b.file 

不過,我要的是repository目錄本身是第一層在拉鍊,如果你深入進去,你會看到其他人,像這樣的:

repository/ 
    -> a.file 
    -> b.file 

我怎樣才能得到tycho-p2-repository-plugin做到這一點?

回答

0

AFAIK tycho-p2-repository-plugin不允許自定義生成的zip文件的佈局。

我們有一個類似的用例,我們必須從p2存儲庫的包中創建一個WAR文件,因此使用maven-assembly-plugin

以下是我們在pom.xml規定:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
    <descriptors> 
     <descriptor>assembly.xml</descriptor> 
    </descriptors> 
    <finalName>my-repo</finalName> 
    <appendAssemblyId>false</appendAssemblyId> 
    </configuration> 
    <executions> 
    <execution> 
     <id>make-assembly</id> 
     <phase>verify</phase> 
     <goals> 
     <goal>single</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

這裏是如何assembly.xml可能看起來像:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> <id>com.diwoblood.war</id> 
    <formats> 
    <format>war</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <fileSets> 
    <fileSet> 
     <directory>${basedir}/target/repository/</directory> 
     <outputDirectory>/repository</outputDirectory> 
    </fileSet> 
    </fileSets> 
</assembly> 
+0

感謝呂迪格。它工作完美。 –

+0

@java_code_mongrel很高興你能解決你的問題。我看到你是新來的。如果您覺得答案可以解決問題,請點擊綠色複選標記將其標記爲「已接受」。這有助於將重點放在仍然沒有答案的舊帖子上。 –

相關問題