我们还有一系列Web服务API,我们也编写了客户端,以便我们可以轻松地在其他Java应用程序中重用它们。我现在需要能够在Web服务器之外的环境中使用客户端。我使用maven-assembly-plugin创建一个包含所有客户端依赖项的zip,除了wildfly提供的依赖项外,它工作得很好。我将适当的resteasy jar文件添加到命令行应用程序,一切正常。现在我希望能够以两种方式打包客户端;与resteasy罐子和没有。 apache shade插件看起来是一个很好的选择,但我无法看到如何包含项目中未引用的额外依赖(resteasy)。有没有人这样做过?
编辑: 我尝试了maven-assembly-plugin和maven-shade。在我尝试部署jar之前,Shade看起来很有希望。我得到了安全警告,因为依赖性jars它重新打包已签名,因此重新打包它们会导致错误。在任何情况下,看起来使用配置文件是密钥的一部分。我可以在pom中设置一个单独的配置文件,其中包含resteasy依赖项,因此只在需要时包含它们。
答案 0 :(得分:0)
对于其他人来看这个问题,我还没有完全解决这个问题,但添加个人资料是关键的一部分。如果您向pom添加配置文件,则只能在该配置文件下添加resteasy依赖项。如果在该配置文件下添加maven-assembly-plugin和resteasy依赖项,则可以构建一个包含所有依赖项的jar,而不会影响常规版本。