Java Playframework JSR-303已验证“;“字段”;没有相应的数据绑定访问器

Java Playframework JSR-303已验证“;“字段”;没有相应的数据绑定访问器,java,web-applications,playframework,Java,Web Applications,Playframework,当我将以下代码添加到我的项目中时 Form<User> filledForm2 = userSignupForm.bindFromRequest(); 我的User课程是这样的: class User{ String username; String Password; } 现在,如何在java play框架中检查/修改DataBinder的配置?实际上,这不应该发生,因为play会自动生成getter和setter 因此,您的IDE可能会导致一些问题,例如Guillaume的评

当我将以下代码添加到我的项目中时

Form<User> filledForm2 = userSignupForm.bindFromRequest();
我的
User
课程是这样的:

class User{
String username;
String Password;
}

现在,如何在java play框架中检查/修改DataBinder的配置?

实际上,这不应该发生,因为play会自动生成getter和setter

因此,您的IDE可能会导致一些问题,例如Guillaume的评论重新Eclipse。或者您的sbt缓存已损坏,需要清理,您可以使用
play clean all
()

顺便说一句,将
Password
属性更改为
Password
可能会导致重新生成缓存,从而修复该问题

更新:

对于使用
activator
的较新版本的Play,以下是最新版本:


activator clean
activator clean文件

有相同的问题

要删除此错误,应将变量定义为public

class User{
   public String username;
   public String password;
}

我的环境是Mac OS X 10.9.5,使用Vagrant运行CentOS 7。在CentOS上,同样的问题发生了,但在Mac OS上没有。Play Framework版本为2.3.8

以下命令在我的情况下不起作用:

  activator clean
  activator clean-files
虽然这很奇怪,但我必须将getter和setter定义为在CentOS7上成功使用Play Framework,如下所示:

@Entity
public class Message extends Model{

    @Id
    public long id;

    @Constraints.Required
    public String name;


    //Add getter and setter to work successfully...
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

我在尝试使用验证POJO中的
int
字段时遇到了相同的错误
@Min(值=0)


通过在我的bean中将注释与
@Valid
放在getter上解决了这个问题。

在执行
activator dist

之前,我已经通过使用
activator clean和&activator clean files
解决了这个问题——发现它也是2.1.3下的一个问题。刚刚运行了play clean并更正了问题。2.2.1中存在相同的问题。
activator clean
activator clean files
适用于play 2.4.6。activator clean和activator clean files也适用于play 2.5。我在IDE(IntelliJ 2018.1社区版)中运行play-2.6(2.6.15,2.6.17)时也存在同样的问题。解决方案非常相似。我从项目文件夹中的命令行运行了以下命令:
sbt
,然后
clean
run
我将它们作为公共命令运行,问题就在那里。
@Entity
public class Message extends Model{

    @Id
    public long id;

    @Constraints.Required
    public String name;


    //Add getter and setter to work successfully...
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}