2009-11-04 62 views
1

我想第一次使用maven組裝插件。基本上,我想將maven程序集插件的輸出與maven jar插件的輸出結合到target/classes目錄中,這樣我仍然可以在Eclipse中運行該應用程序。Maven組件插件與Maven罐子插件

我找不到方法來告訴maven jar插件來收集maven assembly插件的輸出。同樣,我發現沒有辦法告訴程序集插件將其輸出到目標/類。

關閉我的解決方案是告訴程序集插件將其結果輸出到classes.dir目錄中。後綴'dir'是使用的格式,'classes'是插件配置中的finalName定義。

我希望目錄單將強制彙編插件忽略格式,因此,在類目錄輸出。這對我不起作用;我是否誤解了這個目標的描述?

你們如何解決這個問題?下面是在我的POM Assembly插件聲明,以及我的描述:

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-1</version> 
      <executions> 
       <execution> 
        <id>package</id> 
        <goals> 
         <goal>directory-single</goal> 
        </goals> 
        <phase>package</phase> 
       </execution> 
      </executions> 
      <configuration> 
       <appendAssemblyId>false</appendAssemblyId> 
       <finalName>classes</finalName> 

       <descriptors> 
        <descriptor>descriptor.xml</descriptor> 
       </descriptors> 
      </configuration> 
     </plugin> 


    <assembly> 
    <files> 
    <file> 
     <source>${repository-path}</source> 
     <outputDirectory>/</outputDirectory> 
     <filtered>true</filtered> 
     <destName>repository.xml</destName> 
    </file> 
    </files> 
    <fileSets> 
    <fileSet> 
     <directory>src/main/resources</directory> 
     <outputDirectory>/</outputDirectory> 
    </fileSet> 
    <fileSet> 
     <directory>${project.build.directory}</directory> 
    </fileSet> 
    </fileSets> 
    </assembly> 
+0

你想解決什麼問題?你能解釋這個拳頭嗎?然後,我們會看看是否有解決方案。但就目前而言,你試圖達到的目標對我而言並不清楚。 – 2009-11-04 03:55:23

+0

謝謝,讓我重新配製。 1)我使用程序集插件的主要原因是在構建過程中重命名一些文件。我有QA,Prod和Dev的不同版本的文件,這應該對應用程序有所不同。 現在,程序集插件解決了這個問題。但是它造成的問題是,我無法找到一種方法將生成的文件放在target/classes文件夾中,以便應用程序可以像Prod中那樣讀取它。 所以,簡單地說,我如何告訴程序集插件將處理後的數據放入目標/類而不是target/classes.dir? – Klaus 2009-11-04 04:38:42

+0

配置文件不是一個選項嗎?管理特定環境的內容對於配置文件來說是一個很好的用例(與過濾相結合)。 – 2009-11-04 05:06:36

回答

1

這正是我試圖做的。你會怎麼做?那就是你有兩個文件Dev.xml和Prod.xml,你想把它們作爲Config.xml包含在內,這取決於配置文件。

根據目標環境(這是一種解決方案),您可以使用maven-antrun-plugin和配置文件來刪除/複製/重命名配置文件。看看Building For Different Environments with Maven 2,本指南精確地說明了如何實現這一目標。