-1

我们有一系列 Web 服务 API,我们还为其编写了客户端,以便我们可以轻松地在其他 Java 应用程序中重用它们。我现在需要能够在网络服务器之外的环境中使用客户端。我使用 maven-assembly-plugin 创建了一个包含所有客户端依赖项的 zip,它工作正常,除了 wildfly 提供的依赖项。我将适当的 resteasy jar 文件添加到命令行应用程序中,一切正常。现在我希望能够以两种方式打包客户端;有安逸的罐子和没有。apache shade 插件看起来是一个不错的选择,但我看不到如何包含项目中未引用的额外依赖项(resteasy)。有人做过吗?

编辑:我已经尝试过 maven-assembly-plugin 和 maven-shade。在我尝试部署 jar 之前,Shade 看起来很有希望。假设我收到了安全警告,因为它重新打包的依赖项 jar 已签名,因此重新打包它们会导致错误。无论如何,使用配置文件似乎是关键的一部分。我可以在 pom 中设置一个单独的配置文件,其中将包含 resteasy 依赖项,因此仅在需要时才包含它们。

4

1 回答 1

0

对于其他关注这个问题的人,我还没有完全解决这个问题,但添加配置文件是关键的一部分。如果将配置文件添加到 pom,则只能在该配置文件下添加 resteasy 依赖项。如果您在该配置文件下添加 maven-assembly-plugin 和 resteasy 依赖项,您可以构建一个包含所有依赖项的 jar,而不会影响您的常规发布。

于 2017-04-13T14:01:36.270 回答