2015-01-19 3 views
1

У меня есть папка src/resource/templates с файлами .xlsx и .docx. Я использую maven и как можно скопировать файлы из этой папки в jar-файл?Добавление шаблонов в Maven

+1

Поместите эти файлы в 'src/main/resources', и они будут автоматически скопированы. – khmarbaise

ответ

1

Я нашел ответ, используя Maven копию.

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.4.3</version> 
    <executions> 
     <execution> 
     <id>copy-resources</id> 
     <!-- here the phase you need --> 
     <phase>compile</phase> 
     <goals> 
      <goal>copy-resources</goal> 
     </goals> 
     <configuration> 
      <outputDirectory>${basedir}/classes/report/resource/Templates</outputDirectory> 
      <resources>   
      <resource> 
       <directory>${basedir}/src/report/resource/Templates</directory> 
       <filtering>true</filtering> 
      </resource> 
      </resources>    
     </configuration>    
     </execution> 
    </executions> 
    </plugin> 
1

Вы можете добавить больше каталогов ресурсов в проект maven. См http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html

Например:

<project> 
... 
<build> 
    ... 
    <resources> 
    <resource> 
     <directory>src/resource/templates</directory> 
    </resource> 
    </resources> 
    ... 
</build> 
... 
</project> 

EDITED добавил уточнение:

Если теперь у вас есть файл src/resource/templates/example.xlsx он должен быть на корню Jar в.

Файл src/resource/templates/report/resource/Templates/example.xlsx будет скопирован в банку как файл report/resource/Templates/example.xlsx

+0

Так что это код 'ресурсов $ {} имя_базовой_папки * ' So * должны включать в себя все и шаблоны является подпапку, но по какой-то причине не может быть, вы можете объясни это? Типы файлов: xlsx, xls, doc, docx и txt @ikettu –

+0

' *' Все файлы. Вы должны использовать, например, ' **/*. Txt' для рекурсивного поиска всех txt-файлов. – ikettu

+0

В предлагаемом решении цельное поддерево из 'src/resource/templates' должно быть включено рекурсивно, так как оно должно быть в банке во время assambly. – ikettu