2013-02-18 2 views
0

Использование Maven Я хотел бы создать файл архива с пользовательским расширением (.bar). Я должен включить в него файл класса и XML-файл.Как создать файл архива с плагином Maven

Я пробовал нижеследующий, но не смог завершить его.

 <plugins> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 

       <execution> 
        <id>compile</id> 
        <phase>compile</phase> 
        <configuration> 
         <target> 
          <echo message="generating document workflow .bar file" /> 
          **I need to copy a .class file and an xml file then build the .bar file.**         

          <!-- Create a bar file. --> 
          <zip basedir="${project.build.outputDirectory}" destfile="${project.build.outputDirectory}/document-workflow.bar" /> 
         </target> 
        </configuration> 
       </execution> 

      </executions> 
     </plugin> 

Не могли бы вы, пожалуйста наставит меня?

У меня есть другое требование. В принципе, файл класса, который я хочу скопировать в jar, должен находиться в корне, а не в структуре пакета.

ответ

0

Надеется, что это решит вашу проблему:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>bar</id> 
      <phase>package</phase> 
      <configuration> 
       <target> 
        <echo message="generating document workflow .bar file" /> 
        <!-- flatten files --> 
        <copy todir="${project.build.directory}/flattened_classes" flatten="true"> 
         <fileset dir="${project.build.outputDirectory}"> 
          <include name="**/*.class"/> 
         </fileset> 
        </copy> 
        <!-- Create a bar file. --> 
        <zip destfile="${project.build.directory}/document-workflow.bar" > 
         <fileset dir="${project.build.directory}/flattened_classes"> 
          <include name="**/*.class"/> 
         </fileset> 
         <fileset dir="${project.build.directory}"> 
          <include name="yourfile.xml"/> 
         </fileset> 
        </zip> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
+0

Отлично. Большое спасибо за ваш подробный код. – user1659473