堆棧幀的地圖我也跟着教程介紹了遊戲的框架,但它給了我一個錯誤:
Execution exception VerifyError occured : Expecting a stack map frame in method controllers.Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z at offset 33
我不知道我做錯了什麼。我使用(片斷)代碼:
package controllers;
..
@With(Secure.class)
public class Application extends Controller
{
@Before
public static void setConnectedUser()
{
if (Security.isConnected())
{
User user = User.find("byEmail", Security.connected()).first();
user.password = null;
renderArgs.put("user", user);
}
}
...
對於安全類:
package controllers;
import models.*;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
return User.connect(username, password) != null;
}
}
我還增加了安全模塊dependencies.yml其重新啓動遊戲後框架正確加載。我將安全模型添加到我的路線中。 Eclipse沒有提供任何錯誤;錯誤只發生在執行時間。 Secure.Security類實際上具有public static isConnected方法。我正在使用Play框架的最新版本(1.2.2)。
我可以看到在播放源代碼中認證是@Deprecated,但不知道它在哪裏被調用,如果這是導致異常? –
freeone3000 @ irc.freenode.org#java提示它可能與我使用JDK 1.7的事實有關;字節碼和驗證。它可能與'invokedynamic'有關嗎? –