Java 类型安全激活器:“;“运行”;工作,但是;“开始”;由于错误而失败
我正在做一个项目,使用Java Play框架。到目前为止,我总是通过执行Java 类型安全激活器:“;“运行”;工作,但是;“开始”;由于错误而失败,java,scala,playframework-2.0,sbt,typesafe-activator,Java,Scala,Playframework 2.0,Sbt,Typesafe Activator,我正在做一个项目,使用Java Play框架。到目前为止,我总是通过执行/activator run来测试它,它工作得非常完美。现在,我想通过运行/activator start来尝试部署它。但这会导致编译错误,我不知道为什么,因为代码似乎是有序的 错误: [error] /home/ghijs/psopv/psopv-2015-groep13/Code/activator-CodeSubmission/app/helpers/Login.java:12: illegal cyclic refe
/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;
}
}
}
登录类:
[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;
}
}
}
包助手;
导入模型。用户;
导入play.Logger;
导入play.data.Form;
导入play.data.validation.Constraints.MinLength;
导入play.data.validation.Constraints.Required;
公共类登录{
@必需的
@最小长度(4)
私有字符串用户名;
@必需的
@最小长度(5)
私有字符串密码;
私有字符串用户标识;
private User.UserType UserType;
公共无效登录(字符串usrnm、字符串psswrd){
用户名=usrnm;
密码=psswrd;
}
公共字符串getUsername(){return username;}
公共字符串getPassword(){return password;}
公共字符串getUserID(){return userID;}
public User.UserType getUserType(){return UserType;}
public void setUsername(字符串u){username=u;}
public void setPassword(字符串p){password=p;}
公共最终静态表单LOGIN\u Form=新表单(LOGIN.class);
公共字符串验证(){
Logger.info(“验证登录信息…”);
用户u=用户。身份验证(用户名、密码);
如果(u==null){
Logger.error(“无效的用户名或密码”);
返回“无效用户或密码”;
}
否则{
Logger.info(“验证登录信息…确定”);
userID=u.getIdentifier();
userType=u.getUserType();
返回null;
}
}
}
我之所以需要它,是因为/activator dist
会抛出相同的错误,并且我需要能够创建程序的可分发版本
public void Login(String usrnm, String psswrd){
username = usrnm;
password = psswrd;
}
这不是一个构造函数。删除
void
关键字。请记住,没有表单的默认构造函数将导致运行时异常。哈哈,天哪,我真不敢相信这就是问题所在,我真是太傻了。我真是太感谢你了!