如何创建包含特定包的jar?

时间:2014-09-23 00:44:16

标签: java maven jar

假设我有以下包结构,并且我想创建一个只包含**/var/ *及其依赖项下的所有内容的jar。 (不包括**/foo/***/something/***/dummy/*)。

`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?

提前致谢。

1 个答案:

答案 0 :(得分: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>

上面将创建一个jar,其分类符-jar-with-var.jar附加在其末尾,以您的工件ID命名,包含includes块中的所有文件。 同样,您也可以创建一个明确排除文件的jar文件。链接的参考应该告诉你如何做到这一点。

  

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

使用maven-install-plugin设置额外的安装目标

<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时,它将打包您的jar,创建工件,并将它们安装到您当地的.m2 repo