jdk/src/linux/doc/man/ja/javac.1
author bpatel
Wed, 14 Jul 2010 15:42:06 -0700
changeset 5865 47da38a8c0f0
parent 5506 202f599c92aa
child 9352 cabba0c0f3ee
permissions -rw-r--r--
6955341: Oracle rebranding changes for man pages Reviewed-by: darcy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
     1
." Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
." This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
." under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
." published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
." This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
." version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
." accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
." You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
." 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
."
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    18
." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    19
." or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    20
." questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
."
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
    22
.TH javac 1 "02 Jun 2010"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    25
.SH "名前"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    26
javac \- Java プログラミング言語コンパイラ
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    28
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    29
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    30
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    31
形式 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    32
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    33
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    34
説明 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    35
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    36
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    37
オプション 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    38
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    39
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    40
コマンド行引数ファイル 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    41
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    42
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    43
注釈処理 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    44
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    45
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    46
型の検索 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    47
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    48
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    49
プログラマティックインタフェース 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    50
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    51
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    52
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    53
.TP 2
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    54
o
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    55
関連項目 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    56
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    57
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    58
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    59
.SH "形式"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
        \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    74
引数は順不同です。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
options 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    82
コマンド行オプション。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
sourcefiles 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    85
コンパイルされる 1 つ以上のソースファイル (MyClass.java など) 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
classes 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    88
注釈の処理対象となる 1 つ以上のクラス (MyPackage.MyClass など) 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
@argfiles 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    91
オプションとソースファイルを列挙した 1 つ以上のファイル。このファイルの中では、\f2\-J\fP オプションは指定できません。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    96
.SH "説明"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   101
\f3javac\fP ツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラスファイルにコンパイルします。また、Java ソースファイルおよびクラス内の注釈の処理も行います。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   104
ソースコードのファイル名を \f3javac\fP に渡すには、次の 2 つの方法があります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   109
ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   112
ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   117
ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。 また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、\f2MyClass\fP という名前のクラスは、\f2MyClass.java\fP という名前のソースファイルに記述します。 このソースファイルは、\f2MyClass.class\fP という名前のバイトコードクラスファイルにコンパイルされます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   120
内部クラスが定義されていると、追加のクラスファイルが生成されます。これらのクラスファイルの名前は、\f2MyClass$MyInnerClass.class\fP のように、外部クラス名と内部クラス名を組み合わせたものになります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   123
ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、\f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   126
デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとのオプションを参照)。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   128
.SH "オプション"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   133
コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   136
標準オプション
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
\-Akey[=value] 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   144
注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。 \f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
.TP 3
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   146
\-cp path または \-classpath path 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   147
ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
.na
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   149
\f2「クラスパスの設定」\fP @
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   151
http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   153
\f3\-sourcepath\fP オプションが指定されていない場合は、ソースファイルもユーザークラスパスから検索されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   155
\f3\-processorpath\fP オプションが指定されていない場合は、注釈プロセッサもユーザークラスパスから検索されます。  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   157
便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
.br
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   160
たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。 ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fPコマンド行環境の構成によっては、\f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
\-Djava.ext.dirs=directories 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   163
インストール型拡張機能の位置をオーバーライドします。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
\-Djava.endorsed.dirs=directories 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   166
承認された標準パスの位置をオーバーライドします。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
\-d directory 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   169
クラスファイルの出力先ディレクトリを設定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP はディレクトリを作成しません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   171
\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   173
\f3注:\fP\f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
\-deprecation 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   176
推奨されないメンバーやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバーやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
\-encoding encoding 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   179
ソースファイルのエンコーディング名 (\f2EUC\-JP\fP や \f2UTF\-8\fP など) を指定します。\f3\-encoding\fP が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
\-g 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   182
局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソースファイル情報だけが生成されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
\-g:none 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   185
デバッグ情報を生成しません。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
\-g:{keyword list} 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   188
コンマで区切られたキーワードリストにより指定された、特定の種類のデバッグ情報だけを生成します。次のキーワードが有効です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
source 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   192
ソースファイルのデバッグ情報 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
lines 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   195
行番号のデバッグ情報 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
vars 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   198
局所変数のデバッグ情報 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
\-help 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   202
標準オプションの形式を表示します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
\-implicit:{class,none} 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   205
暗黙的にロードされたソースファイルに対するクラスファイルの生成を制御します。クラスファイルを自動生成するには、\f3\-implicit:class\fP を使用します。クラスファイルの生成を抑制するには、\f3\-implicit:none\fP を使用します。 このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。 このオプションが明示的に設定された場合には、警告は発行されません。 「型の検索」を参照してください。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
\-nowarn 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   208
警告メッセージを無効にします。これは \f3\-Xlint:none\fP と同じ意味です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
\-proc: {none,only} 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   211
注釈処理、コンパイル、その両方、のいずれを実行するかを制御します。\f3\-proc:none\fP は、注釈処理なしでコンパイルが実行されることを意味します。\f3\-proc:only\fP は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
\-processor class1[,class2,class3...] 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   214
実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
\-processorpath path 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   217
注釈プロセッサの検索場所を指定します。 このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
\-s dir 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   220
生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。 その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
\-source release 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   223
受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
1.3 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   227
このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
1.4 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   230
JDK 1.4 で導入された、アサーションを含むコードを受け付けます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
1.5 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   233
JDK 5 で導入された総称および他の言語機能を含んだコードを受け付けます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
5 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   236
1.5 と同義です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
1.6 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   239
これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
6 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   242
1.6 と同義です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
\-sourcepath sourcepath 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   246
クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   248
\f3注:\fP\ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
\-verbose 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   251
詳細な出力を表示します。ロードされるクラスおよびコンパイルされるソースファイルごとの情報が出力されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
\-X 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   254
非標準オプションに関する情報を表示して終了します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   260
クロスコンパイルオプション
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   266
デフォルトでは、クラスのコンパイルは、\f3javac\fP が添付されているプラットフォームのブートストラップクラスおよび拡張機能クラスに対して行われます。ただし、\f3javac\fP は、異なる Java プラットフォームに実装されたブートストラップクラスおよび拡張機能クラスに対してコンパイルを行う「クロスコンパイル」もサポートしています。クロスコンパイルを行う場合は、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使うことが重要です。 このあとの「クロスコンパイルの例」を参照してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
\-target version 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   271
指定されたバージョンの VM をターゲットにしたクラスファイルを生成します。このクラスファイルは、指定されたターゲット以降のバージョンでは動作しますが、それより前のバージョンの VM では動作しません。有効なターゲットは、\f31.1\fP、\f31.2\fP、\f31.3\fP、\f31.4\fP、\f31.5\fP (\f35\fP も可)、および \f31.6\fP (\f36\fP も可) です。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   273
\f3\-target\fP のデフォルトは、次のように \f3\-source\fP の値によって決まります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   277
\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   280
\-source が\f31.2\fP の場合、\-target の値は \f31.4\fP になります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   283
\-source が\f31.3\fP の場合、\-target の値は \f31.4\fP になります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   286
\-source が\f3それ以外の値の場合はすべて\fP、\\\-target の値は \f3\-source\fP の値になります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
\-bootclasspath bootclasspath 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   290
指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
\-extdirs directories 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   293
指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   299
非標準オプション
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
\-Xbootclasspath/p:path 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   307
ブートストラップクラスパスの前に追加します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
\-Xbootclasspath/a:path 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   310
ブートストラップクラスパスの後ろに追加します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
\-Xbootclasspath/:path 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   313
ブートストラップクラスファイルの位置をオーバーライドします。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
\-Xlint 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   316
推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
\-Xlint:none 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   319
Java 言語仕様では指定されていないすべての警告を無効にします。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
\-Xlint:\-name 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   322
警告 \f2name\fP を無効にします。 ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。 この警告名は次のとおりです。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
\-Xlint:unchecked 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   325
Java 言語仕様で指定されている未検査変換警告の詳細を示します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
\-Xlint:path 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   328
存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
\-Xlint:serial 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   331
\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
\-Xlint:finally 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   334
正常に完了できない \f2finally\fP 節について警告します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
\-Xlint:fallthrough 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   337
fall\-through ケースの \f2switch\fP ブロックをチェックし、検出されたものに対して警告メッセージを表示します。Fall\-through ケースは、\f2switch\fP ブロック内の最後のケースを除くケースです。 このコードには \f2break\fP 文は含まれません。 コードの実行をそのケースから次のケースへ移動します。たとえば、この \f2switch\fP ブロック内の \f2case 1\fP ラベルに続くコードは、\f2break\fP 文で終わっていません。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
switch (x) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
case 1:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
       System.out.println("1");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
       //  No  break;  statement here.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
case 2:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
       System.out.println("2");
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
}
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
            
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   363
このコードのコンパイル時に \f2\-Xlint:fallthrough\fP フラグが使用されていた場合、コンパイラは 当該ケースの行番号とともに、fall\-through ケースの可能性があることを示す警告を発行します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
.TP 3
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   365
\-Xmaxerrs number 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   366
印刷するエラーの最大数を設定します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
\-Xmaxwarns number 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   369
印刷する警告の最大数を設定します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
\-Xstdout filename 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   372
コンパイラのメッセージを、指定されたファイルに送ります。デフォルトでは、コンパイラのメッセージは \f2System.err\fP に送られます。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
\-Xprefer:{newer,source} 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   375
ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fPオプションを使用した場合、ソースファイルが読み取られます。\f2SOURCE\fP の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにしたい場合は、\f2\-Xprefer:source\fPを使用してください。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
\-Xprint 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   378
指定された型のテキスト表現をデバッグ目的で出力します。 注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
\-XprintProcessorInfo 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   381
ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
\-XprintRounds 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   384
初回および後続の注釈処理ラウンドに関する情報を出力します。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   390
\-J オプション
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
\-Joption 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   398
\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。このオプションは \f3\-X\fP で始まっていませんが、\f3javac\fP の「標準オプション」ではありません。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   400
\f3注:\fP \  \f3CLASSPATH\fP、\f3\-classpath\fP、\f3\-bootclasspath\fP、および \f3\-extdirs\fP は、\f3javac\fP を実行するために使うクラスを指定するものではありません。このような方法でコンパイラの実装を操作することは、通常は無意味であり、常に危険を伴います。このような方法を使う必要がある場合は、\f3\-J\fP オプションを使って、必要なオプションを背後の \f3java\fP 起動ツールに渡してください。  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   404
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   405
.SH "コマンド行引数ファイル"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   410
\f2javac\fP のコマンド行を短くしたり簡潔にしたりするために、\f2javac\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   413
引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   416
引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   419
javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   422
引数ファイルを 1 つ指定する例
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   425
\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
  % \fP\f3javac @argfile\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   432
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   433
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   434
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   435
90ce3da70b43 Initial load
duke
parents:
diff changeset
   436
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   437
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   438
この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   439
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   440
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   441
引数ファイルを 2 つ指定する例
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   442
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   443
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   444
たとえば、javac オプション用に 1 ファイル、ソースファイル名用に 1 ファイルというように、2 つの引数ファイルを作成することもできます。なお、このあとのリストでは、行の継続文字を使用していません。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   445
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   446
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   447
以下の内容を含む \f2options\fP という名前のファイルを作成します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   448
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   449
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   452
     \-d classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   453
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
     \-g
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   456
     \-sourcepath /java/pubs/ws/1.3/src/share/classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   457
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   458
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   459
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   460
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   461
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   464
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   465
以下の内容を含む \f2classes\fP という名前のファイルを作成します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   468
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   469
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
     MyClass1.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   472
     MyClass2.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   473
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   474
     MyClass3.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   475
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   476
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   477
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   478
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   479
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   480
90ce3da70b43 Initial load
duke
parents:
diff changeset
   481
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   482
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   483
次のコマンドを使用して \f3javac\fP を実行します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   484
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   485
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   486
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   487
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   488
  % \fP\f3javac @options @classes\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   489
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   490
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   491
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   492
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   493
90ce3da70b43 Initial load
duke
parents:
diff changeset
   494
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   495
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   496
パス付きの引数ファイルの例
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   497
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   498
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   499
引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   500
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   501
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   502
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   503
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   504
  % \fP\f3javac @path1/options @path2/classes\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   505
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   506
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   507
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   508
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   509
90ce3da70b43 Initial load
duke
parents:
diff changeset
   510
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   511
.SH "注釈処理"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   512
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   513
90ce3da70b43 Initial load
duke
parents:
diff changeset
   514
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   515
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   516
\f3javac\fP が注釈処理を直接サポートしているため、独立した注釈処理ツールである \f3apt\fP を使用する必要がなくなりました。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   517
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   518
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   519
注釈処理の API は、\f2javax.annotation.processing\fP および \f2javax.lang.model\fP パッケージとそのサブパッケージ内に定義されています。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   520
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   521
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   522
注釈処理の概要
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   523
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   524
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   525
\f3\-proc:none\fP オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。 検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   526
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   527
\f2\  META\-INF/services/javax.annotation.processing.Processor\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   528
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   529
という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   530
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   531
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   532
コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   533
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   534
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   535
いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   536
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   537
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   538
あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。 最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   539
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   540
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   541
暗黙的にロードされたソースファイル
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   542
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   543
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   544
コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   545
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   546
.SH "型の検索"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   547
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   548
90ce3da70b43 Initial load
duke
parents:
diff changeset
   549
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   550
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   551
ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   552
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   553
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   554
たとえば、\f3java.applet.Applet\fP をサブクラスにした場合、\f3アプレットの\fP祖先のクラス(\f3java.awt.Panel\fP、\f3java.awt.Container\fP、\f3java.awt.Component\fP、\f3java.lang.Object\fP)を使用していることになります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   555
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   556
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   557
コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   558
.na
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   559
\f2「クラスパスの設定」\fP @
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   560
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   561
http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   562
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   563
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   564
\-sourcepath オプションが指定されている場合、コンパイラは、指定されたパスからソースファイルを検索します。 それ以外の場合は、ユーザークラスパスからクラスファイルとソースファイルの両方を検索します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   565
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   566
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   567
\f3\-bootclasspath\fP オプションと \f3\-extdirs\fP オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。 このあとの「クロスコンパイルオプション」を参照してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   568
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   569
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   570
型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   571
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   572
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   573
型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   574
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   575
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   576
コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識しない場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   577
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   578
.SH "プログラマティックインタフェース"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   579
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   580
90ce3da70b43 Initial load
duke
parents:
diff changeset
   581
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   582
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   583
\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   584
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   585
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   586
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   587
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   588
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   589
コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   590
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   591
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   592
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   593
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   594
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   595
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   596
int rc = javac.run(null, null, null, args);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   597
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   598
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   599
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   600
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   601
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   602
90ce3da70b43 Initial load
duke
parents:
diff changeset
   603
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   604
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   605
この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   606
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   607
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   608
\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   609
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   610
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   611
旧式のインタフェース
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   612
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   613
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   614
90ce3da70b43 Initial load
duke
parents:
diff changeset
   615
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   616
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   617
\f3注:\fP \ この API は、下位互換性を確保するためだけに残されています。 新しいコードでは、必ず前述の Java Compiler API を使用してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   618
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   619
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   620
\f2com.sun.tools.javac.Main\fP クラスには、プログラム内からコンパイラを呼び出すための static メソッドが 2 つ用意されています。 それらを次に示します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   621
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   622
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   623
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   624
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   625
public static int compile(String[] args);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   626
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   627
public static int compile(String[] args, PrintWriter out);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   628
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   629
      
90ce3da70b43 Initial load
duke
parents:
diff changeset
   630
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   631
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   632
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   633
90ce3da70b43 Initial load
duke
parents:
diff changeset
   634
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   635
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   636
\f2args\fP パラメータは、javac プログラムに通常渡される任意のコマンド行引数を表しています。 その概要については、前出の「形式」節を参照してください。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   637
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   638
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   639
\f2out\fP パラメータは、コンパイラの診断メッセージの出力先を示します。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   640
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   641
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   642
戻り値は、\f3javac\fP の終了値と同じです。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   643
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   644
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   645
名前が \f2com.sun.tools.javac\fP で始まるパッケージ (非公式には \f2com.sun.tools.javac\fP のサブパッケージとして知られる) に含まれる\f3その他の\fPクラスやメソッドは、どれも完全に内部用であり、いつでも変更される可能性があります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   646
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   647
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   648
.SH "例"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   649
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   650
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   651
簡単なプログラムのコンパイル
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   652
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   653
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   654
90ce3da70b43 Initial load
duke
parents:
diff changeset
   655
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   656
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   657
\f2Hello.java\fP というソースファイルで、\f3greetings.Hello\fP という名前のクラスを定義しているとします。\f2greetings\fP ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   658
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   659
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   660
90ce3da70b43 Initial load
duke
parents:
diff changeset
   661
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   662
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   663
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   664
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   665
% \fP\f3ls\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   666
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   667
greetings/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   668
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   669
% \f3ls greetings\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   670
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   671
Hello.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   672
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   673
% \f3cat greetings/Hello.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   674
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   675
package greetings;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   676
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   677
90ce3da70b43 Initial load
duke
parents:
diff changeset
   678
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   679
public class Hello {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   680
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   681
    public static void main(String[] args) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   682
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   683
        for (int i=0; i < args.length; i++) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   684
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   685
            System.out.println("Hello " + args[i]);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   686
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   687
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   688
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   689
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   690
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   691
}
90ce3da70b43 Initial load
duke
parents:
diff changeset
   692
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   693
% \f3javac greetings/Hello.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   694
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   695
% \f3ls greetings\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   696
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   697
Hello.class   Hello.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   698
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   699
% \f3java greetings.Hello World Universe Everyone\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   700
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   701
Hello World
90ce3da70b43 Initial load
duke
parents:
diff changeset
   702
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   703
Hello Universe
90ce3da70b43 Initial load
duke
parents:
diff changeset
   704
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   705
Hello Everyone
90ce3da70b43 Initial load
duke
parents:
diff changeset
   706
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   707
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   708
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   709
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   710
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   711
90ce3da70b43 Initial load
duke
parents:
diff changeset
   712
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   713
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   714
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   715
複数のソースファイルのコンパイル
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   716
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   717
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   718
90ce3da70b43 Initial load
duke
parents:
diff changeset
   719
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   720
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   721
次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   722
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   723
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   724
90ce3da70b43 Initial load
duke
parents:
diff changeset
   725
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   726
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   727
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   728
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   729
% \fP\f3ls\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   730
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   731
greetings/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   732
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   733
% \f3ls greetings\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   734
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   735
Aloha.java         GutenTag.java      Hello.java         Hi.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   736
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   737
% \f3javac greetings/*.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   738
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   739
% \f3ls greetings\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   740
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   741
Aloha.class         GutenTag.class      Hello.class         Hi.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   742
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   743
Aloha.java          GutenTag.java       Hello.java          Hi.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   744
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   745
90ce3da70b43 Initial load
duke
parents:
diff changeset
   746
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   747
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   748
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   749
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   750
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   751
90ce3da70b43 Initial load
duke
parents:
diff changeset
   752
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   753
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   754
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   755
ユーザークラスパスの指定
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   756
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   757
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   758
90ce3da70b43 Initial load
duke
parents:
diff changeset
   759
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   760
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   761
上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   762
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   763
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   764
90ce3da70b43 Initial load
duke
parents:
diff changeset
   765
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   766
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   767
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   768
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   769
% \fP\f3pwd\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   770
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   771
/examples
90ce3da70b43 Initial load
duke
parents:
diff changeset
   772
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   773
% \f3javac greetings/Hi.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   774
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   775
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   776
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   777
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   778
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   779
90ce3da70b43 Initial load
duke
parents:
diff changeset
   780
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   781
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   782
\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   783
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   784
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   785
90ce3da70b43 Initial load
duke
parents:
diff changeset
   786
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   787
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   788
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   789
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   790
% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   791
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   792
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   793
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   794
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   795
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   796
90ce3da70b43 Initial load
duke
parents:
diff changeset
   797
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   798
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   799
再度 \f2greetings.Hi\fP を変更してバナーユーティリティーを使うようにした場合は、このバナーユーティリティーもユーザークラスパスを通じてアクセスできるようになっている必要があります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   800
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   801
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   802
90ce3da70b43 Initial load
duke
parents:
diff changeset
   803
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   804
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   805
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   806
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   807
% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   808
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   809
            /examples/greetings/Hi.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   810
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   811
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   812
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   813
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   814
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   815
90ce3da70b43 Initial load
duke
parents:
diff changeset
   816
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   817
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   818
\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   819
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   820
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   821
90ce3da70b43 Initial load
duke
parents:
diff changeset
   822
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   823
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   824
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   825
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   826
% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   827
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   828
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   829
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   830
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   831
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   832
90ce3da70b43 Initial load
duke
parents:
diff changeset
   833
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   834
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   835
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   836
ソースファイルとクラスファイルの分離
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   837
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   838
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   839
90ce3da70b43 Initial load
duke
parents:
diff changeset
   840
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   841
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   842
特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   843
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   844
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   845
90ce3da70b43 Initial load
duke
parents:
diff changeset
   846
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   847
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   848
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   849
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   850
% \fP\f3ls\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   851
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   852
classes/  lib/      src/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   853
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   854
% \f3ls src\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   855
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   856
farewells/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   857
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   858
% \f3ls src/farewells\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   859
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   860
Base.java      GoodBye.java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   861
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   862
% \f3ls lib\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   863
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   864
Banners.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   865
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   866
% \f3ls classes\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   867
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   868
% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   869
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   870
            src/farewells/GoodBye.java \-d classes\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   871
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   872
% \f3ls classes\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   873
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   874
farewells/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   875
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   876
% \f3ls classes/farewells\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   877
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   878
Base.class      GoodBye.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   879
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   880
90ce3da70b43 Initial load
duke
parents:
diff changeset
   881
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   882
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   883
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   884
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   885
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   886
90ce3da70b43 Initial load
duke
parents:
diff changeset
   887
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   888
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   889
\f3注:\fP \ コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   890
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   891
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   892
.SS 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   893
クロスコンパイルの例
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   894
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   895
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   896
90ce3da70b43 Initial load
duke
parents:
diff changeset
   897
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   898
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   899
ここでは、\f3javac\fP を使って、1.5 VM 上で実行するコードをコンパイルします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   900
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   901
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   902
90ce3da70b43 Initial load
duke
parents:
diff changeset
   903
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   904
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   905
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   906
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   907
% \fP\f3javac \-target 1.5 \-bootclasspath jdk1.5.0/lib/rt.jar \\ 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   908
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   909
            \-extdirs "" OldCode.java\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   910
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   911
        
90ce3da70b43 Initial load
duke
parents:
diff changeset
   912
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   913
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   914
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   915
90ce3da70b43 Initial load
duke
parents:
diff changeset
   916
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   917
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   918
\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   919
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   920
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   921
Java プラットフォーム JDK の \f3javac\fP は、デフォルトでは、Java 2 SDK のブートストラップクラスに対してコンパイルを行うので、Java 2 SDK ではなく JDK 1.5 のブートストラップクラスに対してコンパイルを行うように指定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java 2 プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に障害が発生することがあります。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   922
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   923
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   924
.SH "関連項目"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   925
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   926
90ce3da70b43 Initial load
duke
parents:
diff changeset
   927
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   928
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   929
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   930
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
   931
.na
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   932
\f2「The javac Guide」\fP @
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   933
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   934
http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   935
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   936
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   937
「java(1) \- Java アプリケーション起動ツール」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   938
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   939
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   940
「jdb(1) \- Java デバッガ」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   941
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   942
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   943
「javah(1) \- C ヘッダーとスタブファイルジェネレータ」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   944
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   945
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   946
「javap(1) \- クラスファイル逆アセンブラ」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   947
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   948
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   949
「javadoc(1) \- Java API ドキュメントジェネレータ」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   950
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   951
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   952
「jar(1) \- JAR アーカイブツール」 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   953
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   954
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
   955
.na
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   956
\f2「Java 拡張機能フレームワーク」\fP @
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   957
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   958
http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   959
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   960
90ce3da70b43 Initial load
duke
parents:
diff changeset
   961
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   962