如何将JAR文件部署到现有的webapp子目录?

amp*_*ent 8 java jar maven

比方说,我已经通过部署一个很普通的Web应用程序mywebapp.war,所产生的Maven:

webapps
  |
  |--mywebapp.war
  |--mywebapp
       |
       |--images
       |--js
       |--jsp
       |--jardeploy
       |--META-INF
       |--styles
       |--WEB-INF
Run Code Online (Sandbox Code Playgroud)

现在我想部署myjarfile1.jarmyjarfile2.jar(或更多)webapps/mywebapp/jardeploy.它们是另一个Maven项目的文物,而不是制造战争的文物.它们也不是mywebapp使用的罐子,WEB-INF/lib而是可以下载的,而是可单独构建的可下载的罐子,而不是mywebapp源代码的一部分.

有没有办法打包捆绑存储在Maven中的两个或更多罐子的存档,当它被放入时webapps将被部署而不是默认webapps/jardeploy但是在webapps/mywebapp/jardeploy?这就像我拿着罐子并将它们复制到那个目录中一样,但是我想通过在webapps中删除生成的工件而不是hacky以前的方法来遵循标准的app服务器部署协议.我实际上想要一个正式的工件(就像战争一样)而不是一个post deploy附加组件.有没有办法告诉(可能在清单中)它需要解压缩jar并将其放在该目录中,如果该目录存在?

容器应该无关紧要,但它是Tomcat 7.

And*_*rei 5

这看起来像maven-war-plugin和额外资源的标准用例,除非我遗漏了什么.例如,这里(请参阅配置Web资源一节)告诉您,您可以在war构建中包含其他资源(这就是您的两个罐子对我来说:额外的资源)

如果这对您不起作用,那么maven-assembly-plugin允许您指定更灵活的格式.