2014-09-23 37 views
0

可以说我有以下的包结构,我想创建一个只包含**/var/ *及其依赖关系下的所有东西的jar。 (不包括**/foo/***/something/***/dummy/*)。如何创建包含特定包的jar包?

`src/main/java/my/package/foo/` 
`src/main/java/my/package/var/` 
`src/main/java/my/package/dummy/` 
`src/main/java/my/package/something/` 

一旦我有了jar,我该如何将jar安装到本地m2 repo中?

在此先感谢。

+0

这是标记为Maven ...您是否使用Maven构建您的项目? – 2014-09-23 00:48:16

+0

是的。我需要配置pom文件来做到这一点.... – user800799 2014-09-23 00:50:48

回答

0

您可以使用maven-jar-plugin来完成此操作。

例:

<plugin> <!-- jar plugin --> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <executions> 
     <execution> 
       <id>jar-with-var</id> 
       <phase>package</phase> 
       <goals> 
        <goal>jar</goal> 
       </goals> 
       <configuration> 
        <archive> 
         <index>true</index> 
         <manifest> 
           <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
         </manifest> 
        </archive> 
        <classifier>jar-with-var</classifier> 
        <includes> 
         <include>path/to/your/files/*</include> 
        </includes> 
       </configuration> 
      </execution> 
    <executions> 
</plugin> 

以上将创建一个罐子追加到它的结束,命名为您的工件ID分级-jar-with-var.jar,包含的所有文件包括块。 同样,您也可以创建一个明确排除文件的jar文件。链接的引用应该告诉你如何做到这一点。

一旦我有了jar,我该如何将jar安装到本地m2 repo中?

使用maven安装,插件设置额外的安装目标

<plugin> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.5.2</version> 
    <executions> 
      <execution> 
       <id>jar-with-var</id> 
       <phase>install</phase> 
       <goals> 
        <goal>install-file</goal> 
       </goals> 
       <configuration> 
        <groupId>your group id</groupId> 
        <artifactId>the desired artifact id</artifactId> 
        <version>your version</version> 
        <file>your created jar file</file> 
       </configuration> 
      </execution> 
    </executions> 
</plugin 

当你与这个POM运行mvn install,它会打包你的罐子,创建你的文物,并将其安装到您当地的.m2回购