2009-08-15 13 views
1

注釈を使用するJavaコードをコンパイルしようとするとエラーが発生しますが、クラスの追跡に使用する注釈を設定しました。ここで奇数注釈エラー

は注釈コードです:

package tlib.anno; 

import java.lang.annotation.*; 

@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.TYPE) 

public @interface Class 
{ 
    String author(); 
    String contact(); 
    String creationDate(); 
    String creationTime(); 

    String lastUpdateDate(); 
    String lastUpdateTime(); 

    int version() default 1; 
    int majorVersion() default 0; 
    int minorVersion() default 0; 
    int build() default 1; 
} 

その後、私はそうのようなアノテーションを使用しようとすると:

import tlib.anno.Class; 

... 

@Class(author = "tjlevine", 
    creationDate = "2/18/09", 
    creationTime = "11:20:16 PM", 
    lastUpdateDate = "2/18/09", 
    lastUpdateTime = "11:27 PM", 
    version = 1, 
    majorVersion = 1, 
    minorVersion = 0) 
public class Vector2d implements Cloneable 
{ 
    ... 
} 

コンパイラは私にこのエラーを与える:

/media/disk/programming/java/tLib/src/tlib/math/Vector2d.java:13: annotation tlib.anno.Class is missing contact

グーグルこのエラーにはほとんど役に立たないし、私はそれが私に何を伝えているのか理解できない。あなたはそれを定義した方法は、接触が必要とされていて、それを指定していないので、基本的には、コンパイラが文句を言っている

public @interface Class { 
    String author() default ""; 
    String contact() default ""; 
    String creationDate() default ""; 
    String creationTime() default ""; 

    String lastUpdateDate() default ""; 
    String lastUpdateTime() default ""; 

    int version() default 1; 
    int majorVersion() default 0; 
    int minorVersion() default 0; 
    int build() default 1; 
} 

:へ

答えて

3

変更に。

もちろん、これらの属性をすべてオプションにしたくない場合もあります。必要なものに対してデフォルト値を指定しないでください。

+0

ありがとうございました – tjlevine