如何从STS和Gradle开始

时间:2014-02-01 11:15:28

标签: eclipse spring gradle sts-springsourcetoolsuite gradle-eclipse

安装了基于Kepler的STS 3.4.0.RELEASE(当前最新版本)和Dashboard Extensions中的Gradle Support软件包。现在我想从头创建一个Spring MVC项目,它使用Gradle作为构建和依赖管理工具,而不是Maven。

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

我尝试相反的方法:从头开始创建一个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?

3 个答案:

答案 0 :(得分:3)

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

您可以导入任何spring.io getting started guides的基于gradle的版本。

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

答案 1 :(得分:2)

@Giulio,你无法表达我对此的看法。

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

我希望在STS中看到一种自动创建Spring项目的方法,该项目尽快使用Gradle。与此同时,我依靠Maven ......

答案 2 :(得分:2)

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

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

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

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