2009-08-15 3 views
1

클래스를 추적하는 데 사용되는 주석을 설정했지만 주석을 사용하는 Java 코드를 컴파일하려고하면 오류가 발생합니다.이상한 주석 오류

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 
{ 
    ... 
} 

컴파일러는 나에게 오류를 제공합니다 : 내가 지금과 같은 주석을 사용하려고하면 다음

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; 
} 

: 여기

는 주석 코드입니다

/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