包含maven依赖项的客户端JAR

时间:2012-01-11 23:31:27

标签: spring maven client

我正在构建一个包含使用Spring的客户端模块的服务。将实现客户端的服务不包含spring,但它依赖于依赖于Spring的客户端。理想情况下,我希望客户端在JAR中包含所需的Spring依赖项,但我似乎无法弄清楚如何实现这一点。我已经看到了一些使用maven-assembly-plugin的不同例子,但我宁愿不必使用“mvn clean package”之外的东西来实现这一点。

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

maven-shade-plugin允许您构建包含一些(或所有)依赖项的超级jar。它应该允许你做你需要的。

答案 1 :(得分:0)

通过将程序集插件的单个目标绑定到项目的构建生命周期,您可以通过运行mvn clean package来完成所需的任务。

剪切/粘贴pom配置,以便从插件的usage页面执行此操作,

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.2</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>

当然,您可以调整使用不同的预定义描述符,甚至使用单独的描述符文件。

相关问题