Javadoc 1.4 의 신기능 - xrath.com 에서 번역됨

# Javadoc 1.4 의 신기능

Javadoc 툴

이 문서에서는, 버젼 1.3 에서 1.4 에의 업그레이드로 Javadoc 툴에 더해진 변경에 대해 설명합니다. 또, 미해결의 버그의 간이판 리스트에 대해서는 중요한 새로운 버그와 리그렛션의 설명, 데이타베이스의 일람표에 대해서는 Important Bug Fixes and Changes 를 참조해 주세요.

- 신규 태그 및 옵션의 개요
- 호환성에 관한 문제
- Javadoc 의 실행
- 다큐멘테이션 코멘트의 작성
- 컨텐츠의 출력
- 도크 렛 API
- 표준 도크 렛 코드의 변경
- Javadoc 툴의 프론트엔드

### 신규 태그 및 옵션의 개요

이 개요에서는, 새로운 태그 및 옵션에 대해 간단하게 설명합니다.

> 신규 태그
> `{@linkplain}` ,`{@inheritDoc}` ,`@serial` ,`{@value}`

> 신규 옵션
> -`breakiterator` ,-`docfilessubdirs` ,-`exclude` ,-`excludedocfilessubdir` ,-`nocomment` ,-`noqualifier` ,-`quiet` ,-`source` ,-`linksource` ,-`subpackages` ,-`tag` ,-`taglet`

### 호환성에 관한 문제

다음의 변경점은, 기존의 다큐멘테이션 코멘트의 해석이나 표시에 영향을 미칠 가능성이 있습니다.

- 최초의 문장의 새로운 단락
- Javadoc 가 `@throws` 코멘트를 보다 엄밀하게 카피한다

### Javadoc 의 실행

커멘드행 옵션, 에러, 및 경고에 영향을 미치는 변경점에 대해 설명합니다.

> 모든 서브 패키지를 1 개의 패키지 루트에 건네주어, 재귀적으로 처리한다 `-subpackages` 옵션을 추가- `-exclude` 옵션은, 그 전후의 `-subpackages` 커멘드행의 플래그에 포함되어 있는 경우에서도, 문서 생성하는 패키지의 리스트로부터 패키지를 무조건 배제합니다. 예를 들어,`-subpackages java -exclude java.lang.ref` 는, java.io, java.util, java.lang 등이 포함합니다만, java.lang.ref. (4074234 )(은)는 포함되어 있지 않습니다.

> assertion에 `-source 1.4` 옵션을 추가 - 이 옵션은,`javac -source 1.4` 를 사용해 컴파일 된 코드를 문서화합니다. 이것은 assertion를 포함한 코드에서는 필수입니다. (4400430 )

> Java 내로부터 Javadoc 툴을 호출하는 public 메소드를 추가 - com.sun.tools.javadoc.Main 에 있는 Javadoc 툴에 프로그램으로부터 이용할 수 있는 인터페이스가 추가되어 그 결과, 표준 도크 렛은, 재입 가능하게 되었습니다. 자세한 것은,「표준 도크 렛」을 참조해 주세요. (4113483 )

> 경고 메세지와 에러 메세지에 파일명과 행 번호를 추가 - 이 행 번호는, 다큐멘테이션 코멘트의 특정의 행은 아니고, 선언의 행에 대하는 것입니다. `SourcePosition` 클래스를 사용합니다. (4396665 )

> 직렬화 된 형식의 페이지의 기능 향상 - Javadoc 에, 직렬화 된 형식의 페이지의 private 클래스가 포함되게 되었습니다. (`-private` 플래그는 불요) 즉, 일반적으로의 Javadoc 실행으로, 직렬화 된 형식의 페이지가 올바르게 생성됩니다. 이것은,`filter` 가 false 의 경우에 private 클래스 및 package-private 클래스를 짜넣는 `PackageDoc.allClasses(boolean filter)` 메소드를 추가하는 것으로 실행되고 있습니다. () 현재,`writeReplace()` 메소드는 직렬화 된 형식의 페이지에 짜넣어지고 있습니다. 또, Javadoc 는 「`@serial include`」 및 「`@serial exclude`」태그를 인식해, 거기에 응해 클래스를 짜넣거나 제외하거나 합니다. 자세한 것은,`@serial` 태그의 설명을 참조해 주세요. (4290079 , 4180839, 4341304)

> 파일명의 외, 커멘드행 옵션과 아울러 사용되는 `@files` 를 문서화 - 이것에 의해, 문서와 구현을 일치시킵니다. `@files` 기능은 원래 javadoc 및 javac 로 문서화 되고 있어 사용할 수 있는 것은 파일명만으로, 커멘드행 옵션은 사용할 수 없었습니다. 이 변경에 의해, 문서내에서 `@files` 에 대해서도 커멘드행 옵션을 사용할 수 있게 됩니다. (또, 문서내에서는 `@files` 로부터 `@argfile` 로 이름을 변경해, 인수 파일인 것을 명확하게 했습니다. ) (4469119 )

> 에러 메세지 이외를 제외한다 `-quiet` 옵션을 추가
> - 경고 메세지 및 에러 메세지만을 표시해, 찾아내고 하기 쉽게 했습니다. (4217345 )

> 표준 도크 렛의 출력 스트림로 버젼 번호의 값을 출력 - `-quiet` 옵션으로 억제합니다. (4114089 )

> 출력처 디렉토리를 자동 작성 (`-d`)- javadoc 의 주된 기능은 파일이나 디렉토리를 작성하는 것이다 모아 두어 출력처 루트 디렉토리를 작성하는 것은 합리적입니다. (4464477 )

> 유효한 클래스만을 문서화 - javadoc 가 패키지를 문서화할 때, 무효인 클래스명으로 구성되어 있는 파일을 읽어들이지 않게 되었습니다. 예:이전에는, 낡은 javadoc 에 `com.sun.foo` 를 건네주면(자),`com\sun\foo` 디렉토리내에 있는, 이름이 「. java」로 끝나는 파일이, 그 확장자(extension)를 제외한 파일명이 실제로 유효한 클래스명일지 어떨지에 관계없이, 모두 해석되었습니다. 새로운 javadoc 에서는, 유효한 클래스명을 가지는 파일만이 해석됩니다. 이것을 잘 이용해, 개발자는, 문서화의 대상으로 하고 싶지 않은 템플릿이나 테스트용 원시 파일등의 . java 파일에, 하이픈 (-)등을 포함한 파일명을 붙일 수가 있습니다. (4398440 )

> `-linkoffline` 의 단락 문자를 「/」에 수정 - Microsoft Windows 상에서 실행했을 때,`-linkoffline` 옵션을 지정하면(자), 외부 클래스를 가리키는 각 링크에, 「`\`」은 아니고 「`/`」이 올바르게 삽입되게 되었습니다. 이 버그에 의해, Windows 상의 javadoc 로 작성된 문서를 Unix 상에서 브라우즈 했을 때에, 외부 클래스에의 링크가 망가져 있다고 하는 현상이 일어나고 있었습니다. (4359874 )

> 이행용의 「-1. 1」옵션을 삭제 - 「-1. 1」옵션은, 버젼 1.2 때에 도입된 것으로, Javadoc 1.1 에서 1.2 에의 이행을 위해서(때문에) 도크 렛으로서 준비되었습니다. 이 이행은, 버젼 1.3 에 업그레이드 하고 나서는 불필요하게 되었습니다. 버젼 1.1 의 도크 렛은, Java 언어의 신기능 (내부 클래스등)을 처리하지 못하고, 표준 도크 렛과 코드를 공용하고 있는 것이 유지 관리의 장해가 되기 (위해)때문에, 삭제되었습니다. (4312499 )

### 다큐멘테이션 코멘트의 작성

신규 태그 등, 다큐멘테이션 코멘트의 작성에 영향을 주는 변경에 대해 설명합니다.

> 커스텀 태그용의 태그 인터페이스를 추가 - `@return` 와 같은 일반적으로의 스탠드얼론 태그나,`{@link}` 와 같은 인터 인 래그를 작성해, 커스텀 태그로서 사용할 수 있습니다.
> - 단순 태그 - 텍스트의 인수를 1 개나 개태그. 고유의 태그명을 선택해,`-tag` 옵션을 사용합니다.
> - 복잡 태그 - 복수의 인수를 가지는 태그, 또는 특별한 출력을 필요로 하는 태그. 태그의 동작을 구현하는 「taglet」클래스의 전개가 필요합니다. 다음에,`-taglet` 옵션, 및 `-tagletclasspath` 옵션을 지정합니다 (`-tag` 옵션은 사용하지 말아 주세요).
> `-tag` 옵션 및 `-taglet` 옵션의 순서에 의해, 그 출력 순서가 결정됩니다. 이러한 옵션은, 표준 태그이다 `-tag return` 나 `-tag param` 와 조합해 혼재시킬 수가 있습니다.

> 커스텀 인 라인 태그에 대해서는, taglet 를 작성할 필요가 있습니다. (4282805 )

> 커스텀 태그의 출력시의 불명한 태그에 플래그 - 이 기능은 커스텀 태그의 기구의 일부입니다. javadoc 가 다큐멘테이션 코멘트를 해석할 때, 표준 태그는 아닌, 혹은 -tag 나 -taglet 가 붙지 않은 태그에 조우하면(자), 그 태그를 불명한 태그로서 인식해, 경고를 throw 합니다. (4039014 )

> 줄머리의 asterisk (*)를 생략 할 때,`<PRE>` 태그내의 인덴트를 유지- 이 기능에 의해, 코드의 예를 다큐멘테이션 코멘트에 직접 붙일 수 있게 됩니다. 인덴트는 단락지어 문자 「`/**`」보다 왼쪽 가까이가 됩니다. (4232882 )

> 최초의 문장의 마지막을 판별하는 새로운 수단으로서`-breakiterator` 를 추가 - 다음의 메이저 릴리스에서는, 최초의 문장의 마지막을 판별하는 알고리즘을 변경할 예정입니다. `-breakiterator` 옵션으로 새로운 알고리즘을 시험할 수가 있습니다. 1.2 및 1.3 에서는, java.text.BreakIterator 클래스를 사용해 모든 언어 (다만 영어 이외)의 문장의 마지막을 판별하고 있었습니다. (4165985 ) 영문에는, 피리어드의 후에 공백 문자가 온다고 하는 고유의 알고리즘이 있습니다. `-breakiterator` 를 사용하지 않으면 최초의 문장의 마지막이 1.2 및 1.3 으로부터 변경되지 않고, 차이가 있는 장소를 표시하는 경고가 표시됩니다. `-breakiterator` 를 이용해, 새로운 알고리즘을 사용합니다. 영문에서의 알고리즘의 차이는, 다음과 같습니다. (4165985 )

> - 낡은 알고리즘 - 피리어드의 후에 공백 문자가 있는 위치, 또는 단락 레벨의 HTML 태그 (`<P>` 등)의 위치에서 정지
> - 새로운 알고리즘 - 다음의 말이 대문자로 시작되는 경우, 피리어드, 물음표, 또는 감탄부와 공백 문자의 위치에서 정지. 이 알고리즘에서는, 대부분의 생략 표기가 처리된다 ("Serial no. is valid" 는 처리되지만 "Mr. Smith" 는 처리되지 않는다). HTML 태그나, 숫자 또는 기호로 시작되는 문장에서는 정지하지 않는다

> Javadoc 로 메소드 본체가 요구되지 않게 수정 - Javadoc 는, 메소드 본체가 없는 순수한 Stub 파일이다 . java 원시 파일에 대해서도 실행할 수가 있습니다. 따라서, API 의 작성시에는, 구현을 기술하기 전의 설계의 빠른 단계에서, 다큐멘테이션 코멘트를 기술해 javadoc 를 실행할 수 있습니다. 이전으로는, 이것을 실시하려고 하면(자) javadoc 에 의한 메세지가 표시되어 메소드 및 클래스에 「abstract」를 추가하도록(듯이) 요구되었습니다.

> `{@link}` 의 plaintext 버젼인 `{@linkplain}` 를 추가- 링크의 라벨을 코드 폰트는 아니고 plaintext로 표시합니다. 라벨이 plaintext로 기술되고 있으면(자) 편리합니다. 다음의 예를 참조해 주세요. (4429628 )
> 례:

>             {@linkplain add() the overridden method} 를 참조해 주세요.

> 문서 상속을 위한 `{@inheritDoc}` 태그를 추가- 다큐멘테이션 코멘트를 슈퍼 클래스로부터 현재의 다큐멘테이션 코멘트에 카피합니다. 이 기능에 의해, 개발자는 상속된 텍스트는 아니고, 카피된 텍스트만 사용할 수 있습니다. 이전에는, 텍스트가 카피되는 것은 코멘트가 없어졌을 경우만이었습니다. (4186639 )

> Javadoc 의 @return 태그, @param 태그, @throws 태그를 개별적으로 상속 - 1.3 에서는, 이러한 태그가 상속되는 것은 다큐멘테이션 코멘트 전체가 빈 상태(empty)인 경우만이었습니다. @see 태그도 상속됩니다만, 이것은 오버라이드(override) 하고 있는 요소에 @see 태그가 존재하지 않는 경우만입니다. (4496270 )

> 오버라이드(override) 되는 메소드내에서 예외가 명시적으로 선언되고 있는 경우만, @throws 다큐멘테이션을 그 메소드로부터 서브 클래스에 카피 - 1.3 에서는, 메소드가 예외를 throw 할 수 있을지 어떨지에 관계없이, @throws 텍스트가 오버라이드(override) 하는 메소드에 카피되고 있었습니다. 새로운 동작에 의해, @throws 가 정상적으로 상속하고 있던 다큐멘테이션의 일부가 삭제되는 일이 있습니다. `@throws` 에 다큐멘테이션을 상속시키려면 ,`{@inheritDoc}` 를 사용할 수 있습니다. (4317583 )

### 컨텐츠의 출력

출력하는 텍스트, 이미지, 레이아웃, 형식, 및 링크에 대해 설명합니다.

> static 필드 정수의 값을 짜넣는 - Javadoc 로 정수 필드의 값을 문서화할 수 있게 되었습니다. 이 값에 대해서는 다른 정수치 페이지 페이지로 설명하고 있어, 각 static 필드의 「See also: Constant Values」라고 하는 링크로부터 참조할 수 있습니다. 새로운 인 라인 태그 `{@value}` 를 static 필드의 코멘트내에서 사용하면(자), 그 필드의 값이 돌려주어집니다. 이 태그는 값을 다큐멘테이션 코멘트를 추가하는데 편리합니다. (4422788 )

> 이 변경을 위해, 도크 렛 API 의 com.sun.javadoc 패키지 ()에 `FieldDoc.constantValue()` 메소드 및 `FieldDoc.constantValueExpression()` 메소드를 추가할 필요가 있었습니다. (4320557 )

> 출력내의 클래스명의 선두로부터 수식 패키지명을 제외한다 `-noqualifier` 옵션을 추가- 이전의 동작에서는, p.C 클래스의 페이지로 p 패키지에 소속하지 않은 클래스에만 패키지명을 추가하고 있었습니다. `-noqualifier` 인수는 `all` (모든 패키지 수식자를 제외), 또는 구두점으로 단락지어진 패키지의 리스트의 어느쪽이든으로, 와일드 카드는 수식자로서 삭제됩니다. (java.lang:java.awt:javax* 등) (4359889 )

> `-linksource` 옵션을 사용해 원시 코드에 링크를 추가 - 각 원시 파일의 HTML 버젼을 작성해, 일반적으로의 문서로부터 링크를 추가합니다. (Beta2 에서는 `-src` 로 불리고 있었습니다만,`-source` 와 구별하기 쉽게, 최종 버젼에서는`-linksource` 와 이름을 변경합니다. (1242492 )

> 윈도우의 타이틀에 현재의 클래스 또는 패키지명을 표시 - 이 기능에 의해, 윈도우를 최소화했을 때에 Windows 태스크바에 이름이 표시되게 되었습니다. (후 렘이 유효하게 되어 있는 경우, Internet Explorer 에서도 동작합니다. ) (4232597 )

> 원시 파일명 (*. java)로 건네줄 때, 패키지 페이지를 생성. - 생성된 문서는, 패키지내의 클래스에 대해서 원시 파일명으로 건네받는 경우에서도, 패키지명으로 건네받는 경우에서도, 같은 필요가 있습니다. (4359386 )

> throw 섹션에 예외 클래스 링크를 추가 - 다음의 경우, throw 섹션에 예외 클래스 링크를 추가하는: (1) `@throws` 태그는 있지만, 텍스트가 수반하지 않는 경우
> (2) 예외가 선언되고 있지만, 태그가 없는 경우 (4074202 )

> 기술 및 태그를 억제해, 선언만을 생성하기 위해(때문에),`-nocomment` 를 추가 - 용도에 응해, 원시 파일을 재사용할 수 있게 되었습니다. (4464558 )

> 에러 종료 상태 - 도크 렛의 종료 상태를 사용하도록(듯이), javadoc 가 수정되었습니다. (4136558 )

> package.html 를 읽어들일 때, -encoding 옵션을 사용 (4463408 )

> 네비게이션 바에 「All Classes」를 추가해, 액세스 기능을 향상 (4140824 )

> . Java 파일에게 건네질 때, doc-files 디렉토리를 카피 - javadoc 에 원시 파일 (*. java)를 건네주었을 경우에도, doc-files 디렉토리가 문서 생성 먼저 카피되게 되었습니다. 이전에는, 그러한 경우에는, doc-files 디렉토리는 카피되지 않았습니다. 이 동작은, 패키지명을 건네주었을 경우와 같게 되었습니다. (4340814 )

> 다큐멘테이션 루트의 doc-files 디렉토리가 생성 먼저 카피되도록(듯이) 수정 - 이 수정에 의해, 개요 레벨의 문서를 포함할 수가 있게 되었습니다. (4256505 )

> `-docfilessubdirs` 를 추가해, doc-files 를 하위의 계층까지 카피 - `-docfilessubdirs` 를 사용했을 경우, doc-files 디렉토리의 서브 디렉토리가 생성 먼저 재귀적으로 카피됩니다. 예를 들어,`doc-files/example/images` 와 그 중의 컨텐츠가 모두 카피됩니다. 필요한 경우는, 다음의 옵션도 이용할 수 있습니다. `-excludedocfilessubdir name1>:<name2>...` 그럼, 고유명의 doc-files 서브 디렉토리를 제외할 수 있습니다. 이것에 의해, SCCS 와 그 외의 원시 코드 제어 서브 디렉토리의 카피를 막습니다. 이전에는, doc-files 디렉토리내의 파일만이 카피되고 있었습니다. (4385048 )

> HTML 프레임의 {@docroot} 를 수정 - `{@docroot}` 태그가, 좌상의 HTML 프레임 (`overview-frame.html`)으로 사용되고 있는 경우에도, 올바르게 해결되게 되었습니다. (4365290 )

> `@see` 의 `{@docroot}` 를 수정 - `@see` 태그의 텍스트내의 `{@docroot}` 가 올바르게 해결되게 되었습니다. (4416364 )

> `{@docRoot}` 와 {@link} 의 버그를 수정 - 같은 코멘트내에서 `{@docRoot}` 태그의 후에 `{@link}` 태그가 있으면(자), 그 `{@link}` 태그가 무효가 된다고 하는 버그가 수정되었습니다. (4369014 )

> 「구현」표제의 수정 - abstract 메소드로부터 상속된 다큐멘테이션 코멘트에 대해서, 「오버라이드(override)」는 아니고, 「구현」이라고 하는 표제가 올바르게 사용되게 되었습니다. (4318787 )

> 인터페이스 페이지의 「구현 클래스」를 수정 - 인터페이스 페이지로 일부의 클래스가 「구현 클래스」로서 표시되지 않는 버그가 수정되었습니다. (4378491 )

> static 초기화자의 수정 - 이전의 버젼에서는,static {...} (이)가 있으면(자), 「? (으)로부터 상속한 메소드」의 겉(표)가 콤마 (, )로 시작되어 버렸습니다. 이것은, javadoc 가 `static { }` 를 익명 메소드라고 보는 버그가 원인이었습니다. 현재, 이 콤마는 생성된 문서의 메소드 엔트리로서 표시되지 않습니다. (4136861 )

> private 내부 클래스의 필드 및 메소드를 올바르고 문서화 (445611 )

> 「상자의 클래스」라고 하는 용어를 수정 - javadoc 가, 모든 표제와 부표제에 대해, 「내부 클래스」는 아니고 「상자의 클래스」라고 하는 용어를 사용하게 되었습니다. 정의는 다음과 같습니다. 상자의 클래스란, 「다른 클래스 또는 인터페이스 본체의 안쪽에 선언이 놓여져 있는 클래스」입니다. 그에 대한 내부 클래스란, 「상자의 클래스 가운데, static 이외의 클래스」를 가리킵니다. 따라서, 「상자의 것」이라고 하는 용어 쪽이 범용적입니다. (4307151 )

### 도크 렛 API

> 도크 렛 API 는 직렬화할 수 없게 되었습니다. - 클래스를 직렬화해 확장할 수 없게 되었습니다. (일반적으로, 이것들을 직렬화하려고 해도 올바르게 할 수 없었습니다. ) (4125581 )

> 선언의 파일명과 행 번호를 공개. `Doc` 및 `Tag` (4192783 참조)의`position()` 라고 하는 새로운 메소드, 및 `SourcePosition` 라고 하는 새로운 클래스를 도크 렛 API 에 추가했습니다. 이것에 의해, 원시 파일의 해석 및 변환을 완전하게 실시할 수 있게 되었습니다. (4192783 , 4208989)

> 오버라이드(override) 되는 메소드의 리스트를 돌려주는 `MethodDoc.overriddenMethod()` 를 추가

> 도크 렛 API 의 문서를 개선

> 호환성의 문제의 해소 - `Tag` 인터페이스에 `position()` 메소드를 추가했습니다. 1.3 의 `Tag` 인터페이스로 구현하고 있던 도크 렛 (MIF 1.2 Beta 1 등)은 Javacod 1.4 에서는 동작하지 않습니다.

### 표준 도크 렛 코드의 변경

> 표준 도크 렛의 코드의 변경 - 표준 도크 렛의 원시 코드로,`MessageRetriever` 생성자 의 시그니챠에,`configuration` 인수가 추가되었습니다. 이 추가에 의해, 표준 도크 렛을 서브 클래스로 하는 코드에 영향을 미치는 경우가 있습니다. 새로운 생성자 은,`MessageRetriever(Configuration configuration, String resourcelocation)` 입니다. (버그 번호 없음)

### Javadoc 툴의 프론트엔드

Javadoc 툴에 관한 설명에 대해서는 많은 변경점이 있습니다만, 가장 주의해야 할 점은 다음과 같습니다.

> Javadoc 툴 및 API 의 재구현의 완료 (4400460)- Javadoc 가, 낡은 컴파일러는 아니고 새로운 javac 컴파일러를 사용하게 되었습니다.

> 몇개의 동작이 변화한 것을 알 수 있고 있습니다. 이러한 변화는 버그는 아니기 때문에, javadoc 로 「수정」될 것은 없습니다.

> - private 의 내부 클래스가, private 로서 마크 되게 되었습니다. 낡은 javadoc 에서는, 그러한 클래스가 package protected 로서 잘못해 마크 되고 있었습니다.
> - 낡은 javadoc 에서는, static 클래스의 초기화 블록이,`<clinit>` 라는 이름의 함수인것 같이 해 보고되고 있었습니다. 새로운 javadoc 에서는, 그러한 블록은 올바르고 생략 됩니다.
> - 낡은 javadoc 에서는, 상자가 된 클래스의 생성자 에 대해서, 잘못해 `this$0` 파라미터가 삽입되고 있었습니다. 이 동작은, 생성자 의 리플렉션의 관점으로부터 하면(자) 실수가 아닙니다만, 원시 코드 또는 언어의 관점으로부터 하면(자) 잘못되어 있습니다. 새로운 javadoc 에서는, 소스의 기술대로 시그니챠가 보고됩니다.
> - 낡은 javadoc 에서는, 컴파일러 생성의 필드 `this$0` 가, 직렬화 가능 필드로서 보고되는 일이 있었습니다. 새로운 javadoc 에서는,`this$0` 나 그 외의 합성 멤버의 보고가 올바르고 생략 됩니다. 실례에 대해서는,`java.util.logging.LogManager.LogProperties` 를 참조해 주세요.
> - 낡은 javadoc 에서는, 소스에 기술되고 있는 와일드 카드의 임포트 선언이 생략 되는 일이 있었습니다. 예를 들어,`java.io.PipedOutputStream` 의 변환 유니트에는, 「`import java.io. *;`」(이)가 포함되어 있습니다. 이것은 무의미하고 장황합니다. 새로운 javadoc 에서는, 임포트의 리스트에 올바르게 짜넣어집니다.
> - 낡은 javadoc 에서는, private 메소드가, 슈퍼 클래스내의 같은 시그니챠를 가지는 private 메소드를 오버라이드(override) 하고 있으면(자), 잘못해 보고되고 있었습니다. 새로운 javadoc 에서는, private 메소드는 결코 오버라이드(override) 되지 않는 것으로서 올바르게 보고됩니다.
> - 새로운 java.io 구현에 몇개의 버그가 남아 있기 (위해)때문에, 출력의 Unicode 문자가 올바르게 처리되지 않는 것이 있습니다. 이것은 javadoc 그 자체의 버그가 아닙니다만, 낡은 javadoc 의 출력을 새로운 javadoc 의 출력과 비교하면(자), 다소의 차이가 생깁니다. 그러한 차이의 실례로서는,`java.util.regex.Pattern.Caret` 를 참조해 주세요. 이 버그를 회피하려면 , 보다 많은 Unicode 문자를 지원하고 있는 로케일을 사용합니다.

> 낡은 javadoc 에 대해 알려져 있는 동안 다른 동작 예의 일부는, 호환성을 유지하기 위해서(때문에), 새로운 javadoc 구현에서도 의도적으로 재현 되고 있습니다. 예를 들어, 클래스 a.A 가 내부 클래스를 가지고 있는 경우에, 그러한 클래스를 다음과 같이 해 임포트 한다고 합니다.

>             import a.A. *;

> 낡은 javadoc 에서는, 도크 렛 API 를 개입시켜, 다음과 같은 임포트가 잘못해 보고됩니다.

>             import a. *;

> 현행의 도크 렛 API 에서는, 이 임포트 선언을 올바르게 표현시키는 방법은 없습니다.

> ClassDoc 인스턴스가 일의는 아니게 되었던 - 1.4. 0 보다 전은, 문서화 되는 모든 클래스가 단일의 ClassDoc 인스턴스로 표현되고 있었습니다. 이것은, 문서에 기재되지 않은 구현의 상세합니다. 1.4. 0 에서는, 그 동작이 바뀌었습니다. Javadoc 툴은, 같은 클래스를 표현한 2 개(살)이 다른 ClassDoc 인스턴스를 작성할 수가 있습니다. 이 변경에 의해, 부적절하게 이전의 동작에 의존하고 있는 도크 렛이 문제를 일으키는 일이 있습니다. 그러한 버그의 1 개에,4496290 (-use 옵션이 중대한 문제를 일으킨다)이 있습니다.

Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved. | Java Software