【问题标题】:Typesafe Activator: "run" works, but "start" fails with an error类型安全激活器:“运行”有效,但“启动”失败并出现错误
【发布时间】:2015-08-19 06:18:27
【问题描述】:

我正在开发一个项目,使用 Java Play 框架。到目前为止,我总是通过执行 ./activator run 来测试它,它完美地工作。现在,我想尝试通过运行./activator start 来部署它。虽然这会引发编译错误,但我不知道为什么,因为代码似乎是有序的。

错误:

[error] /home/ghijs/psopv/psopv-2015-groep13/Code/activator-CodeSubmission/app/helpers/Login.java:12: illegal cyclic reference involving method Login
[error] public class Login {
[error]              ^
[error] one error found
[error] (compile:doc) Scaladoc generation failed
[error] Total time: 16 s, completed Jun 4, 2015 2:02:31 PM

“登录”类:

package helpers;

import models.User;
import play.Logger;
import play.data.Form;
import play.data.validation.Constraints.MinLength;
import play.data.validation.Constraints.Required;

public class Login {

    @Required
    @MinLength(4)
    private String username;

    @Required
    @MinLength(5)
    private String password;

    private String userID;
    private User.UserType userType;

    public void Login(String usrnm, String psswrd){
        username = usrnm;
        password = psswrd;
    }

    public String getUsername()         {return username;}
    public String getPassword()         {return password;}
    public String getUserID()           {return userID;}
    public User.UserType getUserType()  {return userType;}

    public void setUsername(String u){username = u;}
    public void setPassword(String p){password = p;}


    public final static Form<Login> LOGIN_FORM = new Form(Login.class);

    public String validate(){
        Logger.info("Validating login info ...");
        User u = User.authenticate(username, password);
        if(u == null) {
            Logger.error("Invalid username or password.");
            return "Invalid user or password";
        }
        else {
            Logger.info("Validating login info ... OK");
            userID = u.getIdentifier();

            userType = u.getUserType();
            return null;
        }
    }
}

我需要这个,因为./activator dist 会抛出相同的错误,并且我需要能够创建程序的可分发版本。

【问题讨论】:

    标签: java scala playframework-2.0 sbt typesafe-activator


    【解决方案1】:
    public void Login(String usrnm, String psswrd){
        username = usrnm;
        password = psswrd;
    }
    

    这不是构造函数。删除 void 关键字。请记住,表单没有默认构造函数会导致运行时异常。

    【讨论】:

    • 哈哈,天哪,我不敢相信这是问题所在,我真是太愚蠢了。真是太感谢你了!
    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 2014-08-21
    • 2014-01-12
    • 2015-08-03
    • 1970-01-01
    相关资源
    最近更新 更多