如何使用STS和Gradle开始编程?

21

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

我先使用Spring MVC项目模板创建一个Spring项目,但显然这是基于Maven的,任何向导屏幕中都没有选项可将项目切换到Gradle。因此,在创建后,我右键单击该项目并选择“Configure> Convert to Gradle Project”。然而,与我的预期相反,该项目仍保持其Maven属性,尽管Gradle启用了依赖项解析,但项目中的依赖关系仍属于Maven,pom.xml文件仍然存在,而且无处可见build.gradle文件。 Eclipse的控制台报告成功的构建,我认为这是来自Gradle:但基于什么?当我打开Gradle任务视图时,它是空的;如果我尝试刷新它,则会出现一条消息,显示模型尚不可用,随后再次触发成功的构建。然后,当我尝试从项目中删除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个回答

3

这个问题早已过时,当它被提出时可能并没有一个好的答案,但是今天有了。

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

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


2
因此,我理解我不能从头开始创建一个基于Gradle的新项目,而是必须以“入门指南”中包含的示例为基础来创建我的项目。这是正确的吗? - Giulio Piancastelli
您可以从头开始创建一个项目,但是您必须自己放置所有所需的文件/文件夹等。这可能很困难。您的问题似乎想要一个“弹性”项目。因此,spring.io指南中的一个可能是您的良好起点。目前还没有“创建Spring模板项目”的相应选项来创建Gradle而不是Maven项目。 - Kris

2

@Giulio,你对我的想法表达得再好不过了。

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

我希望尽快在STS中看到自动创建使用Gradle的Spring项目的方法。在此期间,我将依靠Maven...


谢谢提供链接。这确实是一种有点次优的笨拙方法,如果可能的话,我想尽量避免使用它。最近,我一直在阅读有关NetBeans对Gradle的良好支持(通过使用外部插件)的文章;虽然我还没有检查过它的Spring MVC支持,但我想知道NetBeans是否可以成为编写此类应用程序的可行IDE。 - Giulio Piancastelli
我觉得我快要哭出来了。我刚从Netbeans切换到STS,希望能有更好的Gradle支持。我想用的是SpringLoaded,在Netbeans中似乎无法正常运行。 - sparkyspider

2

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

首先创建一个基于Maven的Spring项目。现在进入包含'pom.xml'文件的文件夹,并运行'gradle init'命令(为此,您应该已经在系统上安装了Gradle)。

完成后,从项目的右键菜单中禁用Maven Nature(右键单击项目> Maven > Disable Maven Nature)。然后再次从右键菜单将此项目转换为Gradle(右键单击项目> Configure > Convert to Gradle Project)。

您可以在Gradle任务中找到所有任务,并且所有依赖项都在build.gradle中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接