2016-01-27 30 views
1

我試圖讓maven在我的工件上拉動文件時包含我的*.properties文件。他們位於src/main/resources內。我嘗試將fileSet元素添加到我的程序集文件中,但資源未包含在zip中。我看到this question這似乎表明,應加入fileSet應該工作。maven-assembly-plugin包含郵編根級別的* .properties

plugins.xml:

<?xml version="1.0"?> 
<assembly> 
    <id>release</id> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <fileSets> 
      <fileSet> 
       <directory>${project.build.directory}</directory> 
       <outputDirectory>/</outputDirectory> 
       <includes> 
        <include>*.properties</include> 
       </includes> 
      </fileSet> 
    </fileSets> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>/</outputDirectory> 
      <useProjectArtifact>true</useProjectArtifact> 
      <useTransitiveFiltering>true</useTransitiveFiltering> 
     </dependencySet> 
    </dependencySets> 
</assembly> 

回答

1

要包括內部的ZIP位於項目的src/main/resources源目錄的屬性。所以<fileSet>元素應該指向這個目錄。

${project.build.directory}是Maven當前編譯目錄,默認爲target。您也可以指向Maven在構建過程中複製所有資源的臨時目錄,但最好在可能的情況下使用永久數據。

這樣,你只需要改變你的<fileSet>元素:

<directory>src/main/resources</directory> 
+0

爲什麼它不沒有指定''雖然工作? – krasnaya

+0

@ krasnaya因爲您需要告訴插件要查找哪個文件。它不像maven-jar-plugin,默認情況下會將資源打包到主jar中。 maven-assembly-plugin被設計爲更靈活,所以你需要正確配置它。 – Tunaki