我有这个方法:
public boolean checkActivationAndSolve(String email, String code) {
try {
System.err.println("CHECK ACTIVATION METHOD CALLED");
User targetUser = userService.findByName(email);
int targetID = targetUser.getUserId();
UserActivation activation = userActivationService.findByTargetId(targetID); // <-- Breakpoint
if (activation != null) { // <-- Breakpoint
if (code.equals(activation.getActivationToken())) { // <-- Breakpoint
userActivationService.delete(activation);
targetUser.setEnabled(true);
userService.update(targetUser);
this.createIntranet(targetID);
return true;
}
else {
System.err.println("Activation Code invalid");
}
}
else {
System.err.println("Activation == null");
}
return false;
}
catch (Exception ex) {
ex.printStackTrace();
System.err.println("Some Exception occurred: \n" + ex.getMessage());
return false;
}
}
断点位置由行中的注释提及。此外,我在被调用的方法findByTargetId()
中有一些断点来解决为什么我在尝试激活我的帐户时总是收到错误消息的问题。
我面临的问题是调试器在上面的第一个断点处停止,然后应该调用该方法,但不使用此方法中的任何断点。我从来没有停止过这种方法。它似乎甚至没有被调用,因为当我手动执行此查询时,它会准确返回我期望的数据,这些数据将使上述方法返回true
,但并非如此。
是否可能未调用此方法?如果没有,我的代码是否还有其他问题?我现在坚持这个问题大约4个小时,我想继续开发下一个功能。
编辑:我尝试在方法findByTargetId()
的头部设置一个断点,IntelliJ用错误标记了这个断点:&#34;在类[....中找不到方法]&#34 ;.为什么会这样?该方法肯定存在于特定的类和接口中。
编辑2:代码确实不同步。 IntelliJ在按下&#34;执行&#34;时重新编译代码。按钮,但显然没有部署新包或它没有正确编译。我无法弄清楚为什么会这样,但也许你们其中一个人有了主意。如果是这样,请告诉我,因为这个错误让我回到了我的计划中。
非常感谢任何帮助。如果您需要更多代码,请告诉我什么,我会添加它。