如何仅从命令行创建包含所有依赖项的jar?

时间:2018-06-10 20:52:35

标签: java maven

我想避免修改pom以包含插件等。如何从命令行创建一个包含所有依赖项的jar?

e.g。

mvn package ....

1 个答案:

答案 0 :(得分:-1)

您可以使用maven-assembly-plugin

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      [...]
</project>

它将创建包含所有依赖项的第二个jar。将配置放入pom后,运行mvn package,它将为您创建第二个jar文件。

编辑:我刚刚阅读了评论。如果不修改pom,就不可能实现这一目标。