如何使用maven创建空jar

时间:2014-08-13 17:25:24

标签: java maven

我必须在特定位置创建几个空罐子,这些罐子将作为存根罐子工作。无论如何我可以使用maven创建多个jar。说以下结构。

<project.baseDirectory>/out/msg/first.jar
<project.baseDirectory>/out/msg/second.jar
<project.baseDirectory>/out/msg/third.jar
<project.baseDirectory>/out/msg/forth.jar
<project.baseDirectory>/out/msg/fifth.jar

3 个答案:

答案 0 :(得分:2)

假设您只想要完全空的jar(即文件),正确的方法是使用Maven的ant插件。

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <configuration>
                <tasks>
                    <touch file="first.jar"/>
                    <touch file="second.jar"/>
                </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

原因是Maven并不是为了动态创建这样的文件(除非它使用像wsdl2java这样的插件生成源代码)。

答案 1 :(得分:0)

如果你想创建空jar使用命令

              jar -cf jarname.jar ""

答案 2 :(得分:0)

您还可以通过虚拟模块中没有任何源和deps来创建虚拟jar。 例如:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>dummyJar</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>dummyJar</name>
  <dependencies>
  </dependencies>
</project>

然后使用此工件和依赖项插件将此jar复制到您需要它们的特定位置。

另外一个建议,如果可能的话会建议这些空罐子在目标文件夹而不是基础项目目录下,因为这些不是真正的来源。但这实际上取决于你是否可以在遗留构建中实现它。