[javac] C:\ws\galileo\test\Cacheable.java:13: incompatible types
[javac] found : com.io.CacheType
[javac] required: com.io.CacheType
[javac] public CacheType id() default CacheType.COMMON;
Naprawdę nie dostaję tego. Mam projekt, w którym niestandardowo buduję przechwytywacz buforujący na wiosnę. Jest to po prostu wygląd nazwy pamięci podręcznej, aby wskazywał na EhCache i używa aop-autoproxy do załadowania CacheableAspect (która jest moją interpreterem buforowania). Teraz, gdy używam wartości domyślnej w adnotacji, ANT daje mi poniżej błąd kompilatora. Próbowałem aktualizacji do najnowszej wersji JDK (mam teraz 1.6 16) i ustawienie poziomów źródła/celu w skrypcie ant, ale bez powodzenia. Kiedy usuwam wartość domyślną i wymuszam na wszystkich obszarach, aby określić wartość, kompiluje się ona w mrówce.znaleziono niezgodne typy: wymagane: domyślne wyliczenia w adnotacjach
Zawsze działał w Eclipse, miałem testy jednostkowe, które działały idealnie z poprzednią wartością domyślną.
Co daje? Próbowałem zbudować projekt (bez sprężyny), który po prostu powtórzył konfigurację za pomocą mrówki i skompilował ją w ant fine (i w eclipse).
który mówi mi, że może to być wiosenny automatyczny serwer proxy? ale dlaczego kompilator nie dałby mi nazwy wygenerowanego typu? GRRRR. jakieś pomysły?
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.io.CacheType;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Cacheable {
public CacheType value() default Cachetype.COMMON;
}
public enum CacheType {
COMMON("common"),
PERSISTENT("persistent";
private String cache;
CacheType(String cache) {
this.cache = cache;
}
public String cache() {
return this.cache;
}
}
to zaoszczędziło mi trochę czasu, dziękuję! – Art
w JDK 1.6.0_31 lub 1.7.0_03 ten błąd został naprawiony (zobacz odpowiedź poniżej) – rurouni
Przepełnienie stosu, kocham cię. Ty też @yurez. – snappieT