在Eclipse中运行main类时出现java.lang.VerifyError

时间:2012-05-01 21:54:12

标签: java compiler-errors aspectj

我正在使用AspectJ,或多或少被迫安装Eclipse(因为我通常使用NetBeans)。安装了AspectJ插件并创建了一个AspectJ项目,但是现在我尝试运行该程序时出现了这个错误:

Exception in thread "main" java.lang.VerifyError: Expecting a stackmap frame at branch target 140 in method Notepad.<init>()V at offset 131
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

我完全不知道自己要做什么。我有一个Notepad类,它有main方法,然后是另一个aspectj类。出于某种原因,我之前可以运行该程序,但之后我必须更改与环境或源等有关的内容。程序是可运行的,直到我在.aj方面进行了一些更改并保存了它。

有关如何解决这个问题的任何提示都会非常感激,因为我对试图使用AspectJ和Eclipse的所有问题越来越感到沮丧。

由于

1 个答案:

答案 0 :(得分:1)

如果不看你写的程序就很难知道发生了什么,但我可以提出一些建议:

  1. 您是否使用Java 7来运行或编译Java代码? AspectJ在Java 7之上是相对较新的,需要构建AspectJ的快照。
  2. 你能让你的应用程序在命令行上编译和运行吗?
  3. 这可能是编译器中的一个真正的错误。在这种情况下,您可以在AspectJ邮件列表上发布或在eclipse.org上发布错误。两者都受到密切监控。
  4. 您看到验证错误的事实让我相信这是#1。但是,需要一个项目zip来给你任何确定的答案。