2016-12-13 4 views
0

У меня есть проект Java, управляемый Maven. Я хочу, чтобы автоматически создать .jar файл проекта с Maven такое, что после Maven выполняет задачу, там будет что-то вроде этого:Создать каталог с Maven

directory_i_want_to_create 
    my_project.jar 
    config.json 
    input_folder 

Как мой проект должен читать ввод из входной папки и config.json, как выше (чтобы я мог запустить командную строку для выполнения jar), как я могу создать такой directory_i_want_to_create, как указано выше с Maven?

+0

Посмотрите на Копирование ресурсов: https://maven.apache.org/plugins/maven -resources-plugin/examples/copy-resources.html Я использовал его для копирования вещей в произвольные местоположения, и его можно привязать к любой фазе. –

ответ

0

Я бы порекомендовал Assembly Plugin. Конфигурация будет выглядеть так:

pom.xml

... 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptors> 
      <descriptor>src/main/assembly/default.xml</descriptor> 
     </descriptors> 
    </configuration> 
    <executions> 
     <execution> 
      <id>assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
... 

default.xml

<?xml version="1.0"?> 
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> 

<id>default</id> 

<formats> 
    <format>dir</format> 
</formats> 

<dependencySets> 
    <dependencySet> 
     <useProjectArtifact>true</useProjectArtifact> 
     <outputDirectory>directory_i_want_to_create</outputDirectory> 
     <unpack>false</unpack> 
    </dependencySet> 
</dependencySets> 

<fileSets> 
    <fileSet> 
     <directory>src/main/resources</directory> 
     <outputDirectory>input_folder</outputDirectory> 
     <includes> 
      <include>*</include> 
     </includes> 
    </fileSet> 
</fileSets> 
</assembly> 
Смежные вопросы