¿Por qué este código no se compila con javac pero no tiene errores en eclipse?
el siguiente código:
<code>@Retention(RetentionPolicy.RUNTIME) @Target( { ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE }) @Constraint(validatedBy = { MinTimeIntCoConstraintValidator.class, MinTimeIntCoListConstraintValidator.class, MinTimeDoubleCoConstraintValidator.class, MinTimeDoubleCoListConstraintValidator.class, }) @Documented public @interface MinTimeValueCo { int value(); String message() default "value does not match minimum requirements"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default {}; } </code>
compilado en eclipse pero no compila en compilador sun / oracle:
<code>> MinTimeValueCo.java:19: illegal start of expression > [javac] }) > [javac] ^ > [javac] 1 error </code>
Esto sucedió debido a la coma después deMinTimeDoubleCoListConstraintValidator.class,
.
cuando quité la coma funciona bien:
<code>@Constraint(validatedBy = { MinTimeIntCoConstraintValidator.class, MinTimeIntCoListConstraintValidator.class, MinTimeDoubleCoConstraintValidator.class, MinTimeDoubleCoListConstraintValidator.class }) </code>
Estoy usando jdk 1.6.0.10.
¿Sabes por qué esto es ilegal y se está compilando en eclipse?