1

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

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

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

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

而且,为什么 STS 会在工作空间/元数据/插件文件夹中寻找战争。由于应用服务器是 tomcat,它不应该在 Tomcat/webapps 文件夹中查找战争吗?

4

2 回答 2

1

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

apply plugin: 'eclipse'

然后就跑

gradle eclipse

检查Eclipse 插件

于 2012-07-25T19:02:41.497 回答
1

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

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

于 2012-08-15T13:03:41.360 回答