【问题标题】:Spring Boot "unable to resolve class" with Groovy使用 Groovy 的 Spring Boot“无法解析类”
【发布时间】:2016-11-16 23:53:56
【问题描述】:

我是 Groovy、Spring Boot 和 Gradle(也使用 gradle)的新手,并且正在尝试构建一个小型测试程序。

我在 com.eval 包中有一个主类 EvalMain 和一个 InputObj 类。

@Controller
class EvalMain {
   @RequestMapping("/")
   @ResponseBody
    public static String textTest() {
        def iO = new InputObj("dsa", "dasdsa", "U1dBRw==");
        return iO.xorString();
    }
}

运行“spring run EvalMain.groovy”时出现以下错误:

startup failed:
file:<filepath>EvalMain.groovy: 14: unable to resolve class InputObj
 @ line 14, column 18.
       def iO = new InputObj("dsa", "dasdsa", "U1dBRw==");

我尝试在顶部抛出一个导入,但弹簧靴也抱怨这个?我在这里想念什么?任何帮助将不胜感激,谢谢!

添加导入后:

import com.eval.InputObj;

我收到此错误:

file:/<filePath>/EvalMain.groovy: 2: unable to resolve class com.eval.InputObj
 @ line 2, column 1.
   import com.eval.InputObj
   ^

1 error

【问题讨论】:

  • 你必须提到你期望InputObj来自哪里。添加导入。还要检查类是否在类路径上。一个简单的失败示例(要点)将很有用。
  • 帖子已被编辑以显示导入错误。值得注意的是,我的 IDE 在键入导入时自动完成包中的类路径,但告诉我这是一个未使用的导入。而且,如果我要像 println 这样运行本地代码而不是尝试使用 spring run,则会找到该类并且对象按预期运行。

标签: spring spring-mvc groovy spring-boot


【解决方案1】:

不确定这是否是一个好方法,但我能够使用“spring run .groovy .groovy”运行它,我想知道是否有相当于 makefile 的东西?

【讨论】:

    【解决方案2】:

    尝试运行spring run *.groovy

    Spring Boot CLI 用于快速制作单个 Groovy 脚本的原型。它会尝试自动加载所有 Spring Boot 依赖项,但您有责任包含其他依赖项

    • 如果您只有多个源文件,则必须pass it to the CLI
    • 如果它是外部依赖项,请将其包含在 @Grab 中,请参阅 here

    但是,您有 Gradle 和多个源文件。因此,可能是时候从 Spring Boot CLI 切换到普通的 Gradle 项目了。

    只需转到 guides 并选择“使用 Gradle 构建”。然后您将看到一个示例 Gradle 构建文件。 Gradle Spring Boot plugin documentation 也提供了示例。

    您可以使用gradlew bootRun 启动您的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      相关资源
      最近更新 更多