使用maven-shade-plugin的Maven项目无法正确部署到SpringSource Server

时间:2013-12-18 21:26:38

标签: maven sts-springsourcetoolsuite springsource maven-shade-plugin tcserver

我们从几个基于Maven的项目中组装一个war文件。 其中一个项目使用maven-shade-plugin在其目标jar文件中包含额外的库。为了讨论起见,我们称之为x.jar。

当maven构建war文件时,它包含正确的x.jar文件,其中包含附加的库。

我们使用最新版本的Spring Source(3.4.0)将其部署到Spring Source中配置的服务器。服务器是Sprint TC Server 2.0.3。

项目一旦部署到服务器(Sprint TC Server 2.0),jar文件(x.jar)就会被不正确的小文件替换,而不包含打包库。

这个较小的x.jar在部署之前不存在于文件系统的任何地方,所以看起来Spring Source自己编译它。

因此我们无法在Spring Source中部署我们的系统。 你们,伙计们,我们问题的原因或解决办法吗?

-----------更新-----------

我们进行了测试。我们在部署之前已经破坏了maven pom.xml文件,因此Spring Source部署了原始文件而不重新编译它。它导致了正确的部署。

此测试显示Spring Source在将它们部署到服务器时以静默方式重建jar。

有没有办法阻止它或让它正常工作?

1 个答案:

答案 0 :(得分:1)

遗憾的是,我的建议是不使用shade插件,而是使用程序集,依赖项和jar插件之间的巧妙组合,有点像答案中的人:

Invalid or corrupt JAR File built by Maven shade plugin

如果您在配置时遇到任何问题,请与我们联系。

如果您有服务器的错误日志,也可以发布它们。