den folgenden Code:Warum kompiliert dieser Code nicht mit javac, hat aber keine Fehler in eclipse?
@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 {};
}
in Eclipse kompiliert, aber nicht in der Sonne/oracle-Compiler kompilieren: nach MinTimeDoubleCoListConstraintValidator.class,
> MinTimeValueCo.java:19: illegal start of expression
> [javac] })
> [javac] ^
> [javac] 1 error
Dies geschah wegen dem Komma.
, wenn ich das Komma entfernt, es funktioniert:
@Constraint(validatedBy = {
MinTimeIntCoConstraintValidator.class,
MinTimeIntCoListConstraintValidator.class,
MinTimeDoubleCoConstraintValidator.class,
MinTimeDoubleCoListConstraintValidator.class
})
ich verwende jdk 1.6.0.10.
Wissen Sie, warum dies illegal ist und in der Finsternis kompiliert wird?
Die meisten interessanten Sachen. Unabhängig davon habe ich immer gedacht, dass auch Eclipse Javac verwendet. Danke für die Erleuchtung :). –