2016-08-08 85 views
3

我正在使用Maven構建Java項目,並且我有幾個文件,CHANGELOGLICENSE,我想複製到JAR中的META-INF目錄文件。Maven:包含JAR文件中的META-INF文件

到目前爲止,我所得到的工作如下:

<build> 
    <resources> 
     <resource> 
      <directory>${project.basedir}</directory> 
      <includes> 
       <include>CHANGELOG</include> 
       <include>LICENSE</include> 
      </includes> 
      <targetPath>META-INF</targetPath> 
     </resource> 
    </resources> 
    <plugins> 
     ... 

但也拷貝這兩個文件到classes/META-INF目錄編譯時。

所以我想要將這些文件包含在JAR文件中,而不是其他地方。有沒有辦法做到這一點?

回答

5

您不需要指定任何自定義maven配置來滿足您的需要。
src/main/resources,創建一個簡單的META-INF文件夾並將您的文件放在這裏。
通過這種方式,您可以在構建的JAR的META-INF文件夾中找到它們。

此外,您應該刪除您在pom.xml添加<resource>元素,因爲它改變默認的資源文件夾中的項目,而不是默認src/main/resources的根源。

+0

但結果是一樣的,對不對?如果我們只編譯它,也會複製這些資源文件。我希望它們只複製到JAR文件中。 –

+0

不是真的,因爲在Jar中,資源不會在類/ META-INF中重複。他們將只在META-INF目錄中解釋。 – davidxxx

+0

Hi @ davidxxx。當資源應該到META-INF時,我注意到了你的評論,但是可以將資源放在jar文件的根目錄下,在META-INF旁邊?謝謝。 – Cristian

相關問題