尽管方法位于.class文件中,但在运行类时仍获取NoSuchMethodException

tain

我正在为我的大学的一个项目编写后端,但遇到一个我不理解的错误。

我正在与IntelliJ,Gradle一起使用,并将Spock用作测试环境。该项目的目标之一是利用Amazon NoSQL数据库解决方案DynamoDB。要测试后端的方法,请使用AmazonDB Local。

目前,我正在为后端的各种方法编写测试……或者至少我尝试过。当我运行我的第一个测试时,一旦达到“ GetBookWithTitle”方法,我就会收到NoSuchMethodException异常。(有趣的事实:“ AddBook”方法似乎可以正常工作)。

这是测试的代码:

def "Test adding a book to the database"(){
    when: "Adding a book"
        methods.AddBook("TestBook", "Sebastian Müller", 1990, "Gregors", "FunkyTestCover", mapper);

    then: "The book should be added"
        methods.GetBookWithTitle("TestBook", mapper) != null;
}

这是“ GetBookWithTitle”方法的来源:

public Book GetBookWithTitle(String title, DynamoDBMapper mapper){
    Book result = mapper.load(Book.class, title);
    return result;
}

我尝试了什么:-使用相应的gradle任务清理项目-手动删除项目的“ build”文件夹-反编译.class文件以确保存在“ GetBookWithTitle”

所以我的问题是:是否有人提供了此错误的根源?

如果提供的信息不足,我会给您更多:)

tain

好的,我找到了答案。这与DynamoDB完全不同,它与DynamoDB及其将数据库项映射到Java类的功能有关。映射器类显然需要我的Book类没有的标准构造函数。

对于那些感兴趣的人:

DynamoDBMapper.load方法在内部调用Class.NewInstance()。此方法只能使用不带参数的标准构造函数/构造函数。由于我的班级中没有此类构造函数,因此他抛出了NoSuchMethodException。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行uberjar时出现Clojure FileNotFound异常,尽管文件位于项目源中

来自分类Dev

尽管用户位于代理或类似服务器的后面,是否有可靠的方法来获取用户的IP?

来自分类Dev

尽管定义了 WPF KeyDown 方法,但在类中找不到

来自分类Dev

资源路径返回nil文件路径,尽管文件位于Documents目录中

来自分类Dev

Git继续推送.c9文件夹,尽管它位于.gitignore中

来自分类Dev

Android Studio无法找到ADB,尽管它位于平台工具文件夹中

来自分类Dev

SVG中的路径位于D3图表中圆圈的前面,尽管有附加顺序

来自分类Dev

尽管位于HTML源代码中,但DOM中的某些对象似乎没有呈现?

来自分类Dev

Spring Webflow:绑定不适用于地图,尽管地图值位于httprequest中

来自分类Dev

球衣2 getLinks()返回空集,尽管链接位于资源中

来自分类Dev

ubuntu:尽管位于www数据组中,但仍无法CD到/ var / www

来自分类Dev

Proguard:尽管字段位于“ seeds.txt”中,但仍存在“ NoSuchFieldError”

来自分类Dev

尽管dll位于正确的目录中,但不满意的链接错误

来自分类Dev

Eclipse可以找到文件,但是Exe文件无法找到,尽管该文件位于同一目录中,

来自分类Dev

这个二进制文件比它位于 e2fsprogs 中的动态对应文件占用更多的空间,尽管

来自分类Dev

尽管测试结果在运行,但在QUnit中不可见

来自分类Dev

当它位于ArrayList中时,如何访问对象集并获取方法?

来自分类Dev

在运行其他文件时使用另一个文件方法中的java变量

来自分类Dev

在运行其他文件时使用另一个文件方法中的java变量

来自分类Dev

如何从PLSQL调用Java方法(位于Java包中)

来自分类Dev

get_input_port方法在drake中位于何处?

来自分类Dev

尽管Swift中的prepareToPlay()方法,AVAudioPlayer仍会产生滞后

来自分类Dev

JavaCompiler 在直接运行 main 方法时有效,但在运行 spring-boot:run 时无效

来自分类Dev

尽管在pom上具有commons-httpclient和httpcomponents依赖项,但在运行有效的jar(与依赖项进行编译)时发生NoClassDefFoundError

来自分类Dev

Docker run --mount使所有文件在运行期间位于不同的文件夹中

来自分类Dev

尽管存在该方法,但在对象路径上找不到D-Bus方法

来自分类Dev

尽管存在该方法,但在对象路径上找不到D-Bus方法

来自分类Dev

如果数组使用map方法位于对象中,如何从数组中获取数据?

来自分类Dev

无法为位于其他类中的`paintComponent()`方法提供鼠标坐标

Related 相关文章

  1. 1

    运行uberjar时出现Clojure FileNotFound异常,尽管文件位于项目源中

  2. 2

    尽管用户位于代理或类似服务器的后面,是否有可靠的方法来获取用户的IP?

  3. 3

    尽管定义了 WPF KeyDown 方法,但在类中找不到

  4. 4

    资源路径返回nil文件路径,尽管文件位于Documents目录中

  5. 5

    Git继续推送.c9文件夹,尽管它位于.gitignore中

  6. 6

    Android Studio无法找到ADB,尽管它位于平台工具文件夹中

  7. 7

    SVG中的路径位于D3图表中圆圈的前面,尽管有附加顺序

  8. 8

    尽管位于HTML源代码中,但DOM中的某些对象似乎没有呈现?

  9. 9

    Spring Webflow:绑定不适用于地图,尽管地图值位于httprequest中

  10. 10

    球衣2 getLinks()返回空集,尽管链接位于资源中

  11. 11

    ubuntu:尽管位于www数据组中,但仍无法CD到/ var / www

  12. 12

    Proguard:尽管字段位于“ seeds.txt”中,但仍存在“ NoSuchFieldError”

  13. 13

    尽管dll位于正确的目录中,但不满意的链接错误

  14. 14

    Eclipse可以找到文件,但是Exe文件无法找到,尽管该文件位于同一目录中,

  15. 15

    这个二进制文件比它位于 e2fsprogs 中的动态对应文件占用更多的空间,尽管

  16. 16

    尽管测试结果在运行,但在QUnit中不可见

  17. 17

    当它位于ArrayList中时,如何访问对象集并获取方法?

  18. 18

    在运行其他文件时使用另一个文件方法中的java变量

  19. 19

    在运行其他文件时使用另一个文件方法中的java变量

  20. 20

    如何从PLSQL调用Java方法(位于Java包中)

  21. 21

    get_input_port方法在drake中位于何处?

  22. 22

    尽管Swift中的prepareToPlay()方法,AVAudioPlayer仍会产生滞后

  23. 23

    JavaCompiler 在直接运行 main 方法时有效,但在运行 spring-boot:run 时无效

  24. 24

    尽管在pom上具有commons-httpclient和httpcomponents依赖项,但在运行有效的jar(与依赖项进行编译)时发生NoClassDefFoundError

  25. 25

    Docker run --mount使所有文件在运行期间位于不同的文件夹中

  26. 26

    尽管存在该方法,但在对象路径上找不到D-Bus方法

  27. 27

    尽管存在该方法,但在对象路径上找不到D-Bus方法

  28. 28

    如果数组使用map方法位于对象中,如何从数组中获取数据?

  29. 29

    无法为位于其他类中的`paintComponent()`方法提供鼠标坐标

热门标签

归档