java – Blackberry @Override notation error – Education Career Blog

In Eclipse, I did: Source > Clean up, and did a clean up according to these rules:

  • Change non static accesses to static
    members using declaring type
  • Change indirect accesses to static
    members to direct accesses (accesses
    through subtypes)
  • Remove unused imports
  • Add missing ‘@Override’ annotations
  • Add missing ‘@Deprecated’ annotations
  • Remove unnecessary casts
  • Remove unnecessary ‘$NON-NLS$’ tags

but I can’t seem to compile it anymore. I get the following error:

Error preverifying class com.myapp.blackberry.Override
java/lang/NoClassDefFoundError: java/lang/annotation/Annotation
Error!: Error: preverifier failed: C:\eclipse\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.29\components\bin\preverify.exe -d C:\DOCUME …
Packaging project myapp failed (took 0.422 seconds)

When I hover over @Override, it gives me suggestion “Override cannot be resolved to a type”

I am not sure what to do at this point..

,

Blackberry development is built on top of j2me, which has the language features of Java 1.3. This means it doesn’t support annotations. You can remove the @Override annotations and your code will work. Remember these are optional although recommended anyways.

What I do, is write //@Override instead. When/If annotations are added in the future it will be easy to do a regex replace and remove the comment marks.

,

Seems to be impossible:

The deal is Java ME uses version 1.4 of Java Language Specification.
You cannot use Java 5 language features.

Seems you’ll have to do without annotations…

Leave a Comment