使用gradle在STS中部署war文件

时间:2012-07-24 20:42:10

标签: java deployment war gradle sts-springsourcetoolsuite

我在STS中有一个Web项目,我希望在Tomcat中部署。项目的构建文件是用GRADLE编写的。使用GRADLE'S构建脚本,在build / libs中生成war文件。

但是STS在workspace / metadata / plugins / org.eclipse.wst.server.core /文件夹中查找war文件。

现在,如果我手动将生成的WAR文件从build / libs复制到此workspace / metadata / plugins文件夹,然后启动tomcat,一切正常,但我无法使用STS中的断点进行调试。

如何确保build / libs中的war文件被移动到workspace / metadata / plugins文件夹?

而且,为什么STS希望在workspace / metadata / plugins文件夹中找到war。由于app-server是tomcat,它是不是应该在Tomcat / webapps文件夹中查找战争?

2 个答案:

答案 0 :(得分:2)

我不相信STS直接部署/运行你的war文件。也就是说,如果您选择项目并说“在服务器上运行”,STS / eclipse将为定义的wtp.deploy目录生成爆炸战争。您可以通过编辑服务器的“运行配置”来控制/更改此设置。只需转到“Arguments”选项卡并更改“-Dwtp.deploy”的设置。

您应该仅将此STS机制用于开发目的 - 因为它对此非常宝贵。要将实际warfile部署到Tomcat,您有多种选择。您可以启用管理器UI启动tomcat实例并从Tomcat GUI上传war文件,您可以手动将war文件放入Tomcat的部署区域,或者可能是您的最佳选择 - 扩展您的gradle构建脚本以包括部署生成的war文件到tomcat服务器。希望这会有所帮助。

答案 1 :(得分:1)

我现在不是eclipse的粉丝,但是你运行了eclipse插件吗?您可以将其添加到gradle文件

apply plugin: 'eclipse'

然后运行

gradle eclipse

检查Eclipse Plugin