enum使用要谨慎,不然ant编译出错,不兼容的类型

今天用ant自动编译的时候出错:

[javac]                                  ^
    [javac] /data/checkoutworkspace/xd56library/villion/net/villion/framework/jdbcorm/annotation/A_ID.java:16: 不兼容的类型
    [javac] 找到: net.villion.framework.jdbcorm.annotation.IdGenerator
    [javac] 需要: net.villion.framework.jdbcorm.annotation.IdGenerator
    [javac]     IdGenerator generator() default IdGenerator.SELF_DEFINE;

完全一样的类,找不到。很奇怪的错误,经过一番折腾之后,发现在annotation的类定义里头需要这么写:

package net.villion.framework.jdbcorm.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;import static net.villion.framework.jdbcorm.annotation.LobType.NULL; /**
 * 
 * @company 
 * @project :lat @date: 2011-8-2
 * net.villion.framework.jdbcorm.annotation.A_Column.java
 * @description : 列注释定义
 * 定义在字段上,默认名字与字段相同只需标注@A_Column
 * 如果定义字段则需要定义为@A_Column(name="{columnName}")
 * @author  villion 
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface  A_Column {
	String name() default("");
	LobType lob() default NULL; }

你可能感兴趣的:(enum使用要谨慎,不然ant编译出错,不兼容的类型)