2012-07-02 43 views
0

我想创建一个基于maven的工具,当我添加一个依赖到pom.xml时,我想从下载jar文件中自动提取一些文件并将它们复制到另一个文件夹。有可能扩展Maven依赖插件吗?任何建议表示赞赏。如何自动从Maven依赖关系中提取内容?

回答

1

您可以创建文件夹包含Maven Dependency Plugin和简单的示例如下

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.4</version> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <!-- configure the plugin here --> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

添加所有的依赖,你可以复制的jar文件渴望文件夹下的插件

http://evgeny-goldin.com/wiki/Copy-maven-plugin

这是一个简单的示例,您可以用于将文件从目标中的依赖项文件夹复制到另一个文件夹中

 <plugin> 
      <!-- download from here 
      http://evgeny-goldin.org/artifactory/repo/com/goldin/plugins/maven-copy-plugin/0.2.3.8-beta-9/ 
      --> 
      <groupId>com.goldin.plugins</groupId> 
      <artifactId>maven-copy-plugin</artifactId> 
      <version>0.2.3.8-beta-9</version> 
      <executions> 
       <execution> 
        <id>create-archive</id> 
        <phase>install</phase> 
        <goals> 
         <goal>copy</goal> 
        </goals> 
        <configuration> 
         <resources> 
          <!-- ~~~~~~~~~~~~~~ --> 
          <!-- Copy resources --> 
          <!-- ~~~~~~~~~~~~~~ --> 
          <resource> 
           <targetPath>c:/YOUR_NEW_FOLDER/</targetPath> 
           <directory>${project.basedir}/target/dependency/</directory> 
           <includes> 
            <include>*.jar</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 


       </execution> 

      </executions> 
     </plugin> 
+0

第一个插件在包阶段执行,第二个插件在安装阶段执行,您可以根据您的要求更改这些阶段 – Ashkan

+0

谢谢,但我需要从依赖关系jar文件中提取一些文件。像/ meta-info/xxx。不要复制jar文件。 – Chi

+0

为此,您可以使用第一个插件,请按照以下链接http://maven.apache.org/plugins/maven-dependency-plugin/和http://stackoverflow.com/questions/5559519/maven-extract-files-从-JAR – Ashkan