Spring 安全性中的 Eclipse(Spring 工具套件)错误

Errors in Eclipse (Spring Tool Suite) in Spring Security

我正在尝试成为 Spring 安全的贡献者,但进展并不顺利。尽管 .gradle 项目的 build/compilation 成功了,但我在 Spring Tool Suite 中收到 validation 错误。错误显示在 Eclipse 的 "Markers" 视图中。这是我到目前为止所做的。

  1. 在 Github
  2. 上分叉 Spring 安全主分支
  3. 为我的分叉分支复制了 https URL
  4. 在 Spring 工具套件中,导入->Git->项目来自 Git->克隆 URI
  5. 在 #3 Spring 之后,Tool Suite 从 Git
  6. 下载了项目
  7. Spring Tool Suite 提示我要创建什么类型的项目
  8. 我选择了"Import as a general project"
  9. 我从我的工作区中删除了该项目(但没有在磁盘上删除它)

  1. 我使用 Import->Gradle->Gradle 项目和推荐设置导入项目

一切构建完成后,我在 Spring Tool Suite 中收到以下错误:

该错误伴随着几条消息,包括以下内容:

  1. 切入点无法解析为类型
  2. 方法 aspectOf() 未定义类型 ...
  3. 方法 proceed() 未定义类型 ...

如果我打开 Eclipse .project 文件并添加以下内容,则可以修复此错误(使用丑陋的 hack):

<buildSpec>
<buildCommand>
    <name>org.eclipse.ajdt.core.ajbuilder</name>
    <arguments>
    </arguments>
</buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.ajdt.ui.ajnature</nature>
</natures>

问题

如何正确设置我的开发环境?我应该研究什么来弄清楚为什么会出现这些错误?我目前正在研究 gradle/maven 配置与 Eclipse .project 文件的关系,但我还没有深入研究。

我发现这个 walkthrough 关于如何通过 gradle 将 spring 项目引入 Eclipse。它实际上看起来像是基于 Spring 安全性,这可能会为您创建一个很好的流程。

我的猜测是,eclipse 没有默认为其 dependency management 使用 gradle 配置。

以下是对我有用的(以及我与 Rob Winch 讨论的内容):

  • https://spring.io/tools/sts/all 下载 STS 3.7.2(不是最新的 3.7.3,导入 spring-安全项目时有一些问题)。有一个 link 到以前版本的 STS。在那里你找到 STS 3.7.2.

  • 从这里安装 Groovy-Eclipse:http://dist.springsource.org/snapshot/GRECLIPSE/e4.5/

  • 从这里安装 Gradle STS 工具: http://download.springsource.com/release/TOOLS/update/3.7.2.RELEASE/e4.5

  • 安装上述所有组件后,使用 STS Gradle 支持导入 spring-安全项目 ("Import -> Gradle -> ...")

  • 这可能需要一段时间,但在下载必要的工件后,所有这些项目都应该出现在您的工作区中。 "aspects" 上面有一个错误标记。右键单击该项目,转到 Groovy 上下文菜单条目,然后执行 "remove Groovy nature"(或类似的操作)。这删除了该项目的 groovy 工具并且编译正常。

完成所有这些步骤后,我得到了一个工作区,其中所有这些项目都可以正常编译。但看起来我们 could/should 将来可能会使用 Eclipse Oomph 安装文件来简化此过程。但那是未来的故事。

希望对您有所帮助!!!