21

安装了基于 Kepler 的 STS 3.4.0.RELEASE(当前最新版本)和仪表板扩展中的 Gradle 支持包。现在我想从头开始创建一个 Spring MVC 项目,它使用 Gradle 作为其构建和依赖关系管理工具,而不是 Maven。

我首先使用 Spring MVC 项目模板创建一个 Spring 项目,但显然这是基于 Maven,并且在任何向导屏幕中都没有将项目切换到 Gradle 的选项。因此,创建后,我右键单击项目并选择配置 > 转换为 Gradle 项目。然而,出乎我的意料,该项目仍然保持其Maven性质,尽管Gradle启用了依赖解析,但项目中的依赖仍然属于Maven,pom.xml文件仍然存在,并且没有任何build.gradle文件可以看到。Eclipse 的控制台报告了一个成功的构建,我相信它来自 Gradle:但基于什么? 当我打开 Gradle Tasks 视图时,它是空的;如果我尝试刷新它,则会在触发另一个成功构建之前出现一条消息,指出模型尚不可用。然后,当我尝试从项目中删除 Maven 特性时,开始出现关于不再找到的类和标记库描述符的错误。我从项目的上下文菜单中选择 Gradle > Refresh Dependencies,但没有任何效果。

我尝试另一种方式:从头开始创建一个 Gradle 项目。不幸的是,Gradle 模板根本不涵盖 Spring 项目,之后添加 Spring 特性并没有明显的效果,我也无法找到将 Spring MVC 项目模板应用到这个新创建的 Gradle 项目的方法。

在网上,大家都在说Gradle Eclipse插件的导入工具有多强大,以及如何在IDE之外创建一个Gradle项目,然后创建Eclipse能够导入项目所需的文件,最后导入并能够使用 IDE 进行开发。这些教程中使用的示例项目不是 Spring MVC 项目,因此我将独自完成目录层次结构的创建和进一步的配置。

所以我想知道:此时是否有可能在 STS 中使用 Gradle 创建 Spring MVC 项目?鉴于 STS、Spring 和 Eclipse Gradle 插件是由同一供应商开发的,您可以打赌,因为它似乎是一个基本功能,即使是 STS/Spring/Gradle 集成的第一个版本也几乎不会缺少工具。那么,当我试图实现我的目标时,我是否错过了什么?而且,以防万一这不可能,是否有任何其他方法可以从 STS 中创建基于 Gradle 的 Spring MVC 项目?或者只是正确地将基于 Maven 的转换为 Gradle?

4

3 回答 3

3

这个问题很老了,当被问到你的问题时可能没有一个好的答案,但今天有。

您可以导入任何 spring.io入门指南的基于 gradle 的版本。

要最轻松地导入这些项目,您需要最新版本的 STS 和 Gradle Tooling(例如 3.5.1 版)。然后使用“文件>>新建”菜单中的“导入入门内容”向导。该向导允许您搜索可用指南并导入配置为 maven 或 gradle 项目的示例项目。

于 2014-05-22T17:37:31.870 回答
2

@Giulio,您无法更好地表达我对此的看法。

我可以在此处链接部分解决方案:Gradle – Spring MVC Web Project Example。部分是因为创建的项目在 STS 中看起来不像是 Spring 项目,所以我担心你会丢失一些东西。

我希望尽快在 STS 中看到一种自动化的方式来创建一个使用 Gradle 的 Spring 项目。与此同时,我将依赖 Maven ......

于 2014-11-25T09:19:00.423 回答
2

在 Eclipse-Kepler 版本中没有直接的方法来创建基于 Gradle 的 Spring 项目,但是有一种方法可以解决。

创建一个基于 Maven 的 Spring 项目。现在转到包含文件“pom.xml”的文件夹。运行“gradle init”命令(为此,您应该在系统上安装 gradle)。

在此之后,从项目的上下文菜单中禁用 Maven Nature(右键单击项目 > Maven > 禁用 Maven Nature)。现在再次从上下文菜单将此项目转换为 Gradle(右键单击项目 > 配置 > 转换为 Gradle 项目)

您可以在 Gradle Tasks 中找到所有可用的任务,并且所有依赖项都存在于 build.gradle 中

于 2015-06-29T21:13:44.537 回答