changeset 9069:a110ff64efa0

Merge
author kizune
date Tue, 14 Jan 2014 23:10:36 +0400
parents e4c9787cae89 6f3a3bd78c57
children 9e91793fd516
files make/Images.gmk src/bsd/doc/man/ja/kinit.1 src/bsd/doc/man/ja/klist.1 src/bsd/doc/man/ja/ktab.1 src/share/classes/java/util/logging/LogManager.java
diffstat 147 files changed, 70027 insertions(+), 48476 deletions(-) [+]
line wrap: on
line diff
--- a/make/Images.gmk	Fri Jan 10 09:11:02 2014 -0800
+++ b/make/Images.gmk	Tue Jan 14 23:10:36 2014 +0400
@@ -325,6 +325,7 @@
 ifneq ($(OPENJDK_TARGET_OS), windows)
   JRE_MAN_PAGES := \
       java.1 \
+      jjs.1 \
       keytool.1 \
       orbd.1 \
       pack200.1 \
@@ -355,6 +356,7 @@
       jconsole.1 \
       jcmd.1 \
       jdb.1 \
+      jdeps.1 \
       jhat.1 \
       jinfo.1 \
       jmap.1 \
@@ -373,7 +375,10 @@
       xjc.1
 
   ifndef OPENJDK
-    JDK_MAN_PAGES += jvisualvm.1
+    JDK_MAN_PAGES += \
+        jvisualvm.1 \
+        jmc.1 \
+        #
   endif
 
   # This variable is potentially overridden in the closed makefile.
@@ -386,15 +391,13 @@
   ifeq ($(OPENJDK_TARGET_OS), solaris)
     MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/solaris/doc
     MAN1_SUBDIR := sun/man/man1
+    JDK_MAN_PAGES := $(filter-out jmc.1, $(JDK_MAN_PAGES))
   endif
   ifeq ($(OPENJDK_TARGET_OS), macosx)
     MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/bsd/doc
     MAN1_SUBDIR := man
-    JDK_MAN_PAGES := $(filter-out jcmd.1, $(JDK_MAN_PAGES))
-    JDK_MAN_PAGES := $(filter-out jvisualvm.1, $(JDK_MAN_PAGES))
   endif
 
-
   $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
 	$(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
@@ -446,12 +449,6 @@
 	$(install-file)
   endif
 
-  # Old build creates empty man page for this, mimicing behaviour.
-  $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/jcmd.1 $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/jcmd.1 $(JDK_IMAGE_DIR)/man/ja/man1/jcmd.1:
-	$(ECHO) $(LOG_INFO) Creating dummy $(patsubst $(OUTPUT_ROOT)/%,%,$@)
-	$(MKDIR) -p $(@D)
-	$(TOUCH) $@
-
   ifeq ($(OPENJDK_TARGET_OS), linux)
     $(JRE_IMAGE_DIR)/man/ja:
 	$(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
@@ -479,7 +476,7 @@
 
     JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
         $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
-    $(JDK_IMAGE_DIR)/man/ja
+        $(JDK_IMAGE_DIR)/man/ja
   endif
 
   ifeq ($(OPENJDK_TARGET_OS), solaris)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/jcmd.1	Tue Jan 14 23:10:36 2014 +0400
@@ -0,0 +1,24 @@
+." Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+."
+." This code is free software; you can redistribute it and/or modify it
+." under the terms of the GNU General Public License version 2 only, as
+." published by the Free Software Foundation.
+."
+." This code is distributed in the hope that it will be useful, but WITHOUT
+." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+." version 2 for more details (a copy is included in the LICENSE file that
+." accompanied this code).
+."
+." You should have received a copy of the GNU General Public License version
+." 2 along with this work; if not, write to the Free Software Foundation,
+." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+."
+." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+." or visit www.oracle.com if you need additional information or have any
+." questions.
+."
+.TH jcmd 1 "07 May 2011"
+
+.LP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/jdeps.1	Tue Jan 14 23:10:36 2014 +0400
@@ -0,0 +1,24 @@
+." Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+."
+." This code is free software; you can redistribute it and/or modify it
+." under the terms of the GNU General Public License version 2 only, as
+." published by the Free Software Foundation.
+."
+." This code is distributed in the hope that it will be useful, but WITHOUT
+." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+." version 2 for more details (a copy is included in the LICENSE file that
+." accompanied this code).
+."
+." You should have received a copy of the GNU General Public License version
+." 2 along with this work; if not, write to the Free Software Foundation,
+." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+."
+." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+." or visit www.oracle.com if you need additional information or have any
+." questions.
+."
+.TH jdeps 1 "07 May 2011"
+
+.LP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/jjs.1	Tue Jan 14 23:10:36 2014 +0400
@@ -0,0 +1,24 @@
+." Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+."
+." This code is free software; you can redistribute it and/or modify it
+." under the terms of the GNU General Public License version 2 only, as
+." published by the Free Software Foundation.
+."
+." This code is distributed in the hope that it will be useful, but WITHOUT
+." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+." version 2 for more details (a copy is included in the LICENSE file that
+." accompanied this code).
+."
+." You should have received a copy of the GNU General Public License version
+." 2 along with this work; if not, write to the Free Software Foundation,
+." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+."
+." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+." or visit www.oracle.com if you need additional information or have any
+." questions.
+."
+.TH jjs 1 "07 May 2011"
+
+.LP
--- a/src/bsd/doc/man/ja/kinit.1	Fri Jan 10 09:11:02 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-'\" t
-.\"
-.\" Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
-.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-.\"
-.\" This code is free software; you can redistribute it and/or modify it
-.\" under the terms of the GNU General Public License version 2 only, as
-.\" published by the Free Software Foundation.
-.\"
-.\" This code is distributed in the hope that it will be useful, but WITHOUT
-.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-.\" version 2 for more details (a copy is included in the LICENSE file that
-.\" accompanied this code).
-.\"
-.\" You should have received a copy of the GNU General Public License version
-.\" 2 along with this work; if not, write to the Free Software Foundation,
-.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-.\"
-.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-.\" or visit www.oracle.com if you need additional information or have any
-.\" questions.
-.\"
-.\"
-.\"
--- a/src/bsd/doc/man/ja/klist.1	Fri Jan 10 09:11:02 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-'\" t
-.\"
-.\" Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
-.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-.\"
-.\" This code is free software; you can redistribute it and/or modify it
-.\" under the terms of the GNU General Public License version 2 only, as
-.\" published by the Free Software Foundation.
-.\"
-.\" This code is distributed in the hope that it will be useful, but WITHOUT
-.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-.\" version 2 for more details (a copy is included in the LICENSE file that
-.\" accompanied this code).
-.\"
-.\" You should have received a copy of the GNU General Public License version
-.\" 2 along with this work; if not, write to the Free Software Foundation,
-.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-.\"
-.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-.\" or visit www.oracle.com if you need additional information or have any
-.\" questions.
-.\"
-.\"
--- a/src/bsd/doc/man/ja/ktab.1	Fri Jan 10 09:11:02 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-'\" t
-.\"
-.\" Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
-.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-.\"
-.\" This code is free software; you can redistribute it and/or modify it
-.\" under the terms of the GNU General Public License version 2 only, as
-.\" published by the Free Software Foundation.
-.\"
-.\" This code is distributed in the hope that it will be useful, but WITHOUT
-.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-.\" version 2 for more details (a copy is included in the LICENSE file that
-.\" accompanied this code).
-.\"
-.\" You should have received a copy of the GNU General Public License version
-.\" 2 along with this work; if not, write to the Free Software Foundation,
-.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-.\"
-.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-.\" or visit www.oracle.com if you need additional information or have any
-.\" questions.
-.\"
-.\"
--- a/src/linux/doc/man/ja/appletviewer.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/appletviewer.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,66 +1,105 @@
-." Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH appletviewer 1 "07 May 2011"
+'\" t
+.\" Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: appletviewer
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: 基本ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "appletviewer" "1" "2013年11月21日" "JDK 8" "基本ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+appletviewer \- Webブラウザの外側でアプレットを実行します。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIappletviewer\fR [\fIoptions\fR] \fIurl\fR\&.\&.\&.
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIoptions\fR
+.RS 4
+空白で区切られたコマンドライン・オプション。オプションを参照してください。
+.RE
+.PP
+\fIurl\fR
+.RS 4
+表示するドキュメントまたはリソースの場所。空白で区切られた複数のURLを指定できます。
+.RE
+.SH "説明"
+.PP
+\fIappletviewer\fRコマンドは\fIurls\fRに指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。urlsによって参照されたドキュメントが、\fIOBJECT\fR、\fIEMBED\fRまたは\fIAPPLET\fRタグでどのアプレットも参照していない場合、\fIappletviewer\fRコマンドは何も行いません。\fIappletviewer\fRコマンドでサポートされるHTMLタグの詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/appletviewertags\&.htmlにある
+アプレット・ビューア・タグを参照してください。
+.PP
+\fIappletviewer\fRコマンドは、RFC2396で定義されたエスケープ・メカニズムに従ってエンコードされたURLを必要とします。サポートされるのは、エンコードされたURLのみです。ただし、ファイル名については、RFC2396の仕様に従ってエンコードを解除しておく必要があります。
+.PP
+\fB注意:\fR
+The
+\fIappletviewer\fRコマンドは開発専用です。詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/samples/aboutCodeSamples\&.htmlにある
+サンプル/テスト・アプリケーションおよびコードについてを参照してください。
+.SH "オプション"
+.PP
+\-debug
+.RS 4
+\fIjdb\fRコマンドを使用してJavaデバッガでアプレット・ビューアを開始して、ドキュメント中のアプレットをデバッグします。
+.RE
+.PP
+\-encoding \fIencoding\-name\fR
+.RS 4
+入力HTMLファイルのエンコーディング名を指定します。
+.RE
+.PP
+\-J\fIjavaoption\fR
+.RS 4
+文字列\fIjavaoption\fRは、アプレット・ビューアを実行するJavaインタプリタに1つの引数として渡されます。引数にスペースを含めないでください。複数の引数は、すべてが接頭辞\fI\-J\fRで始まる必要があります。これは、コンパイラの実行環境またはメモリー使用の調整に有効です。
+.RE
+.PP
 
-.LP
-.SH "名前"
-appletviewer \- Java アプレットビューア
-.LP
-.LP
-\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。
-.LP
-.SH "形式"
-.LP
-.LP
-\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
-.LP
-.SH "説明"
-.LP
-.LP
-\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、
-.na
-\f2「アプレットビューアのタグ」\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。
-.LP
-.LP
-\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。
-.LP
-.SH "オプション"
-.LP
-.RS 3
-.TP 3
-\-debug 
-Java デバッガ jdb(1) でアプレットビューアを開始します。これにより、ドキュメント中のアプレットをデバッグすることができます。 
-.TP 3
-\-encoding \  \ encoding name 
-入力 HTML ファイルのエンコーディング名を指定します。 
-.TP 3
-\-Jjavaoption 
-文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。 
-.RE
-
-.LP
-.LP
-
-.LP
- 
+.br
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/extcheck.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/extcheck.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,73 +1,108 @@
-." Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH extcheck 1 "07 May 2011"
-
-.LP
-.SH "名前"
-extcheck \- jar の競合検出ユーティリティー
-.LP
-.LP
-\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。
-.LP
-.SH "形式"
-.LP
+'\" t
+.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: extcheck
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: 基本ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "extcheck" "1" "2013年11月21日" "JDK 8" "基本ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+extcheck \- ターゲットのJavaアーカイブ(JAR)ファイルと現在インストールされている拡張機能のJARファイル間のバージョンの競合を検出します。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-extcheck [ \-verbose ] targetfile.jar
-.fl
-\fP
+\fIextcheck\fR [\fIoptions\fR] \fItargetfile\&.jar\fR
 .fi
-
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+\fIoptions\fR
+.RS 4
+コマンドライン・オプション。オプションを参照してください。
+.RE
+.PP
+\fItargetfile\&.jar\fR
+.RS 4
+バージョンの競合を検出するために、現在インストールされている拡張機能JARファイルと比較するターゲットJARファイル。
+.RE
 .SH "説明"
-.LP
-.LP
-\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。
-.LP
-.LP
-\f3extcheck\fP ユーティリティーは、targetfile.jar ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされている \f2すべての Jar ファイル内の\fP 対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。
-.LP
-.LP
-競合が検出されない場合のリターンコードは \f20\fP です。
-.LP
-.LP
-拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP 、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。 \f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。
-.LP
+.PP
+\fIextcheck\fRコマンドは、指定されたJARファイルのタイトルおよびバージョンがJava SE SDKにインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティを使用して、同じバージョンまたはより新しいバージョンの拡張機能がすでにインストールされていないかどうかを調べることができます。
+.PP
+\fIextcheck\fRコマンドは、\fItargetfile\&.jar\fRファイルのマニフェスト内のヘッダーSpecification\-titleおよびSpecification\-versionを、拡張機能ディレクトリ内に現在インストールされているすべてのJARファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、Oracle Solarisの場合は\fIjre/lib/ext\fR、Windowsの場合は\fI\ejre\elib\eext\fRです。\fIextcheck\fRコマンドは、\fIjava\&.lang\&.Package\&.isCompatibleWith\fRメソッドと同様の方法でバージョン番号を比較します。
+.PP
+競合が検出されない場合、リターン・コードは0です。
+.PP
+拡張機能ディレクトリ内のいずれかのJARファイルのマニフェストに、同一の\fISpecification\-title\fR、および同一またはより新しい\fISpecification\-version\fR番号がある場合は、ゼロでないエラー・コードが返されます。\fItargetfile\&.jar\fRのマニフェスト・ファイルに\fISpecification\-title\fRまたは\fISpecification\-version\fR属性がない場合も、ゼロでないエラー・コードが返されます。
 .SH "オプション"
-.LP
-.RS 3
-.TP 3
-\-verbose 
-拡張機能ディレクトリ内の Jar ファイルを、チェック時に一覧表示します。また、ターゲット jar ファイルのマニフェストの属性、および競合する jar ファイルについても報告します。 
-.TP 3
-\-Joption 
-Java 仮想マシンに \f2option\fP を渡します。\f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。 
+.PP
+\-verbose
+.RS 4
+拡張機能ディレクトリ内のJARファイルを、チェック時に一覧表示します。また、ターゲットJARファイルのマニフェストの属性、および競合するJARファイルについても報告します。
 .RE
-
-.LP
+.PP
+\-J\fIoption\fR
+.RS 4
+Java仮想マシン(JVM)に\fIoption\fRを渡します。optionには、Java起動ツールのリファレンス・ページに記載されているオプションを1つ指定します。たとえば、\fI\-J\-Xms48m\fRと指定すると、スタートアップ・メモリーは48MBに設定されます。java(1)を参照してください。
+.RE
 .SH "関連項目"
-.LP
-.LP
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
 jar(1)
-.LP
- 
+.RE
+.br
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/idlj.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/idlj.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,738 +1,554 @@
-." Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH idlj 1 "07 May 2011"
+'\" t
+.\" Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: idlj
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: Java IDLおよびRMI-IIOPツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "idlj" "1" "2013年11月21日" "JDK 8" "Java IDLおよびRMI-IIOPツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+idlj \- 指定されたインタフェース定義言語(IDL)ファイルに対してJavaバインディングを生成します。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIidlj\fR [ \fIoptions\fR ] \fIidlfile\fR
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIoptions\fR
+.RS 4
+コマンドライン・オプション。オプションを参照してください。optionsの順番は任意ですが、\fIidlfile\fRよりも前に指定する必要があります。
+.RE
+.PP
+\fIidlfile\fR
+.RS 4
+インタフェース定義言語(IDL)による定義が含まれるファイルの名前。
+.RE
+.SH "説明"
+.PP
+IDL\-to\-Javaコンパイラは、指定されたIDLファイルに対してJavaバインディングを生成します。バインディングの詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.htmlにある
+Java IDL: Java言語マッピングへのIDLを参照してください。
+.PP
+IDL\-to\-Javaコンパイラの以前のリリースの中には、\fIidltojava\fRという名前だったものがあります。
+.SS "クライアント・バインディングおよびサーバー・バインディングの発行"
+.PP
+次の\fIidlj\fRコマンドは、クライアント側バインディングを含む\fIMy\&.idl\fRという名前のIDLファイルを生成します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+前の構文は次と同等です。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-fclient My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+次の例では、サーバー側バインディングを生成し、クライアント側バインディングおよびスケルトンを含めており、これらはすべて、POA (継承モデル)です。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlg \-fserver My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド(どれも等価)のうちの1つを使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-fclient \-fserver My\&.idl
+idlj \-fall My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+サーバー側で可能なモデルは2つあります。移殖可能サーバント継承モデルとTieモデルです。Tie委譲モデルを参照してください。
+.if n \{\
+.sp
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fB移殖可能サーバント継承モデル\fR
+.ps -1
+.br
+.PP
+デフォルトのサーバー側のモデルは、移殖可能サーバント継承モデルです。\fIMy\&.idl\fR内で\fIMy\fRインタフェースが定義されている場合は、\fIMyPOA\&.java\fRというファイルが生成されます。\fIMy\fRインタフェースの実装を提供する必要があり、\fIMy\fRインタフェースは\fIMyPOA\fRクラスから継承する必要があります。\fIMyPOA\&.java\fRは、http://docs\&.oracle\&.com/javase/8/docs/api/org/omg/PortableServer/Servant\&.htmlにある
+\fIorg\&.omg\&.PortableServer\&.Servant\fRクラスを拡張するストリームベースのスケルトンです。
+.PP
+\fIMy\fRインタフェースは、スケルトンが実装するIDLインタフェースに関連付けられている\fIcallHandler\fRインタフェースと操作インタフェースを実装します。
+.PP
+ポータブル・オブジェクト・アダプタ(POA)の\fIPortableServer\fRモジュールは、ネイティブの\fIServant\fR型を定義します。http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/POA\&.htmlにある
+ポータブル・オブジェクト・アダプタ(POA)を参照してください。
+.PP
+Javaプログラミング言語では、\fIServant\fR型はJavaの\fIorg\&.omg\&.PortableServer\&.Servant\fRクラスにマップされます。これは、すべてのPOAサーバント実装のベース・クラスとして機能し、アプリケーション・プログラマが呼び出すことのできるいくつかのメソッド、およびPOAによって呼び出され、サーバントの動作を制御するためにユーザーがオーバーライドできるメソッドを提供します。
+.PP
+継承モデルのもう1つのオプションは、\fI\-oldImplBase\fRフラグを使用して、Java SE 1\&.4より前のリリースのJavaプログラミング言語と互換性のあるサーバー側バインディングを生成することです。\-\fIoldImplBase\fRフラグは非標準で、これらのAPIは非推奨です。このフラグを使用するのは、Java SE 1\&.3で記述された既存のサーバーとの互換性が必要な場合のみです。その場合、既存のmakeファイルを変更して、\fI\-oldImplBase\fRフラグを\fIidlj\fRコンパイラに追加する必要があります。それ以外の場合、POAベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次を実行します。
+.sp .5v
+.RE
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-fclient \-fserver \-oldImplBase My\&.idl
+idlj \-fall \-oldImplBase My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIMy\&.idl\fR内で\fIMy\fRインタフェースが定義されている場合は、\fI_MyImplBase\&.java\fRというファイルが生成されます。\fIMy\fRインタフェースの実装を提供する必要があり、\fIMy\fRインタフェースは\fI_MyImplBase\fRクラスから継承する必要があります。
+.if n \{\
+.sp
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBTie委譲モデル\fR
+.ps -1
+.br
+.PP
+もう1つのサーバー側モデルは、Tieモデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tieとスケルトンを同時に生成することはできないため、それらは別々に生成する必要があります。次のコマンドによって、Tieモデル用のバインディングが生成されます。
+.sp .5v
+.RE
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-fall My\&.idl
+idlj \-fallTIE My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIMy\fRインタフェースの場合、2番目のコマンドにより、\fIMyPOATie\&.java\fRが生成されます。\fIMyPOATie\fRクラスへのコンストラクタは、delegateを取ります。この例では、デフォルトのPOAモデルを使用しているため、コンストラクタにもPOAが必要です。delegateに対して実装を提供する必要がありますが、この実装は\fIMyOperations\fRインタフェースから継承する必要があるのみで、その他のクラスから継承する必要はありません。これをORBと一緒に使用するには、たとえば次のように\fIMyPOATie\fRクラス内で実装をラップする必要があります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ORB orb = ORB\&.init(args, System\&.getProperties());
+ 
+// Get reference to rootpoa & activate the POAManager
+POA rootpoa = (POA)orb\&.resolve_initial_references("RootPOA");
+rootpoa\&.the_POAManager()\&.activate();
+ 
+// create servant and register it with the ORB
+MyServant myDelegate = new MyServant();
+myDelegate\&.setORB(orb); 
+ 
+// create a tie, with servant being the delegate\&.
+MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
+ 
+// obtain the objectRef for the tie
+My ref = tie\&._this(orb);
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+他の実装から継承する必要がある場合、標準の継承モデルではなくTieモデルを使用することもできます。Javaの場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは1つのみです。継承モデルを使用した場合は、そのスロットが占有されます。Tieモデルを使用すると、そのスロットが使用されず、ユーザーが独自の目的で使用できます。この方法には、間接性のレベルが1つ導入されるという短所があります。メソッドを呼び出すときに、余分なメソッド呼出しが1回発生します。
+.PP
+サーバー側の生成の場合、Java SE 1\&.4より前のバージョンのJava言語にマッピングするIDLのバージョンと互換性のある、Tieモデルのバインディングです。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-oldImplBase \-fall My\&.idl
+idlj \-oldImplBase \-fallTIE My\&.idl
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIMy\fRインタフェースの場合、これにより、\fIMy_Tie\&.java\fRが生成されます。\fIMy_Tie\fRクラスへのコンストラクタは、\fIimpl\fRオブジェクトを取ります。\fIimpl\fRに対して実装を提供する必要がありますが、その実装は\fIHelloOperations\fRインタフェースから継承する必要があるのみで、その他のクラスから継承する必要はありません。しかし、これをORBと一緒に使用するには、たとえば次のように\fIMy_Tie\fR内で実装をラップする必要があります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ORB orb = ORB\&.init(args, System\&.getProperties());
 
-.LP
-.SH "名前"
-idlj \- IDL\-to\-Java コンパイラ
-.LP
-\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。 
-.SH "形式"
-.LP
+// create servant and register it with the ORB
+MyServant myDelegate = new MyServant();
+myDelegate\&.setORB(orb); 
+ 
+// create a tie, with servant being the delegate\&.
+MyPOATie tie = new MyPOATie(myDelegate);
+ 
+// obtain the objectRef for the tie
+My ref = tie\&._this(orb);
+.fi
+.if n \{\
+.RE
+.\}
+.SS "発行されたファイルの代替位置の指定"
+.PP
+発行されたファイルを現在のディレクトリ以外のディレクトリに置くには、\fIi\fR\fIdlj \-td /altdir My\&.idl\fRのコマンドでコンパイラを呼び出します。
+.PP
+
+\fIMy\fRインタフェースの場合、バインディングは、\fI\&./My\&.java\fRではなく、\fI/altdir/My\&.java\fRなどに発行されます。
+.SS "インクルード・ファイルの代替位置の指定"
+.PP
+\fIMy\&.idl\fRファイルが別の\fIidl\fRファイルである\fIMyOther\&.idl\fRをインクルードする場合、コンパイラでは、\fIMyOther\&.idl\fRファイルがローカル・ディレクトリに存在することを前提としています。たとえば、それが\fI/includes\fRにある場合は、次のようなコマンドでコンパイラを呼び出します。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
-.fl
-\fP
+idlj \-i /includes My\&.idl
 .fi
-
-.LP
-.LP
-\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。
-.LP
-.SH "説明"
-.LP
-.LP
-IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。バインディングの詳細は、
-.na
-\f2OMG IDL to Java Language Mapping Specification\fP @
+.if n \{\
+.RE
+.\}
+.PP
+たとえば、\fI/moreIncludes\fRにある\fIAnother\&.idl\fRも\fIMy\&.idl\fRにインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-i /includes \-i /moreIncludes My\&.idl
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。
-.LP
-.SS 
-クライアントバインディングおよびサーバーバインディングの発行
-.LP
-.LP
-My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+このような形式の\fIinclude\fRは長くなるため、インクルード・ファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。\fICLASSPATH\fR変数に一覧表示されているディレクトリ内にidl\&.configという名前のファイルを作成します。その\fIidl\&.config\fRの中に、次のような形式の行を入れます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj My.idl
-.fl
-\fP
+includes=/includes;/moreIncludes
 .fi
-
-.LP
-.LP
-これにより、クライアント側のバインディングが生成されます。このコマンドは、次のコマンドと等価です。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+コンパイラは、このファイルを検索し、インクルード・リストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン(;)になっています。この区切り文字は、プラットフォームによって異なります。Windowsプラットフォームではセミコロンを使用し、UNIXプラットフォームではコロンを使用するなどです。
+.SS "インクルード・ファイルに対するバインディングの発行"
+.PP
+デフォルトでは、コマンドラインに指定した\fIidl\fRファイルで定義されているインタフェースや構造体などについてのみ、Javaバインディングが生成されます。インクルードされたファイルで定義されている型については生成されません。たとえば、次の2つの\fIidl\fRファイルについて考えてみます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj \fP\f3\-fclient\fP My.idl
-.fl
+My\&.idl file:
+ 
+#include <MyOther\&.idl>
+interface My
+{
+};
+ 
+MyOther\&.idl file:
+ 
+interface MyOther
+{
+};
 .fi
-
-.LP
-.LP
-クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+デフォルトのルールに関して警告があります。グローバル・スコープに表示される\fI#include\fR文は、前述のとおりに処理されます。これらの\fI#include\fR文は、インポート文と見なすことができます。囲まれたスコープ内に表示される\fI#include\fR文は、本当の意味での\fI#include\fR文として処理されます。つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま表示されているかのように処理され、それに対してJavaバインディングが発行されます。次はその例です。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj \fP\f3\-fserver\fP My.idl
-.fl
+My\&.idl file:
+ 
+#include <MyOther\&.idl>
+interface My
+{
+  #include <Embedded\&.idl>
+};
+ 
+MyOther\&.idl file:
+ 
+interface MyOther
+{
+};
+ 
+Embedded\&.idl
+ 
+enum E {one, two, three};
 .fi
-
-.LP
-.LP
-サーバー側のバインディングには、クライアント側のバインディングのほかに、スケルトンも含まれています。これらはすべて、 \f2POA\fP (つまり継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+\fI idlj My\&.idl \fRを実行して、Javaファイルの次のリストを生成します。インポート文とみなされる\fI#include\fRに定義されていたため、\fIMyOther\&.java\fRは生成されませんでした。ただし、本当の意味での\fI#include\fRで定義されていたため、\fIE\&.java\fRは生成されました。\fIEmbedded\&.idl\fRファイルが\fIMy\fRインタフェースのスコープ内にインクルードされているため、\fIMy\fRのスコープ内(つまり、\fIMyPackage\fR内)に生成されています。\fI\-emitAll\fRフラグを使用した場合、インクルードされたすべてのファイルにあるすべての型が発行されます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj \fP\f3\-fclient \-fserver\fP My.idl
-.fl
-idlj \f3\-fall\fP My.idl
-.fl
+\&./MyHolder\&.java
+\&./MyHelper\&.java
+\&./_MyStub\&.java
+\&./MyPackage
+\&./MyPackage/EHolder\&.java
+\&./MyPackage/EHelper\&.java
+\&./MyPackage/E\&.java
+\&./My\&.java
 .fi
-
-.LP
-.LP
-サーバー側で可能なモデルは 2 つあります。継承モデルと Tie 委譲モデルです。
-.LP
-.LP
-デフォルトのサーバー側のモデルは、「移殖可能サーバント継承モデル」です。\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2MyPOA.java\fP というファイルが生成されます。この実装は \f2My\fP に提供し、\f2MyPOA\fP を継承する必要があります。
-.LP
-.LP
-\f2MyPOA.java\fP は 
-.na
-\f2org.omg.PortableServer.Servant\fP @
+.if n \{\
+.RE
+.\}
+.SS "パッケージの接頭辞の挿入"
+.PP
+ABCという名前の会社のために作業していて、次のようなIDLファイルを構築したとしましょう。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Widgets\&.idl file:
+ 
+module Widgets
+{
+  interface W1 {\&.\&.\&.};
+  interface W2 {\&.\&.\&.};
+};
 .fi
-http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html を拡張するストリームベースのスケルトンで、スケルトンが実装する IDL インタフェースに関連付けられている \f2InvokeHandler\fP インタフェースとオペレーションインタフェースを実装します。
-.LP
-.LP
-.na
-\f2Portable Object Adapter (POA)\fP @
+.if n \{\
+.RE
+.\}
+.PP
+IDL\-to\-Javaコンパイラを介してこのファイルを実行した場合、W1およびW2に対するJavaバインディングは、\fIWidgets\fRパッケージ内に格納されます。業界の慣例によると、会社のパッケージは、\fIcom\&.<company name>\fRという名前のパッケージ内に置くことになっています。この慣例に従うには、パッケージ名を\fIcom\&.abc\&.Widgets\fRにする必要があります。このパッケージ接頭辞をWidgetsモジュールに付加するには、次のコマンドを実行します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+idlj \-pkgPrefix Widgets com\&.abc Widgets\&.idl
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html の \f2PortableServer\fP モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は Java の \f2org.omg.PortableServer.Servant\fP クラスにマップされます。このクラスは、すべての POA サーバント実装の基底クラスとして機能し、アプリケーションプログラマが呼び出すことのできるいくつかのメソッドのほかに、POA そのものによって呼び出され、サーバントの動作を制御するためにユーザーがオーバーライドできるメソッドも提供します。
-.LP
-.LP
-継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用することで、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は今後非推奨になる予定です。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性が必要な場合だけです。その場合には既存の MAKEFILE を変更し、\f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。そうしないと、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+Widgets\&.idlをインクルードしているIDLファイルがある場合は、そのコマンドにも\fI\-pkgPrefix\fRフラグが必要です。このフラグを指定しないと、そのIDLファイルは、\fIcom\&.abc\&.Widgets\fRパッケージではなく、\fIWidgets\fRパッケージを検索することになります。
+.PP
+接頭辞が必要なパッケージがいくつもある場合は、前述のidl\&.configファイルで接頭辞を指定するのが簡単です。パッケージ接頭辞の各行は、\fIPkgPrefix\&.<type>=<prefix>\fRの形式である必要があります。前述の例の行では、\fIPkgPrefix\&.Widgets=com\&.abc\fRになります。このオプションは、リポジトリIDには影響しません。
+.SS "コンパイル前のシンボルの定義"
+.PP
+コンパイル用のシンボルがIDLファイル内で定義されていない場合は、そのシンボルを定義する必要があります。これは、たとえば、バインディング内にデバッグ・コードを組み入れるときに使用します。コマンド\fIidlj \-d MYDEF My\&.idl \fRは、My\&.idl内に行\fI#define MYDEF\fRを配置した場合と同等になります。
+.SS "既存のバインディングの保持"
+.PP
+Javaバインディング・ファイルがすでに存在する場合は、\fI\-keep\fRフラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合(ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\fI\-keep\fRオプションは有用です。コマンド\fIidlj \-keep My\&.idl\fRは、すでに存在しないすべてのクライアント側バインディングを発行します。
+.SS "コンパイルの進捗状況の表示"
+.PP
+IDL\-to\-Javaコンパイラは、実行の各段階で状態メッセージを生成します。\fI\-v\fRオプションを使用して、\fIidlj \-v My\&.idl\fRのような冗長モードをアクティブ化します。
+.PP
+デフォルトでは、コンパイラは冗長モードでは実行されません。
+.SS "バージョン情報の表示"
+.PP
+IDL\-to\-Javaコンパイラのビルド・バージョンを表示するには、コマンドライン\fIidlj \-version\fRで\fI\-version\fRオプションを指定します。
+.PP
+バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンドラインに指定すると、それ以外のオプションを指定しても、すべて無視されます。
+.SH "オプション"
+.PP
+\-d \fIsymbol\fR
+.RS 4
+このオプションは、IDLファイルに次のような行を追加した場合と等価です。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl
-.fl
-idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl
-.fl
+#define \fIsymbol\fR
 .fi
-
-.LP
-.LP
-\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2_MyImplBase.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyImplBase\fP から継承しなければなりません。
-.LP
-.LP
-もう 1 つのサーバー側モデルは、Tie モデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tie とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。
-.LP
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-demitAll
+.RS 4
+\fI#include\fRファイル内で定義されているものも含めて、すべての型を発行します。
+.RE
+.PP
+\-fside
+.RS 4
+発行するバインディングを定義します。\fIside\fRパラメータには、\fIclient\fR、\fIserver\fR、\fIserverTIE\fR、\fIall\fRまたは\fIallTIE\fRを指定できます。\fI\-fserverTIE\fRまたは\fI\-fallTIE\fRオプションを指定すると、委譲モデル・スケルトンが発行されます。フラグを指定しない場合、\fI\-fclient\fRにデフォルト設定されます。
+.RE
+.PP
+\-i \fIinclude\-path\fR
+.RS 4
+デフォルトでは、インクルード・ファイルは現在のディレクトリから検索されます。このオプションを指定すると、他のディレクトリを追加できます。
+.RE
+.PP
+\-i \fIkeep\fR
+.RS 4
+生成されるファイルがすでに存在している場合は、そのファイルが上書きされません。デフォルトでは、上書きされます。
+.RE
+.PP
+\-noWarn
+.RS 4
+警告メッセージを表示しないようにします。
+.RE
+.PP
+\-oldImplBase
+.RS 4
+1\&.4より前のJDK ORBと互換性のあるスケルトンを生成します。デフォルトでは、POA継承モデルのサーバー側バインディングが生成されます。このオプションを指定すると、\fIImplBase\fR継承モデルのクラスであるサーバー側バインディングが生成されるので、以前のリリースのJavaプログラミング言語との下位互換性が得られます。
+.RE
+.PP
+\-pkgPrefix \fItype\fR \fIprefix\fR
+.RS 4
+\fItype\fRがファイル・スコープで検出された場合は、その型に対して生成されるすべてのファイルについて、生成されるJavaパッケージ名に\fIprefix\fRという接頭辞が付加されます。typeは、トップレベル・モジュールの単純名か、どのモジュールよりも外側で定義されたIDL型の単純名のどちらかです。
+.RE
+.PP
+\-pkgTranslate \fItype\fR \fIpackage\fR
+.RS 4
+識別子の中にモジュール名typeが検出されると、生成されるJavaパッケージ内のすべてのファイルについて、識別子の中のその名前がpackageで置き換えられます。最初に\fIpkgPrefix\fRの変更が行われます。typeの値は、トップレベルのモジュールの単純名、またはすべてのモジュールの外部で定義されたIDL型の単純名で、完全なパッケージ名に正確に一致する必要があります。
+.sp
+複数の変換が識別子に一致する場合、次の例に示すように、最も長い一致が選択されます。
+.sp
+\fBコマンド\fR:
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-idlj \fP\f3\-fall\fP My.idl
-.fl
-idlj \f3\-fallTIE\fP My.idl
-.fl
+pkgTranslate type pkg \-pkgTranslate type2\&.baz pkg2\&.fizz
 .fi
-
-.LP
-.LP
-\f2My\fP というインタフェースの場合、上記の 2 番目のコマンドにより、\f2MyPOATie.java\fP が生成されます。\f2MyPOATie\fP のコンストラクタは、\f2delegate\fP を取ります。この例では、デフォルトの POA モデルを使用しているため、コンストラクタにも \f2poa\fP が必要です。\f2delegate\fP に対して実装を提供しなければなりませんが、この実装は \f2MyOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2MyPOATie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
-.LP
+.if n \{\
+.RE
+.\}
+\fB結果の変換\fR:
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    ORB orb = ORB.init(args, System.getProperties());
-.fl
-
-.fl
-    // Get reference to rootpoa & activate the POAManager
-.fl
-    POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
-.fl
-    rootpoa.the_POAManager().activate();
-.fl
-
-.fl
-    // create servant and register it with the ORB
-.fl
-    MyServant myDelegate = new MyServant();
-.fl
-    myDelegate.setORB(orb); 
-.fl
-
-.fl
-    // create a tie, with servant being the delegate.
-.fl
-    MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
-.fl
-
-.fl
-    // obtain the objectRef for the tie
-.fl
-    My ref = tie._this(orb);
-.fl
-\fP
+type => pkg
+type\&.ext => pkg\&.ext
+type\&.baz => pkg2\&.fizz
+type2\&.baz\&.pkg => pkg2\&.fizz\&.pkg
 .fi
-
-.LP
-.LP
-他の実装から継承しなければならない場合、標準の継承モデルではなく Tie モデルを使用することがあります。Java の場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは 1 つだけです。継承モデルを使用した場合は、そのスロットが占有されます。Tie モデルを使用した場合は、そのスロットが使用されず、ユーザーが独自の目的で使用することができます。ただし、この方法には、間接性のレベルが 1 つ導入されるという欠点があります。メソッドを呼び出すときに、余分なメソッド呼び出しが 1 回発生します。
-.LP
-.LP
-IDL のバージョンから J2SE 1.4 より前のバージョンの Java 言語へのマッピングと互換性のある、サーバー側の Tie モデルのバインディングを生成するには、次のコマンドを使用します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl
-.fl
-idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-\f2My\fP というインタフェースの場合、これにより \f2My_Tie.java\fP が生成されます。\f2My_Tie\fP のコンストラクタは、\f2impl\fP を取ります。\f2impl\fP に対して実装を提供しなければなりませんが、その実装は \f2HelloOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2My_Tie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
-.LP
-.nf
-\f3
-.fl
-    ORB orb = ORB.init(args, System.getProperties());
-.fl
-
-.fl
-    // create servant and register it with the ORB
-.fl
-    MyServant myDelegate = new MyServant();
-.fl
-    myDelegate.setORB(orb); 
-.fl
-
-.fl
-    // create a tie, with servant being the delegate.
-.fl
-    MyPOATie tie = new MyPOATie(myDelegate);
-.fl
-
-.fl
-    // obtain the objectRef for the tie
-.fl
-    My ref = tie._this(orb);
-.fl
-\fP
-.fi
-
-.LP
-.SS 
-発行されたファイルの代替位置の指定
-.LP
-.LP
-発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-td /altdir\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-\f2My\fP インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。
-.LP
-.SS 
-インクルードファイルの代替位置の指定
-.LP
-.LP
-\f2My.idl\fP にもう 1 つの IDL ファイル \f2MyOther.idl\fP がインクルードされている場合、コンパイラは、ローカルディレクトリに \f2MyOther.idl\fP があるものと想定します。もしそのファイルが、たとえば \f2/includes\fP にある場合は、次のようなコマンドでコンパイラを呼び出します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-i /includes\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-また、もし \f2My.idl\fP に、たとえば \f2/moreIncludes\fP にある \f2Another.idl\fP もインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-このような形式でインクルードを指定すると、コマンドが長くて複雑になります。そこで、インクルードファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。CLASSPATH にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。
-.LP
-.nf
-\f3
-.fl
-includes=/includes;/moreIncludes
-.fl
-\fP
-.fi
-
-.LP
-.LP
-コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、Windows プラットフォームではセミコロンですが、Unix プラットフォームではコロンです。 \f2インクルード\fPの詳細については、
-.na
-\f2CLASSPATH の設定\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/index.html#general を参照してください。
-.LP
-.SS 
-インクルードファイルに対するバインディングの発行
-.LP
-.LP
-デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。
-.LP
-
-.LP
-.LP
-\f4My.idl\fP
-.LP
-.nf
-\f3
-.fl
-#include <MyOther.idl>
-.fl
-interface My
-.fl
-{
-.fl
-};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-\f4MyOther.idl\fP
-.LP
-.nf
-\f3
-.fl
-interface MyOther
-.fl
-{
-.fl
-};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-次のコマンドでは、\f2My\fP に対する Java バインディングだけが生成されます。
-.LP
-.nf
-\f3
-.fl
-idlj My.idl
-.fl
-\fP
-.fi
-
-.LP
-.LP
-\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-emitAll\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-このデフォルトの規則に関して注意しなければならないことがあります。グローバルスコープに指定した \f2#include\fP 文は、前述のとおりに処理されます。これらの \f2#include\fP 文は、インポート文と見なすことができます。それに対して、他の定義に囲まれたスコープ内に指定した \f2#include\fP 文は、本当の意味での \f2#include\fP 文として処理されます。つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま指定されているかのように処理され、それに対して Java バインディングが発行されます。次はその例です。
-.LP
-
-.LP
-.LP
-\f4My.idl\fP
-.LP
-.nf
-\f3
-.fl
-#include <MyOther.idl>
-.fl
-interface My
-.fl
-{
-.fl
-  #include <Embedded.idl>
-.fl
-};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-\f4MyOther.idl\fP
-.LP
-.nf
-\f3
-.fl
-interface MyOther
-.fl
-{
-.fl
-};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-\f4Embedded.idl\fP
-.LP
-.nf
-\f3
-.fl
-enum E {one, two, three};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-このとき、次のコマンドを実行すると、
-.LP
-.nf
-\f3
-.fl
-idlj My.idl
-.fl
-\fP
-.fi
-
-.LP
-.LP
-次のような一連の Java ファイルが生成されます。
-.LP
-.nf
-\f3
-.fl
-./MyHolder.java
-.fl
-./MyHelper.java
-.fl
-./_MyStub.java
-.fl
-./MyPackage
-.fl
-./MyPackage/EHolder.java
-.fl
-./MyPackage/EHelper.java
-.fl
-./MyPackage/E.java
-.fl
-./My.java
-.fl
-\fP
-.fi
-
-.LP
-.LP
-インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。
-.LP
-.LP
-上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。
-.LP
-.SS 
-パッケージの接頭辞の挿入
-.LP
-.LP
-ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。
-.LP
-
-.LP
-.LP
-\f4Widgets.idl\fP
-.LP
-.nf
-\f3
-.fl
-module Widgets
-.fl
-{
-.fl
-  interface W1 {...};
-.fl
-  interface W2 {...};
-.fl
-};
-.fl
-\fP
-.fi
-
-.LP
-
-.LP
-.LP
-このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-pkgPrefix Widgets com.abc\fP Widgets.idl
-.fl
-.fi
-
-.LP
-.LP
-\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。
-.LP
-.LP
-接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。
-.LP
-.nf
-\f3
-.fl
-PkgPrefix.<type>=<prefix>
-.fl
-\fP
-.fi
-
-.LP
-したがって、上記の例の場合は、次のように記述します。 
-.nf
-\f3
-.fl
-PkgPrefix.Widgets=com.abc
-.fl
-\fP
-.fi
-
-.LP
-.LP
-このオプションを使用しても、リポジトリ ID は影響を受けません。
-.LP
-.SS 
-コンパイル前のシンボルの定義
-.LP
-.LP
-コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-d\fP MYDEF My.idl
-.fl
-.fi
-
-.LP
-.LP
-\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。
-.LP
-.SS 
-既存のバインディングの保持
-.LP
-.LP
-Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\-keep オプションは有用です。次のコマンドは、
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-keep\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-クライアント側のバインディングで、まだ存在しないものをすべて発行します。
-.LP
-.SS 
-コンパイルの進捗状況の表示
-.LP
-.LP
-IDL\-to\-Java コンパイラは、実行の各段階で状態メッセージを生成します。「冗長」モード (メッセージが多いモード) にするには、\f2\-v\fP オプションを使用します。
-.LP
-.nf
-\f3
-.fl
-idlj \fP\f3\-v\fP My.idl
-.fl
-.fi
-
-.LP
-.LP
-デフォルトでは、コンパイラは冗長モードでは実行されません。
-.LP
-.SS 
-バージョン情報の表示
-.LP
-.LP
-IDL\-to\-Java コンパイラのビルドバージョンを表示するには、コマンド行で \f2\-version\fP オプションを指定します。
-.LP
-.nf
-\f3
-.fl
-idlj \-version
-.fl
-\fP
-.fi
-
-.LP
-.LP
-バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。
-.LP
-.SH "オプション"
-.LP
-.RS 3
-.TP 3
-\-d symbol 
-このオプションは、IDL ファイルに次のような行を追加した場合と等価です。 
-.nf
-\f3
-.fl
-#define \fP\f4symbol\fP\f3
-.fl
-\fP
-.fi
-.TP 3
-\-emitAll 
-#include ファイル 内で定義されているものも含めて、 \f2すべての型を\fP 発行します。 
-.TP 3
-\-fside 
-発行するバインディングを定義します。\f2side\fP は \f2client\fP、\f2server\fP、\f2serverTIE\fP、\f2all\fP、\f2allTIE\fP のいずれかになります。\f2\-fserverTIE\fP または \f2\-fallTIE\fP オプションを指定すると、委譲モデルスケルトンが発行されます。このフラグを指定しなかった場合は、\f2\-fclient\fP が指定されたものと見なされます。 
-.TP 3
-\-i include\-path 
-デフォルトでは、インクルードファイルはカレントディレクトリから検索されます。このオプションを指定すると、ほかのディレクトリを追加できます。 
-.TP 3
-\-keep 
-生成されるファイルがすでに存在している場合は、そのファイルが上書きされません。デフォルトでは、上書きされます。 
-.TP 3
-\-noWarn 
-警告メッセージを表示しないようにします。 
-.TP 3
-\-oldImplBase 
-v1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。デフォルトでは、POA 継承モデルのサーバー側バインディングが生成されます。このオプションを指定すると、\f2ImplBase\fP 継承モデルのクラスであるサーバー側バインディングが生成されるので、古いバージョンの Java プログラミング言語との下位互換性が得られます。 
-.TP 3
-\-pkgPrefix type prefix 
-\f2type\fP がファイルスコープで検出された場合は、その型に対して生成されるすべてのファイルについて、生成される Java パッケージ名に \f2prefix\fP という接頭辞が付加されます。\f2type\fP は、トップレベルモジュールの単純名か、どのモジュールよりも外側で定義された IDL 型の単純名のどちらかです。 
-.TP 3
-\-pkgTranslate type package 
-識別子の中にモジュール名 type が検出されると、生成される Java パッケージ内のすべてのファイルについて、識別子の中のその名前が package で置き換えられます。最初に \f2pkgPrefix\fP を変更します。\f2type\fP は、トップレベルのモジュール、またはすべてのモジュールの外部で定義された IDL 型の単純名です。そして、完全なパッケージ名に正確に一致しなければなりません。 
-.LP
-1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、 
-.nf
-\f3
-.fl
-  \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz
-.fl
-\fP
-.fi
-.LP
-次のような変換が実施されます。 
-.nf
-\f3
-.fl
-foo          =>      bar
-.fl
-foo.boo      =>      bar.boo
-.fl
-foo.baz      =>      buzz.fizz
-.fl
-foo.baz.bar  =>      buzz.fizz.bar
-.fl
-\fP
-.fi
-.LP
-次のパッケージ名を変換することはできません。 
-.RS 3
-.TP 2
-o
-\f2org\fP 
-.TP 2
-o
-\f2org.omg\fP、または \f2org.omg\fP のサブパッケージ 
+.if n \{\
 .RE
-.LP
-これらのパッケージ名を変換しようとすると、互換性のないコードが生成されます。そして、\f2\-pkgTranslate\fP のあとの最初の引数としてそれらのパッケージを使用すると、エラーとして扱われます。  
-.TP 3
-\-skeletonName xxx%yyy 
-\f2xxx%yyy\fP が、スケルトンに名前を付けるパターンとして使用されます。デフォルトは次のとおりです。 
-.RS 3
-.TP 2
-o
-\f2POA\fP 基底クラスの場合は「%POA」(\f2\-fserver\fP または \f2\-fall\fP) 
-.TP 2
-o
-\f2oldImplBase\fP クラスの場合は「_%ImplBase」(\f2\-oldImplBase\fP かつ (\f2\-fserver\fP または \f2\-fall\fP)) 
+.\}
+パッケージ名\fIorg\fR、\fIorg\fR\&.o\fImg\fR、または\fIorg\&.omg\fRのサブパッケージは、変換できません。これらのパッケージ名を変換しようとすると、互換性のないコードが生成され、\fI\-pkgTranslate\fRの後の最初の引数としてそれらのパッケージを使用すると、エラーとして扱われます。
 .RE
-.TP 3
-\-td dir 
-出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。 
-.TP 3
-\-tieName xxx%yyy 
-このパターンに従って Tie に名前が付けられます。デフォルトは次のとおりです。 
-.RS 3
-.TP 2
-o
-\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP) 
-.TP 2
-o
-\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP)) 
+.PP
+\-skeletonName \fIxxx%yyy\fR
+.RS 4
+\fIxxx%yyy\fRが、スケルトンに名前を付けるパターンとして使用されます。デフォルトは次のとおりです。\fIPOA\fRベース・クラスの場合は\fI%POA\fR
+(\fI\-fserver\fRまたは\fI\-fall\fR)、\fIoldImplBase\fRクラスの場合は\fI_%ImplBase\fR
+(\-\fIoldImplBase\fR)および(\fI\-fserver\fRまたは\fI\-fall\fR))。
 .RE
-.TP 3
-\-nowarn, \-verbose 
-冗長モードになります。 
-.TP 3
-\-version 
-バージョン情報を表示して終了します。 
+.PP
+\-td \fIdir\fR
+.RS 4
+出力ディレクトリとして、現在のディレクトリではなく、\fIdir\fRが使用されます。
 .RE
-
-.LP
-各オプションの詳細については、「説明」のセクションを参照してください。 
-.SH "制約"
-.LP
-.RS 3
-.TP 2
-o
-グローバルスコープ内のエスケープされた識別子は、IDL プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。 
-.TP 2
-o
-\f2fixed\fP という IDL 型はサポートされていません。 
+.PP
+\-tieName \fIxxx%yyy\fR
+.RS 4
+パターンに従って、\fIxxx%yyy\fRを使用します。デフォルトは次のとおりです。\fIPOA\fRベース・クラスの場合は\fI%POA\fR
+(\fI\-fserverTieまたは\-fallTie\fR)、\fIoldImplBase\fR
+tieクラスの場合は\fI_%Tie\fR
+(\-\fIoldImplBase\fR)および(\fI\-fserverTie\fRまたは\fI\-fallTie\fR))。
 .RE
-
-.LP
-.SH "既知の問題点"
-.LP
-.RS 3
-.TP 2
-o
-グローバル識別子についてインポートが生成されません。予期されないローカル impl を呼び出すと、例外を受け取ります。 しかし、その原因は、\f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP にあるようです。 
+.PP
+\-nowarn、\-verbose
+.RS 4
+リリース情報を表示して終了します。
 .RE
-
-.LP
- 
+.PP
+\-version
+.RS 4
+リリース情報を表示して終了します。
+.RE
+.SH "制限事項"
+.PP
+グローバル・スコープ内のエスケープされた識別子は、IDLプリミティブ型の\fIObject\fRまたは\fIValueBase\fRと同じ綴りにしないでください。これは、シンボル表がこれらの識別子でプリロードされているためです。これらの再定義を許可すると、元の定義が上書きされます。これは、おそらく恒久的な制約です。
+.PP
+\fIfixed\fRというIDL型はサポートされていません。
+.SH "既知の問題"
+.PP
+グローバル識別子についてインポートが生成されません。予期されないローカル\fIimpl\fRオブジェクトを呼び出すと、例外を受け取ります。しかし、その原因は、\fIServerDelegate\fR
+DSIコード内の\fINullPointerException\fRにあるようです。
+.br
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/jar.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/jar.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,601 +1,517 @@
-." Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH jar 1 "07 May 2011"
+'\" t
+.\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: jar
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: 基本ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "jar" "1" "2013年11月21日" "JDK 8" "基本ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jar \- Java Archive (JAR)ファイルを操作します。
+.SH "概要"
+JARファイルの作成
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjar c\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+JARファイルの更新
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjar u\fR[\fIefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fI\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+JARファイルの抽出
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjar\fR \fIx\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+JARファイルのコンテンツのリスト
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjar\fR \fIt\fR[\fIvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+JARファイルへの索引の追加
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjar\fR \fIi\fR \fIjarfile\fR [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.]
+.fi
+.if n \{\
+.RE
+.\}
+.SH "説明"
+.PP
+\fIjar\fRコマンドは、ZIPおよびZLIB圧縮形式に基づく汎用のアーカイブおよび圧縮ツールです。ただし、\fIjar\fRコマンドは、主にいくつかのJavaアプレットやアプリケーションを単一のアーカイブにパッケージ化するように設計されました。アプレットやアプリケーションのコンポーネント(ファイル、イメージ、およびサウンド)が1つのアーカイブに結合されていると、Javaエージェント(ブラウザなど)は、それらのコンポーネントを1回のHTTPトランザクションでダウンロードすることができ、コンポーネントごとに新しい接続が不要になります。これにより、ダウンロード時間が大幅に短縮されます。また、\fIjar\fRコマンドはファイルの圧縮も行うため、ダウンロード時間がさらに短縮されます。また、\fIjar\fRコマンドによって、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるため、配布元の認証が可能になります。JARファイルは、圧縮されているかどうかにかかわらず、クラス・パスのエントリとして使用できます。
+.PP
+\fIjar\fRコマンドの構文は、\fItar\fRコマンドの構文に似ています。必須の\fI操作の引数\fRの1つで定義された複数の操作モードがあります。他の引数は、操作の動作を変更する\fIオプション\fR、または操作を実行するために必要な\fIオペランド\fRを使用します。
+.SH "操作の引数"
+.PP
+\fIjar\fRコマンドを使用する場合は、次の操作の引数のいずれかを指定して実行される操作を選択する必要があります。コマンドラインで他の1文字のオプションと混在させることができますが、通常、操作の引数は指定される最初の引数です。
+.PP
+c
+.RS 4
+新しいJARアーカイブを作成します。
+.RE
+.PP
+i
+.RS 4
+JARアーカイブの索引情報を生成します。
+.RE
+.PP
+t
+.RS 4
+JARアーカイブのコンテンツをリストします。
+.RE
+.PP
+u
+.RS 4
+JARアーカイブを更新します。
+.RE
+.PP
+x
+.RS 4
+JARアーカイブからファイルを抽出します。
+.RE
+.SH "オプション"
+.PP
+次のオプションを使用して、JARファイルを作成、更新、抽出または表示する方法をカスタマイズします。
+.PP
+e
+.RS 4
+\fIentrypoint\fRオペランドで指定されるクラスを、実行可能JARファイルにバンドルされるスタンドアロンJavaアプリケーションのエントリ・ポイントに設定します。このオプションを使用すると、マニフェスト・ファイル内の\fIMain\-Class\fR属性値が作成またはオーバーライドされます。\fIe\fRオプションは、JARファイルの作成時(\fIc\fR)または更新時(\fIu\fR)に使用できます。
+.sp
+たとえば、次のコマンドでは、\fIMain\&.jar\fRアーカイブが\fIMain\&.class\fRファイルとともに作成されますが、その際、マニフェスト内の\fIMain\-Class\fR属性値は\fIMain\fRに設定されます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar cfe Main\&.jar Main Main\&.class
+.fi
+.if n \{\
+.RE
+.\}
+Java Runtime Environment (JRE)は、次のコマンドを実行して、このアプリケーションを直接呼び出すことができます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java \-jar Main\&.jar
+.fi
+.if n \{\
+.RE
+.\}
+あるパッケージ内にエントリ・ポイントのクラス名が含まれている場合、ドット(\&.)またはスラッシュ(/)のいずれかを区切り文字として使用できます。たとえば、\fIMain\&.class\fRが\fImydir\fRという名前のパッケージに含まれている場合、エントリ・ポイントは次のいずれかの方法で指定できます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar \-cfe Main\&.jar mydir/Main mydir/Main\&.class
+jar \-cfe Main\&.jar mydir\&.Main mydir/Main\&.class
+.fi
+.if n \{\
+.RE
+.\}
+.if n \{\
+.sp
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBNote\fR
+.ps -1
+.br
+.TS
+allbox tab(:);
+l.
+T{
+注意
+特定のマニフェストにも\fIMain\-Class\fR属性が含まれている場合に\fIm\fRオプションと\fIe\fRオプションの両方を同時に指定すると、\fIMain\-Class\fRの指定があいまいになります。このあいまいさによってエラーが発生し、\fIjar\fRコマンドの作成や更新の操作が終了します。
+T}
+.TE
+.sp 1
+.sp .5v
+.RE
+.RE
+.PP
+f
+.RS 4
+\fIjarfile\fRオペランドで指定されたファイルを、作成(\fIc\fR)、更新(\fIu\fR)、抽出(\fIx\fR)または表示(\fIt\fR)されるJARファイルの名前に設定します。\fIf\fRオプションおよび\fIjarfile\fRオペランドを省略すると、\fIjar\fRコマンドに、\fIstdin\fRからのJARファイル名を受け入れるか(\fIx\fRおよび\fIt\fRの場合)、JARファイルを\fIstdout\fRに送信すること(\fIc\fRおよび\fIu\fRの場合)が指示されます。
+.RE
+.PP
+m
+.RS 4
+(\fIMETA\-INF/MANIFEST\&.MF\fRのアーカイブにある)
+\fIjar\fRコマンドのマニフェスト・ファイルの\fImanifest\fRオペランドで指定されたファイルから、属性の名前と値のペアを含めます。\fIjar\fRコマンドは、同じ名前のエントリがすでに存在する場合を除き、属性の名前と値をJARファイルに追加します。同じ名前のエントリがすでに存在する場合、\fIjar\fRコマンドは属性の値を更新します。\fIm\fRオプションは、JARファイルの作成時(\fIc\fR)または更新時(\fIu\fR)に使用できます。
+.sp
+デフォルトのマニフェスト・ファイルには含まれないマニフェストに、特別な目的の名前\-値の属性ペアを追加できます。たとえば、ベンダー情報、リリース情報、パッケージ・シーリングを指定する属性、またはJARにバンドルされたアプリケーションを実行可能にするための属性を追加できます。\fIm\fRオプションの使用例は、http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.htmlにある
+プログラムのパッケージ化に関する項を参照してください。
+.RE
+.PP
+M
+.RS 4
+マニフェスト・ファイル・エントリを作成しない(\fIc\fRおよび\fIu\fRの場合)か、またはマニフェスト・ファイル・エントリが存在する場合は削除します(\fIu\fRの場合)。\fIM\fRオプションは、JARファイルの作成時(\fIc\fR)または更新時(\fIu\fR)に使用できます。
+.RE
+.PP
+n
+.RS 4
+JARファイルの作成(\fIc\fR)時に、このオプションは、コンテンツがpack200(1)コマンドのパックおよびアンパック操作の影響を受けないようにアーカイブを正規化します。この正規化を使用しない場合、署名付きJARの署名は無効になります。
+.RE
+.PP
+v
+.RS 4
+詳細な出力を標準出力に生成します。例を参照してください。
+.RE
+.PP
+0
+.RS 4
+(ゼロ) ZIP圧縮を使用しないでJARファイルを作成(\fIc\fR)または更新(\fIu\fR)します。
+.RE
+.PP
+\-C \fIdir\fR
+.RS 4
+JARファイルの作成(\fIc\fR)または更新(\fIu\fR)時に、このオプションは\fIfile\fRオペランドで指定されたファイルの処理中にディレクトリを一時的に変更します。この操作は、UNIX
+\fItar\fRユーティリティの\fI\-C\fRオプションと同様になることを目的としています。たとえば、次のコマンドによって、\fIclasses\fRディレクトリに変更され、そのディレクトリから\fImy\&.jar\fRに\fIBar\&.class\fRファイルが追加されます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar uf my\&.jar \-C classes Bar\&.class
+.fi
+.if n \{\
+.RE
+.\}
+次のコマンドでは、\fIclasses\fRディレクトリに移動し、classesディレクトリ内のすべてのファイルを\fImy\&.jar\fRに追加します(JARファイルには\fIclasses\fRディレクトリを作成しません)。次に元のディレクトリに戻ってから、\fIbin\fRディレクトリに移動し、\fIXyz\&.class\fRを\fImy\&.jar\fRに追加します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar uf my\&.jar \-C classes \&. \-C bin Xyz\&.class
+.fi
+.if n \{\
+.RE
+.\}
+\fIclasses\fRに\fIbar1\fRファイルと\fIbar2\fRファイルが含まれている場合、前述のコマンドを実行した後、JARファイルには次のものが含まれます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+% \fIjar tf my\&.jar\fR
+META\-INF/
+META\-INF/MANIFEST\&.MF
+bar1
+bar2
+Xyz\&.class
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-J\fIoption\fR
+.RS 4
+指定したJVMオプションを、JREがJARファイルを実行する際に使用するように設定します。JVMオプションは、java(1)コマンドのリファレンス・ページで説明されています。たとえば、\fI\-J\-Xms48m\fRと指定すると、スタートアップ・メモリーは48MBに設定されます。
+.RE
+.SH "オペランド"
+.PP
+次のオペランドは、\fIjar\fRコマンドで認識されます。
+.PP
+\fIfile\fR
+.RS 4
+JARファイルの作成(\fIc\fR)または更新(\fIu\fR)時に、\fIfile\fRオペランドは、アーカイブに追加する必要のあるファイルまたはディレクトリのパスと名前を定義します。JARファイルの抽出(\fIx\fR)またはコンテンツのリスト(\fIt\fR)時に、\fIfile\fRオペランドは抽出またはリストするファイルのパスと名前を定義します。少なくとも1つの有効なファイルまたはディレクトリを指定する必要があります。複数の\fIfile\fRオペランドを空白で区切ります。\fIentrypoint\fR、\fIjarfile\fRまたは\fImanifest\fRオペランドが使用される場合は、その後に\fIfile\fRオペランドを指定する必要があります。
+.RE
+.PP
+\fIentrypoint\fR
+.RS 4
+JARファイルの作成(\fIc\fR)または更新(\fIu\fR)時に、\fIentrypoint\fRオペランドは、実行可能JARファイルにバンドルされているスタンドアロンJavaアプリケーションのエントリ・ポイントとなるクラスの名前を定義します。\fIe\fRオプションが存在する場合は\fIentrypoint\fRオペランドを指定する必要があります。
+.RE
+.PP
+\fIjarfile\fR
+.RS 4
+作成(\fIc\fR)、更新(\fIu\fR)、抽出(\fIx\fR)または表示(\fIt\fR)するファイルの名前を定義します。\fIf\fRオプションが存在する場合は\fIjarfile\fRオペランドを指定する必要があります。\fIf\fRオプションおよび\fIjarfile\fRオペランドを省略すると、\fIjar\fRコマンドに、\fIstdin\fRからのJARファイル名を受け入れるか(\fIx\fRおよび\fIt\fRの場合)、JARファイルを\fIstdout\fRに送信すること(\fIc\fRおよび\fIu\fRの場合)が指示されます。
+.sp
+JARファイルを索引付け(\fIi\fR)する場合は、\fIf\fRオプションを指定しないで\fIjarfile\fRオペランドを指定します。
+.RE
+.PP
+\fImanifest\fR
+.RS 4
+JARファイルの作成(\fIc\fR)または更新(\fIu\fR)時に、\fImanifest\fRオペランドはJARファイルの\fIMANIFEST\&.MF\fRに含める属性の名前と値を持つ既存のマニフェスト・ファイルを定義します。\fIf\fRオプションが存在する場合は\fImanifest\fRオペランドを指定する必要があります。
+.RE
+.PP
+\fI@arg\-file\fR
+.RS 4
+\fIjar\fRコマンドを短縮または簡素化するには、別のテキスト・ファイル内の引数を指定し、接頭辞としてアットマーク(@)を付けて\fIjar\fRコマンドに渡すことができます。\fIjar\fRコマンドは、アットマーク文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.sp
+引数ファイルには、\fIjar\fRコマンドのオプションと引数(引数ファイルをサポートしない起動ツールに渡される\fI\-J\fRオプションを除く)を含めることができます。ファイル内の引数は、空白または改行文字で区切ることができます。引数ファイル内のファイル名は、\fIjar\fRコマンドを実行できる現在のディレクトリに対して相対的であり、引数ファイルの場所に対しては相対的ではありません。通常はオペレーティング・システム・シェルによって展開されるアスタリスク(*)などのワイルドカードは展開されません。
+.sp
+次の例は、\fIfind\fRコマンドによる現在のディレクトリ出力からのファイル名で\fIclasses\&.list\fRファイルを作成する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+find \&. \-name \*(Aq*\&.class\*(Aq \-print > classes\&.list
+.fi
+.if n \{\
+.RE
+.\}
+\fIjar\fRコマンドを実行し、\fI@arg\-file\fR構文を使用して\fIclasses\&.list\fRファイルを渡すことができます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar cf my\&.jar @classes\&.list
+.fi
+.if n \{\
+.RE
+.\}
+引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、\fIjar\fRコマンドの現在の作業ディレクトリに相対的となります。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar @dir/classes\&.list
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.SH "注意"
+.PP
+\fIe\fR、\fIf\fRおよび\fIm\fRオプションは、\fIentrypoint\fR、\fIjarfile\fRおよび\fImanifest\fRオペランドと同じ順序でコマンドラインに出現する必要があります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jar cmef myManifestFile MyMainClass myFile\&.jar *\&.class
+.fi
+.if n \{\
+.RE
+.\}
+.SH "例"
+.PP
+\fBExample 1\fR, 冗長な出力による現在のディレクトリからのすべてのファイルの追加
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+% ls
+1\&.au          Animator\&.class    monkey\&.jpg
+2\&.au          Wave\&.class        spacemusic\&.au
+3\&.au          at_work\&.gif
 
-.LP
-.SH "名前"
-jar \- Java ARchive ツール
-.LP
-\f3jar\fP は複数のファイルを 1 つの JAR アーカイブファイルに結合します。 
-.RS 3
-.TP 2
-o
-形式 
-.TP 2
-o
-説明 
-.TP 2
-o
-オプション 
-.TP 2
-o
-コマンド行引数ファイル 
-.TP 2
-o
-例 
-.TP 2
-o
-関連項目 
+% jar cvf bundle\&.jar *
+added manifest
+adding: 1\&.au(in = 2324) (out= 67)(deflated 97%)
+adding: 2\&.au(in = 6970) (out= 90)(deflated 98%)
+adding: 3\&.au(in = 11616) (out= 108)(deflated 99%)
+adding: Animator\&.class(in = 2266) (out= 66)(deflated 97%)
+adding: Wave\&.class(in = 3778) (out= 81)(deflated 97%)
+adding: at_work\&.gif(in = 6621) (out= 89)(deflated 98%)
+adding: monkey\&.jpg(in = 7667) (out= 91)(deflated 98%)
+adding: spacemusic\&.au(in = 3079) (out= 73)(deflated 97%)
+.fi
+.if n \{\
 .RE
+.\}
+.RE
+.PP
+\fBExample 2\fR, サブディレクトリからのファイルの追加
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+% ls \-F
+audio/ classes/ images/
+% jar cvf bundle\&.jar audio classes images
+added manifest
+adding: audio/(in = 0) (out= 0)(stored 0%)
+adding: audio/1\&.au(in = 2324) (out= 67)(deflated 97%)
+adding: audio/2\&.au(in = 6970) (out= 90)(deflated 98%)
+adding: audio/3\&.au(in = 11616) (out= 108)(deflated 99%)
+adding: audio/spacemusic\&.au(in = 3079) (out= 73)(deflated 97%)
+adding: classes/(in = 0) (out= 0)(stored 0%)
+adding: classes/Animator\&.class(in = 2266) (out= 66)(deflated 97%)
+adding: classes/Wave\&.class(in = 3778) (out= 81)(deflated 97%)
+adding: images/(in = 0) (out= 0)(stored 0%)
+adding: images/monkey\&.jpg(in = 7667) (out= 91)(deflated 98%)
+adding: images/at_work\&.gif(in = 6621) (out= 89)(deflated 98%)
 
-.LP
-.SH "形式"
-.LP
-.RS 3
-.TP 3
-JAR ファイルの作成 
-\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
-.TP 3
-JAR ファイルの更新 
-\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
-.TP 3
-JAR ファイルの抽出 
-\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
-.TP 3
-JAR ファイルの内容の表形式による一覧表示 
-\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
-.TP 3
-JAR ファイルへのインデックスの追加 
-\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP 
+% ls \-F
+audio/ bundle\&.jar classes/ images/
+.fi
+.if n \{\
 .RE
-
-.LP
-.LP
-説明
-.LP
-.RS 3
-.TP 3
-cuxtiv0Mmfe 
-\f2jar\fP コマンドを制御するオプション 
-.TP 3
-jarfile 
-作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、または目次表示 (\f2t\fP) の対象となる JAR ファイル。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。 \f2f\fP と \f2jarfile\fP を省略すると、標準入力から「JAR ファイル」が取得されるか (x および t の場合)、標準出力へ「JAR ファイル」が送信されます(c および u の場合)。 
-.TP 3
-inputfiles 
-\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f20\fP (ゼロ) を使用しないかぎり圧縮されます。 
-.TP 3
-manifest 
-JAR ファイルの MANIFEST.MF 内に含めるべき \f2name\fP\f2:\fP \f2value\fP ペアが含まれている既存のマニフェストファイル。\f2m\fP オプションとファイル名 \f2manifest\fP とがペアになります。つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 
-.TP 3
-entrypoint 
-実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 
-.TP 3
-\-C\ dir 
-これに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。 \f2\-C\ \fP\f2\-\ dir\fP \f2inputfiles\fP のセットは複数使用できます。 
-.TP 3
-\-Joption 
-Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。 
+.\}
 .RE
-
-.LP
-.SH "説明"
-.LP
-\f3jar\fP ツールは複数のファイルを 1 つの JAR アーカイブファイルに結合します。\f3jar\fP は、ZIP および 
-.na
-\f2ZLIB\fP @
+.PP
+\fBExample 3\fR, JARのコンテンツのリスト
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+% jar tf bundle\&.jar
 .fi
-http://www.gzip.org/zlib/ 圧縮形式に基づく汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これにより、ダウンロード時間が大幅に短縮されます。また、\f3jar\fP はファイルの圧縮も行うので、ダウンロード時間がさらに短縮されます。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。 
-.LP
-複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。
-.LP
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-% jar cf myFile.jar *.class
-.fl
-\fP
+META\-INF/
+META\-INF/MANIFEST\&.MF
+audio/1\&.au
+audio/2\&.au
+audio/3\&.au
+audio/spacemusic\&.au
+classes/Animator\&.class
+classes/Wave\&.class
+images/monkey\&.jpg
+images/at_work\&.gif
 .fi
-
-.LP
-この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、 \f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「
-.na
-\f2JAR file specification\fP @
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\fBExample 4\fR, 索引の追加
+.RS 4
+株式取引のアプリケーションの相互依存クラスを、\fImain\&.jar\fR、\fIbuy\&.jar\fRおよび\fIsell\&.jar\fRの3つのJARファイルに分割する場合、\fIi\fRオプションを使用します。\fImain\&.jar\fRマニフェスト内の\fIClass\-Path\fR属性を指定する場合、\fIi\fRオプションを使用して、アプリケーションのクラス・ロードの速度を向上できます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Class\-Path: buy\&.jar sell\&.jar
+jar i main\&.jar
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。 
-.LP
-既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
-.LP
+.if n \{\
+.RE
+.\}
+\fIINDEX\&.LIST\fRファイルが\fIMETA\-INF\fRディレクトリに挿入されます。これにより、アプリケーションのクラス・ローダーによってクラスまたはリソースの検索が行われるときに、指定したJARファイルがダウンロードされるようになります。
+.sp
+アプリケーションのクラス・ローダーは、このファイルに格納されている情報を使用して、効率的にクラスをロードします。ディレクトリをコピーするには、最初に\fIdir1\fR内のファイルを\fIstdout\fRに圧縮してから、\fIstdin\fRから\fIdir2\fRにパイプラインを作成して抽出します(\fI\-f\fRオプションは両方の\fIjar\fRコマンドで省略します)。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-% jar cmf myManifestFile myFile.jar *.class
-.fl
-\fP
+(cd dir1; jar c \&.) | (cd dir2; jar x)
 .fi
-
-.LP
-既存のマニフェストファイルは改行文字で終わっている必要があります。マニフェストファイルが改行文字で終わっていないと、\f3jar\fP はその最終行を解析しません。
+.if n \{\
+.RE
+.\}
+.RE
+.SH "関連項目"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+pack200(1)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.htmlにある
+JavaチュートリアルのJARに関する項
+.RE
 .br
-
-.LP
-.br
-
-.LP
-\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。 
-.nf
-\f3
-.fl
-% jar cfm myFile.jar myManifestFile *.class
-.fl
-\fP
-.fi
-
-.LP
-マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。 
-.LP
-JAR ファイルからファイルを抽出する場合は、 \f2x\fP を使用します。
-.LP
-.nf
-\f3
-.fl
-% jar xf myFile.jar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。
-.LP
-.nf
-\f3
-.fl
-% jar xf myFile.jar foo bar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-JDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで 
-.na
-\f2JarIndex\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルと、そのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。
-.LP
-.nf
-\f3
-.fl
-% jar i main.jar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-この例では、 \f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリ内に挿入されます。
-.br
-.br
-このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。インデックスファイルに位置情報を格納する方法の詳細は、「JarIndex 仕様」を参照してください。
-.br
-.br
-ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して \f2stdout\fP に出力し、続いて \f2stdin\fP から抽出して \f2dir2\fP に出力します (\f2\-f\fP オプションはどちらの \f2jar\fP コマンドでも省略)。
-.LP
-.nf
-\f3
-.fl
-% (cd dir1; jar c .)| (cd dir2; jar x)
-.fl
-\fP
-.fi
-
-.LP
-.LP
-\f2jar\fP を使用して JAR ファイルや JAR マニフェストファイルを操作するサンプルコマンドを確認したい場合は、後述の「例」を参照してください。また、「
-.na
-\f2Java Tutorial\fP @
-.fi
-http://download.oracle.com/javase/tutorial/deployment/jar」の JAR コースも参照してください。
-.LP
-.SH "オプション"
-.LP
-.RS 3
-.TP 3
-c 
-f が指定された場合は \f2jarfile\fP という名前の \f2新しい\fP アーカイブファイルを \f2作成し、\fP f と \f2jarfile\fP が省略された場合は標準出力に情報を出力します。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。 
-.TP 3
-u 
-f が指定されている場合に、既存ファイル \f2jarfile\fP を \f2更新する目的で、\fP \f2inputfiles\fP に指定されたファイルやディレクトリを追加します。次に例を示します。 
-.nf
-\f3
-.fl
-jar uf foo.jar foo.class
-.fl
-\fP
-.fi
-上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。 
-.nf
-\f3
-.fl
-jar umf manifest foo.jar
-.fl
-\fP
-.fi
-\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。 
-.TP 3
-x 
-f が指定された場合は \f2jarfile\fP \f2から\fP 、 \f2f\fP と \f2jarfile\fP が省略された場合は標準入力から、ファイルやディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。 
-.TP 3
-t 
-f が指定された場合は \f2jarfile\fP \f2から\fP 、 \f2f\fP と \f2jarfile\fP が省略された場合は標準入力から、目次を表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。 
-.TP 3
-i 
-指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。たとえば、 
-.nf
-\f3
-.fl
-jar i foo.jar
-.fl
-\fP
-.fi
-.LP
-上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。インデックスの例を参照してください。  
-.TP 3
-f 
-次の各処理の対象となるファイル \f2jarfile\fP を指定します。作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP)。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。Omitting \f2f\fP と \f2jarfile\fP を省略すると、x や t の場合は \f2標準入力\fPから JAR ファイル名が取得され、c や u の場合は \f2標準出力\fP に JAR ファイルが送信されます。 
-.TP 3
-v 
-詳細な出力を標準出力に生成します。あとで例を示します。 
-.TP 3
-0 
-(ゼロ) ZIP による圧縮を使用せずに、保存します。 
-.TP 3
-M 
-マニフェストファイルエントリを作成しません (c および u の場合)。または、マニフェストファイルエントリが存在する場合にそれを削除します (u の場合)。 
-.TP 3
-m 
-\f2META\-INF/MANIFEST.MF\fP のファイルで指定したマニフェストファイル \f2manifest\fP の \f2name : value\fP の属性ペアを組み込みます。 \f2jar\fP は、すでに同じ名前で存在しないかぎり、その \f2name:value\fP ペアを追加します。同じ名前で存在する場合、 \f2jar\fP はその値を更新します。 
-.LP
-コマンド行で、\f3m\fP と \f3f\fP の文字は、\f2manifest\fP と \f2jarfile\fP の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。 
-.nf
-\f3
-.fl
-jar cmf myManifestFile myFile.jar *.class
-.fl
-\fP
-.fi
-デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。「Java Tutorial」の「
-.na
-\f2JAR Files\fP @
-.fi
-http://download.oracle.com/javase/tutorial/deployment/jar/」コースを参照し、  \f4\-m\fP オプションの使用例を確認してください。 
-.TP 3
-e 
-実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。このオプションは、JAR ファイルの作成中または更新中に使用できます。このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
-.br
-.br
-たとえば、次のコマンドでは \f2Main.jar\fP が作成されますが、その際、マニフェスト内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。 
-.nf
-\f3
-.fl
-jar cfe Main.jar Main Main.class
-.fl
-\fP
-.fi
-.LP
-次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 
-.nf
-\f3
-.fl
-java \-jar Main.jar
-.fl
-\fP
-.fi
-あるパッケージ内にエントリポイントのクラス名が含まれている場合、ドット (「.」) 、スラッシュ (「/」) のいずれかの文字をその区切り文字として使用できます。たとえば、 \f2Main.class\fP が \f2foo\fP という名前のパッケージに含まれている場合、エントリポイントは次のようにして指定できます。 
-.nf
-\f3
-.fl
-jar \-cfe Main.jar foo/Main foo/Main.class
-.fl
-\fP
-.fi
-または 
-.nf
-\f3
-.fl
-jar \-cfe Main.jar foo.Main foo/Main.class
-.fl
-\fP
-.fi
-\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定した場合、指定したマニフェストにも \f2Main\-Class\fP 属性が含まれていれば、 \f2Main.class\fP の指定があいまいになってエラーや発生し、JAR の作成処理や更新処理が異常終了します。 
-.LP
-.TP 3
-\-C \ dir 
-\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (cd \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。
-.br
-.br
-たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。 
-.nf
-\f3
-.fl
-jar uf foo.jar \-C classes bar.class
-.fl
-\fP
-.fi
-次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。 
-.nf
-\f3
-.fl
-jar uf foo.jar \-C classes .\-C bin xyz.class
-.fl
-\fP
-.fi
-\f2classes\fP にファイル \f2bar1\fP と \f2bar2\fP が格納されている場合に、 \f2jar tf foo.jar\fP 使用したときの JAR ファイルの中身を、次に示します。 
-.nf
-\f3
-.fl
-META\-INF/
-.fl
-META\-INF/MANIFEST.MF
-.fl
-bar1
-.fl
-bar2
-.fl
-xyz.class
-.fl
-\fP
-.fi
-.LP
-.TP 3
-\-Joption 
-Java 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、 \f4\-J\-Xmx48M\fP と指定すると、最大メモリーが 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。 
-.RE
-
-.LP
-.SH "コマンド行引数ファイル"
-.LP
-jar のコマンド行を短くしたり簡潔にしたりするために、jar コマンドに対する引数 (\-J オプションを除く) を含む 1 つ以上の \f2ファイルを\fP 指定することが \f2できます\fP 。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。 
-.LP
-引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
-.LP
-.LP
-\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。 \f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
-.br
-.br
-次の例で、 \f2classes.list\fP には、 \f2find\fP コマンドによって出力されたファイルの名前が格納されます。 
-.LP
-.nf
-\f3
-.fl
-% find \fP\f3.\fP \-name '*.class' \-print > classes.list
-.fl
-.fi
-
-.LP
-.LP
-次に、引数ファイル構文を使用して \f2classes.list\fP を jar に渡すことで、 \f2そのリスト\fP に対して \f2jar\fP コマンドを実行できます。
-.LP
-.nf
-\f3
-.fl
-% jar cf my.jar @classes.list
-.fl
-\fP
-.fi
-
-.LP
-引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。次はその例です。 
-.nf
-\f3
-.fl
-% jar @path1/classes.list
-.fl
-\fP
-.fi
-
-.LP
-.LP
-
-.LP
-.SH "例"
-.LP
-特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。 
-.nf
-\f3
-.fl
-% ls
-.fl
-1.au          Animator.class    monkey.jpg
-.fl
-2.au          Wave.class        spacemusic.au
-.fl
-3.au          at_work.gif
-.fl
-
-.fl
-% jar cvf bundle.jar *
-.fl
-added manifest
-.fl
-adding: 1.au(in = 2324) (out= 67)(deflated 97%)
-.fl
-adding: 2.au(in = 6970) (out= 90)(deflated 98%)
-.fl
-adding: 3.au(in = 11616) (out= 108)(deflated 99%)
-.fl
-adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
-.fl
-adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
-.fl
-adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
-.fl
-adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
-.fl
-adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
-.fl
-\fP
-.fi
-
-.LP
-すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。 
-.nf
-\f3
-.fl
-% ls \-F
-.fl
-audio/ classes/ images/
-.fl
-
-.fl
-% jar cvf bundle.jar audio classes images
-.fl
-added manifest
-.fl
-adding: audio/(in = 0) (out= 0)(stored 0%)
-.fl
-adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
-.fl
-adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
-.fl
-adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
-.fl
-adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
-.fl
-adding: classes/(in = 0) (out= 0)(stored 0%)
-.fl
-adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
-.fl
-adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
-.fl
-adding: images/(in = 0) (out= 0)(stored 0%)
-.fl
-adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
-.fl
-adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
-.fl
-
-.fl
-% ls \-F
-.fl
-audio/ bundle.jar classes/ images/
-.fl
-\fP
-.fi
-
-.LP
-JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。 
-.nf
-\f3
-.fl
-% jar tf bundle.jar
-.fl
-META\-INF/
-.fl
-META\-INF/MANIFEST.MF
-.fl
-audio/1.au
-.fl
-audio/2.au
-.fl
-audio/3.au
-.fl
-audio/spacemusic.au
-.fl
-classes/Animator.class
-.fl
-classes/Wave.class
-.fl
-images/monkey.jpg
-.fl
-images/at_work.gif
-.fl
-\fP
-.fi
-
-.LP
-.LP
-クラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。
-.br
-.br
-例:
-.br
-
-.LP
-たとえば、株取引アプリケーションの内部依存しているクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。
-.br
-
-.LP
-.br
-
-.LP
-\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、 
-.nf
-\f3
-.fl
-Class\-Path: buy.jar sell.jar
-.fl
-\fP
-.fi
-
-.LP
-\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。 
-.nf
-\f3
-.fl
-% jar i main.jar
-.fl
-\fP
-.fi
-
-.LP
-\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたはリソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 
-.SH "関連項目"
-.LP
-.LP
-.na
-\f2JAR ファイルの概要\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
-.LP
-.LP
-.na
-\f2JAR ファイルの仕様\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
-.LP
-.LP
-.na
-\f2JarIndex の仕様\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index
-.LP
-.LP
-.na
-\f2JAR チュートリアル\fP @
-.fi
-http://download.oracle.com/javase/tutorial/deployment/jar/index.html
-.LP
-.LP
-pack200(1)
-.LP
- 
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/jarsigner.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/jarsigner.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,1660 +1,1071 @@
-." Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH jarsigner 1 "07 May 2011"
-
-.LP
-.SH "名前"
-jarsigner \- JAR 署名および検証ツール
-.LP
-.LP
-Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
-.LP
-.SH "形式"
-.LP
+'\" t
+.\" Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: jarsigner
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: セキュリティ・ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "jarsigner" "1" "2013年11月21日" "JDK 8" "セキュリティ・ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jarsigner \- Javaアーカイブ(JAR)ファイルに対して署名および検証を行います。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-\fP\f3jarsigner\fP [ options ] jar\-file alias
-.fl
-\f3jarsigner\fP \-verify [ options ] jar\-file [alias...]
-.fl
+\fIjarsigner\fR [ \fIoptions\fR ] \fIjar\-file\fR \fIalias\fR
 .fi
-
-.LP
-.LP
-jarsigner の \-verify コマンドでは、JAR ファイル名のあとに 0 個以上のキーストア別名を指定できます。キーストア別名が指定された場合、jarsigner は、JAR ファイル内の各署名付きエンティティーの検証に使用される証明書がキーストア別名のいずれかに一致することをチェックします。別名は、\-keystore で指定されたキーストア内またはデフォルトのキーストア内に定義されます。
-.LP
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjarsigner\fR \fI\-verify\fR [ \fIoptions\fR ] \fIjar\-file\fR [\fIalias \&.\&.\&.\fR]
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fIoptions\fR
+.RS 4
+コマンドライン・オプション。オプションを参照してください。
+.RE
+.PP
+\-verify
+.RS 4
+\fI\-verify\fRオプションでは、JARファイル名の後に0個以上のキーストア別名を指定できます。\fI\-verify\fRオプションが指定された場合、\fIjarsigner\fRコマンドでは、JARファイル内の各署名付きエンティティの検証に使用される証明書が、いずれかのキーストア別名に一致することをチェックします。別名は、\fI\-keystore\fRで指定されたキーストア内またはデフォルトのキーストア内に定義されます。
+.sp
+\fI\-strict\fRオプションも指定した場合、\fIjarsigner\fRコマンドにより重大な警告が検出されると、メッセージ「jarが検証されました。署名者エラー」が表示されます。
+.RE
+.PP
+\fIjar\-file\fR
+.RS 4
+署名されるJARファイル。
+.sp
+\fI\-strict\fRオプションも指定した場合、\fIjarsigner\fRコマンドにより重大な警告が検出されると、メッセージ「jarは署名されました \- 署名者エラーがあります。」というメッセージが表示されます。
+.RE
+.PP
+\fIalias\fR
+.RS 4
+別名は、\fI\-keystore\fRで指定されたキーストア内またはデフォルトのキーストア内に定義されます。
+.RE
 .SH "説明"
-.LP
-.LP
-\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。
-.LP
-.RS 3
-.TP 3
-1.
-Java ARchive (JAR) ファイルに署名を付ける 
-.TP 3
-2.
-署名付き JAR ファイルの署名と整合性を検証する 
+.PP
+\fIjarsigner\fRツールには、次の2つの目的があります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Javaアーカイブ(JAR)ファイルに署名する目的。
 .RE
-
-.LP
-.LP
-JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータを単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。開発者は、jar(1) という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、すべての ZIP ファイルも JAR ファイルとみなすことができます。 ただし、\f3jar\fP によって作成された JAR ファイル、または \f3jarsigner\fP によって処理された JAR ファイルには、META\-INF/MANIFEST.MF ファイルが含まれています。
-.LP
-.LP
-「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティー (人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、デジタル署名には多くの利点があります。
-.LP
-.RS 3
-.TP 2
-o
-署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、デジタル署名が本物かどうかを検証できる 
-.TP 2
-o
-非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である 
-.TP 2
-o
-デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの署名として機能することはない 
-.TP 2
-o
-署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される 
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+署名付きJARファイルの署名と整合性を検証する目的。
 .RE
-
-.LP
-.LP
-ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。
-.LP
-.LP
-\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。
-.LP
-.LP
-\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには特に、ファイルの署名に使用された非公開鍵に対応する公開鍵に対する、キーストア内の証明書のコピーが含まれています。\f3jarsigner\fP は、署名付き JAR ファイル内 (署名ブロックファイル内) にある証明書を使用してそのファイルのデジタル署名を検証できます。
-.LP
-.LP
-\f3jarsigner\fP はタイムスタンプを含む署名を生成するので、システムやデプロイヤ (Java Plug\-in を含む) はJAR ファイルが署名証明書の有効期間中に署名されたかどうかをチェックできます。さらに、API を使用すると、アプリケーションからタイムスタンプ情報を取得できます。
-.LP
-.LP
-現時点では、\f3jarsigner\fP で署名できるのは、JDK の jar(1) ツールで作成された JAR ファイル、または ZIP ファイルだけです。JAR ファイルは ZIP ファイルと同じですが、JAR ファイルには META\-INF/MANIFEST.MF ファイルが含まれている点が異なります。META\-INF/MANIFEST.MF ファイルは、\f3jarsigner\fP が ZIP ファイルに署名を付けるときに自動的に作成されます。
-.LP
-.LP
-デフォルトでは、\f3jarsigner\fP は JAR (または ZIP) ファイルに「署名」を付けます。署名付き JAR ファイルを「検証」する場合は、 \f2\-verify\fP オプションを指定します。
-.LP
-.SS 
-キーストアの別名
-.LP
-.LP
-キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。
-.LP
-.LP
-\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。
-.LP
+.PP
+JAR機能を使用すると、クラス・ファイル、イメージ、サウンドおよびその他のデジタル・データを単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。\fIjar\fRという名前のツールを使用して、開発者はJARファイルを作成できます。(技術的な観点から言えば、すべてのZIPファイルもJARファイルとみなすことができます。ただし、\fIjar\fRコマンドによって作成されたJARファイル、または\fIjarsigner\fRコマンドによって処理されたJARファイルには、\fIMETA\-INF/MANIFEST\&.MF\fRファイルも含まれています。)
+.PP
+デジタル署名は、なんらかのデータ(署名の対象となるデータ)、およびエンティティ(人、会社など)の秘密鍵から計算されるビットの文字列です。手書きの署名同様、デジタル署名には多くの利点があります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+署名の生成に使用された秘密鍵に対応する公開鍵を使用する計算によって、それが本物であることを検証できます。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+秘密鍵が他人に知られない限り、デジタル署名の偽造は不可能です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+これは、署名が付いたデータの機能であり、他のデータの署名となるように要求できません。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+署名付きデータは変更できません。データが変更された場合、署名によって本物であると検証できません。
+.RE
+.PP
+ファイルに対してエンティティの署名を生成するには、まず、エンティティは、そのエンティティに関連する公開鍵/秘密鍵のペアと、公開鍵を認証する1つ以上の証明書を持つ必要があります。証明書とは、あるエンティティからのデジタル署名付きの文書で、別のエンティティの公開鍵が特定の値を持つことを示しています。
+.PP
+\fIjarsigner\fRコマンドは、キーストアからの鍵と証明書情報を使用して、JARファイルのデジタル署名を生成します。キーストアは、秘密鍵、および対応する公開鍵を認証する、秘密鍵に関連したX\&.509証明書チェーンのデータベースです。\fIkeytool\fRコマンドを使用して、キーストアを作成および管理します。
+.PP
+\fIjarsigner\fRコマンドでは、エンティティの秘密鍵を使用して署名を生成します。署名付きJARファイルには、特に、ファイルへの署名に使用する秘密鍵に対応する公開鍵のキーストアからの証明書のコピーが含まれます。\fIjarsigner\fRコマンドでは、内部(署名ブロック・ファイル内)の証明書を使用して、署名付きJARファイルのデジタル署名を検証できます。
+.PP
+\fIjarsigner\fRコマンドでは、署名証明書の有効期間中にJARファイルが署名されたされたかどうかをシステムやデプロイヤ(Java Plug\-inを含む)がチェックできる、タイムスタンプを含む署名を生成できます。さらに、APIを使用すると、アプリケーションでタイムスタンプ情報を取得できます。
+.PP
+現時点では、\fIjarsigner\fRコマンドでは、\fIjar\fRコマンドまたはZIPファイルによって作成されたJARファイルのみに署名できます。JARファイルはZIPファイルと同じですが、JARファイルには\fIMETA\-INF/MANIFEST\&.MF\fRファイルも含まれている点が異なります。\fIMETA\-INF/MANIFEST\&.MF\fRファイルは、\fIjarsigner\fRコマンドによってZIPファイルに署名する際に作成されます。
+.PP
+デフォルトの\fIjarsigner\fRコマンドの動作では、JARまたはZIPファイルに署名します。\fI\-verify\fRオプションを使用して、署名付きJARファイルを検証します。
+.PP
+\fIjarsigner\fRコマンドは、署名または検証の後に署名者の証明書の検証も試行します。検証エラーまたはその他の問題が発生すると、コマンドにより警告メッセージが生成されます。\fI\-strict\fRオプションを指定した場合、コマンドにより重大な警告がエラーとして処理されます。エラーと警告を参照してください。
+.SS "キーストアの別名"
+.PP
+キーストアのすべてのエンティティは、一意の別名を使用してアクセスされます。
+.PP
+\fIjarsigner\fRコマンドを使用してJARファイルに署名するときは、署名の生成に必要な秘密鍵を含むキーストア・エントリの別名を指定する必要があります。たとえば、次のコマンドでは、\fIworking\fRディレクトリの\fImystore\fRという名前のキーストアに含まれる別名\fIduke\fRに関連付けられた秘密鍵を使用して、\fIMyJARFile\&.jar\fRという名前のJARファイルに署名します。出力ファイルは指定されていないため、\fIMyJARFile\&.jar\fRは署名付きのJARファイルによって上書きされます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    jarsigner \-keystore /working/mystore \-storepass \fP\f4<キーストアのパスワード>\fP\f3
-.fl
-      \-keypass \fP\f4<非公開鍵のパスワード>\fP\f3 MyJARFile.jar duke
-.fl
-\fP
+jarsigner \-keystore /working/mystore \-storepass <keystore password>
+      \-keypass <private key password> MyJARFile\&.jar duke
 .fi
-
-.LP
-.LP
-キーストアはパスワードで保護されているので、ストアのパスワードを指定する必要があります。コマンド行でストアのパスワードを指定しないと、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているため、非公開鍵のパスワードを指定する必要があります。コマンド行で非公開鍵のパスワードを指定していない、また、指定したパスワートが保存されているパスワードと違っている場合には、非公開鍵のパスワードの入力を求められます。
-.LP
-.SS 
-キーストアの場所
-.LP
-.LP
-\f3jarsigner\fP には、 \f2使用するキーストアの URL を指定する \-keystore\fP があります。キーストア \f2は\fP デフォルトで、 \f2user.home\fP システムプロパティーで決まるユーザーのホームディレクトリの .keystore という名前のファイル内に格納されます。Solaris システムの場合、 \f2user.home\fP のデフォルトはユーザーの home ディレクトリになります。
-.LP
-.LP
-\-keystore オプション \f2に指定した\fP 入力ストリームが \f2KeyStore.load\fP メソッドに渡される点に注意してください。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。 \f2NONE\fP は、 \f2KeyStore\fP がファイルベースではない場合、たとえばそれがハードウェアトークンデバイス上に存在している場合などに指定すべきです。
-.LP
-.SS 
-キーストアの実装
-.LP
-.LP
-java.security パッケージ \f2で提供されている\fP KeyStore クラス \f2は、\fP キーストア内の情報へのアクセスおよび情報の変更を行うための、明確に定義されたインタフェースを提供します。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。
-.LP
-.LP
-現在、キーストアの実装を使用するものとして、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールがあります。KeyStore \f2は\fP public として使用可能なので、Java 2 SDK ユーザーは KeyStore を使ったほかのセキュリティーアプリケーションも作成できます。
-.LP
-.LP
-キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。
-.LP
-.LP
-キーストアの実装は、プロバイダベースです。具体的には、 \f2KeyStore\fP によって提供されるアプリケーションインタフェースが「サービスプロバイダインタフェース」 (SPI) に基づいて実装されます。つまり、対応する抽象クラス \f2KeystoreSpi\fP が同じ \f2java.security\fP パッケージ内に存在しており、このクラスによって、「プロバイダ」が実装する必要のあるサービスプロバイダインタフェースメソッドが定義されています。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、
-.na
-\f2「Java 暗号化アーキテクチャー用プロバイダの実装方法」\fP @
+.if n \{\
+.RE
+.\}
+.PP
+キーストアはパスワードで保護されているので、ストアのパスワードを指定する必要があります。コマンドラインで指定しないと、入力を求められます。同様に、秘密鍵もキーストア内でパスワードによって保護されているため、秘密鍵のパスワードを指定する必要があります。コマンドラインでパスワードを指定していない場合、または指定したパスワートが保存されているパスワードと同じではない場合は、パスワードの入力を求められます。
+.SS "キーストアの場所"
+.PP
+\fIjarsigner\fRコマンドには、使用するキーストアのURLを指定する\fI\-keystore\fRオプションがあります。キーストアはデフォルトで、\fIuser\&.home\fRシステム・プロパティで決まるユーザーのホーム・ディレクトリの\fI\&.keystore\fRという名前のファイル内に格納されます。
+.PP
+Oracle Solarisシステムの場合、\fIuser\&.home\fRは、ユーザーのホーム・ディレクトリにデフォルト設定されます。
+.PP
+\fI\-keystore\fRオプションからの入力ストリームは、\fIKeyStore\&.load\fRメソッドに渡されます。URLとして\fINONE\fRが指定されている場合は、nullのストリームが\fIKeyStore\&.load\fRメソッドに渡されます。\fINONE\fRは、\fIKeyStore\fRクラスがファイルベースではない場合、たとえば、ハードウェア・トークン・デバイスに置かれている場合に指定します。
+.SS "キーストアの実装"
+.PP
+\fIjava\&.security package\fRで提供されている\fIKeyStore\fRクラスは、キーストア内の情報へのアクセスおよび情報の変更を行うための、明確に定義された多くのインタフェースを提供します。複数の異なる固定実装を指定することができ、各実装は特定のタイプのキーストアを対象とします。
+.PP
+現在、キーストアの実装を使用する2つのコマンドライン・ツール(\fIkeytool\fRと\fIjarsigner\fR)、およびポリシー・ツールという名前の1つのGUIベースのツールがあります。\fIKeyStore\fRクラスは公開されているため、JDKユーザーは、それを使用する他のセキュリティ・アプリケーションを書き込むことができます。
+.PP
+Oracleが提供する組込みのデフォルトの実装があります。これは、JKSという名前の独自のキーストア・タイプ(形式)を使用するもので、キーストアをファイルとして実装しています。組込みの実装では、各秘密鍵は個別のパスワードによって保護され、キーストア全体の整合性は(秘密鍵とは別の)パスワードによって保護されます。
+.PP
+キーストアの実装はプロバイダベースで、つまり、\fIKeyStore\fRクラスにより提供されるアプリケーション・インタフェースは、サービス・プロバイダ・インタフェース(SPI)に関して実装されます。対応する\fIKeystoreSpi\fR抽象クラスがあり、これも\fIjava\&.security package\fRに含まれています。このクラスが、プロバイダが実装する必要のあるサービス・プロバイダ・インタフェースのメソッドを定義しています。ここで、プロバイダとは、Java Security APIによってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。キーストアの実装を提供するには、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider\&.htmlにある
+Java暗号化アーキテクチャのプロバイダの実装方法で説明しているように、クライアントはプロバイダを実装し、\fIKeystoreSpi\fRサブクラスの実装を提供する必要があります。
+.PP
+アプリケーションでは、\fIKeyStore\fRクラスの\fIgetInstance\fRファクトリ・メソッドを使用して、様々なプロバイダから異なるタイプのキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の秘密鍵とキーストア自体の整合性を保護するために使用されるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
+.PP
+\fIjarsigner\fRおよび\fIpolicytool\fRコマンドは、URLを使用して指定できる任意の場所からファイルベースのキーストアを読み取ることができます。また、これらのコマンドは、Windows上のMSCAPIおよびすべてのプラットフォーム上のPKCS11で提供されるような非ファイルベースのキーストアを読み取ることができます。
+.PP
+\fIjarsigner\fRコマンドおよび\fIkeytool\fRコマンドの場合、\fI\-storetype\fRオプションを使用して、コマンドラインでキーストアのタイプを指定できます。ポリシー・ツールの場合、\fB「キーストア」\fRメニューの\fB「編集」\fRコマンドを使用して、キーストアのタイプを指定できます。
+.PP
+ユーザーがキーストアのタイプを明示的に指定しなかった場合、セキュリティ・プロパティ・ファイルで指定された\fIkeystore\&.type\fRプロパティの値に基づいて、ツールによってキーストアの実装が選択されます。このセキュリティ・プロパティ・ファイルは\fIjava\&.security\fRと呼ばれ、JDKセキュリティ・プロパティ・ディレクトリ\fIjava\&.home/lib/security\fR内に存在しています。ここで、\fIjava\&.home\fRは実行時環境のディレクトリです。\fIjre\fRディレクトリは、JDKまたはJava Runtime Environment (JRE)の最上位のディレクトリにあります。
+.PP
+各ツールは、\fIkeystore\&.type\fRの値を取得し、そのタイプのキーストアを実装しているプロバイダが見つかるまで、インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使用します。
+.PP
+\fIKeyStore\fRクラスに定義されているstaticメソッド\fIgetDefaultType\fRを使用すると、アプリケーションやアプレットから\fIkeystore\&.type\fRプロパティの値を取得できます。次のコードの行では、\fIkeystore\&.type property\fRで指定された、デフォルトのキーストア・タイプのインスタンスを作成します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+KeyStore keyStore = KeyStore\&.getInstance(KeyStore\&.getDefaultType());
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。
-.LP
-.LP
-アプリケーションでは、KeyStore クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの \f2実装を\fP 選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
-.LP
-.LP
-\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。keytool は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP ツールと \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。
-.LP
-.LP
-\f3jarsigner\fP と \f3keytool\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fP の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアのタイプを指定できます。
-.LP
-.LP
-ユーザーがキーストアのタイプを明示的に指定しなかった場合、ツールは、単純にセキュリティープロパティーファイルで指定された \f2keystore.type\fP プロパティーの値に基づいて、キーストアの実装を選択します。このセキュリティープロパティーファイルは \f2java.security\fP と呼ばれ、SDK セキュリティープロパティーディレクトリ \f2java.home\fP/lib/security 内に存在しています。ここで、\f2java.home\fP は実行時環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment のトップレベルディレクトリ) です。
-.LP
-.LP
-各ツールは、 \f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。
-.LP
-.LP
-\f2KeyStore\fP クラスに定義されている static メソッド \f2getDefaultType\fP を使用すると、アプリケーションやアプレットから \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ \f2(keystore.type プロパティーで指定されたタイプ)\fP のインスタンスを生成します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+デフォルトのキーストア・タイプは、\fIjks\fR
+(Oracleが提供する独自のタイプのキーストアの実装)です。これは、セキュリティ・プロパティ・ファイル内の次の行によって指定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
-.fl
-\fP
+keystore\&.type=jks
 .fi
-
-.LP
-.LP
-デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、\fIJKS\fRは\fIjks\fRと同じになります。
+.PP
+ツールでデフォルト以外のキーストアの実装を使用するには、その行を変更して別のキーストアのタイプを指定します。たとえば、\fIpkcs12\fRと呼ばれるキーストアのタイプのキーストアの実装を提供するプロバイダ・パッケージがある場合、行を次のように変更します。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    keystore.type=jks
-.fl
-\fP
+keystore\&.type=pkcs12
 .fi
-
-.LP
-.LP
-注: キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。
-.LP
-.LP
-各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+\fB注意:\fR
+PKCS 11プロバイダ・パッケージを使用する場合、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/p11guide\&.htmlにある
+Java PKCS #11リファレンス・ガイドの「KeyTool」および「JarSigner」を参照してください。
+.SS "サポートされるアルゴリズム"
+.PP
+デフォルトで、\fIjarsigner\fRコマンドでは次のいずれかのアルゴリズムを使用してJARファイルに署名します。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+SHA1ダイジェスト・アルゴリズムを使用したデジタル署名アルゴリズム(DSA)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+SHA256ダイジェスト・アルゴリズムを使用したRSAアルゴリズム。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+SHA256と楕円曲線デジタル署名アルゴリズム(ECDSA)を使用した楕円曲線(EC)暗号方式アルゴリズム
+.RE
+.PP
+署名者の公開鍵と秘密鍵がDSA鍵である場合、\fIjarsigner\fRは\fISHA1withDSA\fRアルゴリズムを使用してJARファイルに署名します。署名者の鍵がRSA鍵である場合、\fIjarsigner\fRは\fISHA256withRSA\fRアルゴリズムを使用してJARファイルに署名しようとします。署名者の鍵がEC鍵である場合、\fIjarsigner\fRは\fISHA256withECDSA\fRアルゴリズムを使用してJARファイルに署名します。
+.PP
+これらのデフォルトの署名アルゴリズムは、\fI\-sigalg\fRオプションを使用してオーバーライドできます。
+.SS "署名付きJARファイル"
+.PP
+\fIjarsigner\fRコマンドを使用してJARファイルに署名する場合、出力される署名付きJARファイルは入力JARファイルと同じですが、次の2つの追加ファイルがMETA\-INFディレクトリに置かれる点が異なります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\&.SF\fR拡張子の付いた署名ファイル
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\&.DSA\fR、\fI\&.RSA\fRまたは\fI\&.EC\fR拡張子の付いた署名ブロック・ファイル
+.RE
+.PP
+これら2つのファイルのベース・ファイル名は、\fI\-sigFile\fRオプションの値から作成されます。たとえば、オプションが\fI\-sigFile MKSIGN\fRの場合、ファイルは\fIMKSIGN\&.SF\fRおよび\fIMKSIGN\&.DSA\fRという名前になります。
+.PP
+コマンドラインで\fI\-sigfile\fRオプションを指定しなかった場合、\fI\&.SF\fRファイルと\fI\&.DSA\fRファイルのベース・ファイル名は、コマンドラインで指定された別名の先頭の8文字をすべて大文字に変換したものになります。別名が8文字未満の場合は、別名がそのまま使用されます。別名に、署名ファイル名で使用できない文字が含まれている場合、ファイル名の作成時に、該当する文字が下線(_)文字に変換されます。有効な文字は、アルファベット、数字、下線およびハイフンです。
+署名ファイル.PP
+署名ファイル(\fI\&.SF\fRファイル)は、\fIjarsigner\fRコマンドを使用してファイルに署名する際にJARファイルに常に含まれるマニフェスト・ファイルと似ています。JARファイルに含まれているソース・ファイルごとに、\fI\&.SF\fRファイルには、マニフェスト・ファイルにあるような、次に示す3つの行があります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ファイル名
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ダイジェスト・アルゴリズム(SHA)の名前
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+SHAダイジェストの値
+.RE
+.PP
+マニフェスト・ファイルでは、各ソース・ファイルのSHAダイジェストの値は、ソース・ファイルのバイナリ・データのダイジェスト(ハッシュ)になります。\fI\&.SF\fRファイルでは、指定されたソース・ファイルのダイジェストの値は、ソース・ファイルのマニフェスト・ファイル内のその3行のハッシュになります。
+.PP
+署名ファイルには、デフォルトで、マニフェスト・ファイル全体のハッシュが格納されたヘッダーが含まれています。ヘッダーにはマニフェスト・ヘッダーのハッシュも含まれています。ヘッダーが存在すると、検証の最適化が有効になります。JARファイルの検証を参照してください。
+署名ブロック・ファイル.PP
+\fI\&.SF\fRファイルには署名が付けられ、署名は署名ブロック・ファイルに置かれます。このファイルには、署名に使用された秘密鍵に対応する公開鍵を認証するキーストアからの証明書または証明書チェーンも、内部でエンコードされて含まれています。ファイルの拡張子は、使用されるダイジェスト・アルゴリズムに応じて、\fI\&.DSA\fR、\fI\&.RSA\fRまたは\fI\&.EC\fRになります。
+.SS "署名タイムスタンプ"
+.PP
+\fIjarsigner\fRコマンドでは、JARファイルの署名時に署名タイムスタンプを生成および保存できます。さらに、\fIjarsigner\fRは代替署名機構をサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。オプションを参照してください。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    keystore.type=pkcs12
-.fl
-\fP
+\-tsa \fIurl\fR
+\-tsacert \fIalias\fR
+\-altsigner \fIclass\fR
+\-altsignerpath \fIclasspathlist\fR
+\-tsapolicyid \fIpolicyid\fR
 .fi
-
-.LP
-.LP
-PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」にある
-.na
-\f2「KeyTool and JarSigner」\fP @
+.if n \{\
+.RE
+.\}
+.SS "JARファイルの検証"
+.PP
+JARファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以降にJARファイル内のどのファイルも変更されていない場合です。JARファイルの検証は、次の手順で行われます。
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 1.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP "  1." 4.2
+.\}
+\fI\&.SF\fRファイルの署名を検証します。
+.sp
+検証では、各署名ブロック(\fI\&.DSA\fR)ファイルに格納された署名が、証明書(または証明書チェーン)も\fI\&.DSA\fRファイルに示される公開鍵に対応する秘密鍵を使用して生成されたことを確認します。また、署名が対応する署名(\fI\&.SF\fR)ファイルの有効な署名であることが確認され、それにより、\fI\&.SF\fRファイルが改ざんされていないことも確認されます。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 2.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP "  2." 4.2
+.\}
+\fI\&.SF\fRファイル内の各エントリに示されるダイジェストを、マニフェスト内の対応する各セクションと突きあわせて検証します。
+.sp
+\fI\&.SF\fRファイルには、マニフェスト・ファイル全体のハッシュが格納されたヘッダーがデフォルトで含まれています。ヘッダーが存在する場合、検証では、ヘッダー内のハッシュがマニフェスト・ファイルのハッシュと一致するかどうかを確認するためにチェックできます。一致する場合、検証は次の手順に進みます。
+.sp
+一致しない場合、\fI\&.SF\fRファイル内の各ソース・ファイル情報セクションのハッシュが、マニフェスト・ファイル内の対応するセクションのハッシュと一致することを確認するために、あまり最適化されていない検証が必要になります。署名ファイルを参照してください。
+.sp
+\fI\&.SF\fRファイルのヘッダーに格納されたマニフェスト・ファイルのハッシュが、現在のマニフェスト・ファイルのハッシュに一致しない理由の1つは、署名および\fI\&.SF\fRファイルの生成後に、(\fIjar\fRツールを使用して)1つ以上のファイルがJARファイルに追加されたことです。\fIjar\fRツールを使用してファイルを追加した場合、新しいファイル用のセクションが追加されることにより、マニフェスト・ファイルは変更されますが、\fI\&.SF\fRファイルは変更されません。検証がまだ成功しているとみなされるのは、署名の生成以降にJARファイル内のどのファイルも変更されていない場合です。これが発生するのは、\fI\&.SF\fRファイルのヘッダー以外のセクションのハッシュが、マニフェスト・ファイル内の対応するセクションのハッシュと一致する場合です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04' 3.\h'+01'\c
+.\}
+.el \{\
+.sp -1
+.IP "  3." 4.2
+.\}
+\fI\&.SF\fRファイル内にエントリを持つJARファイル内の各ファイルを読み取ります。読取り中にファイルのダイジェストを計算し、結果をマニフェスト・セクション内のこのファイルのダイジェストと比較します。ダイジェストは同じである必要があり、そうでない場合は検証が失敗します。
+.sp
+検証プロセス中になんらかの重大な検証エラーが発生した場合、そのプロセスは停止され、セキュリティ例外がスローされます。\fIjarsigner\fRコマンドでは、例外を捕捉および表示します。
+.RE
+.PP
+\fB注意:\fR
+追加の警告(または、\fI\-strict\fRオプションを指定した場合はエラー)はすべて読む必要があります。同様に、証明が信頼できるかを決定するために、(\fI\-verbose\fRおよび\fI\-certs\fRオプションを指定して)証明書の内容も読む必要があります。
+.SS "1つのJARファイルを対象とする複数の署名"
+.PP
+次のように、\fIjarsigner\fRコマンドをファイルで複数回実行し、実行のたびに異なるユーザーの別名を指定することによって、1つのJARファイルに複数のユーザーの署名を付けることができます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner myBundle\&.jar susan
+jarsigner myBundle\&.jar kevin
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner節を参照してください。
-.LP
-.SS 
-サポートされるアルゴリズム
-.LP
-.LP
-\f3jarsigner\fP はデフォルトで、次のいずれかを使用して JAR ファイルに署名します。
-.LP
-.RS 3
-.TP 2
-o
-SHA1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) 
-.TP 2
-o
-SHA256 ダイジェストアルゴリズムを使用した RSA アルゴリズム 
-.TP 2
-o
-SHA256 と ECDSA (楕円曲線デジタル署名アルゴリズム) を使用した EC (楕円曲線) 暗号方式アルゴリズム 
+.if n \{\
 .RE
-
-.LP
-.LP
-具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は SHA256withRSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が EC 鍵である場合、\f3jarsigner\fP は SHA256withECDSA アルゴリズムを使って JAR ファイルに署名を付けます。
-.LP
-.LP
-これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。
-.LP
-.SS 
-署名付き JAR ファイル
-.LP
-.LP
-\f3jarsigner\fP を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。
-.LP
-.RS 3
-.TP 2
-o
-.SF 拡張子の付いた署名ファイル 
-.TP 2
-o
-.DSA、.RSA、または .EC を拡張子に持つ署名ブロックファイル 
+.\}
+.PP
+JARファイルが複数回署名されている場合、そのJARファイルには、複数の\fI\&.SF\fRファイルと\fI\&.DSA\fRファイルが含まれており、1回の署名に対して1つのペアとなります。前述の例では、出力JARファイルには、次の名前のファイルが含まれています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+SUSAN\&.SF
+SUSAN\&.DSA
+KEVIN\&.SF
+KEVIN\&.DSA
+.fi
+.if n \{\
 .RE
-
-.LP
-.LP
-これら 2 つのファイルのベースファイル名は、 \f2\-sigFile\fP オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。
-.LP
+.\}
+.SH "オプション"
+.PP
+次の各項では、様々な\fIjarsigner\fRオプションについて説明します。次の標準に注意してください。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+どのオプション名にも先頭にマイナス記号(\-)が付きます。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+オプションは任意の順序で指定できます。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+イタリック体または下線付きの項目(オプションの値)の実際の値は、指定する必要があります。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-storepass\fR、\fI\-keypass\fR、\fI\-sigfile\fR、\fI\-sigalg\fR、\fI\-digestalg\fR、\fI\-signedjar\fRおよびTSA関連のオプションを使用できるのは、JARファイルに署名する場合のみです。署名付きJARファイルを検証する場合ではありません。\fI\-keystore \fRオプションは、JARファイルの署名および検証に関連します。また、別名は、JARファイルの署名および検証時に指定します。
+.RE
+.PP
+\-keystore \fIurl\fR
+.RS 4
+キーストアの場所を示すURLを指定します。これにより、\fIuser\&.home\fRシステム・プロパティで決定されたユーザーのホーム・ディレクトリ内のファイル\fI\&.keystore\fRにデフォルト設定されます。
+.sp
+キーストアは署名時には必要です。デフォルトのキーストアが存在しない場合、またはデフォルト以外のキーストアを使用する場合は、キーストアを明示的に指定する必要があります。
+.sp
+検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに\fI\-verbose\fRオプションも指定されていた場合、JARファイルの検証に使用される証明書がそのキーストアに1つでも含まれているかどうかに関する追加情報が出力されます。
+.sp
+\fI\-keystore\fR引数には、URLではなくファイル名とパスを指定でき、この場合、ファイル: URLと同じように処理されます。たとえば、次にように指定すると同等になります。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-\-sigFile MKSIGN
-.fl
-\fP
+\-keystore \fIfilePathAndName\fR
+\-keystore file:\fIfilePathAndName\fR
 .fi
-
-.LP
-.LP
-この場合、ファイル名はそれぞれ MKSIGN.SF と MKSIGN.DSA になります。
-.LP
-.LP
-コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。
-.LP
-\f3署名 (.SF) ファイル\fP
-.LP
-.LP
-署名ファイル (.SF ファイル) は、\f3jarsigner\fP で署名を付けた JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、.SF ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。
-.LP
-.RS 3
-.TP 2
-o
-ファイル名 
-.TP 2
-o
-使われているダイジェストアルゴリズム (SHA) の名前 
-.TP 2
-o
-SHA ダイジェストの値 
+.if n \{\
 .RE
-
-.LP
-.LP
-マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。
-.LP
-.LP
-署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。
-.LP
-\f3署名ブロックファイル\fP
-.LP
-.SF ファイルには署名が付けられ、署名は署名ブロックファイルに置かれます。このファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。ファイルの拡張子は、使用されるダイジェストアルゴリズムに応じて .DSA、.RSA、.EC のいずれかになります。 
-.SS 
-署名タイムスタンプ
-.LP
-.LP
-\f2jarsigner\fP ツールは、JAR ファイルの署名時に署名タイムスタンプを生成して保存できます。さらに、 \f2jarsigner\fP は代替署名機構をサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。
-.LP
-.RS 3
-.TP 2
-o
-\f2\-tsa url\fP 
-.TP 2
-o
-\f2\-tsacert alias\fP 
-.TP 2
-o
-\f2\-altsigner class\fP 
-.TP 2
-o
-\f2\-altsignerpath classpathlist\fP 
+.\}
+(JREの\fI$JAVA_HOME/lib/security directory\fRにある)
+\fIjava\&.security\fRセキュリティ・プロパティ・ファイル内でSun PKCS #11プロバイダが構成された場合、\fIkeytool\fRおよび\fIjarsigner\fRツールはPKCS#11トークンに基づいて動作できます。次のオプションを指定します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-keystore NONE
+\-storetype PKCS11
+.fi
+.if n \{\
 .RE
-
-.LP
-.LP
-これらの各オプションの詳細については、後述の「オプション」節を参照してください。
-.LP
-.SS 
-JAR ファイルの検証
-.LP
-.LP
-JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。
-.LP
-.RS 3
-.TP 3
-1.
-.SF ファイルそれ自体の署名を検証します。 
-.LP
-この手順では、各署名ブロック (.DSA) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って生成されたものであることを確認します。 .DSA ファイルには、公開鍵の証明書 (または証明書チェーン) も含まれています。また、この手順では、目的の署名が、対応する署名 (.SF) ファイル内の有効な署名であるかどうかを調べ、.SF ファイルが改変されていないことも確認します。  
-.TP 3
-2.
-.SF ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き合わせて検証します。 
-.LP
-.SF ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダーがデフォルトで含まれています。このヘッダーが存在する場合は、ヘッダー内のハッシュが実際にマニフェストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致する場合は、次の手順に進みます。 
-.LP
-ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します (「署名 (.SF) ファイル」を参照)。 
-.LP
-.SF ファイルのヘッダーに格納されたマニフェストファイルのハッシュと、実際のマニフェストファイルのハッシュとが一致しない場合は、署名 (および .SF ファイル) の生成後に、JAR ファイルに 1 つ以上のファイルが追加 \f2(jar ツールを使用)\fP された可能性があります。jar \f2ツール\fP を使ってファイルを追加した場合、マニフェストファイルは変更されますが (新しいファイル用のセクションが追加される)、.SF ファイルは変更されません。この場合、.SF ファイルのヘッダー以外のセクションに格納されたハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功したものとして扱われます。  
-.TP 3
-3.
-JAR ファイル内のファイルのうち、.SF ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルのダイジェストを計算し、結果をマニフェストセクション内の該当するファイルのダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない場合は検証が失敗します。 
+.\}
+たとえば、次のコマンドは、構成されたPKCS#11トークンの内容を一覧表示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+keytool \-keystore NONE \-storetype PKCS11 \-list
+.fi
+.if n \{\
 .RE
-
-.LP
-.LP
-検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセスは中止され、セキュリティー例外がスローされます。スローされたセキュリティー例外は、\f3jarsigner\fP がキャッチして表示します。
-.LP
-.SS 
-1 つの JAR ファイルを対象とする複数の署名
-.LP
-.LP
-1 つの JAR ファイルに対して \f3jarsigner\fP ツールを複数回実行し、実行のたびに、異なるユーザーの別名を指定すれば、JAR ファイルに複数のユーザーの署名を付けることができます。
-.LP
+.\}
+.RE
+.PP
+\-storetype \fIstoretype\fR
+.RS 4
+インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストア・タイプは、セキュリティ・プロパティ・ファイル内の\fIkeystore\&.type\fRプロパティの値で指定されたタイプです。この値は、\fIjava\&.security\&.KeyStore\fRのstatic
+\fIgetDefaultType\fRメソッドによって返されます。
+.sp
+\fI\-storepass\fRオプションを使用して、PCKS #11トークンのPINを指定することもできます。何も指定しない場合、\fIkeytool\fRおよび\fIjarsigner\fRコマンドによって、トークンPINの指定を求められます。トークンに保護された認証パス(専用のPINパッドや生体読取り機など)がある場合、\fI\-protected\fRオプションを指定する必要がありますが、パスワード・オプションは指定できません。
+.RE
+.PP
+\-storepass[:env | :file] \fIargument\fR
+.RS 4
+キーストアにアクセスするのに必要なパスワードを指定します。これが必要なのは、JARファイルに署名を付けるときのみです(検証するときには不要です)。その場合、\fI\-storepass\fRオプションをコマンドラインで指定しないと、パスワードの入力を求められます。
+.sp
+修飾子\fIenv\fRまたは\fIfile\fRが指定されていない場合、パスワードの値は\fIargument\fRになります。それ以外の場合、パスワードは次のようにして取得されます。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIenv\fR:
+\fIargument\fRという名前の環境変数からパスワードを取得します。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIfile\fR:
+\fIargument\fRという名前のファイルからパスワードを取得します。
+.RE
+.sp
+\fB注意:\fR
+テストを目的とする場合またはセキュリティ保護されたシステムを使用している場合以外は、コマンドラインやスクリプトでパスワードを指定しないでください。
+.RE
+.PP
+\-keypass [:env | :file] \fIargument\fR
+.RS 4
+コマンドラインで指定された別名に対応するキーストア・エントリの秘密鍵を保護するのに使用するパスワードを指定します。\fIjarsigner\fRを使用してJARファイルに署名を付けるときは、パスワードが必要です。コマンドラインでパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。
+.sp
+修飾子\fIenv\fRまたは\fIfile\fRが指定されていない場合、パスワードの値は\fIargument\fRになります。それ以外の場合、パスワードは次のようにして取得されます。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIenv\fR:
+\fIargument\fRという名前の環境変数からパスワードを取得します。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fIfile\fR:
+\fIargument\fRという名前のファイルからパスワードを取得します。
+.RE
+.sp
+\fB注意:\fR
+テストを目的とする場合またはセキュリティ保護されたシステムを使用している場合以外は、コマンドラインやスクリプトでパスワードを指定しないでください。
+.RE
+.PP
+\-sigfile \fIfile\fR
+.RS 4
+生成された\fI\&.SF\fRファイルおよび\fI\&.DSA\fRファイルに使用するベース・ファイル名を指定します。たとえば、ファイルが\fIDUKESIGN\fRの場合、生成される\fI\&.SF\fRおよび\fI\&.DSA\fRファイルは、\fIDUKESIGN\&.SF\fRおよび\fIDUKESIGN\&.DSA\fRという名前で、署名付きJARファイルの\fIMETA\-INF\fRディレクトリに格納されます。
+.sp
+ファイル内の文字は、セット\fIa\-zA\-Z0\-9_\-\fRから指定される必要があります。アルファベット、数字、下線およびハイフン文字のみを使用できます。\fI\&.SF\fRおよび\fI\&.DSA\fRのファイル名では、小文字はすべて大文字に変換されます。
+.sp
+コマンドラインで\fI\-sigfile\fRオプションを指定しなかった場合、\fI\&.SF\fRファイルと\fI\&.DSA\fRファイルのベース・ファイル名は、コマンドラインで指定された別名の先頭の8文字をすべて大文字に変換したものになります。別名が8文字未満の場合は、別名がそのまま使用されます。別名に、署名ファイル名で無効な文字が含まれている場合、ファイル名を作成するために、該当する文字が下線(_)文字に変換されます。
+.RE
+.PP
+\-sigalg \fIalgorithm\fR
+.RS 4
+JARファイルの署名に使用する署名アルゴリズムの名前を指定します。
+.sp
+標準的な署名アルゴリズム名のリストは、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppAにある
+Java Cryptography Architecture (JCA)リファレンス・ガイドの「付録A: 標準名」を参照してください。
+.sp
+このアルゴリズムには、JARファイルの署名に使用する秘密鍵との互換性が必要です。このオプションを指定しない場合、秘密鍵のタイプに応じて、\fISHA1withDSA\fR、\fISHA256withRSA\fRまたは\fISHA256withECDSA\fRが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、\fI\-providerClass\fRオプションを使用してそのようなプロバイダをユーザーが指定する必要があります。そうでない場合、コマンドは失敗します。
+.RE
+.PP
+\-digestalg \fIalgorithm\fR
+.RS 4
+JARファイルのエントリをダイジェストする際に使用するメッセージ・ダイジェスト・アルゴリズムの名前を指定します。
+.sp
+標準的なメッセージ・ダイジェスト・アルゴリズム名のリストは、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec\&.html#AppAにある
+Java Cryptography Architecture (JCA)リファレンス・ガイドの「付録A: 標準名」を参照してください。
+.sp
+このオプションを指定しない場合、\fISHA256\fRが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、\fI\-providerClass\fRオプションを使用してそのようなプロバイダをユーザーが指定する必要があります。そうでない場合、コマンドは失敗します。
+.RE
+.PP
+\-certs
+.RS 4
+コマンドラインで、\fI\-certs\fRオプションを\fI\-verify\fRおよび\fI\-verbose\fRオプションとともに指定した場合、JARファイルの各署名者の証明書情報が出力に含まれます。この情報には、署名者の公開鍵を証明する証明書(\fI\&.DSA\fRファイルに格納)のタイプの名前が含まれ、証明書がX\&.509証明書(\fIjava\&.security\&.cert\&.X509Certificate\fRのインスタンス)の場合、署名者の識別名が含まれます。
+.sp
+キーストアの確認も行われます。コマンドラインでキーストアの値が指定されていない場合、デフォルトのキーストア・ファイル(ある場合)がチェックされます。署名者の公開鍵の証明書がキーストア内のエントリと一致する場合、その署名者のキーストアのエントリの別名が丸カッコ内に表示されます。
+.RE
+.PP
+\-certchain \fIfile\fR
+.RS 4
+コマンドラインで指定した別名によって表されるキーストア・エントリの秘密鍵に関連付けられた証明書チェーンが完全ではない場合に、使用する証明書チェーンを指定します。これは、証明書チェーン全体を保持するのに十分な領域がないハードウェア・トークン上にキーストアが格納されている場合に発生します。このファイルは一連の連結されたX\&.509証明書、PKCS#7形式の単一データ・ブロックのいずれかとなり、そのエンコーディング形式はバイナリ・エンコーディング形式、Internet RFC 1421標準で規定される印刷可能エンコーディング形式(Base64エンコーディングとも呼ばれる)のいずれかになります。インターネットRFC 1421証明書符号化規格およびhttp://tools\&.ietf\&.org/html/rfc1421を参照してください。
+.RE
+.PP
+\-verbose
+.RS 4
+コマンドラインで\fI\-verbose\fRオプションを指定した場合、冗長モードで動作し、このモードでは、\fIjarsigner\fRは、JARの署名または検証の進行状況に関する追加情報を出力します。
+.RE
+.PP
+\-internalsf
+.RS 4
+以前は、JARファイルの署名時に生成された\fI\&.DSA\fR
+(署名ブロック)ファイルに、生成された\fI\&.SF\fRファイル(署名ファイル)のエンコードされた完全なコピーが含まれていました。 この動作は変更されました。出力JARファイル全体のサイズを小さくするために、デフォルトでは\fI\&.DSA\fRファイルには\fI\&.SF\fRファイルのコピーが含まれないようになっています。コマンドラインで\fI\-internalsf\fRを指定した場合、以前と同じように動作します。このオプションは、テストを行う場合に便利です。実際には、\fI\-internalsf\fRオプションは、オーバーヘッドが大きくなるため、使用しないでください。
+.RE
+.PP
+\-sectionsonly
+.RS 4
+コマンドラインで\fI\-sectionsonly\fRオプションを指定した場合、JARファイルの署名時に生成される\fI\&.SF\fRファイル(署名ファイル)には、マニフェスト・ファイル全体のハッシュを含むヘッダーは含まれません。これに含まれるのは、JARファイル内の各ソース・ファイルに関連する情報およびハッシュのみです。署名ファイルを参照してください。
+.sp
+デフォルトでは、最適化のために、このヘッダーが追加されます。ヘッダーが存在する場合、JARファイルを検証するたびに、検証では、まずヘッダー内のハッシュがマニフェスト・ファイル全体のハッシュと一致するかどうかを確認するためにチェックできます。一致する場合、検証は次の手順に進みます。一致しない場合、\fI\&.SF\fRファイル内の各ソース・ファイル情報セクションのハッシュが、マニフェスト・ファイル内の対応するセクションのハッシュと一致するという、あまり最適化されていない検証を実行する必要があります。JARファイルの検証を参照してください。
+.sp
+\fI\-sectionsonly\fRオプションは、主にテスト用に使用されます。これを使用するとオーバーヘッドが大きくなるため、テスト用以外では使用しないでください。
+.RE
+.PP
+\-protected
+.RS 4
+\fItrue\fRまたは\fIfalse\fRのいずれかの値を指定できます。専用PINリーダーなどの保護された認証パスによってパスワードを指定する必要がある場合、\fItrue\fRを指定します。
+.RE
+.PP
+\-providerClass \fIprovider\-class\-name\fR
+.RS 4
+暗号化サービス・プロバイダが\fIjava\&.security\fRセキュリティ・プロパティ・ファイルに指定されていないときは、そのマスター・クラス・ファイルの名前を指定するときに使用されます。
+.sp
+\fI\-providerArg ConfigFilePath\fRオプションとともに使用し、\fIkeytool\fRおよび\fIjarsigner\fRツールは、プロバイダを動的にインストールし、トークン構成ファイルへのパスに\fIConfigFilePath\fRを使用します。次の例は、Oracle PKCS #11プロバイダがセキュリティ・プロパティ・ファイルに構成されていなかった場合に\fIPKCS #11\fRキーストアを一覧表示するコマンドを示しています。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-  jarsigner myBundle.jar susan
-.fl
-  jarsigner myBundle.jar kevin
-.fl
-\fP
+jarsigner \-keystore NONE \-storetype PKCS11 \e
+          \-providerClass sun\&.security\&.pkcs11\&.SunPKCS11 \e
+          \-providerArg /mydir1/mydir2/token\&.config \e
+          \-list
 .fi
-
-.LP
-.LP
-JAR ファイルが複数回署名されている場合、その JAR ファイルには .SF ファイルと .DSA ファイルの対が複数含まれることになります。 .SF ファイルと .DSA ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力される JAR ファイルには、次の名前を持つファイルが含まれます。
-.LP
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-providerName \fIproviderName\fR
+.RS 4
+\fIjava\&.security\fRセキュリティ・プロパティ・ファイル内で2つ以上のプロバイダが構成された場合、\fI\-providerName\fRオプションを使用して、特定のプロバイダ・インスタンスを対象にすることができます。このオプションの引数は、プロバイダの名前です。
+.sp
+Oracle PKCS #11プロバイダの場合、\fIproviderName\fRは\fISunPKCS11\-\fR\fITokenName\fRという形式になります。ここで、構成属性の表で詳細に説明されているように、\fITokenName\fRは、プロバイダ・インスタンスが構成された名前の接尾辞です。たとえば、次のコマンドは、名前接尾辞\fISmartCard\fRの\fIPKCS #11\fRキーストア・プロバイダ・インスタンスの内容を一覧表示します。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-  SUSAN.SF
-.fl
-  SUSAN.DSA
-.fl
-  KEVIN.SF
-.fl
-  KEVIN.DSA
-.fl
-\fP
+jarsigner \-keystore NONE \-storetype PKCS11 \e
+        \-providerName SunPKCS11\-SmartCard \e
+        \-list
 .fi
-
-.LP
-.LP
-注: JAR ファイルでは、JDK 1.1 の \f3javakey\fP ツールで生成された署名と \f3jarsigner\fP で生成された署名が混在できます。つまり、すでに \f3javakey\fP を使って署名が付けられている JAR ファイルに、\f3jarsigner\fP を使って署名を付けることができます。
-.LP
-.SH "オプション"
-.LP
-.LP
-以下では、\f3jarsigner\fP のオプションについて説明します。注:
-.LP
-.RS 3
-.TP 2
-o
-どのオプション名にも先頭にマイナス記号 (\-) が付く 
-.TP 2
-o
-オプションは任意の順序で指定できる 
-.TP 2
-o
-イタリック体の項目の実際の値 (オプションの値) は、ユーザーが指定する必要がある 
-.TP 2
-o
-\f2\-keystore\fP、 \f2\-storepass\fP、 \f2\-keypass\fP、 \f2\-sigfile\fP、 \f2\-sigalg\fP、 \f2\-digestalg\fP、および \f2\-signedjar\fP オプションを使用できるのは、署名付き JAR ファイルを検証する場合ではなく、JAR ファイルに署名する場合だけです。同様に、別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである 
+.if n \{\
 .RE
-
-.LP
-.RS 3
-.TP 3
-\-keystore url 
-キーストアの場所を示す URL を指定します。デフォルトは、ユーザーのホームディレクトリ内のファイル \f2.keystore\fP です。 ユーザーのホームディレクトリは、user.home システムプロパティーによって決まります。 
-.LP
-署名するときはキーストアが必要です。 このため、デフォルトのキーストアが存在しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、キーストアを明示的に指定する必要があります。 
-.LP
-検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに \f2\-verbose\fP オプションも指定されていた場合、JAR ファイルの検証に使用される証明書がそのキーストアに 1 つでも含まれているかどうかに関する追加情報が出力されます。 
-.LP
-注: \f2\-keystore\fP の引数には、URL の代わりにファイル名 (とパス) を指定できます。 ファイル名 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように指定できます。 
+.\}
+.RE
+.PP
+\-J\fIjavaoption\fR
+.RS 4
+指定された\fIjavaoption\fR文字列をJavaインタプリタに直接渡します。\fIjarsigner\fRコマンドは、インタプリタに対するラッパーです。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。指定できるインタプリタ・オプションを一覧表示するには、コマンドラインで\fIjava \-h\fRまたは\fIjava \-X\fRと入力してください。
+.RE
+.PP
+\-tsa \fIurl\fR
+.RS 4
+\fI\-tsa http://example\&.tsa\&.url\fRがJARファイルの署名時にコマンドラインにある場合、署名のタイムスタンプが生成されます。URL
+\fIhttp://example\&.tsa\&.url\fRは、Time Stamping Authority (TSA)の場所を特定し、\fI\-tsacert\fRオプションを指定して検出されたURLをオーバーライドします。\fI\-tsa\fRオプションでは、TSAの公開鍵証明書をキーストアに配置する必要はありません。
+.sp
+タイムスタンプを生成するために、\fIjarsigner\fRは、RFC 3161で定義されているタイムスタンプ・プロトコル(TSP)を使用してTSAと通信します。成功すると、TSAによって返されたタイムスタンプ・トークンは、署名ブロック・ファイルの署名とともに保存されます。
+.RE
+.PP
+\-tsacert \fIalias\fR
+.RS 4
+\fI\-tsacert alias\fRがJARファイルの署名時にコマンドラインにある場合、署名のタイムスタンプが生成されます。別名は、キーストア内の有効なTSAの公開鍵証明書を特定します。エントリの証明書で、TSAの場所を特定するURLを含むSubject Information Access拡張機能が確認されます。
+.sp
+\fI\-tsacert\fRオプションを使用する場合は、TSAの公開鍵証明書がキーストアに配置されている必要があります。
+.RE
+.PP
+\-tsapolicyid \fIpolicyid\fR
+.RS 4
+TSAサーバーに送信するポリシーIDを識別するオブジェクト識別子(OID)を指定します。このオプションを指定しない場合、ポリシーIDは送信されず、TSAサーバーはデフォルトのポリシーIDを選択します。
+.sp
+オブジェクト識別子は、ITU Telecommunication Standardization Sector (ITU\-T)標準であるX\&.696によって定義されます。これらの識別子は、通常、\fI1\&.2\&.3\&.4\fRなどの、負ではない数字のピリオド区切りのセットです。
+.RE
+.PP
+\-altsigner \fIclass\fR
+.RS 4
+このオプションは、代替署名メカニズムを指定します。完全修飾クラス名は、\fIcom\&.sun\&.jarsigner\&.ContentSigner\fR抽象クラスを拡張するクラス・ファイルを識別します。このクラス・ファイルへのパスは、\fI\-altsignerpath\fRオプションによって定義されます。\fI\-altsigner\fRオプションを使用した場合、\fIjarsigner\fRコマンドでは、指定されたクラスによって提供される署名メカニズムを使用します。それ以外の場合、\fIjarsigner\fRコマンドはデフォルトの署名メカニズムを使用します。
+.sp
+たとえば、\fIcom\&.sun\&.sun\&.jarsigner\&.AuthSigner\fRという名前のクラスが提供する署名メカニズムを使用するには、jarsignerのオプション\fI\-altsigner com\&.sun\&.jarsigner\&.AuthSigner\fRを使用します。
+.RE
+.PP
+\-altsignerpath \fIclasspathlist\fR
+.RS 4
+クラス・ファイルおよびそれが依存するJARファイルへのパスを指定します。\fI\-altsigner\fRオプションを使用して、クラス・ファイル名を指定します。クラス・ファイルがJARファイル内にある場合、このオプションでは、そのJARファイルへのパスを指定します。
+.sp
+絶対パスまたは現在のディレクトリへの相対パスを指定できます。\fIclasspathlist\fRに複数のパスやJARファイルが含まれる場合、それらを、Oracle Solarisの場合はコロン(:)で、Windowsの場合はセミコロン(;)で、それぞれ区切ります。目的のクラスがすでに検索パス内にある場合は、このオプションは不要です。
+.sp
+次の例では、クラス・ファイルを含むJARファイルへのパスを指定する方法を示します。JARファイル名を含めます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-  \-keystore \fP\f4filePathAndName\fP\f3
-.fl
-\fP
+\-altsignerpath /home/user/lib/authsigner\&.jar
 .fi
-.LP
-これは、次の指定と同じものとして扱われます。 
+.if n \{\
+.RE
+.\}
+次の例では、クラス・ファイルを含むJARファイルへのパスを指定する方法を示します。JARファイル名を省略します。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-  \-keystore file:\fP\f4filePathAndName\fP\f3
-.fl
-\fP
+\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/
 .fi
-.LP
-JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 
-.RS 3
-.TP 2
-o
-\f2\-keystore NONE\fP 
-.TP 2
-o
-\f2\-storetype PKCS11\fP 
+.if n \{\
 .RE
-.LP
-たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 
+.\}
+.RE
+.PP
+\-strict
+.RS 4
+署名または検証処理中に、コマンドにより警告メッセージが発行される場合があります。このオプションを指定すると、コマンドにより検出された重大な警告メッセージがツールの終了コードに反映されます。エラーと警告を参照してください。
+.RE
+.PP
+\-verbose \fIsuboptions\fR
+.RS 4
+検証処理の場合、\fI\-verbose\fRオプションには、表示する情報の量を決定するサブオプションを指定します。\fI\-certs\fRオプションも指定した場合、デフォルト・モード(またはサブオプション\fIall\fR)では、エントリが処理されるたびに各エントリが表示され、その後にJARファイルの各署名者の証明書情報も表示されます。\fI\-certs\fRおよび\fI\-verbose:grouped\fRサブオプションを指定した場合、同じ署名者情報を持つエントリが、その証明書情報とともに、グループ化されて表示されます。\fI\-certs\fRおよび\fI\-verbose:summary\fRサブオプションを指定した場合、同じ署名者情報を持つエントリが、その証明書情報とともに、グループ化されて表示されます。各エントリの詳細は、\fI1つのエントリ(以上)\fRにまとめられて表示されます。例を参照してください。
+.RE
+.SH "エラーと警告"
+.PP
+署名または検証プロセス中に、\fIjarsigner\fRコマンドで、様々なエラーまたは警告が発行される可能性があります。
+.PP
+障害がある場合、\fIjarsigner\fRコマンドはコード1で終了します。障害はないが、1つ以上の重大な警告がある場合、\fI\-strict\fRオプションが指定されて\fBいない\fR場合は、\fIjarsigner\fRコマンドはコード0で終了し、\fI\-strict\fRが指定されている場合は警告コードのOR値で終了します。情報警告のみがある、または警告がまったくない場合、コマンドは常にコード0で終了します。
+.PP
+たとえば、エントリの署名に使用される証明書が期限切れで、ファイルの署名を許可しないKeyUsage拡張機能を使用している場合、\fI\-strict\fRオプションが指定されていると、\fIjarsigner\fRコマンドはコード12 (=4+8)で終了します。
+.PP
+\fB注意:\fR
+UNIXベースのオペレーティング・システムでは0から255までの値のみが有効のため、終了コードは再利用されます。
+.PP
+次のセクションでは、\fIjarsigner\fRコマンドにより発行できるエラーおよび警告の名前、コード、説明を記述します。
+.SS "障害"
+.PP
+コマンドライン解析エラー、JARファイルに署名する鍵ペアを検索できない、または署名付きJARファイルの検証失敗など(限定されません)、\fIjarsigner\fRコマンドの失敗理由。
+.PP
+failure
+.RS 4
+コード1。署名または検証が失敗します。
+.RE
+.SS "重大な警告"
+.PP
+\fB注意:\fR
+\fI\-strict\fRオプションを指定した場合、重大な警告はエラーとして報告されます。
+.PP
+JARファイルの署名に使用する証明書にエラーがある、または署名付きJARファイルに他の問題があるなど、\fIjarsigner\fRコマンドが重大な警告を発行する理由。
+.PP
+hasExpiredCert
+.RS 4
+コード4。このjarには、署名者証明書が期限切れのエントリが含まれています。
+.RE
+.PP
+notYetValidCert
+.RS 4
+コード4。このjarには、署名者証明書がまだ有効になっていないエントリが含まれています。
+.RE
+.PP
+chainNotValidated
+.RS 4
+コード4。このjarには、証明書チェーンが正しく検証できないエントリが含まれています。
+.RE
+.PP
+badKeyUsage
+.RS 4
+コード8。このJARには、署名者証明書のKeyUsage拡張機能がコード署名を許可しないエントリが含まれています。
+.RE
+.PP
+badExtendedKeyUsage
+.RS 4
+コード8。このjarには、署名者証明書のExtendedKeyUsage拡張機能がコード署名を許可しないエントリが含まれています。
+.RE
+.PP
+badNetscapeCertType
+.RS 4
+コード8。このjarには、署名者証明書のNetscapeCertType拡張機能がコード署名を許可しないエントリが含まれています。
+.RE
+.PP
+hasUnsignedEntry
+.RS 4
+コード16。このjarには、整合性チェックをしていない未署名のエントリが含まれています。
+.RE
+.PP
+notSignedByAlias
+.RS 4
+コード32。このjarには、指定された別名によって署名されていない署名済エントリが含まれています。
+.RE
+.PP
+aliasNotInStore
+.RS 4
+コード32。このjarには、このキーストア内の別名によって署名されていない署名済エントリが含まれます。
+.RE
+.SS "情報警告"
+.PP
+情報警告には、エラーではないが不適切とみなされるものが含まれます。コードはありません。
+.PP
+hasExpiringCert
+.RS 4
+このjarには、署名者証明書が6か月以内に期限切れとなるエントリが含まれています。
+.RE
+.PP
+noTimestamp
+.RS 4
+このjarには、タイムスタンプを含まない署名が含まれています。タイムスタンプなしでは、署名者証明書の有効期限(\fIYYYY\-MM\-DD\fR)後または将来の取消日後、ユーザーはこのJARファイルを検証できない場合があります。
+.RE
+.SH "例"
+.SS "JARファイルの署名"
+.PP
+次のコマンドを使用して、キーストア別名が\fIworking\fRディレクトリの\fImystore\fRという名前のキーストアにある\fIjane\fRであるユーザーの秘密鍵でbundle\&.jarに署名し、署名付きJARファイルに\fIsbundle\&.jar\fRという名前を付けます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-   jarsigner \-keystore NONE \-storetype PKCS11 \-list
-.fl
-
-.fl
-\fP
+jarsigner \-keystore /working/mystore
+    \-storepass <keystore password>
+    \-keypass <private key password>
+    \-signedjar sbundle\&.jar bundle\&.jar jane
 .fi
-.TP 3
-\-storetype storetype 
-インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアタイプは、セキュリティープロパティーファイル内の keystore.type プロパティーの値で指定されたタイプです。この値は、 \f2java.security.KeyStore\fP の static getDefaultType メソッド \f2で取得できます。\fP. 
-.LP
-\-storepass オプションを使って PCKS#11 トークンの PIN を \f2指定することも\fP できます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。  
-.TP 3
-\-storepass[:env | :file] argument 
-.LP
-キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。その場合、 \f2\-storepass\fP オプションをコマンド行で指定しなかった場合は、新しいパスワードの入力を求められます。 
-.LP
-修飾子 \f2env\fP または \f2file\fP が指定されていない場合、パスワードの値は \f2argument\fP になります。それ以外の場合、パスワードは次のようにして取得されます。 
-.RS 3
-.TP 2
-o
-\f2env\fP: \f2argument\fP という名前の環境変数からパスワードを取得する 
-.TP 2
-o
-\f2file\fP: \f2argument\fP という名前のファイルからパスワードを取得する 
+.if n \{\
 .RE
-.LP
-注: テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。  
-.TP 3
-\-keypass[:env | :file] argument 
-.LP
-コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。 
-.LP
-修飾子 \f2env\fP または \f2file\fP が指定されていない場合、パスワードの値は \f2argument\fP になります。それ以外の場合、パスワードは次のようにして取得されます。 
-.RS 3
-.TP 2
-o
-\f2env\fP: \f2argument\fP という名前の環境変数からパスワードを取得する 
-.TP 2
-o
-\f2file\fP: \f2argument\fP という名前のファイルからパスワードを取得する 
+.\}
+.PP
+前述のコマンドでは\fI\-sigfile\fRが指定されていないため、署名付きJARファイルに格納される生成された\fI\&.SF\fRファイルおよび\fI\&.DSA\fRファイルの名前は、別名に基づいたデフォルトの名前になります。これらは、名前付きの\fIJANE\&.SF\fRおよび\fIJANE\&.DSA\fRです。
+.PP
+ストアのパスワードおよび秘密鍵のパスワードを求められる場合、前述のコマンドを短縮して、次のことを実行できます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner \-keystore /working/mystore
+    \-signedjar sbundle\&.jar bundle\&.jar jane
+.fi
+.if n \{\
 .RE
-.LP
-注: テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。  
-.TP 3
-\-sigfile file 
-.SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。たとえば、\f2file\fP に DUKESIGN を指定すると、生成される .SF ファイルと .DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 これらのファイルは、署名付き JAR ファイルの META\-INF ディレクトリに置かれます。 
-.LP
-\f2file\fP に使用できる文字は「a\-zA\-Z0\-9_\-」です。つまり、文字、数字、下線、およびハイフンだけを使用できます。注: .SF および .DSA のファイル名では、小文字はすべて大文字に変換されます。 
-.LP
-\-sigfile \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。  
-.TP 3
-\-sigalg algorithm 
-JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 
-.LP
-標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」にある 
-.na
-\f2「Appendix A 」\fP @
+.\}
+.PP
+キーストアがデフォルトのキーストア(ホーム・ディレクトリ内の\&.keystore)である場合、次に示すように、キーストアを指定する必要がありません。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner \-signedjar sbundle\&.jar bundle\&.jar jane
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、SHA256withRSA、SHA256withECDSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。  
-.TP 3
-\-digestalg algorithm 
-JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。 
-.LP
-標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」にある 
-.na
-\f2「Appendix A 」\fP @
+.if n \{\
+.RE
+.\}
+.PP
+入力JARファイル(bundle\&.jar)を署名付きJARファイルで上書きする場合、次のように\fI\-signedjar\fRオプションを指定する必要はありません。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner bundle\&.jar jane
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このオプションを指定しなかった場合、SHA256 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。  
-.TP 3
-\-signedjar file 
-署名付き JAR ファイルの名前を指定します。 
-.LP
-コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。  
-.TP 3
-\-verify 
-コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。 JAR ファイルへの署名は行われません。検証が成功すると、「jar verified」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。 
-.LP
-署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。 
-.LP
-検証についての詳細は、「JAR ファイルの検証」を参照してください。  
-.TP 3
-\-certs 
-コマンド行で、 \f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションを指定した場合、JAR ファイルの各署名者の証明書情報が出力に含まれます。証明書情報には次のものが含まれます。 
-.RS 3
-.TP 2
-o
-署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前 
-.TP 2
-o
-証明書が X. 証明書 (つまり、 \f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名 
+.if n \{\
 .RE
-.LP
-キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。 
-.RS 3
-.TP 2
-o
-署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。 ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。 
+.\}
+.SS "署名付きJARファイルの検証"
+.PP
+署名付きJARファイルを検証して、署名が有効でJARファイルが改ざんされなかったことを確認するには、次のようなコマンドを使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner \-verify sbundle\&.jar
+.fi
+.if n \{\
 .RE
-.TP 3
-\-certchain file 
-コマンド行で指定した別名で決まるキーストアエントリの非公開鍵に関連付けられた証明書チェーンが完全でない場合に、使用すべき証明書チェーンを指定します。そのような状態になる可能性があるのは、キーストアがハードウェアトークン上に格納されているが、そこには証明書チェーンの全体を保持できるだけの領域が存在していないような場合です。このファイルは一連の X.509 証明書が順に連結されたもの、PKCS#7 形式の単一データブロックのいずれかとなり、そのエンコーディング形式はバイナリエンコーディング形式、Internet RFC 1421 標準で規定される印刷可能エンコーディング形式 (BASE64 エンコーディングとも呼ばれる) のいずれかになります。 
-.TP 3
-\-verbose 
-コマンド行でこのオプションが指定されている場合、\f3jarsigner\fP は「冗長」モードで動作し、JAR の署名または検証の進行状況に関する追加情報を出力します。 
-.TP 3
-\-internalsf 
-以前は、JAR ファイルの署名時に生成された .DSA (署名ブロック) ファイルの中に、生成された .SF ファイル (署名ファイル) の完全なコピーが符号化された形で含まれていました。この動作は変更されました。この動作は変更になり、現在では、出力 JAR ファイル全体のサイズを小さくするために、デフォルトでは .SF ファイルが .DSA ファイルに含まれないようになっています。ただし、 \f2\-internalsf\fP オプションをコマンド行で指定すると、以前と同じように動作します。\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP 
-.TP 3
-\-sectionsonly 
-コマンド行でこのオプションが指定されている場合、JAR ファイルの署名時に生成される .SF ファイル (署名ファイル) には、マニフェストファイル全体のハッシュを含むヘッダーは追加されません。この場合、.SF ファイルに含まれるのは、JAR ファイル内の各ソースファイルに関する情報およびハッシュだけです。詳細は、「署名 (.SF) ファイル」を参照してください。 
-.LP
-デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します。 
-.LP
-詳細は、「JAR ファイルの検証」を参照してください。 
-.LP
-\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP  
-.TP 3
-\-protected 
-\f2true\fP または \f2false\fP。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値を \f2true\fP に指定してください。 
-.TP 3
-\-providerClass provider\-class\-name 
-サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。 
-.LP
-\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 
+.\}
+.PP
+検証が成功すると、\fIjar verified\fRが表示されます。そうでない場合は、エラー・メッセージが表示されます。\fI\-verbose\fRオプションを使用すると、詳細情報を取得できます。\fIjarsigner\fRを\fI\-verbose\fRオプションとともに使用するサンプルを、次に示します。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\ 
-.fl
-          \-providerClass sun.security.pkcs11.SunPKCS11 \\ 
-.fl
-          \-providerArg /foo/bar/token.config \\ 
-.fl
-          \-list
-.fl
-\fP
+jarsigner \-verify \-verbose sbundle\&.jar
+ 
+           198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF
+           199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF
+          1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA
+    smk   2752 Fri Sep 26 16:12:30 PDT 1997 AclEx\&.class
+    smk    849 Fri Sep 26 16:12:46 PDT 1997 test\&.class
+ 
+      s = signature was verified
+      m = entry is listed in manifest
+      k = at least one certificate was found in keystore
+ 
+    jar verified\&.
 .fi
-.TP 3
-\-providerName providerName 
-\f2java.security\fP セキュリティープロパティーファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前です。 
-.LP
-Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP という形式になります。 ここで「\f2TokenName\fP」は、プロバイダインスタンスが構成された名前の接尾辞です。 詳細は
-.na
-\f2構成属性の表\fP @
+.if n \{\
+.RE
+.\}
+.SS "証明書情報を使用した検証"
+.PP
+\fI\-certs\fRオプションを\fI\-verify\fRおよび\fI\-verbose\fRオプションとともに指定した場合、JARファイルの各署名者の証明書情報が出力に含まれます。この情報には、証明書タイプ、署名者の識別名情報(X\&.509証明書の場合)が含まれ、丸カッコ内には、JARファイルの公開鍵証明書がキーストア・エントリの公開鍵証明書に一致する場合の署名者のキーストア別名が含まれます。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest\&.jar
+ 
+           198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST\&.MF
+           199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.SF
+          1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE\&.DSA
+           208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.SF
+          1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST\&.DSA
+    smk   2752 Fri Sep 26 16:12:30 PDT 1997 Tst\&.class
+ 
+      X\&.509, CN=Test Group, OU=Java Software, O=Oracle, L=CUP, S=CA, C=US (javatest)
+      X\&.509, CN=Jane Smith, OU=Java Software, O=Oracle, L=cup, S=ca, C=us (jane)
+ 
+      s = signature was verified
+      m = entry is listed in manifest
+      k = at least one certificate was found in keystore
+ 
+    jar verified\&.
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSを参照してください。たとえば、以下のコマンドでは、名前接尾辞 \f2SmartCard\fP の PKCS#11 キーストアプロバイダインスタンスの内容をリストします。 
-.nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\ 
-.fl
-        \-providerName SunPKCS11\-SmartCard \\ 
-.fl
-        \-list
-.fl
-\fP
-.fi
-.TP 3
-できますjavaoption 
-指定された \f2javaoption\fP 文字列を Java インタプリタに直接渡します。\f3jarsigner\fP は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。使用可能なインタプリタオプションの一覧を表示するには、 \f2java \-h\fP または \f2java \-X\fP とコマンド行から入力します。 
-.LP
-.TP 3
-\-tsa url 
-\f2「\-tsa http://example.tsa.url」\fP が JAR ファイルの署名時にコマンド行に表示される場合、署名のタイムスタンプが生成されます。URL \f2http://example.tsa.url\fP は、TSA (Time Stamping Authority) の場所を特定します。これは、 \f2\-tsacert\fP オプションで検出された URL をオーバーライドします。 \f2\-tsa\fP オプションでは、TSA の公開鍵証明書をキーストアに配置する必要はありません。 
-.LP
-タイムスタンプを生成するために、 \f2jarsigner\fP は、
-.na
-\f2RFC 3161\fP @
-.fi
-http://www.ietf.org/rfc/rfc3161.txt で定義されている タイムスタンププロトコル (TSP) を使用して TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンは署名ブロックファイルの署名とともに保存されます。 
-.LP
-.TP 3
-\-tsacert alias 
-\f2「\-tsacert alias」\fP が JAR ファイルの署名時にコマンド行に表示される場合、署名のタイムスタンプが生成されます。 \f2alias\fP は、キーストア内の現在有効な TSA の公開鍵証明書を特定します。エントリの証明書で、TSA の場所を特定する URL を含む Subject Information Access 拡張機能が確認されます。 
-.LP
-TSA の公開鍵証明書は、 \f2\-tsacert を使った場合、キーストアに配置されている必要があります。\fP. 
-.LP
-.TP 3
-\-altsigner class 
-代替署名機構を使用することを指定します。完全修飾クラス名は、com.sun.jarsigner.ContentSigner 抽象クラスを拡張するクラスファイルを \f2特定します。\fP. このクラスファイルへのパスは、 \f2\-altsignerpath\fP オプションによって定義されます。 \f2\-altsigner\fP オプションが使用されると、 \f2jarsigner\fP は、指定されたクラスが提供する署名機構を使用します。そうでない場合、 \f2jarsigner\fP はデフォルトの署名機構を使用します。 
-.LP
-たとえば、 \f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、 \f2jarsigner\fP オプション \f2「\-altsigner com.sun.jarsigner.AuthSigner」を使用します。\fP 
-.LP
-.TP 3
-\-altsignerpath classpathlist 
-クラスファイル (そのクラスファイル名は前述の \f2\-altsigner\fP オプションで指定される) およびそのクラスが依存するすべての JAR ファイルへのパスを指定します。クラスファイルが JAR ファイル内にある場合、以下の例のように JAR ファイルへのパスが指定されます。 
-.LP
-絶対パスまたは現在のディレクトリからの相対パスを指定できます。 \f2classpathlist\fP に複数のパスや JAR ファイルが含まれる場合には、それらを Solaris の場合はコロン (\f2:\fP) で、Windows の場合はセミコロン (\f2;\fP) でそれぞれ区切ります。目的のクラスがすでに検索パス内にある場合は、このオプションは不要です。 
-.LP
-クラスファイルを含む、JAR ファイルへのパスを指定する例を示します。 
-.nf
-\f3
-.fl
-\-altsignerpath /home/user/lib/authsigner.jar
-.fl
-\fP
-.fi
-.LP
-JAR ファイル名が含まれていることに注意してください。 
-.LP
-クラスファイルを含む JAR ファイルへのパスを指定する例を示します。 
-.nf
-\f3
-.fl
-\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/
-.fl
-\fP
-.fi
-.LP
-JAR ファイル名は含まれていないことに留意してください。  
-.TP 3
-\-strict 
-署名または検証処理中に、何らかの警告メッセージが表示される場合があります。コマンド行でこのオプションを指定すると、見つかった警告メッセージがツールの終了コードに反映されます。詳細は「警告」の項を参照してください。 
-.TP 3
-\-verbose:sub\-options 
-検証処理で、 \f2\-verbose\fP オプションは、表示する情報の量を決定するサブオプションを取ります。 \f2\-certs\fP も指定した場合、デフォルトモード (またはサブオプション all) では、エントリが処理されるたびにそれらの各エントリが表示され、そのあとに JAR ファイルの各署名者の証明書情報も表示されます。 \f2\-certs\fP と \f2\-verbose:grouped\fP サブオプションを指定した場合、同じ署名者情報を持つエントリとその証明書情報が、いっしょにグループ化されて表示されます。 \f2\-certs\fP と \f2\-verbose:summary\fP サブオプションを指定した場合、同じ署名者情報を持つエントリとその証明書情報がいっしょにグループ化されて表示されますが、各エントリの詳細が「1 つのエントリ (およびそれ以上)」として要約されて表示されます。詳細は例の項を参照してください。 
+.if n \{\
 .RE
-
-.LP
-.SH "例"
-.LP
-.SS 
-JAR ファイルの署名
-.LP
-.LP
-bundle.jar という名前の JAR ファイルがあるとします。このファイルに、キーストアの別名が jane であるユーザーの非公開鍵を使って、署名を付けるとします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-keystore /working/mystore \-storepass \fP\f4<キーストアのパスワード>\fP\f3
-.fl
-      \-keypass \fP\f4<非公開鍵のパスワード>\fP\f3 \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-上のコマンドでは \f2\-sigfile\fP が指定されていないため、署名付き JAR ファイルに格納される .SF ファイルと .DSA ファイルの名前は、別名からデフォルト名がつけられます。つまり、それらの名前は \f2JANE.SF\fP および \f2JANE.DSA\fP になります。
-.LP
-.LP
-ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、上のコマンドを短縮して次のように入力できます。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-keystore /working/mystore
-.fl
-      \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-デフォルトのキーストア (ホームディレクトリ内の .keystore という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を省略できます。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-最後に、入力 JAR ファイル (\f2bundle.jar\fP) を署名付き JAR ファイルで単純に上書きする場合は、次のように \f2\-signedjar\fP オプションを指定する必要はありません。
-.LP
-.nf
-\f3
-.fl
-    jarsigner bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.SS 
-署名付き JAR ファイルの検証
-.LP
-.LP
-次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが改変されていないことを確認するためのコマンド例です。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-verify sbundle.jar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-検証が成功すると、次のようなメッセージが表示されます。
-.LP
-.nf
-\f3
-.fl
-    jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-というプロンプトが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。
-.LP
-.LP
-\-verbose オプションを使うと、 \f2より多くの情報が\fP 表示されます。\-verbose オプション付きで \f3jarsigner\fP \f2を使用する例とその出力例を、\fP 次に示します。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-verify \-verbose sbundle.jar
-.fl
-
-.fl
-           198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
-.fl
-           199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
-.fl
-          1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
-.fl
-    smk   2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class
-.fl
-    smk    849 Fri Sep 26 16:12:46 PDT 1997 test.class
-.fl
-
-.fl
-      s = 署名が検証されました
-.fl
-      m = マニフェストにエントリが記載されています
-.fl
-      k = キーストアで 1 つ以上の証明書が見つかりました
-.fl
-
-.fl
-    JAR が検証されました。
-.fl
-\fP
-.fi
-
-.LP
-.SS 
-証明書情報を使った検証
-.LP
-.LP
-検証時に \-verify と \-verbose オプションに加えて \f2\-certs\fP オプションを指定した場合は、 および JAR ファイルの各署名者の証明書情報も出力されます。これには、証明書タイプ、署名者識別名情報 (X.509 証明書の場合のみ)、および JAR ファイルの公開鍵の証明書がキーストアエントリの証明書に一致した場合には、括弧で囲まれた署名者のキーストア別名が含まれます。たとえば、
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar
-.fl
-
-.fl
-           198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
-.fl
-           199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
-.fl
-          1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
-.fl
-           208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF
-.fl
-          1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA
-.fl
-    smk   2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class
-.fl
-
-.fl
-      X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
-.fl
-      X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
-.fl
-
-.fl
-      s = 署名が検証されました
-.fl
-      m = マニフェストにエントリが記載されています
-.fl
-      k = キーストアで 1 つ以上の証明書が見つかりました
-.fl
-
-.fl
-    JAR が検証されました。
-.fl
-\fP
-.fi
-
-.LP
-.LP
-署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されません。その場合には、証明書のタイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の場合は、次のように表示されます。
-.LP
-.nf
-\f3
-.fl
-      PGP, (bob)
-.fl
-\fP
-.fi
-
-.LP
-.SS 
-アイデンティティーデータベースの署名者を含む JAR ファイルの検証
-.LP
-.LP
-JAR ファイルが、JDK 1.1 の \f3javakey\fP ツールを使って署名されている場合、署名者はアイデンティティーデータベース内の別名です。この場合、検証の出力には i という記号が含まれます。JAR ファイルが、アイデンティティーデータベース内の別名とキーストア内の別名の両方によって署名されている場合は、k と i の両方が表示されます。
-.LP
-.LP
-\f2\-certs\fP オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティティーデータベース内の別名は角括弧で囲まれて表示されます。次に例を示します。
-.LP
-.nf
-\f3
-.fl
-    jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
-.fl
-
-.fl
-           198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF
-.fl
-           199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF
-.fl
-          1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA
-.fl
-           199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF
-.fl
-          1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA
-.fl
-   smki   2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
-.fl
-
-.fl
-      X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
-.fl
-      X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
-.fl
-
-.fl
-      s = 署名が検証されました
-.fl
-      m = マニフェストにエントリが記載されています
-.fl
-      k = キーストアで 1 つ以上の証明書が見つかりました
-.fl
-      i = アイデンティティースコープで 1 つ以上の証明書が見つかりました
-.fl
-
-.fl
-    JAR が検証されました。
-.fl
-\fP
-.fi
-
-.LP
-.LP
-別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、アイデンティティーデータベースの別名です。
-.LP
-.SH "警告"
-.LP
-署名/検証処理中には、jarsigner からさまざまな警告が表示される可能性があります。これらの警告コードは次のように定義されています。 
-.nf
-\f3
-.fl
-         hasExpiringCert         2
-.fl
-             この JAR に含まれるエントリの署名者の証明書が 6 か月以内に期限切れになります
-.fl
-
-.fl
-         hasExpiredCert          4
-.fl
-             この JAR に含まれるエントリの署名者の証明書が期限切れになっています。
-.fl
-
-.fl
-         notYetValidCert         4
-.fl
-             この JAR に含まれるエントリの署名者の証明書がまだ有効になっていません。
-.fl
-
-.fl
-         chainNotValidated       4
-.fl
-             この JAR に含まれるエントリの証明書チェーンの検証を正しく行えません。
-.fl
-
-.fl
-         badKeyUsa ge             8
-.fl
-             この JAR に含まれるエントリの署名者の証明書の KeyUsage 拡張がコードの署名を許可していません。
-.fl
-
-.fl
-         badExtendedKeyUsage     8
-.fl
-             この JAR に含まれるエントリの署名者の証明書の ExtendedKeyUsage 拡張が
-.fl
-             コードの署名を許可していません。
-.fl
-
-.fl
-         badNetscapeCertType     8
-.fl
-             この JAR に含まれるエントリの署名者の証明書の NetscapeCertType 拡張が
-.fl
-             コードの署名を許可していません。
-.fl
-
-.fl
-         hasUnsignedEntry        16
-.fl
-             この JAR には、完全性チェックが行われていない署名なしエントリが含まれています。
-.fl
-
-.fl
-         notSignedByAlias        32
-.fl
-             この JAR には、指定された別名によって署名されていない署名付きエントリが含まれています
-.fl
-
-.fl
-         aliasNotInStore         32
-.fl
-             この JAR には、このキーストアの別名によって署名されていない署名付きエントリが含まれています
-.fl
-
-.fl
-\fP
-.fi
-
-.LP
-.LP
-\f2\-strict\fP オプションを指定した場合、検出された警告の OR を取った値がツールの終了コードとして返されます。たとえば、エントリの署名に使用される証明書が期限切れになっていて、かつその証明書の keyUsage 拡張でファイルの署名が許可されていない場合、終了コード 12 (=4+8) が返されます。
-.LP
-.LP
-\f3注\fP: UNIX で使用可能な値は 0 から 255 だけであるため、終了コードは再利用されます。いずれにしても、署名/検証処理が失敗すると、次の終了コードが返されます。
-.LP
-.nf
-\f3
-.fl
-failure                 1
-.fl
-\fP
-.fi
-
-.LP
-.SS 
-JDK 1.1 との互換性
-.LP
-.LP
-\f3keytool\fP ツールと \f3jarsigner\fP ツールは、JDK 1.1 で提供されていた \f3javakey\fP ツールを完全に置き換えるものです。これらの新しいツールは、キーストアと非公開鍵をパスワードで保護する機能や、署名の生成に加えて署名を検証する機能など、\f3javakey\fP より多くのを機能を備えています。
-.LP
-.LP
-新しいキーストアアーキテクチャーは、\f3javakey\fP が作成して管理していたアイデンティティーデータベースに代わるものです。キーストア形式と、JDK 1.1 の \f3javakey\fP が使っていたデータベース形式との間には下位互換性はありません。ただし、次のことは可能です。
-.LP
-.RS 3
-.TP 2
-o
-\f3keytool\fP の \f2\-identitydb\fP コマンドを使うと、アイデンティティーデータベースの情報をキーストアにインポートできます。 
-.TP 2
-o
-\f3jarsigner\fP は、以前に \f3javakey\fP を使って署名された JAR ファイルに署名を付けることができます。 
-.TP 2
-o
-\f3jarsigner\fP は、\f3javakey\fPを使って署名された JAR ファイルを検証できます。したがって、jarsigner は、Java 2 SDK のキーストアではなく JDK 1.1 のアイデンティティーデータベースからの署名者別名を認識し、これらを対象に処理を行うことができます。 
+.\}
+.PP
+署名者の証明書がX\&.509証明書ではない場合、識別名情報は表示されません。その場合には、証明書のタイプと別名のみが表示されます。たとえば、証明書がPGP証明書で、別名が\fIbob\fRである場合、\fIPGP, (bob)\fRを取得します。
+.SH "関連項目"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+jar(1)
 .RE
-
-.LP
-.LP
-次の表は、JDK 1.1.x で署名された JAR ファイルが、Java 2 プラットフォームでどのように扱われるかを示しています。
-.LP
-.LP
-.TS
-.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
-.de 35
-.ps \n(.s
-.vs \n(.vu
-.in \n(.iu
-.if \n(.u .fi
-.if \n(.j .ad
-.if \n(.j=0 .na
-..
-.nf
-.nr #~ 0
-.if n .nr #~ 0.6n
-.ds #d .d
-.if \(ts\n(.z\(ts\(ts .ds #d nl
-.fc
-.nr 33 \n(.s
-.rm 80 81 82 83 84
-.nr 34 \n(.lu
-.eo
-.am 80
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+keytool(1)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/tutorial/security/index\&.htmlにある
+「コース: Java SEのセキュリティ機能」
+.RE
 .br
-.di a+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f3JAR ファイルのタイプ\fP
-.br
-.di
-.nr a| \n(dn
-.nr a- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di b+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-\f31.1 データベース内のアイデンティティー\fP
-.br
-.di
-.nr b| \n(dn
-.nr b- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di c+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f31.1 データベースから Java 2 Platform キーストアにインポートされる信頼できるアイデンティティー (4)\fP
-.br
-.di
-.nr c| \n(dn
-.nr c- \n(dl
-..
-.ec \
-.eo
-.am 83
-.br
-.di d+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(83 .ll \n(83u
-.in 0
-\f3ポリシーファイルがアイデンティティー/別名に特権を与える\fP
-.br
-.di
-.nr d| \n(dn
-.nr d- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di e+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権
-.br
-.di
-.nr e| \n(dn
-.nr e- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di f+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権
-.br
-.di
-.nr f| \n(dn
-.nr f- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di g+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権
-.br
-.di
-.nr g| \n(dn
-.nr g- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di h+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-あり/信頼できない
-.br
-.di
-.nr h| \n(dn
-.nr h- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di i+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権(3)
-.br
-.di
-.nr i| \n(dn
-.nr i- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di j+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-あり/信頼できない
-.br
-.di
-.nr j| \n(dn
-.nr j- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di k+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権(1,3)
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権とポリシーファイル内で与えられる特権
-.br
-.di
-.nr l| \n(dn
-.nr l- \n(dl
-..
-.ec \
-.eo
-.am 84
-.br
-.di m+
-.35
-.ft \n(.f
-.ll \n(34u*1u/6u
-.if \n(.l<\n(84 .ll \n(84u
-.in 0
-すべてのコードに与えられるデフォルトの特権とポリシーファイル内で与えられる特権(2)
-.br
-.di
-.nr m| \n(dn
-.nr m- \n(dl
-..
-.ec \
-.35
-.nf
-.ll \n(34u
-.nr 80 0
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名のない JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w署名付き JAR
-.if \n(80<\n(38 .nr 80 \n(38
-.80
-.rm 80
-.nr 38 \n(a-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 81 0
-.nr 38 \wなし
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wなし
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wなし
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wなし
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wあり/信頼できる
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wあり/信頼できる
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wあり/信頼できる
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wあり/信頼できる
-.if \n(81<\n(38 .nr 81 \n(38
-.81
-.rm 81
-.nr 38 \n(b-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(h-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(j-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 82 0
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wあり
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wあり
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wあり
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wあり
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wなし
-.if \n(82<\n(38 .nr 82 \n(38
-.82
-.rm 82
-.nr 38 \n(c-
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 83 0
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wあり
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wあり
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wあり
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wなし
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 38 \wあり
-.if \n(83<\n(38 .nr 83 \n(38
-.83
-.rm 83
-.nr 38 \n(d-
-.if \n(83<\n(38 .nr 83 \n(38
-.nr 84 0
-.nr 38 \w\f3与えられる特権\fP
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \wすべての特権
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \wすべての特権 (1)
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \wすべての特権 (1)
-.if \n(84<\n(38 .nr 84 \n(38
-.84
-.rm 84
-.nr 38 \n(e-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(f-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(g-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(i-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(k-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(l-
-.if \n(84<\n(38 .nr 84 \n(38
-.nr 38 \n(m-
-.if \n(84<\n(38 .nr 84 \n(38
-.35
-.nf
-.ll \n(34u
-.nr 38 1n
-.nr 79 0
-.nr 40 \n(79+(0*\n(38)
-.nr 80 +\n(40
-.nr 41 \n(80+(3*\n(38)
-.nr 81 +\n(41
-.nr 42 \n(81+(3*\n(38)
-.nr 82 +\n(42
-.nr 43 \n(82+(3*\n(38)
-.nr 83 +\n(43
-.nr 44 \n(83+(3*\n(38)
-.nr 84 +\n(44
-.nr TW \n(84
-.if t .if \n(TW>\n(.li .tm Table at line 1078 file Input is too wide - \n(TW units
-.fc  
-.nr #T 0-1
-.nr #a 0-1
-.eo
-.de T#
-.ds #d .d
-.if \(ts\n(.z\(ts\(ts .ds #d nl
-.mk ##
-.nr ## -1v
-.ls 1
-.ls
-..
-.ec
-.ne \n(a|u+\n(.Vu
-.ne \n(b|u+\n(.Vu
-.ne \n(c|u+\n(.Vu
-.ne \n(d|u+\n(.Vu
-.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
-.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
-.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
-.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3与えられる特権\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(40u
-.in +\n(37u
-.a+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.b+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(##u-1v
-.nr 37 \n(42u
-.in +\n(37u
-.c+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(##u-1v
-.nr 37 \n(43u
-.in +\n(37u
-.d+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(e|u+\n(.Vu
-.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.e+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(f|u+\n(.Vu
-.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名のない JAR\h'|\n(41u'なし\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.f+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(g|u+\n(.Vu
-.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'あり\h'|\n(43u'なし\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.g+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(h|u+\n(.Vu
-.ne \n(i|u+\n(.Vu
-.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
-.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.h+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.i+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(j|u+\n(.Vu
-.ne \n(k|u+\n(.Vu
-.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
-.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'\h'|\n(42u'なし\h'|\n(43u'あり\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.j+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.k+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(l|u+\n(.Vu
-.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'あり\h'|\n(43u'あり\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(m|u+\n(.Vu
-.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'あり\h'|\n(43u'あり\h'|\n(44u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(44u
-.in +\n(37u
-.m+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u'すべての特権
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'あり\h'|\n(43u'なし\h'|\n(44u'すべての特権 (1)
-.ta \n(80u \n(81u \n(82u \n(83u \n(84u 
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'なし\h'|\n(43u'あり\h'|\n(44u'すべての特権 (1)
-.fc
-.nr T. 1
-.T# 1
-.35
-.rm a+
-.rm b+
-.rm c+
-.rm d+
-.rm e+
-.rm f+
-.rm g+
-.rm h+
-.rm i+
-.rm j+
-.rm k+
-.rm l+
-.rm m+
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-50
-
-.LP
-.LP
-注 \-
-.LP
-.RS 3
-.TP 3
-1.
-ポリシーファイル内にアイデンティティー/別名についての言及がある場合、それをキーストアにインポートして、ポリシーファイルの設定が与えられた特権に反映されるようにする必要があります。 
-.TP 3
-2.
-ポリシーファイル/キーストアの組み合わせは、アイデンティティーデータベース内の信頼できるアイデンティティーよりも優先されます。 
-.TP 3
-3.
-Java 2 プラットフォームでは、信頼できないアイデンティティーは無視されます。 
-.TP 3
-4.
-Java 2 SDK キーストアにインポートできるのは、信頼できるアイデンティティーだけです。 
-.RE
-
-.LP
-.SH "関連項目"
-.LP
-.RS 3
-.TP 2
-o
-jar(1) ツールのドキュメント 
-.TP 2
-o
-keytool(1) ツールのドキュメント 
-.TP 2
-o
-.na
-\f4jarsigner\fP\f2 ツールの使用例については、\fP @
-.fi
-http://download.oracle.com/javase/tutorial/security/index.html
-.na
-\f2「Java チュートリアル」\fP\f4の\fP @
-.fi
-http://download.oracle.com/javase/tutorial/index.html「Security」\f3を参照\fP 
-.RE
-
-.LP
- 
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/java.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/java.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,509 +1,2553 @@
-." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH java 1 "07 May 2011"
-
-.LP
-.SH "名前"
-java \- Java アプリケーション起動ツール
-.LP
-.RS 3
-.TP 2
-o
-形式 
-.TP 2
-o
-説明 
-.TP 2
-o
-オプション 
-.TP 2
-o
-関連項目 
+'\" t
+.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: java
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: 基本ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "java" "1" "2013年11月21日" "JDK 8" "基本ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+java \- Javaアプリケーションを起動します。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjava\fR [\fIoptions\fR] \fIclassname\fR [\fIargs\fR]
+.fi
+.if n \{\
 .RE
-
-.LP
-.SH "形式"
-.LP
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-    \fP\f3java\fP [ options ] class [ argument ... ]
-.fl
-    \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ]
-.fl
+\fIjava\fR [\fIoptions\fR] \fI\-jar\fR \fIfilename\fR [\fIargs\fR]
 .fi
-
-.LP
-.RS 3
-.TP 3
-options 
-コマンド行オプション。 
-.TP 3
-class 
-呼び出されるクラスの名前 
-.TP 3
-file.jar 
-呼び出される JAR ファイルの名前。必ず \f2\-jar\fP とともに使用する 
-.TP 3
-argument 
-\f3main\fP 関数に渡される引数 
+.if n \{\
 .RE
-
-.LP
+.\}
+.PP
+\fIoptions\fR
+.RS 4
+空白で区切られたコマンドライン・オプション。オプションを参照してください。
+.RE
+.PP
+\fIclassname\fR
+.RS 4
+起動するクラスの名前。
+.RE
+.PP
+\fIfilename\fR
+.RS 4
+呼び出されるJavaアーカイブ(JAR)ファイルの名前。\fI\-jar\fRオプションと一緒にのみ使用します。
+.RE
+.PP
+\fIargs\fR
+.RS 4
+空白で区切られた\fImain()\fRメソッドに渡される引数。
+.RE
 .SH "説明"
-.LP
-.LP
-\f3java\fP ツールは、Java アプリケーションを起動します。java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、そのクラスの \f3main\fP メソッドを呼び出すことにより、Java アプリケーションを起動します。
-.LP
-.LP
-このメソッドは、public および static として宣言する必要があります。 また、値を返してはいけません。 さらに、 \f2String\fP 配列をパラメータとして指定できなければなりません。メソッドの宣言は、次のようになっていなければなりません。
-.LP
+.PP
+\fIjava\fRコマンドはJavaアプリケーションを開始します。Java Runtime Environment (JRE)を起動した後、指定したクラスをロードし、そのクラスの\fImain()\fRメソッドを呼び出すことにより、これを行います。このメソッドは、\fIpublic\fRおよび\fIstatic\fRとして宣言する必要があります。また、値は返せません。さらに、\fIString\fR配列をパラメータとして指定できる必要があります。メソッド宣言は次の形式を含みます。
+.sp
+.if n \{\
+.RS 4
+.\}
 .nf
-\f3
-.fl
-public static void main(String args[])
-.fl
-\fP
+public static void main(String[] args)
 .fi
-
-.LP
-.LP
-デフォルトでは、コマンド行オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。\f3\-jar\fP オプションを指定した場合、コマンド行オプション以外の最初の引数が、アプリケーションのクラスファイルとリソースファイルを含む \f3JAR\fP アーカイブの名前になります。この場合、マニフェストの \f3Main\-Class\fP ヘッダーで指定されたクラスが起動クラスになります。
-.LP
-.LP
-Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、およびユーザークラスパスの 3 箇所から起動クラスと他の使用されているクラスを検索します。
-.LP
-.LP
-クラス名または JAR ファイル名のあとにある、コマンド行オプション以外の引数は、\f3main\fP 関数に渡されます。
-.LP
+.if n \{\
+.RE
+.\}
+.PP
+\fIjava\fRコマンドを使用して、\fImain()\fRメソッドがあるか\fIjavafx\&.application\&.Application\fRを拡張するクラスをロードすることで、JavaFXアプリケーションを起動できます。後者の場合、起動ツールは\fIApplication\fRクラスのインスタンスを構成し、その\fIinit()\fRメソッドをコールし、\fIstart(javafx\&.stage\&.Stage)\fRメソッドをコールします。
+.PP
+デフォルトでは、\fIjava\fRコマンドのオプションではない最初の引数は、呼び出されるクラスの完全修飾名です。\fI\-jar\fRオプションを指定した場合、その引数は、アプリケーションのクラス・ファイルとリソース・ファイルを含むJARファイルの名前になります。起動クラスは、ソース・コードの\fIMain\-Class\fRマニフェスト・ヘッダーによって指定される必要があります。
+.PP
+JREは、ブートストラップ・クラス・パス、インストール済拡張機能およびユーザーのクラス・パスの3箇所から、起動クラス(およびアプリケーションで使用されている他のクラス)を検索します。
+.PP
+クラス・ファイル名またはJARファイル名の後の引数は、\fImain()\fRメソッドに渡されます。
 .SH "オプション"
-.LP
-.LP
-起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。これは、将来のリリースで変更される可能性があります。
-.LP
-.SH "標準オプション"
-.LP
-.RS 3
-.TP 3
-\-client 
-.LP
-Java HotSpot Client VM を選択します。64 ビット対応 JDK は現時点では、このオプションを無視し、代わりに Java Hotspot Server VM を使用します。 
-.LP
-デフォルトの VM の選択については、
-.na
-\f2「サーバー \- クラスマシンの検出」\fP @
+.PP
+\fIjava\fRコマンドは、次のカテゴリに分類できる広範なオプションをサポートしています。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+標準オプション
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+非標準オプション
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+高度なランタイム・オプション
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+高度なJITコンパイラ・オプション
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+高度なサービスアビリティ・オプション
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+高度なガベージ・コレクション・オプション
+.RE
+.PP
+標準のオプションは、Java Virtual Machine (JVM)のすべての実装でサポートすることが保証されます。これらは、JREのバージョンの確認、クラス・パスの設定、冗長な出力の有効化などの一般的なアクションに使用されます。
+.PP
+標準以外のオプションは、Java HotSpot仮想マシンに固有の汎用オプションであるため、すべてのJVM実装でサポートされることは保証されず、変更される可能性があります。これらのオプションは\fI\-X\fRで開始します。
+.PP
+拡張オプションは、不用意に使用しないことをお薦めします。これらは、特定のシステム要件を持つことが多く、システム構成パラメータへの特権アクセスが必要な場合があるJava HotSpot仮想マシン操作の特定の領域を調整するために使用される開発者オプションです。これらは、すべてのJVM実装でサポートされることは保証されず、変更される可能性があります。拡張オプションは\fI\-XX\fRで始まります。
+.PP
+最新リリースで非推奨または削除されるオプションを追跡するために、ドキュメントの最後に非推奨で削除されたオプションという名前のセクションがあります。
+.PP
+ブール・オプションは、デフォルトで無効になっている機能を有効にしたり、デフォルトで有効になっている機能を無効にするために使用されます。このようなオプションは、パラメータを必要としません。ブール値\fI\-XX\fRオプションは、プラス記号(\fI\-XX:+\fR\fIOptionName\fR)を使用して有効にし、マイナス記号(\fI\-XX:\-\fR\fIOptionName\fR)を使用して無効にします。
+.PP
+引数が必要なオプションの場合、引数は、オプション名を空白、コロン(:)または等号(=)で区切ったものになるか、あるいは引数がオプションの後に直接続く場合もあります(正確な構文は各オプションによって異なります)。サイズをバイト単位で指定するよう求められている場合、接尾辞を使用しないか、あるいはキロバイト(KB)には接尾辞\fIk\fRまたは\fIK\fR、メガバイト(MB)には接尾辞\fIm\fRまたは\fIM\fR、ギガバイト(GB)には接尾辞\fIg\fRまたは\fIG\fRを使用します。たとえば、サイズを8GBに設定するには、\fI8g\fR、\fI8192m\fR、\fI8388608k\fRまたは\fI8589934592\fRのいずれかを引数として指定できます。パーセントの指定が必要な場合は、0から1の数値を使用します(たとえば、25%の場合は\fI0\&.25\fRを指定します)。
+.SS "標準オプション"
+.PP
+これらは、JVMのすべての実装でサポートされる最も一般的に使用されるオプションです。
+.PP
+\-agentlib:\fIlibname\fR[=\fIoptions\fR]
+.RS 4
+指定したネイティブ・エージェント・ライブラリをロードします。ライブラリ名の後に、ライブラリに固有のオプションのカンマ区切りリストを使用できます。
+.sp
+オプション\fI\-agentlib:foo\fRを指定した場合、JVMは、\fILD_LIBRARY_PATH\fRシステム変数(OS Xでは、この変数は\fIDYLD_LIBRARY_PATH\fRになります)で指定された場所に\fIlibfoo\&.so\fRという名前のライブラリをロードしようとします。
+.sp
+次の例では、スタックの深さ3で、20ミリ秒ごとにヒープ・プロファイリング・ツール(HPROF)ライブラリをロードして、サンプルのCPU情報を取得する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-agentlib:hprof=cpu=samples,interval=20,depth=3
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.htmlを参照してください。  
-.TP 3
-\-server 
-.LP
-Java HotSpot Server VM を選択します。64 ビット対応 JDK 上では、サポートされるのは Java Hotspot Server VM だけであるため、\-server オプションが暗黙的に選択されます。 
-.LP
-デフォルトの VM の選択については、
-.na
-\f2「サーバー \- クラスマシンの検出」\fP @
+.if n \{\
+.RE
+.\}
+次の例では、メイン・クラスのロード前にJVMを一時停止して、Javaデバッグ・ワイヤ・プロトコル(JDWP)ライブラリをロードして、ポート8000でのソケット接続用にリスニングする方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-agentlib:jdwp=transport=dt_socket,server=y,address=8000
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.htmlを参照してください。  
-.TP 3
-\-agentlib:libname[=options] 
-ネイティブエージェントライブラリ \f2libname\fP をロードします。たとえば次のように指定します。 
-.LP
-\-agentlib:hprof 
-.LP
-\-agentlib:jdwp=help 
-.LP
-\-agentlib:hprof=help 
-.LP
-詳細については、
-.na
-\f2「JVMTI エージェントのコマンド行オプション」\fP @
+.if n \{\
+.RE
+.\}
+ネイティブ・エージェント・ライブラリの詳細は、次を参照してください。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.htmlにある\fIjava\&.lang\&.instrument\fRパッケージの説明
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/8/docs/platform/jvmti/jvmti\&.html#startingにあるJVMツール・インタフェース・ガイドのエージェントのコマンドライン・オプションに関する項
+.RE
+.RE
+.PP
+\-agentpath:\fIpathname\fR[=\fIoptions\fR]
+.RS 4
+絶対パス名で指定されたネイティブ・エージェント・ライブラリをロードします。このオプションは\fI\-agentlib\fRと同等ですが、ライブラリのフル・パスおよびファイル名を使用します。
+.RE
+.PP
+\-client
+.RS 4
+Java HotSpot Client VMを選択します。64ビット・バージョンのJava SE Development Kit (JDK)では、現在、このオプションは無視され、かわりにServer JVMが使用されます。
+.sp
+デフォルトのJVM選択は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.htmlにある
+サーバークラス・マシンの検出を参照してください。
+.RE
+.PP
+\-D\fIproperty\fR=\fIvalue\fR
+.RS 4
+システム・プロパティの値を設定します。\fIproperty\fR変数は、プロパティの名前を表す、空白のない文字列です。\fIvalue\fR変数は、プロパティの値を表す文字列です。\fIvalue\fRが空白を含む文字列の場合、それを引用符で囲みます(例:
+\fI\-Dfoo="foo bar"\fR)。
+.RE
+.PP
+\-d32
+.RS 4
+アプリケーションを32ビット環境で実行します。32ビット環境がインストールされていないかサポートされていない場合は、エラーが報告されます。デフォルトでは、64ビット・システムが使用されている場合を除き、アプリケーションは32ビット環境で実行されます。
+.RE
+.PP
+\-d64
+.RS 4
+アプリケーションを64ビット環境で実行します。64ビット環境がインストールされていないかサポートされていない場合は、エラーが報告されます。デフォルトでは、64ビット・システムが使用されている場合を除き、アプリケーションは32ビット環境で実行されます。
+.sp
+現在のところ、Java HotSpot Server VMのみが64ビットの操作をサポートしているため、\fI\-d64\fR使用時には\fI\-server\fRオプションが暗黙的に使用されます。\fI\-d64\fR使用時には、\fI\-client\fRオプションは無視されます。この仕様は、将来のリリースでは変更になる可能性があります。
+.RE
+.PP
+\-disableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-da[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR]
+.RS 4
+アサーションを無効にします。デフォルトでは、アサーションはすべてのパッケージおよびクラスで無効になっています。
+.sp
+引数なしの\fI\-disableassertions\fR
+(\fI\-da\fR)を指定すると、すべてのパッケージおよびクラスでアサーションが無効になります。\fI\&.\&.\&.\fRで終わる\fIpackagename\fR引数を指定すると、指定したパッケージとそのサブパッケージ内でアサーションが無効になります。引数として\fI\&.\&.\&.\fRのみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。\fIclassname\fR引数を指定すると、切替えによって、指定したクラス内でアサーションが無効になります。
+.sp
+\fI\-disableassertions\fR
+(\fI\-da\fR)オプションは、すべてのクラス・ローダーおよびシステム・クラスに適用されます(システム・クラスにはクラス・ローダーはありません)。このルールには1つ例外があります。オプションの引数が指定されていない場合は、システム・クラスに適用されません。これにより、システム・クラスを除くすべてのクラスでアサーションを簡単に無効にすることができます。\fI\-disablesystemassertions\fRオプションを使用すると、すべてのシステム・クラスでアサーションを無効にすることができます。
+.sp
+特定のパッケージやクラスでアサーションを明示的に有効にするには、\fI\-enableassertions\fR
+(\fI\-ea\fR)オプションを使用します。両方のオプションを同時に使用できます。たとえば、パッケージ\fIcom\&.wombat\&.fruitbat\fR
+(およびそのサブパッケージ)ではアサーションを有効にして、クラス\fIcom\&.wombat\&.fruitbat\&.Brickbat\fRではアサーションを無効にして、\fIMyClass\fRアプリケーションを実行するには、次のコマンドを使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass
 .fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。  
-.TP 3
-\-agentpath:pathname[=options] 
-フルパス名を使用して、ネーティブエージェントライブラリをロードします。詳細については、
-.na
-\f2「JVMTI エージェントのコマンド行オプション」\fP @
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-disablesystemassertions, \-dsa
+.RS 4
+すべてのシステム・クラス内でアサーションを無効にします。
+.RE
+.PP
+\-enableassertions[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR], \-ea[:[\fIpackagename\fR]\&.\&.\&.|:\fIclassname\fR]
+.RS 4
+アサーションを有効にします。デフォルトでは、アサーションはすべてのパッケージおよびクラスで無効になっています。
+.sp
+引数なしの\fI\-enableassertions\fR
+(\fI\-ea\fR)を指定すると、すべてのパッケージおよびクラスでアサーションが有効になります。\fI\&.\&.\&.\fRで終わる\fIpackagename\fR引数を指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として\fI\&.\&.\&.\fRのみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。\fIclassname\fR引数を指定すると、切替えによって、指定したクラス内でアサーションが有効になります。
+.sp
+\fI\-enableassertions\fR
+(\fI\-ea\fR)オプションは、すべてのクラス・ローダーおよびシステム・クラスに適用されます(システム・クラスにはクラス・ローダーはありません)。このルールには1つ例外があります。オプションの引数が指定されていない場合は、システム・クラスに適用されません。これにより、システム・クラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。\fI\-enablesystemassertions\fRオプションは、すべてのシステム・クラスでアサーションを有効にする別のスイッチを提供します。
+.sp
+特定のパッケージやクラスでアサーションを明示的に無効にするには、\fI\-disableassertions\fR
+(\fI\-da\fR)オプションを使用します。単一コマンドにこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。たとえば、パッケージ\fIcom\&.wombat\&.fruitbat\fR
+(およびそのサブパッケージ)でのみアサーションを有効にして、クラス\fIcom\&.wombat\&.fruitbat\&.Brickbat\fRではアサーションを無効にして、\fIMyClass\fRアプリケーションを実行するには、次のコマンドを使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java \-ea:com\&.wombat\&.fruitbat\&.\&.\&. \-da:com\&.wombat\&.fruitbat\&.Brickbat MyClass
 .fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。 
-.TP 3
-\-classpath classpath 
-.TP 3
-\-cp classpath 
-クラスファイルを検索するディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (\f3:\fP) で区切ります。\f3\-classpath\fP または \f3\-cp\fP を指定すると、このオプションの値によって \f3CLASSPATH\fP 環境変数の設定がオーバーライドされます。 
-.LP
-\f3\-classpath\fP も \f3\-cp\fP も使用されず、\f3CLASSPATH\fP も設定されていない場合、ユーザークラスパスは現在のディレクトリ (\f4.\fP) になります。  
-.LP
-便宜上、 \f2*\fP のベース名を含むクラスパス要素は、 \f2.jar\fP または \f2.JAR\fP を拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます (java プログラムはこの 2 つの呼び出しを区別できない)。
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-enablesystemassertions, \-esa
+.RS 4
+すべてのシステム・クラス内でアサーションを有効にします。
+.RE
+.PP
+\-help, \-?
+.RS 4
+実際にJVMを実行せずに、\fIjava\fRコマンドの使用状況情報を表示します。
+.RE
+.PP
+\-jar \fIfilename\fR
+.RS 4
+JARファイルにカプセル化されたプログラムを実行します。\fIfilename\fR引数は、使用するアプリケーションの開始点として機能する\fIpublic static void main(String[] args)\fRメソッドを定義する、\fIMain\-Class:\fR\fIclassname\fRという形式の1行を含むマニフェストを持つJARファイルの名前です。
+.sp
+\fI\-jar\fRオプションを使用すると、指定したJARファイルがすべてのユーザー・クラスのソースになり、クラス・パスの他の設定は無視されます。
+.sp
+JARファイルの詳細は、次のリソースを参照してください。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+jar(1)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jar/index\&.htmlにあるJavaアーカイブ(JAR)ファイルのガイド
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.htmlにある
+「レッスン: JARファイルのプログラムのパッケージ化」
+.RE
+.RE
+.PP
+\-javaagent:\fIjarpath\fR[=\fIoptions\fR]
+.RS 4
+指定したJavaプログラミング言語エージェントをロードします。Javaアプリケーションのインストゥルメントの詳細は、http://docs\&.oracle\&.com/javase/8/docs/api/java/lang/instrument/package\-summary\&.htmlにあるJava APIドキュメントの\fIjava\&.lang\&.instrument\fRパッケージの説明を参照してください。
+.RE
+.PP
+\-jre\-restrict\-search
+.RS 4
+ユーザー・プライベートなJREをバージョン検索に含めます。
+.RE
+.PP
+\-no\-jre\-restrict\-search
+.RS 4
+ユーザー・プライベートなJREをバージョン検索から除外します。
+.RE
+.PP
+\-server
+.RS 4
+Java HotSpot Server VMを選択します。64ビット・バージョンのJDKでは、Server VMのみをサポートしているため、その場合、このオプションは暗黙的です。
+.sp
+デフォルトのJVM選択は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/server\-class\&.htmlにある
+サーバークラス・マシンの検出を参照してください。
+.RE
+.PP
+\-showversion
+.RS 4
+バージョン情報を表示し、アプリケーションの実行を続行します。このオプションは\fI\-version\fRオプションと同等ですが、\-versionはバージョン情報の表示後にJVMに終了を指示する点が異なります。
+.RE
+.PP
+\-splash:\fIimgname\fR
+.RS 4
+\fIimgname\fRで指定されたイメージを含むスプラッシュ画面を表示します。たとえば、アプリケーションの起動時に\fIimages\fRディレクトリの\fIsplash\&.gif\fRファイルを表示するには、次のオプションを使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-splash:images/splash\&.gif
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-verbose:class
+.RS 4
+ロードされた各クラスに関する情報を表示します。
+.RE
+.PP
+\-verbose:gc
+.RS 4
+各ガベージ・コレクション(GC)イベントに関する情報を表示します。
+.RE
+.PP
+\-verbose:jni
+.RS 4
+ネイティブ・メソッドの使用およびその他のJava Native Interface (JNI)アクティビティに関する情報を表示します。
+.RE
+.PP
+\-version
+.RS 4
+バージョン情報を表示してから終了します。このオプションは\fI\-showversion\fRオプションと同等ですが、\-showversionはバージョン情報の表示後にJVMに終了を指示しない点が異なります。
+.RE
+.PP
+\-version:\fIrelease\fR
+.RS 4
+アプリケーションの実行に使用するリリース・バージョンを指定します。コールされた\fIjava\fRコマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。
+.sp
+\fIrelease\fR引数は、正確なバージョン文字列、または空白で区切られたバージョン文字列とバージョン範囲のリストを指定します。\fIバージョン文字列\fRは、次の形式で、開発者のバージョン番号を指定します:
+\fI1\&.\fR\fIx\fR\fI\&.0_\fR\fIu\fR
+(\fIx\fRはメジャー・バージョン番号、\fIu\fRは更新バージョン番号です)。\fIバージョン範囲\fRは、このバージョン以降を指定するにはバージョン文字列の後にプラス記号(\fI+\fR)を続けたもの、または一致する接頭辞を含む任意のバージョン文字列を指定するには一部のバージョン文字列の後にアスタリスク(\fI*\fR)を続けたもので構成されます。論理\fIOR\fRの組合せには空白、2つのバージョンの文字列/範囲の論理\fIAND\fRの組合せにはアンパサンド(\fI&\fR)を使用して、バージョン文字列とバージョン範囲を組み合せることができます。たとえば、クラスまたはJARファイルの実行にJRE 6u13 (1\&.6\&.0_13)または6u10 (1\&.6\&.0_10)以降の任意のJRE 6のいずれかを必要とする場合、次を指定します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-version:"1\&.6\&.0_13 1\&.6* & 1\&.6\&.0_10+"
+.fi
+.if n \{\
+.RE
+.\}
+引用符が必要なのは、\fIrelease\fRパラメータに空白がある場合のみです。
+.sp
+JARファイルの場合は、バージョン要件をコマンドラインに指定するよりも、JARファイルのマニフェスト内に指定することが推奨されています。
+.RE
+.SS "非標準オプション"
+.PP
+これらのオプションは、Java HotSpot仮想マシンに固有の汎用オプションです。
+.PP
+\-X
+.RS 4
+使用可能なすべての\fI\-X\fRオプションのヘルプを表示します。
+.RE
+.PP
+\-Xbatch
+.RS 4
+バックグラウンド・コンパイルを無効にします。デフォルトでは、JVMでは、バックグラウンド・コンパイルが終了するまで、メソッドをバックグラウンド・タスクとしてコンパイルし、インタプリタ・モードでメソッドを実行します。\fI\-Xbatch\fRフラグを指定すると、バックグラウンド・コンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンド・タスクとして処理されます。
+.sp
+このオプションは\fI\-XX:\-BackgroundCompilation\fRと同等です。
+.RE
+.PP
+\-Xbootclasspath:\fIpath\fR
+.RS 4
+ブート・クラス・ファイルを検索するディレクトリ、JARファイルおよびZIPアーカイブの、コロン(:)で区切られたリストを指定します。これらは、JDKに含まれるブート・クラス・ファイルのかわりに使用されます。
+.sp
+JREバイナリ・コード・ライセンスに違反するため、\fIrt\&.jar\fRでクラスをオーバーライドする目的で、このオプションを使用するアプリケーションをデプロイしないでください。
+.RE
+.PP
+\-Xbootclasspath/a:\fIpath\fR
+.RS 4
+デフォルトのブートストラップ・クラス・パスの最後に追加するディレクトリ、JARファイルおよびZIPアーカイブの、コロン(:)で区切られたリストを指定します。
+.sp
+JREバイナリ・コード・ライセンスに違反するため、\fIrt\&.jar\fRでクラスをオーバーライドする目的で、このオプションを使用するアプリケーションをデプロイしないでください。
+.RE
+.PP
+\-Xbootclasspath/p:\fIpath\fR
+.RS 4
+デフォルトのブートストラップ・クラス・パスの先頭に追加するディレクトリ、JARファイルおよびZIPアーカイブの、コロン(:)で区切られたリストを指定します。
+.sp
+JREバイナリ・コード・ライセンスに違反するため、\fIrt\&.jar\fRでクラスをオーバーライドする目的で、このオプションを使用するアプリケーションをデプロイしないでください。
+.RE
+.PP
+\-Xboundthreads
+.RS 4
+ユーザー・レベルのスレッドをカーネル・スレッドにバインドします。
+.RE
+.PP
+\-Xcheck:jni
+.RS 4
+Java Native Interface (JNI)機能に対して追加チェックを行います。具体的には、これは、JNIリクエストを処理する前に、JNI関数に渡されるパラメータと実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブ・コードに問題があることを示しているため、JVMはリカバリ不能なエラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。
+.RE
+.PP
+\-Xcomp
+.RS 4
+最初の呼出しでJavaコードおよびコンパイル・メソッドの解釈を無効にします。デフォルトでは、JITコンパイラは、10,000の解釈されたメソッド呼出しを実行して、効率的なコンパイルのための情報を収集します。効率を犠牲にしてコンパイルのパフォーマンスを向上させるには、\fI\-Xcomp\fRフラグを使用して、解釈されたメソッド呼出しを無効にします。
+.sp
+\fI\-XX:CompileThreshold\fRオプションを使用して、コンパイルの前に、解釈されたメソッド呼出しの数を変更することもできます。
+.RE
+.PP
+\-Xdebug
+.RS 4
+何も行いません。下位互換性のために用意されています。
+.RE
+.PP
+\-Xdiag
+.RS 4
+追加の診断メッセージを表示します。
+.RE
+.PP
+\-Xfuture
+.RS 4
+クラス・ファイル形式の仕様への準拠を強化する、厳密なクラス・ファイル形式のチェックが有効になります。将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときには、開発者はこのフラグを使用することをお薦めします。
+.RE
+.PP
+\-Xincgc
+.RS 4
+増分GCを有効にします。
+.RE
+.PP
+\-Xint
+.RS 4
+インタプリタ専用モードでアプリケーションを実行します。ネイティブ・コードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。ジャスト・イン・タイム(JIT)コンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。
+.RE
+.PP
+\-Xinternalversion
+.RS 4
+\fI\-version\fRオプションより詳細なJVMバージョン情報を表示してから終了します。
+.RE
+.PP
+\-Xloggc:\fIfilename\fR
+.RS 4
+詳細なGCイベント情報をロギング用にリダイレクトするファイルを設定します。このファイルに書き込まれる情報は、記録された各イベントの前に行われる最初のGCイベント以降に経過した時間を指定した\fI\-verbose:gc\fRの出力と類似しています。\fI\-Xloggc\fRオプションは\fI\-verbose:gc\fRをオーバーライドします(これらの両方が同じ\fIjava\fRコマンドで指定された場合)。
+.sp
+例:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xloggc:garbage\-collection\&.log
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-Xmaxjitcodesize=\fIsize\fR
+.RS 4
+JITコンパイルされたコードの最大コード・キャッシュ・サイズ(バイト単位)を指定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、この値は48MBに設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xmaxjitcodesize=48m
+.fi
+.if n \{\
+.RE
+.\}
+このオプションは\fI\-XX:ReservedCodeCacheSize\fRと同等です。
+.RE
+.PP
+\-Xmixed
+.RS 4
+ネイティブ・コードにコンパイルされたホット・メソッドを除き、インタプリタによってすべてのバイトコードを実行します。
+.RE
+.PP
+\-Xmn\fIsize\fR
+.RS 4
+若い世代(ナーサリ)のヒープの初期サイズおよび最大サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。
+.sp
+ヒープの若い世代リージョンは新しいオブジェクトに使用されます。GCは、他のリージョンよりこのリージョンで、より頻繁に実行されます。若い世代のサイズが小さすぎる場合、多数のマイナー・ガベージ・コレクションが実行されます。サイズが大きすぎる場合、フル・ガベージ・コレクションのみが実行されますが、完了までに時間がかかることがあります。若い世代のサイズは、全体のヒープ・サイズの半分から4分の1の間にしておくことをお薦めします。
+.sp
+次の例では、若い世代の初期サイズおよび最大サイズを様々な単位を使用して256MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xmn256m
+\-Xmn262144k
+\-Xmn268435456
+.fi
+.if n \{\
+.RE
+.\}
+若い世代のヒープの初期サイズと最大サイズの両方を設定する\fI\-Xmn\fRオプションのかわりに、初期サイズの設定には\fI\-XX:NewSize\fRを、最大サイズの設定には\fI\-XX:MaxNewSize\fRを使用できます。
+.RE
+.PP
+\-Xms\fIsize\fR
+.RS 4
+ヒープの初期サイズ(バイト単位)を設定します。指定する値は、1MBより大きい1024の倍数にする必要があります。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。
+.sp
+次の例では、割り当てられたメモリーのサイズを様々な単位を使用して6MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xms6291456
+\-Xms6144k
+\-Xms6m
+.fi
+.if n \{\
+.RE
+.\}
+このオプションを設定しない場合、初期サイズは、古い世代と若い世代に割り当てられたサイズの合計として設定されます。若い世代のヒープの初期サイズは、\fI\-Xmn\fRオプションまたは\fI\-XX:NewSize\fRオプションを使用して設定できます。
+.RE
+.PP
+\-Xmx\fIsize\fR
+.RS 4
+メモリー割当てプールの最大サイズ(バイト単位)を指定します。指定する値は、2MBより大きい1024の倍数にする必要があります。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値は、実行時にシステム構成に基づいて選択されます。サーバー・デプロイメントでは、\fI\-Xms\fRおよび\fI\-Xmx\fRは通常同じ値に設定されます。詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.htmlにあるガベージ・コレクタ・エルゴノミックを参照してください。
+.sp
+次の例では、割り当てられたメモリーの許可される最大サイズを様々な単位を使用して80MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xmx83886080
+\-Xmx81920k
+\-Xmx80m
+.fi
+.if n \{\
+.RE
+.\}
+\fI\-Xmx\fRオプションは\fI\-XX:MaxHeapSize\fRと同等です。
+.RE
+.PP
+\-Xnoclassgc
+.RS 4
+クラスのガベージ・コレクション(GC)を無効にします。これにより、GC時間を節約でき、アプリケーション実行中の中断が短縮されます。
+.sp
+起動時に\fI\-Xnoclassgc\fRを指定すると、アプリケーション内のクラス・オブジェクトは、GCの間はそのまま残り、常にライブであるとみなされます。これにより、より多くのメモリーが永久に占有されることになり、注意して使用しないと、メモリー不足の例外がスローされます。
+.RE
+.PP
+\-Xprof
+.RS 4
+実行中のプログラムのプロファイルを生成し、プロファイル・データを標準出力に送信します。このオプションは、プログラム開発用のユーティリティとして提供されています。本番稼働システムでの使用を目的としたものではありません。
+.RE
+.PP
+\-Xrs
+.RS 4
+JVMによるオペレーティング・システム・シグナルの使用を減らします。
+.sp
+シャットダウン・フックは、JVMが突然終了した場合でも、シャットダウン時にユーザー・クリーンアップ・コード(データベース接続のクローズなど)を実行することによって、Javaアプリケーションのシャットダウンを順番に有効にします。
+.sp
+JVMは、予期しない終了のシャットダウン・フックを実装するためにシグナルをキャッチします。JVMは、\fISIGHUP\fR、\fISIGINT\fRおよび\fISIGTERM\fRを使用して、シャットダウン・フックの実行を開始します。
+.sp
+JVMは、デバッグの目的でスレッド・スタックをダンプするという機能を実現するために、同様のメカニズムを使用します。JVMは、スレッド・ダンプを実行するために\fISIGQUIT\fRを使用します。
+.sp
+JVMを埋め込んでいるアプリケーションは、\fISIGINT\fRや\fISIGTERM\fRなどのシグナルを頻繁にトラップする必要があり、その結果、JVMのシグナル・ハンドラと衝突する可能性があります。\fI\-Xrs\fRオプションは、この問題に対処するために使用できます。\fI\-Xrs\fRが使用されている場合、\fISIGINT\fR、\fISIGTERM\fR、\fISIGHUP\fRおよび\fISIGQUIT\fRのシグナル・マスクはJVMによって変更されず、これらのシグナルのシグナル・ハンドラはインストールされません。
+.sp
+\fI\-Xrs\fRを指定すると、次の2つの結果が生じます:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fISIGQUIT\fRによるスレッド・ダンプは使用できません。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+シャットダウン・フック処理の実行は、JVMが終了しようとしている時点で\fISystem\&.exit()\fRを呼び出すなどして、ユーザー・コード側で行う必要があります。
+.RE
+.RE
+.PP
+\-Xshare:\fImode\fR
+.RS 4
+クラス・データ共有モードを設定します。このオプションで使用可能な\fImode\fR引数は次のとおりです。
+.PP
+auto
+.RS 4
+可能な場合、共有クラスのデータを使用します。これは、Java HotSpot 32\-Bit Client VMの場合のデフォルト値です。
+.RE
+.PP
+on
+.RS 4
+クラス・データ共有の使用が必要です。クラス・データ共有を使用できない場合、エラー・メッセージを出力して終了します。
+.RE
+.PP
+off
+.RS 4
+共有クラス・データを使用しません。これは、Java HotSpot 32\-Bit Server VM、Java HotSpot 64\-Bit Client VMおよびJava HotSpot 64\-Bit Server VMの場合のデフォルト値です。
+.RE
+.PP
+dump
+.RS 4
+クラス・データ共有アーカイブを手動で生成します。
+.RE
+.RE
+.PP
+\-XshowSettings:\fIcategory\fR
+.RS 4
+設定を表示して続行します。このオプションで使用可能な\fIcategory\fR引数は次のとおりです。
+.PP
+all
+.RS 4
+設定のすべてのカテゴリを表示します。これがデフォルト値です。
+.RE
+.PP
+locale
+.RS 4
+ロケールに関連する設定を表示します。
+.RE
+.PP
+properties
+.RS 4
+システム・プロパティに関連する設定を表示します。
+.RE
+.PP
+vm
+.RS 4
+JVMの設定を表示します。
+.RE
+.RE
+.PP
+\-Xss\fIsize\fR
+.RS 4
+スレッドのスタック・サイズ(バイト単位)を設定します。KBを示す場合は文字\fIk\fRまたは\fIK\fR、MBを示す場合は文字\fIm\fRまたは\fIM\fR、GBを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値はプラットフォームによって異なります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/ARM (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/i386 (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/x64 (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+OS X (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Oracle Solaris/i386 (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Oracle Solaris/x64 (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Windows: 仮想メモリーによって異なります。
+.RE
+.sp
+次の例では、スレッド・スタック・サイズを異なる単位で1024KBに設定します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xss1m
+\-Xss1024k
+\-Xss1048576
+.fi
+.if n \{\
+.RE
+.\}
+このオプションは\fI\-XX:ThreadStackSize\fRと同等です。
+.RE
+.PP
+\-Xusealtsigs
+.RS 4
+JVM内部シグナルの\fISIGUSR1\fRおよび\fISIGUSR2\fRのかわりに、代替シグナルを使用します。このオプションは\fI\-XX:+UseAltSigs\fRと同等です。
+.RE
+.PP
+\-Xverify:\fImode\fR
+.RS 4
+バイトコード・ベリファイアのモードを設定します。バイトコードの検証は一部の問題のトラブルシューティングに役立ちますが、実行中のアプリケーションへのオーバーヘッドを増大させます。このオプションで使用可能な\fImode\fR引数は次のとおりです。
+.PP
+none
+.RS 4
+バイトコードを検証しません。これにより、起動時間が短縮され、Javaによって提供される保護も軽減されます。
+.RE
+.PP
+remote
+.RS 4
+ネットワークを介してリモートでロードされるクラスのみを検証します。これは、\fI\-Xverify\fRオプションを指定しない場合のデフォルトの動作です。
+.RE
+.PP
+all
+.RS 4
+すべてのクラスを検証します。
+.RE
+.RE
+.SS "高度なランタイム・オプション"
+.PP
+これらのオプションは、Java HotSpot VMの実行時の動作を制御します。
+.PP
+\-XX:+DisableAttachMechanism
+.RS 4
+JVMにツールをアタッチするメカニズムを無効にするオプションを有効にします。デフォルトでは、このオプションは無効になっており、これは、アタッチ・メカニズムを有効にすると、\fIjcmd\fR、\fIjstack\fR、\fIjmap\fR、\fIjinfo\fRなどのツールを使用できることを意味します。
+.RE
+.PP
+\-XX:ErrorFile=\fIfilename\fR
+.RS 4
+リカバリ不能なエラーが発生した場合にエラー・データが書き込まれるパスおよびファイル名を指定します。デフォルトでは、このファイルは、現在の作業ディレクトリに作成され、名前は\fIhs_err_pid\fR\fIpid\fR\fI\&.log\fR
+(\fIpid\fRはエラーの原因となったプロセスの識別子)になります。次の例では、デフォルトのログ・ファイルを設定する方法を示します(プロセスの識別子は\fI%p\fRとして指定されます)。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:ErrorFile=\&./hs_err_pid%p\&.log
+.fi
+.if n \{\
+.RE
+.\}
+次の例では、エラー・ログを\fI/var/log/java/java_error\&.log\fRに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:ErrorFile=/var/log/java/java_error\&.log
+.fi
+.if n \{\
+.RE
+.\}
+(領域不足、権限の問題または別の問題により)指定したディレクトリにファイルを作成できない場合、ファイルはオペレーティング・システムの一時ディレクトリに作成されます。一時ディレクトリは\fI/tmp\fRです。
+.RE
+.PP
+\-XX:LargePageSizeInBytes=\fIsize\fR
+.RS 4
+Javaヒープに使用される大きいページの最大サイズ(バイト単位)を設定します。\fIsize\fR引数は、2の累乗(2、4、8、16、\&.\&.\&.)である必要があります。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、サイズは0に設定され、これは、JVMでは大きいページのサイズが自動的に選択されていることを意味します。
+.sp
+次の例では、大きいページのサイズを4メガバイト(MB)に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:LargePageSizeInBytes=4m
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxDirectMemorySize=\fIsize\fR
+.RS 4
+新規I/O (\fIjava\&.nio\fRパッケージ)の直接バッファ割当ての最大合計サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、サイズは0に設定され、これは、JVMではNIOの直接バッファ割当てのサイズが自動的に選択されていることを意味します。
+.sp
+次の例では、NIOサイズを異なる単位で1024KBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxDirectMemorySize=1m
+\-XX:MaxDirectMemorySize=1024k
+\-XX:MaxDirectMemorySize=1048576
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:NativeMemoryTracking=\fImode\fR
+.RS 4
+JVMのネイティブ・メモリー使用状況のトラッキングのモードを指定します。このオプションで使用可能な\fImode\fR引数は次のとおりです。
+.PP
+off
+.RS 4
+JVMのネイティブ・メモリー使用状況を追跡しません。これは、\fI\-XX:NativeMemoryTracking\fRオプションを指定しない場合のデフォルトの動作です。
+.RE
+.PP
+summary
+.RS 4
+JVMサブシステム(Javaヒープ、クラス、コード、スレッドなど)によるメモリー使用状況のみ追跡します。
+.RE
+.PP
+detail
+.RS 4
+JVMサブシステムによるメモリー使用状況のトラッキングに加えて、個々の\fICallSite\fR
+(個々の仮想メモリー・リージョンおよびそのコミット済リージョン)によるメモリー使用状況を追跡します。
+.RE
+.RE
+.PP
+\-XX:OnError=\fIstring\fR
+.RS 4
+リカバリ不能なエラーが発生したときに実行する、カスタム・コマンドまたは一連のセミコロン区切りのコマンドを設定します。文字列に空白が含まれている場合は、引用符で囲む必要があります。
+.sp
+次の例では、\fI\-XX:OnError\fRオプションを使用してコア・イメージを作成するために\fIgcore\fRコマンドを実行する方法、およびリカバリ不能なエラーの場合にデバッガを起動してプロセスに接続する方法を示します(\fI%p\fRは現在のプロセスを指定します)。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:OnError="gcore %p;dbx \- %p"
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:OnOutOfMemoryError=\fIstring\fR
+.RS 4
+\fIOutOfMemoryError\fR例外が最初にスローされたときに実行する、カスタム・コマンドまたは一連のセミコロン区切りのコマンドを設定します。文字列に空白が含まれている場合は、引用符で囲む必要があります。コマンド文字列の例は、\fI\-XX:OnError\fRオプションの説明を参照してください。
+.RE
+.PP
+\-XX:+PrintCommandLineFlags
+.RS 4
+コマンドラインに表示された、人間工学的に選択したJVMフラグの印刷を有効にします。これは、ヒープ領域サイズや選択されたガベージ・コレクタなど、JVMによって設定されたエルゴノミック値を確認する場合に役立ちます。デフォルトでは、このオプションは無効であり、フラグは印刷されません。
+.RE
+.PP
+\-XX:+PrintNMTStatistics
+.RS 4
+ネイティブ・メモリーのトラッキングが有効な場合に、JVMの終了時に収集されたネイティブ・メモリーのトラッキング・データの印刷を有効にします(\fI\-XX:NativeMemoryTracking\fRを参照してください)。デフォルトでは、このオプションは無効であり、ネイティブ・メモリーのトラッキング・データは印刷されません。
+.RE
+.PP
+\-XX:+ShowMessageBoxOnError
+.RS 4
+JVMでリカバリ不能なエラーが発生した場合、ダイアログ・ボックスの表示を有効にします。これにより、JVMにデバッガを接続してエラーの原因を調査できるように、JVMを終了しないようにして、プロセスをアクティブなままにします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:ThreadStackSize=\fIsize\fR
+.RS 4
+スレッドのスタック・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値はプラットフォームによって異なります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/ARM (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/i386 (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Linux/x64 (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+OS X (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Oracle Solaris/i386 (32ビット): 320KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Oracle Solaris/x64 (64ビット): 1024KB
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+Windows: 仮想メモリーによって異なります。
+.RE
+.sp
+次の例では、スレッド・スタック・サイズを異なる単位で1024KBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:ThreadStackSize=1m
+\-XX:ThreadStackSize=1024k
+\-XX:ThreadStackSize=1048576
+.fi
+.if n \{\
+.RE
+.\}
+このオプションは\fI\-Xss\fRと同等です。
+.RE
+.PP
+\-XX:+TraceClassLoading
+.RS 4
+クラスがロードされるときのクラスのトレースを有効にします。デフォルトでは、このオプションは無効であり、クラスはトレースされません。
+.RE
+.PP
+\-XX:+TraceClassLoadingPreorder
+.RS 4
+クラスが参照される順序で、ロードされたすべてのクラスのトレースを有効にします。デフォルトでは、このオプションは無効であり、クラスはトレースされません。
+.RE
+.PP
+\-XX:+TraceClassResolution
+.RS 4
+定数プールの解決のトレースを有効にします。デフォルトでは、このオプションは無効であり、定数プールの解決はトレースされません。
+.RE
+.PP
+\-XX:+TraceClassUnloading
+.RS 4
+クラスがアンロードされるときのクラスのトレースを有効にします。デフォルトでは、このオプションは無効であり、クラスはトレースされません。
+.RE
+.PP
+\-XX:+TraceLoaderConstraints
+.RS 4
+ローダー制約の記録のトレースを有効にします。デフォルトでは、このオプションは無効であり、ローダー制約の記録は追跡されません。
+.RE
+.PP
+\-XX:+UseAltSigs
+.RS 4
+JVM内部シグナルの\fISIGUSR1\fRおよび\fISIGUSR2\fRのかわりに、代替シグナルの使用を有効にします。デフォルトでは、このオプションは無効であり、代替シグナルは使用されません。このオプションは\fI\-Xusealtsigs\fRと同等です。
+.RE
+.PP
+\-XX:+UseBiasedLocking
+.RS 4
+バイアス・ロックの使用を有効にします。かなりの量の非競合の同期化がある一部のアプリケーションは、このフラグを有効にすると大幅な高速化が実現しますが、特定のパターンのロックがあるアプリケーションは、速度が低下することがあります。バイアス・ロックの方法の詳細は、http://www\&.oracle\&.com/technetwork/java/tuning\-139912\&.html#section4\&.2\&.5にあるJavaチューニングのホワイト・ペーパーの例を参照してください。
+.sp
+デフォルトでは、このオプションは無効であり、バイアス・ロックは使用されません。
+.RE
+.PP
+\-XX:+UseCompressedOops
+.RS 4
+圧縮されたポインタの使用を有効にします。このオプションを有効にすると、オブジェクト参照は、64ビットのポインタではなく32ビットのオフセットとして表され、これにより、32GBより小さいJavaヒープ・サイズのアプリケーションの実行時に、通常、パフォーマンスが向上します。このオプションは、64ビットのJVMでのみ機能します。
+.sp
+デフォルトでは、このオプションは無効であり、圧縮ポインタは使用されません。
+.RE
+.PP
+\-XX:+UseLargePages
+.RS 4
+大きいページのメモリーの使用を有効にします。このオプションはデフォルトで有効になっています。大きいページのメモリーの使用を無効にするには、\fI\-XX:\-UseLargePages\fRを指定します。
+.sp
+詳細は、http://www\&.oracle\&.com/technetwork/java/javase/tech/largememory\-jsp\-137182\&.htmlにある大きいメモリー・ページ用のJavaサポートを参照してください。
+.RE
+.PP
+\-XX:+UseMembar
+.RS 4
+スレッドの状態の遷移でメンバーの発行を有効にします。このオプションは、有効になっているPower PCおよびARMサーバーを除くすべてのプラットフォーム上で、デフォルトでは無効になっています。Power PCとARMのスレッド状態遷移に対するメンバーの発行を無効にするには、\fI\-XX:\-UseMembar\fRを指定します。
+.RE
+.PP
+\-XX:+UsePerfData
+.RS 4
+\fIperfdata\fR機能を有効にします。このオプションはデフォルトで有効になっており、JVMのモニタリングおよびパフォーマンス・テストが可能になります。これを無効にすると、\fIhsperfdata_userid\fRディレクトリの作成を抑制します。\fIperfdata\fR機能を無効にするには、\fI\-XX:\-UsePerfData\fRを指定します。
+.RE
+.PP
+\-XX:+AllowUserSignalHandlers
+.RS 4
+アプリケーションによるシグナル・ハンドラのインストールを有効にします。デフォルトでは、このオプションは無効であり、アプリケーションはシグナル・ハンドラをインストールすることは許可されていません。
+.RE
+.SS "高度なJITコンパイラ・オプション"
+.PP
+これらのオプションは、Java HotSpot VMで実行される動的なjust\-in\-time (JIT)コンパイラを制御します。
+.PP
+\-XX:+AggressiveOpts
+.RS 4
+積極的なパフォーマンス最適化機能の使用を有効にします。これは今後のリリースでデフォルトになる予定です。デフォルトでは、このオプションは無効であり、試験的なパフォーマンス機能は使用されません。
+.RE
+.PP
+\-XX:AllocateInstancePrefetchLines=\fIlines\fR
+.RS 4
+インスタンス割当てポインタの前にプリフェッチする行数を設定します。デフォルトでは、プリフェッチする行数は1に設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:AllocateInstancePrefetchLines=1
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:AllocatePrefetchInstr=\fIinstruction\fR
+.RS 4
+割当てポインタの前にプリフェッチするプリフェッチ命令を設定します。使用可能な値は0から3までです。値の背後にある実際の命令は、プラットフォームによって異なります。デフォルトでは、プリフェッチ命令は0に設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:AllocatePrefetchInstr=0
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:AllocatePrefetchStepSize=\fIsize\fR
+.RS 4
+順次プリフェッチ命令のステップ・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、ステップ・サイズは16バイトに設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:AllocatePrefetchStepSize=16
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+BackgroundCompilation
+.RS 4
+バックグラウンド・コンパイルを有効にします。このオプションはデフォルトで有効になっています。バックグラウンド・コンパイルを無効にするには、\fI\-XX:\-BackgroundCompilation\fRを指定します(これは\fI\-Xbatch\fRを指定するのと同等です)。
+.RE
+.PP
+\-XX:CICompilerCount=\fIthreads\fR
+.RS 4
+コンパイルに使用するコンパイラ・スレッドの数を設定します。デフォルトでは、スレッド数は、サーバーJVMの場合は2、クライアントJVMの場合は1に設定されており、層コンパイルが使用されている場合、コア数に合せて増減します。次の例では、スレッドの数を2に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CICompilerCount=2
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CodeCacheMinimumFreeSpace=\fIsize\fR
+.RS 4
+コンパイルに必要な最小空き領域(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。最小空き領域より少ない領域しか残っていない場合、コンパイルは停止します。デフォルトでは、このオプションは500KBに設定されています。次の例では、最小空き領域を1024MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CodeCacheMinimumFreeSpace=1024m
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CompileCommand=\fIcommand\fR,\fImethod\fR[,\fIoption\fR]
+.RS 4
+メソッドで実行するコマンドを指定します。たとえば、コンパイル元から\fIString\fRクラスの\fIindexOf()\fRメソッドを実行するには、次を使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand=exclude,java/lang/String\&.indexOf
+.fi
+.if n \{\
+.RE
+.\}
+スラッシュ(\fI/\fR)で区切られたすべてのパッケージおよびサブパッケージを含む、完全クラス名を指定します。切取りと貼付けの操作を容易にするために、\fI\-XX:+PrintCompilation\fRオプションおよび\fI\-XX:+LogCompilation\fRオプションによって生成されるメソッド名の形式を使用することもできます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand=exclude,java\&.lang\&.String::indexOf
+.fi
+.if n \{\
+.RE
+.\}
+署名なしでメソッドを指定すると、コマンドは指定した名前を持つすべてのメソッドに適用されます。ただし、クラス・ファイル形式でメソッドの署名を指定することもできます。たとえば、コンパイル元から\fIString\fRクラスの\fIindexOf(String)\fRメソッドのみ除外するには、次を使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand=exclude,java/lang/String\&.indexOf(Ljava/lang/String;)I
+.fi
+.if n \{\
+.RE
+.\}
+また、クラス名およびメソッド名にワイルドカードとしてアスタリスク(*)を使用できます。たとえば、コンパイル元からすべてのクラスのすべての\fIindexOf()\fRメソッドを除外するには、次を使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand=exclude,*\&.indexOf
+.fi
+.if n \{\
+.RE
+.\}
+カンマとピリオドは空白の別名で、これにより、シェルを介してコンパイラ・コマンドを渡すことが容易になります。引数を引用符で囲むことで、空白をセパレータとして使用して\fI\-XX:CompileCommand\fRに引数を渡すことができます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand="exclude java/lang/String indexOf"
+.fi
+.if n \{\
+.RE
+.\}
+\fI\-XX:CompileCommand\fRオプションを使用してコマンドラインで渡されたコマンドを解析した後に、JITコンパイラは\fI\&.hotspot_compiler\fRファイルからコマンドを読み取ります。このファイルにコマンドを追加するか、または\fI\-XX:CompileCommandFile\fRオプションを使用して別のファイルを指定することができます。
+.sp
+複数のコマンドを追加するには、\fI\-XX:CompileCommand\fRオプションを複数回指定するか、または改行セパレータ(\fI\en\fR)を使用して各引数を区切ります。次のコマンドを使用できます。
+.PP
+break
+.RS 4
+指定したメソッドのコンパイルの最初に停止するために、JVMのデバッグ時のブレークポイントを設定します。
+.RE
+.PP
+compileonly
+.RS 4
+指定したメソッドを除いたすべてのメソッドを、コンパイルから除外します。別の方法として、\fI\-XX:CompileOnly\fRオプションを使用して複数のメソッドを指定できます。
+.RE
+.PP
+dontinline
+.RS 4
+指定したメソッドをインライン化しないようにします。
+.RE
+.PP
+exclude
+.RS 4
+指定したメソッドをコンパイルから除外します。
+.RE
+.PP
+help
+.RS 4
+\fI\-XX:CompileCommand\fRオプションのヘルプ・メッセージを印刷します。
+.RE
+.PP
+inline
+.RS 4
+指定したメソッドをインライン化しようとします。
+.RE
+.PP
+log
+.RS 4
+指定したメソッドを除くすべてのメソッドに対して、(\fI\-XX:+LogCompilation\fRオプションを使用して)コンパイル・ロギングを除外します。デフォルトでは、コンパイルされたすべてのメソッドにロギングが実行されます。
+.RE
+.PP
+option
+.RS 4
+このコマンドは、最後の引数(\fIoption\fR)のかわりに、指定したメソッドにJITコンパイル・オプションを渡すために使用できます。コンパイル・オプションは、メソッド名の後の末尾に設定されます。たとえば、\fIStringBuffer\fRクラスの\fIappend()\fRメソッドに対して\fIBlockLayoutByFrequency\fRオプションを有効にするには、次を使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileCommand=option,java/lang/StringBuffer\&.append,BlockLayoutByFrequency
+.fi
+.if n \{\
+.RE
+.\}
+カンマまたは空白で区切って、複数のコンパイル・オプションを指定できます。
+.RE
+.PP
+print
+.RS 4
+指定したメソッドのコンパイル後に生成されたアセンブラ・コードを出力します。
+.RE
+.PP
+quiet
+.RS 4
+コンパイル・コマンドを出力しません。デフォルトでは、\fI\-XX:CompileCommand\fRオプションを使用して指定したコマンドが出力されます。たとえば、\fIString\fRクラスの\fIindexOf()\fRメソッドのコンパイルから除外する場合、次が標準出力に出力されます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+CompilerOracle: exclude java/lang/String\&.indexOf
+.fi
+.if n \{\
+.RE
+.\}
+他の\fI\-XX:CompileCommand\fRオプションの前に\fI\-XX:CompileCommand=quiet\fRオプションを指定することによって、これを抑制できます。
+.RE
+.RE
+.PP
+\-XX:CompileCommandFile=\fIfilename\fR
+.RS 4
+JITコンパイラ・コマンドの読取り元のファイルを設定します。デフォルトでは、JITコンパイラによって実行されるコマンドを格納するために、\fI\&.hotspot_compiler\fRファイルが使用されます。
+.sp
+コマンド・ファイルの各行は、コマンドが使用されるコマンド、クラス名およびメソッド名を表します。たとえば、次の行は、\fIString\fRクラスの\fItoString()\fRメソッドに対してアセンブリ・コードを出力します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+print java/lang/String toString
+.fi
+.if n \{\
+.RE
+.\}
+メソッドで実行するJITコンパイラのコマンドの指定の詳細は、\fI\-XX:CompileCommand\fRオプションを参照してください。
+.RE
+.PP
+\-XX:CompileOnly=\fImethods\fR
+.RS 4
+コンパイルを制限する(カンマで区切られた)メソッドのリストを設定します。指定したメソッドのみがコンパイルされます。完全クラス名(パッケージおよびサブパッケージを含む)で各メソッドを指定します。たとえば、\fIString\fRクラスの\fIlength()\fRメソッドおよび\fIList\fRクラスの\fIsize()\fRメソッドのみをコンパイルするには、次を使用します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileOnly=java/lang/String\&.length,java/util/List\&.size
+.fi
+.if n \{\
+.RE
+.\}
+スラッシュ(\fI/\fR)で区切られたすべてのパッケージおよびサブパッケージを含む、完全クラス名を指定します。切取りと貼付けの操作を容易にするために、\fI\-XX:+PrintCompilation\fRオプションおよび\fI\-XX:+LogCompilation\fRオプションによって生成されるメソッド名の形式を使用することもできます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileOnly=java\&.lang\&.String::length,java\&.util\&.List::size
+.fi
+.if n \{\
+.RE
+.\}
+ワイルドカードはサポートされていませんが、クラス名またはパッケージ名だけを指定してクラスまたはパッケージのすべてのメソッドをコンパイルすることも、メソッドだけを指定して任意のクラスのこの名前を持つメソッドをコンパイルすることもできます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileOnly=java/lang/String
+\-XX:CompileOnly=java/lang
+\-XX:CompileOnly=\&.length
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CompileThreshold=\fIinvocations\fR
+.RS 4
+コンパイル前に解釈されたメソッド呼出しの数を設定します。デフォルトでは、サーバーJVMでは、JITコンパイラは、10,000の解釈されたメソッド呼出しを実行して、効率的なコンパイルのための情報を収集します。クライアントJVMの場合、デフォルト設定は1,500呼出しです。次の例では、解釈されたメソッド呼出しの数を5,000に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CompileThreshold=5000
+.fi
+.if n \{\
+.RE
+.\}
+\fI\-Xcomp\fRオプションを指定して、コンパイルの前に、Javaメソッドの解釈を完全に無効にすることができます。
+.RE
+.PP
+\-XX:+DoEscapeAnalysis
+.RS 4
+エスケープ分析の使用を有効にします。このオプションはデフォルトで有効になっています。エスケープ分析の使用を無効にするには、\fI\-XX:\-DoEscapeAnalysis\fRを指定します。
+.RE
+.PP
+\-XX:+FailOverToOldVerifier
+.RS 4
+新しいタイプ・チェッカが失敗した場合の、古いベリファイアへの自動フェイルオーバーを有効にします。デフォルトでは、このオプションは無効になっており、最近のバイトコード・バージョンを使用したクラスには、これは無視されます(つまり、無効として処理されます)。古いバージョンのバイトコードを使用したクラスには、これを有効化できます。
+.RE
+.PP
+\-XX:InitialCodeCacheSize=\fIsize\fR
+.RS 4
+初期コード・キャッシュ・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値は500KBに設定されています。次の例では、初期コード・キャッシュ・サイズを32KBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:InitialCodeCacheSize=32k
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+Inline
+.RS 4
+メソッドのインライン化を有効にします。このオプションは、パフォーマンスを向上させるためにデフォルトで有効になっています。メソッドのインライン化を無効にするには、\fI\-XX:\-Inline\fRを指定します。
+.RE
+.PP
+\-XX:InlineSmallCode=\fIsize\fR
+.RS 4
+インライン化が必要なコンパイルされたメソッドの最大コード・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。指定したサイズより小さいサイズのコンパイルされたメソッドのみが、インライン化されます。デフォルトでは、最大コード・サイズは1000バイトに設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:InlineSmallCode=1000
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+LogCompilation
+.RS 4
+現在の作業ディレクトリにある\fIhotspot\&.log\fRという名前のファイルへのコンパイル・アクティビティのロギングを有効にします。\fI\-XX:LogFile\fRオプションを使用して、異なるログ・ファイル・パスと名前を指定できます。
+.sp
+デフォルトでは、このオプションは無効であり、コンパイル・アクティビティは記録されません。\fI\-XX:+LogCompilation\fRオプションは、診断JVMオプションのロックを解除する\fI\-XX:UnlockDiagnosticVMOptions\fRオプションとともに使用する必要があります。
+.sp
+\fI\-XX:+PrintCompilation\fRオプションを使用して、メソッドをコンパイルするたびに、コンソールに出力されたメッセージを含む詳細な診断出力を有効化できます。
+.RE
+.PP
+\-XX:MaxInlineSize=\fIsize\fR
+.RS 4
+インライン化するメソッドの最大バイトコード・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、最大バイトコード・サイズは35バイトに設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxInlineSize=35
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxNodeLimit=\fInodes\fR
+.RS 4
+単一のメソッドのコンパイル時に使用されるノードの最大数を設定します。デフォルトでは、ノードの最大数は65,000に設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxNodeLimit=65000
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxTrivialSize=\fIsize\fR
+.RS 4
+インライン化する単純メソッドの最大バイトコード・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルトでは、単純メソッドの最大バイトコード・サイズは6バイトに設定されています。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxTrivialSize=6
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+OptimizeStringConcat
+.RS 4
+\fIString\fR連結操作の最適化を有効にします。このオプションはデフォルトで有効になっています。\fIString\fR連結操作の最適化を無効にするには、\fI\-XX:\-OptimizeStringConcat\fRを指定します。
+.RE
+.PP
+\-XX:+PrintAssembly
+.RS 4
+外部の\fIdisassembler\&.so\fRライブラリを使用して、バイトコード化されたネイティブのメソッドのアセンブリ・コードの出力を有効にします。これにより、生成されたコードを表示することができ、パフォーマンスの問題の診断に役立ちます。
+.sp
+デフォルトでは、このオプションは無効であり、アセンブリ・コードは印刷されません。\fI\-XX:+PrintAssembly\fRオプションは、診断JVMオプションのロックを解除する\fI\-XX:UnlockDiagnosticVMOptions\fRオプションとともに使用する必要があります。
+.RE
+.PP
+\-XX:+PrintCompilation
+.RS 4
+メソッドをコンパイルするたびに、コンソールにメッセージを出力することによって、JVMからの詳細な診断出力を有効にします。これにより、実際にコンパイルされるメソッドを確認できます。デフォルトでは、このオプションは無効であり、診断出力は印刷されません。
+.sp
+\fI\-XX:+LogCompilation\fRオプションを使用して、コンパイル・アクティビティをファイルに記録することもできます。
+.RE
+.PP
+\-XX:+PrintInlining
+.RS 4
+インライン化の決定内容の出力を有効にします。これにより、インライン化されるメソッドを確認できます。
+.sp
+デフォルトでは、このオプションは無効であり、インライン化情報は出力されません。\fI\-XX:+PrintInlining\fRオプションは、診断JVMオプションのロックを解除する\fI\-XX:+UnlockDiagnosticVMOptions\fRオプションとともに使用する必要があります。
+.RE
+.PP
+\-XX:+RelaxAccessControlCheck
+.RS 4
+ベリファイア内のアクセス制御チェックの量を減らします。デフォルトでは、このオプションは無効になっており、最近のバイトコード・バージョンを使用したクラスには、これは無視されます(つまり、無効として処理されます)。古いバージョンのバイトコードを使用したクラスには、これを有効化できます。
+.RE
+.PP
+\-XX:ReservedCodeCacheSize=\fIsize\fR
+.RS 4
+JITコンパイルされたコードの最大コード・キャッシュ・サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。このオプションは\fI\-Xmaxjitcodesize\fRと同等です。
+.RE
+.PP
+\-XX:+TieredCompilation
+.RS 4
+層コンパイルの使用を有効にします。デフォルトでは、このオプションは無効であり、層コンパイルは使用されません。
+.RE
+.PP
+\-XX:+UseCodeCacheFlushing
+.RS 4
+コンパイラをシャットダウンする前に、コード・キャッシュのフラッシュを有効にします。このオプションはデフォルトで有効になっています。コンパイラをシャットダウンする前にコード・キャッシュのフラッシュを無効にするには\fI\-XX:\-UseCodeCacheFlushing\fRを指定します。
+.RE
+.PP
+\-XX:+UseCondCardMark
+.RS 4
+カード表の更新前に、カードがすでにマークされているかどうかのチェックを有効にします。このオプションは、デフォルトでは無効になっており、複数のソケットを持つマシン上でのみ使用する必要があります。これにより、同時操作にかなり依存しているJavaアプリケーションのパフォーマンスが向上します。
+.RE
+.PP
+\-XX:+UseSuperWord
+.RS 4
+スカラー演算のスーパーワード演算への変換を有効にします。このオプションはデフォルトで有効になっています。スカラー演算のスーパーワード演算への変換を無効にするには、\fI\-XX:\-UseSuperWord\fRを指定します。
+.RE
+.SS "高度なサービスアビリティ・オプション"
+.PP
+これらのオプションは、システム情報を収集し、詳細なデバッグを実行する機能を提供します。
+.PP
+\-XX:+ExtendedDTraceProbes
+.RS 4
+パフォーマンスに影響を与える追加の\fIdtrace\fRツール・プローブを有効にします。デフォルトでは、このオプションは無効になっており、\fIdtrace\fRは標準プローブのみを実行します。
+.RE
+.PP
+\-XX:+HeapDumpOnOutOfMemory
+.RS 4
+\fIjava\&.lang\&.OutOfMemoryError\fR例外がスローされた場合に、ヒープ・プロファイラ(HPROF)を使用して、現在のディレクトリ内のファイルへのJavaヒープのダンプを有効にします。\fI\-XX:HeapDumpPath\fRオプションを使用して、ヒープ・ダンプ・ファイルのパスおよび名前を明示的に設定できます。デフォルトでは、このオプションは無効であり、\fIOutOfMemoryError\fR例外がスローされた場合にヒープはダンプされません。
+.RE
+.PP
+\-XX:HeapDumpPath=\fIpath\fR
+.RS 4
+\fI\-XX:+HeapDumpOnOutOfMemoryError\fRオプションが設定されている場合、ヒープ・プロファイラ(HPROF)が提供するヒープ・ダンプを書き込むパスおよびファイル名を設定します。デフォルトでは、このファイルは、現在の作業ディレクトリに作成され、名前は\fIjava_pid\fR\fIpid\fR\fI\&.hprof\fR
+(\fIpid\fRはエラーの原因となったプロセスの識別子)になります。次の例では、デフォルトのファイルを明示的に設定する方法を示します(\fI%p\fRは現在のプロセスの識別子を表します)。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:HeapDumpPath=\&./java_pid%p\&.hprof
+.fi
+.if n \{\
+.RE
+.\}
+次の例では、ヒープ・ダンプ・ファイルを\fI/var/log/java/java_heapdump\&.hprof\fRに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:HeapDumpPath=/var/log/java/java_heapdump\&.hprof
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:LogFile=\fIpath\fR
+.RS 4
+ログ・データが書き込まれるパスおよびファイル名を設定します。デフォルトでは、ファイルは現在の作業ディレクトリに作成され、名前は\fIhotspot\&.log\fRです。
+.sp
+次の例では、ログ・ファイルを\fI/var/log/java/hotspot\&.log\fRに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:LogFile=/var/log/java/hotspot\&.log
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+PrintClassHistogram
+.RS 4
+\fI[Control]+[C]\fRイベント(\fISIGTERM\fR)後にクラス・インスタンスのヒストグラムの印刷を有効にします。デフォルトでは、このオプションは無効です。
+.sp
+このオプションを設定すると、\fIjmap \-histo\fRコマンド、または\fIjcmd \fR\fIpid\fR\fI GC\&.class_histogram\fRコマンド(\fIpid\fRは現在のJavaプロセスの識別子)を実行する場合と同じになります。
+.RE
+.PP
+\-XX:+PrintConcurrentLocks
+.RS 4
+.sp
+\fI[Control]+[C]\fRイベント(\fISIGTERM\fR)後に\fIjava\&.util\&.concurrent\fRロックの印刷を有効にします。デフォルトでは、このオプションは無効です。
+.sp
+このオプションを設定すると、\fIjstack \-l\fRコマンド、または\fIjcmd \fR\fIpid\fR\fI Thread\&.print \-l\fRコマンド(\fIpid\fRは現在のJavaプロセスの識別子)を実行する場合と同じになります。
+.RE
+.PP
+\-XX:+UnlockDiagnosticVMOptions
+.RS 4
+JVMの診断を目的としたオプションをアンロックします。デフォルトでは、このオプションは無効であり、診断オプションは使用できません。
+.RE
+.SS "高度なガベージ・コレクション・オプション"
+.PP
+これらのオプションは、ガベージ・コレクション(GC)がJava HotSpot VMによってどのように実行されるかを制御します。
+.PP
+\-XX:+AggressiveHeap
+.RS 4
+Javaヒープの最適化を有効にします。これにより、コンピュータの構成(RAMおよびCPU)に基づいて、様々なパラメータが、メモリー割当てが集中した長時間実行ジョブに最適になるように設定されます。デフォルトでは、このオプションは無効であり、ヒープは最適化されません。
+.RE
+.PP
+\-XX:AllocatePrefetchDistance=\fIsize\fR
+.RS 4
+オブジェクト割当てのプリフェッチ距離のサイズ(バイト単位)を設定します。新規オブジェクトの値で書き込もうとするメモリーは、最後に割り当てられたオブジェクトのアドレスから、この距離までプリフェッチされます。各Javaスレッドには独自の割当てポイントがあります。
+.sp
+負の値は、プリフェッチ距離はプラットフォームに基づいて選択されることを示します。正の値は、プリフェッチするバイト数です。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値は\-1に設定されています。
+.sp
+次の例では、プリフェッチ距離を1024バイトに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:AllocatePrefetchDistance=1024
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:AllocatePrefetchLines=\fIlines\fR
+.RS 4
+コンパイルされたコードで生成されるプリフェッチ命令を使用して、最後のオブジェクト割当て後にロードするキャッシュ行数を設定します。最後に割り当てられたオブジェクトがインスタンスの場合は、デフォルト値は1になり、配列の場合は3になります。
+.sp
+次の例では、ロードされるキャッシュ行数を5に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:AllocatePrefetchLines=5
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:AllocatePrefetchStyle=\fIstyle\fR
+.RS 4
+プリフェッチ命令に生成されるコード・スタイルを設定します。\fIstyle\fR引数は、0から3までの整数です。
+.PP
+0
+.RS 4
+プリフェッチ命令を生成しません。
+.RE
+.PP
+1
+.RS 4
+各割当ての後で、プリフェッチ命令を実行します。これはデフォルトのパラメータです。
+.RE
+.PP
+2
+.RS 4
+スレッド・ローカルな割当てブロック(TLAB)ウォーターマーク・ポインタを使用して、プリフェッチ命令を実行するタイミングを決定します。
+.RE
+.PP
+3
+.RS 4
+割当てプリフェッチ用のSPARCでBIS命令を使用します。
+.RE
+.RE
+.PP
+\-XX:+AlwaysPreTouch
+.RS 4
+JVMの初期化中にJavaヒープ上のすべてのページのタッチを有効にします。これにより、\fImain()\fRメソッドの入力前に、すべてのページがメモリーに取得されます。このオプションは、物理メモリーにマップされたすべての仮想メモリーを含む長時間実行のシステムをシミュレートするテストで使用できます。デフォルトでは、このオプションは無効になっており、JVMヒープ領域がいっぱいになると、すべてのページがコミットされます。
+.RE
+.PP
+\-XX:+CMSClassUnloadingEnabled
+.RS 4
+並行マークスイープ(CMS)ガベージ・コレクタを使用する場合に、アンロードするクラスを有効にします。このオプションはデフォルトで有効になっています。CMSガベージ・コレクタのクラス・アンロードを無効にするには、\fI\-XX:\-CMSClassUnloadingEnabled\fRを指定します。
+.RE
+.PP
+\-XX:CMSExpAvgFactor=\fIpercent\fR
+.RS 4
+並行コレクション統計の指数平均を計算する際に、現在のサンプルを重み付けするために使用される時間の割合(0から100まで)を設定します。デフォルトでは、指数平均係数は25%に設定されています。次の例では、係数を15%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSExpAvgFactor=15
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CMSIncrementalDutyCycle=\fIpercent\fR
+.RS 4
+並行コレクタの実行が許可されているマイナー・コレクション間の時間の割合(0から100まで)を設定します。\fI\-XX:+CMSIncrementalPacing\fRが有効な場合、デューティ・サイクルが自動的に設定され、このオプションは初期値のみを設定します。
+.sp
+デフォルトでは、デューティ・サイクルは10%に設定されています。次の例では、デューティ・サイクルを20%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSIncrementalDutyCycle=20
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CMSIncrementalDutyCycleMin=\fIpercent\fR
+.RS 4
+\fI\-XX:+CMSIncrementalPacing\fRが有効な場合にデューティ・サイクルの下限であるマイナー・コレクション間の時間の割合(0から100まで)を設定します。デフォルトでは、デューティ・サイクルの下限は0%に設定されています。次の例では、下限を10%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSIncrementalDutyCycleMin=10
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+CMSIncrementalMode
+.RS 4
+CMSコレクタの増分モードを有効にします。このオプションはデフォルトで無効になっており、2つ以下のGCスレッドを持つ構成にのみ有効にする必要があります。\fICMSIncremental\fRで始まるすべてのオプションは、このオプションが有効な場合のみ、適用されます。
+.RE
+.PP
+\-XX:CMSIncrementalOffset=\fIpercent\fR
+.RS 4
+増分モードのデューティ・サイクルをマイナー・コレクション間で期間内に右に移動する時間の割合(0から100まで)を設定します。デフォルトでは、オフセットは0%に設定されています。次の例では、デューティ・サイクルのオフセットを25%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSIncrementalOffset=25
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+CMSIncrementalPacing
+.RS 4
+JVMの実行中に収集された統計に基づいて、増分モードのデューティ・サイクルの自動調整を有効にします。このオプションはデフォルトで有効になっています。増分モード・デューティ・サイクルの自動調整を無効にするには、\fI\-XX:\-CMSIncrementalPacing\fRを指定します。
+.RE
+.PP
+\-XX:CMSIncrementalSafetyFactor=\fIpercent\fR
+.RS 4
+デューティ・サイクルを計算する際に、保守を追加するために使用される時間の割合(0から100まで)を設定します。デフォルトでは、安全係数は10%に設定されています。次の例では、安全係数を5%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSIncrementalSafetyFactor=5
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:CMSInitiatingOccupancyFraction=\fIpercent\fR
+.RS 4
+CMS収集サイクルを開始する古い世代の占有率(0から100まで)を設定します。デフォルト値は\-1に設定されています。負の値(デフォルトを含む)は、\fI\-XX:CMSTriggerRatio\fRが開始占有率の値を定義するために使用されることを意味します。
+.sp
+次の例では、占有率を20%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSInitiatingOccupancyFraction=20
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+CMSScavengeBeforeRemark
+.RS 4
+CMSコメント・ステップの前にスカベンジの試行を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:CMSTriggerRatio=\fIpercent\fR
+.RS 4
+CMS収集サイクルが開始する前に割り当てられる\fI\-XX:MinHeapFreeRatio\fRによって指定される値の割合(0から100まで)を設定します。デフォルト値は80%に設定されています。
+.sp
+次の例では、占有率を75%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:CMSTriggerRatio=75
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:ConcGCThreads=\fIthreads\fR
+.RS 4
+並行GCに使用されるスレッドの数を設定します。デフォルト値は、JVMに使用できるCPUの数によって異なります。
+.sp
+たとえば、並行GCのスレッド数を2に設定するには、次のオプションを指定します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:ConcGCThreads=2
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+DisableExplicitGC
+.RS 4
+\fISystem\&.gc()\fRの呼出しの処理を無効にするオプションを有効にします。このオプションはデフォルトで無効になっており、これは\fISystem\&.gc()\fRへの呼出しが処理されることを意味します。\fISystem\&.gc()\fRの呼出しの処理が無効になっている場合、JVMは必要に応じてGCを実行します。
+.RE
+.PP
+\-XX:+ExplicitGCInvokesConcurrent
+.RS 4
+\fISystem\&.gc()\fRリクエストを使用することによって、並行GCの呼出しを有効にします。このオプションはデフォルトで無効になっており、\fI\-XX:+UseConcMarkSweepGC\fRオプションとともに使用する場合のみ、有効にすることができます。
+.RE
+.PP
+\-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
+.RS 4
+\fISystem\&.gc()\fRリクエストを使用し、並行GCサイクル中にクラスをアンロードすることによって、並行GCの呼出しを有効にします。このオプションはデフォルトで無効になっており、\fI\-XX:+UseConcMarkSweepGC\fRオプションとともに使用する場合のみ、有効にすることができます。
+.RE
+.PP
+\-XX:G1HeapRegionSize=\fIsize\fR
+.RS 4
+ガベージファースト(G1)コレクタを使用する際にJavaヒープを細分化するリージョンのサイズを設定します。値には、1MBから32MBまでを指定できます。デフォルトのリージョン・サイズは、ヒープ・サイズに基づいて人間工学的に決定されます。
+.sp
+次の例では、細分化されたサイズを16MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:G1HeapRegionSize=16m
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+G1PrintHeapRegions
+.RS 4
+割り当てられたリージョンおよびG1コレクタによって再要求されたものに関する情報の印刷を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:G1ReservePercent=\fIpercent\fR
+.RS 4
+G1コレクタの昇格が失敗する可能性を減らすためのfalseの上限として予約されたヒープの割合(0から50まで)を設定します。デフォルトでは、このオプションは10%に設定されています。
+.sp
+次の例では、予約されたヒープを20%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:G1ReservePercent=20
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:InitialHeapSize=\fIsize\fR
+.RS 4
+メモリー割当てプールの初期サイズ(バイト単位)を設定します。指定する値は、0、または1MBより大きい1024の倍数のいずれかにする必要があります。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値は、実行時にシステム構成に基づいて選択されます。詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.htmlにあるガベージ・コレクタ・エルゴノミックを参照してください。
+.sp
+次の例では、割り当てられたメモリーのサイズを様々な単位を使用して6MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:InitialHeapSize=6291456
+\-XX:InitialHeapSize=6144k
+\-XX:InitialHeapSize=6m
+.fi
+.if n \{\
+.RE
+.\}
+このオプションを0に設定した場合、初期サイズは、古い世代と若い世代に割り当てられたサイズの合計として設定されます。若い世代のヒープのサイズは、\fI\-XX:NewSize\fRオプションを使用して設定できます。
+.RE
+.PP
+\-XX:InitialSurvivorRatio=\fIratio\fR
+.RS 4
+スループット・ガベージ・コレクタが使用するサバイバ領域の初期比を設定します(\fI\-XX:+UseParallelGC\fRおよび/または\fI\-XX:+UseParallelOldGC\fRオプションによって有効になります)。\fI\-XX:+UseParallelGC\fRオプションおよび\fI\-XX:+UseParallelOldGC\fRオプションを使用することによって、スループット・ガベージ・コレクタで適応サイズ指定をデフォルトで有効にします。初期値から始めて、アプリケーションの動作に従って、サバイバ領域がサイズ変更されます。(\fI\-XX:\-UseAdaptiveSizePolicy\fRオプションを使用して)適応サイズ指定を無効にした場合、\fI\-XX:SurvivorRatio\fRオプションを使用して、アプリケーションの実行全体のサバイバ領域のサイズを設定する必要があります。
+.sp
+次の式を使用して、若い世代のサイズ(Y)およびサバイバ領域の初期比(R)に基づいて、サバイバ領域の初期サイズ(S)を計算できます。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+S=Y/(R+2)
+.fi
+.if n \{\
+.RE
+.\}
+等式内の2は、2つのサバイバ領域を示します。サバイバ領域の初期比に指定する値を大きくすると、サバイバ領域の初期サイズは小さくなります。
+.sp
+デフォルトでは、サバイバ領域の初期比は8に設定されています。若い世代の領域サイズのデフォルト値(2MB)を使用した場合、サバイバ領域の初期サイズは0\&.2MBになります。
+.sp
+次の例では、サバイバ領域の初期比を4に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:InitialSurvivorRatio=4
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:InitiatingHeapOccupancyPercent=\fIpercent\fR
+.RS 4
+並行GCサイクルを開始するヒープ占有率(0から100まで)を設定します。これは、1つの世代のみ(たとえばG1ガベージ・コレクタなど)ではなく、ヒープ全体の占有に基づいて並行GCサイクルをトリガーするガベージ・コレクタによって使用されます。
+.sp
+デフォルトでは、開始値は45%に設定されています。値0は、GCサイクルが停止しないことを意味します。次の例では、開始ヒープ占有率を75%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:InitiatingHeapOccupancyPercent=75
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxGCPauseMillis=\fItime\fR
+.RS 4
+最大GC休止時間(ミリ秒単位)のターゲットを設定します。これはソフト・ゴールのため、JVMは実現のために最善の努力をします。デフォルトでは、休止時間の最大値はありません。
+.sp
+次の例では、最大ターゲット休止時間を500ミリ秒に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxGCPauseMillis=500
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxHeapSize=\fIsize\fR
+.RS 4
+メモリー割当てプールの最大サイズ(バイト単位)を設定します。指定する値は、2MBより大きい1024の倍数にする必要があります。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。デフォルト値は、実行時にシステム構成に基づいて選択されます。サーバー・デプロイメントでは、\fI\-XX:InitialHeapSize\fRおよび\fI\-XX:MaxHeapSize\fRは通常同じ値に設定されます。詳細は、http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/vm/gc\-ergonomics\&.htmlにあるガベージ・コレクタ・エルゴノミックを参照してください。
+.sp
+次の例では、割り当てられたメモリーの許可される最大サイズを様々な単位を使用して80MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxHeapSize=83886080
+\-XX:MaxHeapSize=81920k
+\-XX:MaxHeapSize=80m
+.fi
+.if n \{\
+.RE
+.\}
+Oracle Solaris 7およびOracle Solaris 8 SPARCプラットフォームの場合のこの値の上限は、およそ4,000MBからオーバーヘッドの量を引いたものです。Oracle Solaris 2\&.6およびx86プラットフォームの場合の上限は、およそ2,000MBからオーバーヘッドの量を引いたものです。Linuxプラットフォームの場合の上限は、およそ2,000MBからオーバーヘッドの量を引いたものです。
+.sp
+\fI\-XX:MaxHeapSize\fRオプションは\fI\-Xmx\fRと同等です。
+.RE
+.PP
+\-XX:MaxHeapFreeRatio=\fIpercent\fR
+.RS 4
+GCイベント後の空きヒープ領域の許可されている最大の割合(0から100まで)を設定します。空きヒープ領域がこの値を超えて拡大した場合、そのヒープは縮小します。デフォルトでは、この値は70%に設定されています。
+.sp
+次の例では、空きヒープの最大比率を75%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxHeapFreeRatio=75
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxMetaspaceSize=\fIsize\fR
+.RS 4
+クラス・メタデータに割り当てることができるネイティブ・メモリーの最大量を設定します。デフォルトでは、このサイズは制限されていません。アプリケーションのメタデータの量は、アプリケーション自体、他の実行中アプリケーション、およびシステムで使用可能なメモリーの量によって異なります。
+.sp
+次の例では、クラス・メタデータの最大サイズを256MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxMetaspaceSize=256m
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MaxNewSize=\fIsize\fR
+.RS 4
+若い世代(ナーサリ)のヒープの最大サイズ(バイト単位)を設定します。デフォルト値は人間工学的に設定されます。
+.RE
+.PP
+\-XX:MaxTenuringThreshold=\fIthreshold\fR
+.RS 4
+適応GCサイズ指定で使用する最大殿堂入りしきい値を設定します。最大値は15です。デフォルト値は、パラレル(スループット)コレクタの場合は15、CMSコレクタの場合は6です。
+.sp
+次の例では、最大殿堂入りしきい値を10に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MaxTenuringThreshold=10
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:MetaspaceSize=\fIsize\fR
+.RS 4
+最初に超えたときにガベージ・コレクションをトリガーする、割り当てられたクラス・メタデータ領域のサイズを設定します。このガベージ・コレクションのしきい値は、使用されるメタデータの量によって増加または減少します。デフォルトのサイズはプラットフォームによって異なります。
+.RE
+.PP
+\-XX:MinHeapFreeRatio=\fIpercent\fR
+.RS 4
+GCイベント後の空きヒープ領域の許可されている最小の割合(0から100まで)を設定します。空きヒープ領域がこの値を下回った場合、そのヒープは拡大します。デフォルトでは、この値は40%に設定されています。
+.sp
+次の例では、空きヒープの最小比率を25%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:MinHeapFreeRatio=25
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:NewRatio=\fIratio\fR
+.RS 4
+若い世代のサイズと古い世代のサイズとの比率を設定します。デフォルトでは、このオプションは2に設定されています。次の例では、若い/古いの比率を1に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:NewRatio=1
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:NewSize=\fIsize\fR
+.RS 4
+若い世代(ナーサリ)のヒープの初期サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。
+.sp
+ヒープの若い世代リージョンは新しいオブジェクトに使用されます。GCは、他のリージョンよりこのリージョンで、より頻繁に実行されます。若い世代のサイズが小さすぎる場合、多数のマイナーGCが実行されます。サイズが大きすぎる場合、フルGCのみが実行されますが、完了までに時間がかかることがあります。若い世代のサイズは、全体のヒープ・サイズの半分から4分の1の間にしておくことをお薦めします。
+.sp
+次の例では、若い世代の初期サイズを様々な単位を使用して256MBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:NewSize=256m
+\-XX:NewSize=262144k
+\-XX:NewSize=268435456
+.fi
+.if n \{\
+.RE
+.\}
+\fI\-XX:NewSize\fRオプションは\fI\-Xmn\fRと同等です。
+.RE
+.PP
+\-XX:ParallelGCThreads=\fIthreads\fR
+.RS 4
+若い世代と古い世代でパラレル・ガベージ・コレクションに使用するスレッドの数を設定します。デフォルト値は、JVMに使用できるCPUの数によって異なります。
+.sp
+たとえば、パラレルGCのスレッド数を2に設定するには、次のオプションを指定します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:ParallelGCThreads=2
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+ParallelRefProcEnabled
+.RS 4
+パラレル参照処理を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintAdaptiveSizePolicy
+.RS 4
+適応世代サイズ指定に関する情報の出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGC
+.RS 4
+GCごとのメッセージの出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGCApplicationConcurrentTime
+.RS 4
+最後の休止(たとえばGC休止など)以降に経過した時間の出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGCApplicationStoppedTime
+.RS 4
+休止(たとえばGC休止など)が継続した時間の出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX+PrintGCDateStamp
+.RS 4
+GCごとの日付スタンプの出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGCDetails
+.RS 4
+GCごとの詳細メッセージの出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGCTaskTimeStamps
+.RS 4
+個々のGCワーカー・スレッド・タスクごとのタイムスタンプの出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintGCTimeStamp
+.RS 4
+GCごとのタイムスタンプの出力を有効にします。デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+PrintTenuringDistribution
+.RS 4
+殿堂入り期間情報の出力を有効にします。次に、出力の例を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Desired survivor size 48286924 bytes, new threshold 10 (max 10)
+\- age 1: 28992024 bytes, 28992024 total
+\- age 2: 1366864 bytes, 30358888 total
+\- age 3: 1425912 bytes, 31784800 total
+\&.\&.\&.
+.fi
+.if n \{\
+.RE
+.\}
+期間1オブジェクトは、最も若いサバイバです(前のスカベンジの後に作成され、最新のスカベンジで存続し、Eden領域からサバイバ領域に移動しました)。期間2オブジェクトは、2つのスカベンジで存続します(2番目のスカベンジ中に、あるサバイバ領域から次の領域にコピーされました)。このように続きます。
+.sp
+前述の例では、28,992,024バイトが1つのスカベンジで存続し、Eden領域からサバイバ領域にコピーされました。1,366,864バイトは期間2オブジェクトなどにより占有されています。各行の3番目の値は、期間n以下のオブジェクトの累積サイズです。
+.sp
+デフォルトでは、このオプションは無効です。
+.RE
+.PP
+\-XX:+ScavengeBeforeFullGC
+.RS 4
+それぞれのフルGCの前に若い世代のGCを有効にします。このオプションはデフォルトで有効になっています。フルGCの前に若い世代のスカベンジを行うと、古い世代領域から若い世代領域へのアクセスが可能なオブジェクトの数を減らすことができるため、これを無効に\fIしない\fRことをお薦めします。各フルGCの前に若い世代のGCを無効にするには、\fI\-XX:\-ScavengeBeforeFullGC\fRを指定します。
+.RE
+.PP
+\-XX:SoftRefLRUPolicyMSPerMB=\fItime\fR
+.RS 4
+ソフト・アクセスが可能なオブジェクトが最後に参照されてからヒープ上でアクティブなままになっている時間(ミリ秒単位)を設定します。デフォルト値は、ヒープ内の空きメガバイト当たりで1秒の存続期間です。\fI\-XX:SoftRefLRUPolicyMSPerMB\fRオプションは、現在のヒープ・サイズ(Java HotSpot Client VM用)または最大可能ヒープ・サイズ(Java HotSpot Server VM用)の1メガバイト当たりのミリ秒を表す整数値を受け入れます。この違いは、Client VMは、ヒープを大きくするのではなく、ソフト参照をフラッシュする傾向があるのに対し、Server VMは、ソフト参照をフラッシュするのではなく、ヒープを大きくする傾向があることを意味します。後者の場合、\fI\-Xmx\fRオプションの値は、ソフト参照がどのくらい迅速にガベージ・コレクションされるかに重要な影響を及ぼします。
+.sp
+次の例では、値を2\&.5秒に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:SoftRefLRUPolicyMSPerMB=2500
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:SurvivorRatio=\fIratio\fR
+.RS 4
+Eden領域のサイズとサバイバ領域のサイズとの比率を設定します。デフォルトでは、このオプションは8に設定されています。次の例では、Eden/サバイバ領域の比率を4に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:SurvivorRatio=4
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:TargetSurvivorRatio=\fIpercent\fR
+.RS 4
+若いガベージ・コレクションの後に使用されるサバイバ領域の目的の割合(0から100まで)を設定します。デフォルトでは、このオプションは50%に設定されています。
+.sp
+次の例では、ターゲットのサバイバ領域の比率を30%に設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:TargetSurvivorRatio=30
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:TLABSize=\fIsize\fR
+.RS 4
+スレッド・ローカルな割当てバッファ(TLAB)の初期サイズ(バイト単位)を設定します。キロバイトを示す場合は文字\fIk\fRまたは\fIK\fR、メガバイトを示す場合は文字\fIm\fRまたは\fIM\fR、ギガバイトを示す場合は文字\fIg\fRまたは\fIG\fRを追加します。このオプションが0に設定されている場合、JVMでは初期サイズが自動的に選択されます。
+.sp
+次の例では、TLABの初期サイズを512KBに設定する方法を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-XX:TLABSize=512k
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-XX:+UseAdaptiveSizePolicy
+.RS 4
+適応世代サイズ指定の使用を有効にします。このオプションはデフォルトで有効になっています。適応世代サイズ指定を無効にするには、\fI\-XX:\-UseAdaptiveSizePolicy\fRを指定し、メモリー割当てプールのサイズを明示的に設定します(\fI\-XX:SurvivorRatio\fRオプションを参考にしてください)。
+.RE
+.PP
+\-XX:+UseCMSInitiatingOccupancyOnly
+.RS 4
+CMSコレクタの開始のための唯一の基準としての占有値の使用を有効にします。デフォルトでは、このオプションは無効になっており、他の基準が使用されます。
+.RE
+.PP
+\-XX:+UseConcMarkSweepGC
+.RS 4
+古い世代へのCMSガベージ・コレクタの使用を有効にします。アプリケーションの待機時間の要件を、スループット(\fI\-XX:+UseParallelGC\fR)ガベージ・コレクタによって満たすことができない場合、CMSガベージ・コレクタを使用することをお薦めします。G1ガベージ・コレクタ(\fI\-XX:+UseG1GC\fR)は別の代替となります。
+.sp
+デフォルトでは、このオプションは無効になっており、コレクタは、マシンの構成およびJVMのタイプに基づいて、自動的に選択されます。このオプションを有効にすると、\fI\-XX:+UseParNewGC\fRオプションが自動的に設定されます。
+.RE
+.PP
+\-XX:+UseG1GC
+.RS 4
+G1ガベージ・コレクタの使用を有効にします。これはサーバー形式のガベージ・コレクタで、大量のRAMを持つマルチプロセッサ・マシンを対象としています。高い確率でGC休止時間の目標を達成し、同時に適切なスループットも維持します。G1コレクタは、GC待機時間の限定された要件(安定した予測可能な0\&.5秒未満の休止時間)を持つ、大きいヒープ(約6GB以上のサイズ)が必要なアプリケーションに推奨されます。
+.sp
+デフォルトでは、このオプションは無効になっており、コレクタは、マシンの構成およびJVMのタイプに基づいて、自動的に選択されます。
+.RE
+.PP
+\-XX:+UseGCOverheadLimit
+.RS 4
+\fIOutOfMemoryError\fR例外がスローされるまでに、GCでJVMによって要した時間の割合を制限するポリシーの使用を有効にします。デフォルトでは、このオプションは有効になっており、ガベージ・コレクションに合計時間の98%より多く費やされ、ヒープのリカバリが2%未満である場合、パラレルGCによって\fIOutOfMemoryError\fRがスローされます。ヒープが小さい場合、この機能は、アプリケーションが長期間ほとんどまたはまったく進捗なく実行している状態を回避するために使用できます。このオプションを無効にするには、\fI\-XX:\-UseGCOverheadLimit\fRを指定します。
+.RE
+.PP
+\-XX:+UseNUMA
+.RS 4
+アプリケーションで短い待機時間のメモリーの使用を増加させることで、不均一なメモリー・アーキテクチャ(NUMA)を使用したマシン上のアプリケーションのパフォーマンス最適化を有効にします。デフォルトでは、このオプションは無効になっており、NUMAに対する最適化は行われません。このオプションは、パラレル・ガベージ・コレクタ(\fI\-XX:+UseParallelGC\fR)が使用されている場合のみ使用可能です。
+.RE
+.PP
+\-XX:+UseParallelGC
+.RS 4
+複数のプロセッサを利用してアプリケーションのパフォーマンスを向上させる、パラレル・スカベンジ・ガベージ・コレクタ(スループット・コレクタとも呼ばれる)の使用を有効にします。
+.sp
+デフォルトでは、このオプションは無効になっており、コレクタは、マシンの構成およびJVMのタイプに基づいて、自動的に選択されます。これを有効にした場合、明示的に無効にしないかぎり、\fI\-XX:+UseParallelOldGC\fRオプションが自動的に有効になります。
+.RE
+.PP
+\-XX:+UseParallelOldGC
+.RS 4
+フルGCへのパラレル・ガベージ・コレクタの使用を有効にします。デフォルトでは、このオプションは無効です。これを有効にすると、\fI\-XX:+UseParallelGC\fRオプションが自動的に有効になります。
+.RE
+.PP
+\-XX:+UseParNewGC
+.RS 4
+若い世代でのコレクションへのパラレル・スレッドの使用を有効にします。デフォルトでは、このオプションは無効です。\fI\-XX:+UseConcMarkSweepGC\fRオプションを設定すると、これは自動的に有効になります。
+.RE
+.PP
+\-XX:+UseSerialGC
+.RS 4
+シリアル・ガベージ・コレクタの使用を有効にします。ガベージ・コレクションから特別な機能を必要としない、小規模で単純なアプリケーションの場合には、これは一般に最適な選択です。デフォルトでは、このオプションは無効になっており、コレクタは、マシンの構成およびJVMのタイプに基づいて、自動的に選択されます。
+.RE
+.PP
+\-XX:+UseTLAB
+.RS 4
+若い世代の領域でのスレッド・ローカルな割当てブロック(TLAB)の使用を有効にします。このオプションはデフォルトで有効になっています。TLABの使用を無効にするには、\fI\-XX:\-UseTLAB\fRを指定します。
+.RE
+.SS "非推奨で削除されたオプション"
+.PP
+これらのオプションは、以前のリリースには含まれていましたが、以降は不要とみなされています。
+.PP
+\-Xrun\fIlibname\fR
+.RS 4
+指定したデバッグ/プロファイルのライブラリをロードします。このオプションは、\fI\-agentlib\fRオプションに取って代わられました。
+.RE
+.PP
+\-XX:CMSInitiatingPermOccupancyFraction=\fIpercent\fR
+.RS 4
+GCを開始する永久世代占有率(0から100まで)を設定します。このオプションはJDK 8では非推奨で、それに代わるものはありません。
+.RE
+.PP
+\-XX:MaxPermSize=\fIsize\fR
+.RS 4
+永久世代領域の最大サイズ(バイト単位)を設定します。このオプションは、JDK 8で非推奨になり、\fI\-XX:MaxMetaspaceSize\fRオプションに取って代わられました。
+.RE
+.PP
+\-XX:PermSize=\fIsize\fR
+.RS 4
+超えた場合にはガベージ・コレクションをトリガーする、永久世代に割り当てられた領域(バイト単位)を設定します。このオプションは、JDK 8で非推奨になり、\fI\-XX:MetaspaceSize\fRオプションに取って代わられました。
+.RE
+.PP
+\-XX:+UseSplitVerifier
+.RS 4
+検証プロセスの分割を有効にします。デフォルトでは、このオプションは以前のリリースでは有効になっており、検証は、タイプ参照(コンパイラによって実行)と、タイプ・チェック(JVMランタイムによって実行)の2つのフェーズに分割されていました。このオプションはJDK 8で非推奨となり、検証はデフォルトで分割され、無効にする方法はありません。
+.RE
+.PP
+\-XX:+UseStringCache
+.RS 4
+一般に割り当てられた文字列のキャッシングを有効にします。このオプションはJDK 8から削除され、それに代わるものはありません。
+.RE
+.SH "パフォーマンス・チューニングの例"
+.PP
+次の例では、スループットの最適化またはレスポンス時間の短縮化のいずれかを行うための、試験的なチューニング・フラグの使用方法を示します。
+.PP
+\fBExample 1\fR, スループットを向上するためのチューニング
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\fBExample 2\fR, レスポンス時間を速くするためのチューニング
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java \-d64 \-XX:+UseG1GC \-Xms26g Xmx26g \-XX:MaxGCPauseMillis=500 \-XX:+PrintGCTimeStamp
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.SH "終了ステータス"
+.PP
+通常、次の終了値が起動ツールから返されるのは、起動元が不正な引数で呼び出されたか、深刻なエラーが発生したか、あるいはJVMにより例外がスローされた場合です。ただし、Javaアプリケーションは、API呼出し\fISystem\&.exit(exitValue)\fRを使用して任意の値を返すことを選択することもできます。値は次のとおりです。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI0\fR: 正常終了
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI>0\fR: エラー発生
+.RE
+.SH "関連項目"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+javac(1)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+jdb(1)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+javah(1)
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+jar(1)
+.RE
 .br
-.br
-たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。* だけから成る \f2クラスパスエントリは、\fP カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。 \f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しのように環境に問い合わせを行わない限り、Java プログラムが展開されていないワイルドカードを認識することはありません。  
-.LP
-クラスパスの詳細は、
-.na
-\f2「クラスパスの設定」\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。  
-.TP 3
-\-Dproperty=value 
-システムプロパティーの値を設定します。 
-.TP 3
-\-d32 
-.TP 3
-\-d64 
-それぞれ 32 ビット環境、64 ビット環境でプログラムを実行することを要求します。要求された環境がインストールされていないかサポートされていない場合は、エラーが報告されます。 
-.LP
-現在のところ、Java HotSpot Server VM だけが 64 ビットの操作をサポートしており、\-server オプションを使用する場合は、\-d64 も一緒に使用する必要があります。したがって、\-d64 使用時には「\-client」オプションは無視されます。この仕様は、将来のリリースでは変更になる可能性があります。 
-.LP
-\f3\-d32\fP と \f3\-d64\fP がどちらも指定されていない場合は、デフォルトとして、32 ビット環境で実行されます。この仕様は、将来のリリースでは変更になる可能性があります。  
-.TP 3
-\-enableassertions[:<package name>"..." | :<class name> ] 
-.TP 3
-\-ea[:<package name>"..." | :<class name> ] 
-アサーションを有効にします。アサーションは、デフォルトでは無効になっています。 
-.LP
-引数なしの \f3enableassertions\fP または \f3\-ea\fP を指定すると、アサーションが有効になります。「\f2...\fP」で終わる引数を 1 つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として「\f2...\fP」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。「\f2...\fP」で終わらない引数を 1 つ指定すると、指定したクラス内でアサーションが有効になります。 
-.LP
-単一コマンド行にこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。したがって、たとえば、パッケージ \f2com.wombat.fruitbat\fP (サブパッケージを含む) 内でのみアサーションを有効にしてプログラムを実行するには、次のようなコマンドを使用します。 
-.nf
-\f3
-.fl
-java \-ea:com.wombat.fruitbat... <Main Class>
-.fl
-\fP
-.fi
-.LP
-\f3\-enableassertions\fP および \f3\-ea\fP スイッチは、すべてのクラスローダおよびシステムクラスに適用されます。システムクラスにはクラスローダはありません。ただし、この規則には 1 つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用されない、ということです。この例外を利用すれば、システムクラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステムクラスでアサーションを有効にするために、別のスイッチが用意されています。このあとの \f3\-enablesystemassertions\fP を参照してください。  
-.TP 3
-\-disableassertions[:<package name>"..." | :<class name> ] 
-.TP 3
-\-da[:<package name>"..." | :<class name> ] 
-アサーションを無効にします。これがデフォルトです。 
-.LP
-引数なしの \f3disableassertions\fP または \f3\-da\fP を指定すると、アサーションが無効になります。「\f2...\fP」で終わる引数を 1 つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが無効になります。引数として「\f2...\fP」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。「\f2...\fP」で終わらない引数を 1 つ指定すると、指定したクラス内でアサーションが無効になります。 
-.LP
-パッケージ \f2com.wombat.fruitbat\fP 内ではアサーションを有効にし、クラス \f2com.wombat.fruitbat.Brickbat\fP 内ではアサーションを無効にしたうえで、プログラムを実行するには、次のようなコマンドを使用します。 
-.nf
-\f3
-.fl
-java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4<Main Class>\fP\f3
-.fl
-\fP
-.fi
-.LP
-\f3\-disableassertions\fP および \f3\-da\fP スイッチは、すべてのクラスローダおよびシステムクラスに適用されます。システムクラスにはクラスローダはありません。ただし、この規則には 1 つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用されない、ということです。この例外を利用すれば、システムクラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステムクラスでアサーションを無効にするために、別のスイッチが用意されています。このあとの \f3\-disablesystemassertions\fP を参照してください。  
-.TP 3
-\-enablesystemassertions 
-.TP 3
-\-esa 
-すべてのシステムクラス内でアサーションを有効にします。つまり、システムクラスについてアサーションのデフォルトステータスを \f2true\fP に設定します。 
-.TP 3
-\-disablesystemassertions 
-.TP 3
-\-dsa 
-すべてのシステムクラス内でアサーションを無効にします。 
-.TP 3
-\-jar 
-JAR ファイルにカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JAR ファイルの名前にします。このオプションが機能するには、JAR ファイルのマニフェストに\f3「Main\-Class:\fP\f4classname\fP\f3」\fPという形式の行を指定する必要があります。\f2classname\fP には、アプリケーションの開始位置として機能する \f2public\ static\ void\ main(String[]\ args)\fP メソッドを含むクラスを指定します。JAR ファイルとそのマニフェストについては、jar(1)と、
-.na
-\f2Java チュートリアル\fP @
-.fi
-http://download.oracle.com/javase/tutorial/deployment/jarの「Trail: Jar Files」を参照してください。 
-.LP
-このオプションを使用すると、指定した JAR ファイルがすべてのユーザークラスのソースになり、ユーザークラスパスのほかの設定は無視されます。 
-.LP
-Solaris 8 では、「java \-jar」オプションで実行できる JAR ファイルは、実行権限のセットを保持しています。このため、「java \-jar」を使用しないで実行することも可能です。Java Archive (JAR) ファイル
-.na
- @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html  
-.TP 3
-\-javaagent:jarpath[=options] 
-Java プログラミング言語エージェントをロードします。 java.lang.instrument を参照してください。
-.na
- @
-.fi
-http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html 
-.TP 3
-\-jre\-restrict\-search 
-ユーザープライベートな JRE をバージョン検索に含めます。 
-.TP 3
-\-no\-jre\-restrict\-search 
-ユーザープライベートな JRE をバージョン検索から除外します。 
-.TP 3
-\-verbose 
-.TP 3
-\-verbose:class 
-クラスがロードされるたびにクラスに関する情報を表示します。 
-.TP 3
-\-verbose:gc 
-ガベージコレクションイベントが発生するたびに報告します。 
-.TP 3
-\-verbose:jni 
-ネイティブメソッドの使用およびその他の Java Native Interface (JNI) アクティビティーに関する情報を報告します。 
-.TP 3
-\-version 
-バージョン情報を表示して終了します。 
-.TP 3
-\-version:release 
-コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。 
-.LP
-\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 2 つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 
-.nf
-\f3
-.fl
-\-version:"1.6.0_13 1.6*&1.6.0_10+"
-.fl
-\fP
-.fi
-上記の意味は、バージョン 1.6.0_13、1.6 をバージョン ID プレフィックスに持つ 1.6.0_10 以上のバージョン、のいずれかをクラスまたは JAR ファイルが必要としている、ということです。バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol & API Specification (JSR\-56)」の「Appendix A」を参照してください。 
-.LP
-JAR ファイルの場合は通常、バージョン要件をコマンド行に指定するよりも、JAR ファイルのマニフェスト内に指定することが推奨されています。 
-.LP
-このオプションの使用に関する重要なポリシー情報については、後述の「注」節を参照してください。  
-.TP 3
-\-showversion 
-バージョン情報を表示して続行します。 
-.TP 3
-\-? 
-.TP 3
-\-help 
-使用法を表示して終了します。 
-.TP 3
-\-splash:imagepath 
-\f2imagepath\fP に指定された画像を含むスプラッシュ画面を表示します。 
-.TP 3
-\-X 
-非標準オプションに関する情報を表示して終了します。 
-.RE
-
-.LP
-.SS 
-非標準オプション
-.LP
-.RS 3
-.TP 3
-\-Xint 
-インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。 
-.TP 3
-\-Xbatch 
-バックグラウンドコンパイルを無効にします。通常、VM では、バックグラウンドコンパイルが終了するまで、メソッドをバックグラウンドタスクとしてコンパイルし、インタプリタモードでメソッドを実行します。\f2\-Xbatch\fP フラグを指定すると、バックグラウンドコンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンドタスクとして処理されます。 
-.TP 3
-\-Xbootclasspath:bootclasspath 
-ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストで指定します。指定したパスに存在するブートクラスファイルが、Java プラットフォーム JDK に含まれるブートクラスファイルの代わりに使用されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environment バイナリコードライセンス違反になります。\fP 
-.TP 3
-\-Xbootclasspath/a:path 
-ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップクラスパスのあとに追加されます。 
-.TP 3
-\-Xbootclasspath/p:path 
-ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップクラスパスの前に追加されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environment バイナリコードライセンス違反になります。\fP 
-.TP 3
-\-Xcheck:jni 
-Java Native Interface (JNI) 機能に対して追加チェックを行います。具体的には、Java 仮想マシンは JNI 要求を処理する前に、JNI 関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブコードに問題があることを示しているため、Java 仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。 
-.TP 3
-\-Xfuture 
-クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、JDK の仮想マシンが実行するデフォルトの形式チェックは、JDK ソフトウェアのバージョン 1.1.x が実行するチェックと同程度の厳密さになっています。\f3\-Xfuture\fP フラグを指定すると、クラスファイル形式の仕様への準拠を強化するためのより厳密なチェックが有効になります。Java アプリケーション起動ツールの将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときにはこのフラグを使用することをお勧めします。 
-.TP 3
-\-Xnoclassgc 
-クラスのガベージコレクションを無効にします。このオプションを使用すると、ロード済みクラスからメモリーが回復されることがなくなるため、全体的なメモリー使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。 
-.TP 3
-\-Xincgc 
-インクリメンタルガーベジコレクタを有効にします。インクリメンタルガベージコレクタは、デフォルトでは無効になっています。 有効にすると、プログラムの実行中にガベージコレクションによる一時停止が発生しなくなります。インクリメンタルガベージコレクタは、プログラムと同時に実行することがあり、この場合、プログラムの利用できるプロセッサ能力が低下します。 
-.TP 3
-\-Xloggc:file 
-\-verbose:gc と同様にガベージコレクションイベントが発生するたびに報告しますが、そのデータを \f2file\fP に記録します。\f2\-verbose:gc\fP を指定したときに報告される情報のほかに、報告される各イベントの先頭に、最初のガベージコレクションイベントからの経過時間 (秒単位) が付け加えられます。 
-.LP
-ネットワークの応答時間によって JVM の実行速度が低下するのを避けるため、このファイルの格納先は、常にローカルファイルシステムにしてください。ファイルシステムが満杯になると、ファイルは切り詰められ、そのファイルにデータが引き続き記録されます。このオプションと \f2\-verbose:gc\fP の両方がコマンド行に指定されている場合は、このオプションが優先されます。  
-.TP 3
-\-Xmsn 
-メモリー割り当てプールの初期サイズをバイト数で指定します。指定する値は、1M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「
-.na
-\f2HotSpot Ergonomics\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html」を参照してください。 
-.LP
-例: 
-.nf
-\f3
-.fl
-       \-Xms6291456
-.fl
-       \-Xms6144k
-.fl
-       \-Xms6m
-.fl
-
-.fl
-\fP
-.fi
-.TP 3
-\-Xmxn 
-メモリー割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「
-.na
-\f2HotSpot Ergonomics\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html」を参照してください。
-.br
-例: 
-.nf
-\f3
-.fl
-       \-Xmx83886080
-.fl
-       \-Xmx81920k
-.fl
-       \-Xmx80m
-.fl
-
-.fl
-\fP
-.fi
-Solaris 7 および Solaris 8 SPARC プラットフォームの場合のこの値の上限は、およそ 4000m からオーバーヘッドの量を引いたものです。Solaris 2.6 および x86 プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。Linux プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。 
-.TP 3
-\-Xprof 
-実行中のプログラムのプロファイルを生成し、プロファイルデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティーとして提供されています。 本番稼動システムでの使用を目的としたものではありません。  
-.TP 3
-\-Xrs 
-Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの使用を減らします。 
-.LP
-以前のリリースでは、Java アプリケーションを秩序正しくシャットダウンするためのシャットダウンフック機能が追加されました。この機能により、JVM が突然終了した場合でも、シャットダウン時にユーザークリーンアップコード (データベース接続のクローズなど) を実行できるようになりました。 
-.LP
-Sun の JVM は、シグナルをキャッチすることによって、JVM の異常終了のためのシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、および SIGTERM を使用して、シャットダウンフックの実行を開始します。 
-.LP
-JVM は、デバッグの目的でスレッドスタックをダンプするという、1.2 より前からある機能を実現するためにも、同様の機構を使用します。Sun の JVM は、スレッドダンプを実行するために SIGQUIT を使用します。 
-.LP
-JVM を埋め込んでいるアプリケーションが SIGINT や SIGTERM などのシグナルを頻繁にトラップする必要があると、JVM そのもののシグナルハンドラの処理に支障が出る可能性があります。\f3\-Xrs\fP コマンド行オプションを使用すると、この問題に対処できます。Sun の JVM に対して \f3\-Xrs\fP を使用すると、SIGINT、SIGTERM、SIGHUP、および SIGQUIT に対するシグナルマスクは JVM によって変更されず、これらのシグナルに対するシグナルハンドラはインストールされません。 
-.LP
-\f3\-Xrs\fP を指定した場合、次の 2 つの影響があります。 
-.RS 3
-.TP 2
-o
-SIGQUIT によるスレッドダンプを利用できない 
-.TP 2
-o
-シャットダウンフック処理の実行は、JVM が終了しようとしている時点で System.exit() を呼び出すなどして、ユーザーコード側で行う必要がある 
-.RE
-.TP 3
-\-Xssn 
-スレッドのスタックサイズを設定します。 
-.TP 3
-\-XX:+UseAltSigs 
-VM ではデフォルトで \f2SIGUSR1\fP および \f2SIGUSR2\fP を使用しますが、\f2SIGUSR1\fP および \f2SIGUSR2\fP をシグナル連鎖するアプリケーションと 競合する場合があります。\f2\-XX:+UseAltSigs\fP オプションは、VM にデフォルトとして \f2SIGUSR1\fP と \f2SIGUSR2\fP 以外のシグナルを使用させます。 
-.RE
-
-.LP
-.SH "注"
-.LP
-.LP
-\f3\-version:\fP\f2release\fP コマンド行オプションでは、どんなに複雑にリリースを指定してもかまいません。ただし、現実的なリリース指定の限られたサブセットを使用するだけでも適切なポリシーを表現できるため、それらのサブセットのみが完全にサポートされます。それらのポリシーを次に示します。
-.LP
-.RS 3
-.TP 3
-1.
-任意のバージョン。これは、このオプションを使用しないことで表現できます。 
-.TP 3
-2.
-ある特定のバージョン ID よりも大きい任意のバージョン。次に例を示します。 
-.nf
-\f3
-.fl
-"1.6.0_10+"
-.fl
-\fP
-.fi
-この場合、 \f21.6.0_10\fP よりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。 
-.TP 3
-3.
-ある特定のバージョン ID よりも大きいバージョン。ただし、そのリリースファミリの上限によって制限するもの。次に例を示します。 
-.nf
-\f3
-.fl
-"1.6.0_10+&1.6*"
-.fl
-\fP
-.fi
-.TP 3
-4.
-上の項目 2 と項目 3 の「OR」式。次に例を示します。 
-.nf
-\f3
-.fl
-"1.6.0_10+&1.6* 1.7+"
-.fl
-\fP
-.fi
-これは項目 2 に似ていますが、ある変更が特定のリリース (1.7) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 
-.RE
-
-.LP
-.SH "終了ステータス"
-.LP
-.LP
-一般に、次の終了値が起動ツールから返されるのは通常、起動元が不正な引数で呼び出されたか、深刻なエラーが発生したか、あるいは Java 仮想マシンから例外がスローされた場合です。ただし Java アプリケーションは、API 呼び出し \f2System.exit(exitValue)\fP を使用して任意の値を返すことを選択することもできます。
-.LP
-.RS 3
-.TP 2
-o
-\f20\fP: 正常終了 
-.TP 2
-o
-\f2>0\fP: エラーが発生した 
-.RE
-
-.LP
-.SH "関連項目"
-.LP
-.RS 3
-.TP 2
-o
-javac(1) 
-.TP 2
-o
-jdb(1) 
-.TP 2
-o
-javah(1) 
-.TP 2
-o
-jar(1) 
-.TP 2
-o
-.na
-\f2「Java 拡張機能フレームワーク」\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html 
-.TP 2
-o
-.na
-\f2「セキュリティー」\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/index.html 
-.TP 2
-o
-.na
-\f2「HotSpot VM Specific Options」\fP @
-.fi
-http://java.sun.com/docs/hotspot/VMOptions.html 
-.RE
-
-.LP
- 
+'pl 8.5i
+'bp
--- a/src/linux/doc/man/ja/javac.1	Fri Jan 10 09:11:02 2014 -0800
+++ b/src/linux/doc/man/ja/javac.1	Tue Jan 14 23:10:36 2014 +0400
@@ -1,1250 +1,1489 @@
-." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
-." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-."
-." This code is free software; you can redistribute it and/or modify it
-." under the terms of the GNU General Public License version 2 only, as
-." published by the Free Software Foundation.
-."
-." This code is distributed in the hope that it will be useful, but WITHOUT
-." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-." version 2 for more details (a copy is included in the LICENSE file that
-." accompanied this code).
-."
-." You should have received a copy of the GNU General Public License version
-." 2 along with this work; if not, write to the Free Software Foundation,
-." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-."
-." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-." or visit www.oracle.com if you need additional information or have any
-." questions.
-."
-.TH javac 1 "07 May 2011"
+'\" t
+.\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Title: javac
+.\" Language: English
+.\" Date: 2013年11月21日
+.\" SectDesc: 基本ツール
+.\" Software: JDK 8
+.\" Arch: 汎用
+.\"
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.pl 99999
+.TH "javac" "1" "2013年11月21日" "JDK 8" "基本ツール"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+javac \- Javaクラスおよびインタフェースの定義を読み取り、バイトコードおよびクラス・ファイルにコンパイルします。
+.SH "概要"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIjavac\fR [ \fIoptions\fR ] [ \fIsourcefiles\fR ] [ \fIclasses\fR] [ \fI@argfiles\fR ]
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+引数を指定する順序は任意です。
+.PP
+\fIoptions\fR
+.RS 4
+コマンドライン・オプション。オプションを参照してください。
+.RE
+.PP
+\fIsourcefiles\fR
+.RS 4
+コンパイルされる1つ以上のソース・ファイル(\fIMyClass\&.java\fRなど)。
+.RE
+.PP
+\fIclasses\fR
+.RS 4
+注釈の処理対象となる1つ以上のクラス(\fIMyPackage\&.MyClass\fRなど)。
+.RE
+.PP
+\fI@argfiles\fR
+.RS 4
+オプションとソース・ファイルを一覧表示する1つ以上のファイル。このファイルの中では\fI\-J\fRオプションは指定できません。コマンドライン引数ファイルを参照してください。
+.RE
+.SH "説明"
+.PP
+\fIjavac\fRコマンドは、Javaプログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラス・ファイルにコンパイルします。\fIjavac\fRコマンドでは、Javaソース・ファイルおよびクラス内の注釈の処理もできます。
+.PP
+ソース・コードのファイル名を\fIjavac\fRに渡すには、2つの方法があります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ソース・ファイルの数が少ない場合は、ファイル名をコマンドラインで指定します。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+ソース・ファイルの数が多い場合は、ファイル内のファイル名を空白または改行で区切って指定します。\fIjavac\fRコマンドで、リスト・ファイル名の先頭にアットマーク(@)を使用します。
+.RE
+.PP
+ソース・コードのファイル名は\&.java拡張子を、クラスのファイル名は\&.class拡張子を持っている必要があります。また、ソース・ファイルとクラス・ファイルのどちらも、該当するクラスに対応するルート名を持っている必要があります。たとえば、\fIMyClass\fRという名前のクラスは、\fIMyClass\&.java\fRという名前のソース・ファイルに記述されます。このソース・ファイルは、\fIMyClass\&.class\fRという名前のバイトコード・クラス・ファイルにコンパイルされます。
+.PP
+内部クラスが定義されていると、追加のクラス・ファイルが生成されます。これらのクラス・ファイルの名前は、\fIMyClass$MyInnerClass\&.class\fRのように、内部クラス名と外部クラス名を組み合せたものになります。
+.PP
+ソース・ファイルは、パッケージ・ツリーを反映したディレクトリ・ツリーに配置します。たとえば、すべてのソース・ファイルが\fI/workspace\fRにある場合、\fIcom\&.mysoft\&.mypack\&.MyClass\fRのソース・コードを、\fI/workspace/com/mysoft/mypack/MyClass\&.java\fRに格納します。
+.PP
+デフォルトでは、コンパイラは、各クラス・ファイルを対応するソース・ファイルと同じディレクトリに格納します。\fI\-d\fRオプションを使用して、別の出力先ディレクトリを指定できます。
+.SH "オプション"
+.PP
+コンパイラには、現在の開発環境でサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来、変更される可能性があります。非標準オプションは、\fI\-X\fRオプションで始まります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+クロスコンパイル・オプションを参照してください。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+非標準オプションを参照してください。
+.RE
+.SS "標準オプション"
+.PP
+\-A\fIkey\fR[\fI=value\fR]
+.RS 4
+注釈プロセッサに渡すオプションを指定します。これらのオプションは、\fIjavac\fRが直接解釈するのではなく、それぞれのプロセッサで使用できるようになります。\fIkey\fRの値は、1つまたは複数の識別子をドット(\&.)で区切る必要があります。
+.RE
+.PP
+\-cp \fIpath\fR or \-classpath \fIpath\fR
+.RS 4
+ユーザー・クラス・ファイル、および(オプションで)注釈プロセッサとソース・ファイルを検索する場所を指定します。このクラス・パスは\fICLASSPATH\fR環境変数のユーザー・クラス・パスをオーバーライドします。\fICLASSPATH\fR、\fI\-cp\fR、\fI\-classpath\fRのいずれも指定されていない場合、ユーザーの\fIクラス・パス\fRは、現在のディレクトリになります。Setting the Class Path を参照してください。
+.sp
+\fI\-sourcepath\fRオプションが指定されていない場合、ソース・ファイルもユーザー・クラス・パスから検索されます。
+.sp
+\fI\-processorpath\fRオプションが指定されていない場合、注釈プロセッサもクラス・パスから検索されます。
+.RE
+.PP
+\-Djava\&.ext\&.dirs=\fIdirectories\fR
+.RS 4
+インストール済拡張機能の位置をオーバーライドします。
+.RE
+.PP
+\-Djava\&.endorsed\&.dirs=\fIdirectories\fR
+.RS 4
+承認された標準パスの位置をオーバーライドします。
+.RE
+.PP
+\-d \fIdirectory\fR
+.RS 4
+クラス・ファイルの出力先ディレクトリを設定します。そのディレクトリは\fIjavac\fRでは作成されないため、すでに存在している必要があります。クラスがパッケージの一部である場合、\fIjavac\fRは、パッケージ名を反映したサブディレクトリ内にクラス・ファイルを格納し、必要に応じてディレクトリを作成します。
+.sp
+\fI\-d\fR
+\fI/home/myclasses\fRと指定し、クラスの名前が\fIcom\&.mypackage\&.MyClass\fRである場合、クラス・ファイルは\fI/home/myclasses/com/mypackage/MyClass\&.class\fRになります。
+.sp
+\fI\-d\fRオプションが指定されなかった場合、\fIjavac\fRは、各クラス・ファイルを、その生成元となるソース・ファイルと同じディレクトリ内に格納します。
+.sp
+\fB注意:\fR
+\fI\-d\fRオプションによって指定されたディレクトリは、ユーザー・クラス・パスに自動的に追加されません。
+.RE
+.PP
+\-deprecation
+.RS 4
+非推奨のメンバーまたはクラスが使用またはオーバーライドされるたびに、説明を表示します。\fI\-deprecation\fRオプションが指定されていない場合、\fIjavac\fRは、非推奨のメンバーまたはクラスを使用またはオーバーライドしているソース・ファイルのサマリーを表示します。\fI\-deprecation\fRオプションは、\fI\-Xlint:deprecation\fRの省略表記です。
+.RE
+.PP
+\-encoding \fIencoding\fR
+.RS 4
+ソース・ファイルのエンコーディング名(EUC\-JPやUTF\-8など)を設定します。\fI\-encoding\fRオプションが指定されていない場合は、プラットフォームのデフォルト・コンバータが使用されます。
+.RE
+.PP
+\-endorseddirs \fIdirectories\fR
+.RS 4
+承認された標準パスの位置をオーバーライドします。
+.RE
+.PP
+\-extdirs \fIdirectories\fR
+.RS 4
+\fIext\fRディレクトリの位置をオーバーライドします。directories変数には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各JARファイルから、クラス・ファイルが検索されます。検出されたすべてのJARファイルは、クラス・パスの一部になります。
+.sp
+クロスコンパイル(異なるJavaプラットフォームに実装されたブートストラップ・クラスや拡張機能クラスに対してコンパイルを行う)を実行する場合、このオプションには拡張機能クラスを含むディレクトリを指定します。詳細はクロスコンパイル・オプションを参照してください。
+.RE
+.PP
+\-g
+.RS 4
+ローカル変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソース・ファイル情報のみが生成されます。
+.RE
+.PP
+\-g:none
+.RS 4
+デバッグ情報を生成しません。
+.RE
+.PP
+\-g:[\fIkeyword list\fR]
+.RS 4
+カンマで区切られたキーワード・リストにより指定された、特定の種類のデバッグ情報のみを生成します。次のキーワードが有効です。
+.PP
+source
+.RS 4
+ソース・ファイルのデバッグ情報。
+.RE
+.PP
+lines
+.RS 4
+行番号のデバッグ情報。
+.RE
+.PP
+vars
+.RS 4
+ローカル変数のデバッグ情報。
+.RE
+.RE
+.PP
+\-help
+.RS 4
+標準オプションの概要を出力します。
+.RE
+.PP
+\-implicit:[\fIclass, none\fR]
+.RS 4
+暗黙的にロードされたソース・ファイルに対するクラス・ファイルの生成を制御します。クラス・ファイルを自動生成するには、\fI\-implicit:class\fRを使用します。クラス・ファイルの生成を抑制するには、\fI\-implicit:none\fRを使用します。このオプションが指定されなかった場合のデフォルト動作は、クラス・ファイルの自動生成になります。その場合、そのようなクラス・ファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。\fI\-implicit\fRオプションが明示的に設定された場合、警告は発行されません。型の検索を参照してください。
+.RE
+.PP
+\-J\fIoption\fR
+.RS 4
+Java仮想マシン(JVM)に\fIoption\fRを渡します。optionには、Java起動ツールのリファレンス・ページに記載されているオプションを1つ指定します。たとえば、\fI\-J\-Xms48m\fRと指定すると、スタートアップ・メモリーは48MBに設定されます。java(1)を参照してください。
+.sp
+\fB注意:\fR
+\fICLASSPATH\fR、\fI\-classpath\fR、\fI\-bootclasspath\fRおよび\fI\-extdirs\fRオプションは、\fIjavac\fRの実行に使用されるクラスを指定しません。これらのオプションおよび変数を使用してコンパイラの実装をカスタマイズしようとすると、リスクが高く、多くの場合、必要な処理が実行されません。コンパイラの実装をカスタマイズする必要がある場合、\fI\-J\fRオプションを使用して、基礎となるJava起動ツールにオプションを渡します。
+.RE
+.PP
+\-nowarn
+.RS 4
+警告メッセージを無効にします。このオプションは、\fI\-Xlint:none\fRオプションと同じように動作します。
+.RE
+.PP
+\-parameters
+.RS 4
+リフレクションAPIのメソッド\fIjava\&.lang\&.reflect\&.Executable\&.getParameters\fRが取得できるように、生成されるクラス・ファイル内のコンストラクタとメソッドの仮パラメータ名を格納します。
+.RE
+.PP
+\-proc: [\fInone\fR, \fIonly\fR]
+.RS 4
+注釈処理およびコンパイルを実行するかを制御します。\fI\-proc:none\fRは、注釈処理なしでコンパイルが実行されることを意味します。\fI\-proc:only\fRは、注釈処理のみが実行され、後続のコンパイルはまったく実行されないことを意味します。
+.RE
+.PP
+\-processor \fIclass1\fR [,\fIclass2\fR,\fIclass3\fR\&.\&.\&.]
+.RS 4
+実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。
+.RE
+.PP
+\-processorpath \fIpath\fR
+.RS 4
+注釈プロセッサを検索する場所を指定します。このオプションが使用されない場合、クラス・パスのプロセッサが検索されます。
+.RE
+.PP
+\-s \fIdir\fR
+.RS 4
+生成されたソース・ファイルの格納先となるディレクトリを指定します。そのディレクトリは\fIjavac\fRでは作成されないため、すでに存在している必要があります。クラスがパッケージの一部である場合、コンパイラは、パッケージ名を反映したサブディレクトリ内にソース・ファイルを格納し、必要に応じてディレクトリを作成します。
+.sp
+\fI\-s /home/mysrc\fRと指定し、クラスの名前が\fIcom\&.mypackage\&.MyClass\fRである場合、ソース・ファイルは\fI/home/mysrc/com/mypackage/MyClass\&.java\fRに格納されます。
+.RE
+.PP
+\-source \fIrelease\fR
+.RS 4
+受け付けるソース・コードのバージョンを指定します。\fIrelease\fRには次の値を指定できます。
+.PP
+1\&.3
+.RS 4
+このコンパイラでは、Java SE 1\&.3以降に導入されたアサーション、総称または他の言語機能をサポートしません。
+.RE
+.PP
+1\&.4
+.RS 4
+Java SE 1\&.4で導入された、アサーションを含むコードを受け付けます。
+.RE
+.PP
+1\&.5
+.RS 4
+Java SE 5で導入された総称および他の言語機能を含んだコードを受け付けます。
+.RE
+.PP
+5
+.RS 4
+1\&.5と同義です。
+.RE
+.PP
+1\&.6
+.RS 4
+Java SE 6では言語に対する変更は導入されませんでした。しかし、ソース・ファイル内のエンコーディング・エラーが、Java Platform, Standard Editionの以前のリリースような警告ではなく、エラーとして報告されるようになりました。
+.RE
+.PP
+6
+.RS 4
+1\&.6と同義です。
+.RE
+.PP
+1\&.7
+.RS 4
+これがデフォルト値です。Java SE 7で導入された機能を含むコードを受け付けます。
+.RE
+.PP
+7
+.RS 4
+1\&.7と同義です。
+.RE
+.RE
+.PP
+\-sourcepath \fIsourcepath\fR
+.RS 4
+クラスまたはインタフェースの定義を検索するソース・コード・パスを指定します。ユーザー・クラス・パスと同様に、ソース・パスのエントリは、Oracle Solarisではコロン(:)で、Windowsではセミコロンで区切り、ここには、ディレクトリ、JARアーカイブまたはZIPアーカイブを指定できます。パッケージを使用している場合は、ディレクトリまたはアーカイブ内のローカル・パス名がパッケージ名を反映している必要があります。
+.sp
+\fB注意:\fR
+ソース・ファイルも見つかった場合、クラス・パスにより見つかったクラスは再コンパイルされる可能性があります。型の検索を参照してください。
+.RE
+.PP
+\-verbose
+.RS 4
+ロードされるクラスおよびコンパイルされるソース・ファイルごとの情報が出力される、詳細出力を使用します。
+.RE
+.PP
+\-version
+.RS 4
+リリース情報を出力します。
+.RE
+.PP
+\-werror
+.RS 4
+警告が発生した場合にコンパイルを終了します。
+.RE
+.PP
+\-X
+.RS 4
+非標準オプションに関する情報を表示して終了します。
+.RE
+.SS "クロスコンパイル・オプション"
+.PP
+デフォルトでは、クラスのコンパイルは、\fIjavac\fRが添付されているプラットフォームのブートストラップ・クラスおよび拡張機能クラスに対して行われます。ただし、\fIjavac\fRは、異なるJavaプラットフォームに実装されたブートストラップ・クラスおよび拡張機能クラスに対してコンパイルを行うクロスコンパイルもサポートしています。クロスコンパイルを行う場合は、\fI\-bootclasspath\fRおよび\fI\-extdirs\fRオプションを使用することが重要です。
+.PP
+\-target \fIversion\fR
+.RS 4
+仮想マシンの指定されたリリースを対象とするクラス・ファイルを生成します。クラス・ファイルは、指定されたターゲット以降のリリースでは動作しますが、それより前のリリースのJVMでは動作しません。有効なターゲットは、1\&.1、1\&.2、1\&.3、1\&.4、1\&.5 (5も可)、1\&.6 (6も可)および1\&.7 (7も可)です。
+.sp
+\fI\-target\fRオプションのデフォルトは、\fI\-source\fRオプションの値によって異なります。
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションが指定されていない場合、\fI\-target\fRオプションの値は1\&.7です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションが1\&.2の場合、\fI\-target\fRオプションの値は1\&.4です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションが1\&.3の場合、\fI\-target\fRオプションの値は1\&.4です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションが1\&.5の場合、\fI\-target\fRオプションの値は1\&.7です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションが1\&.6の場合、\fI\-target\fRオプションの値は1\&.7です。
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fI\-source\fRオプションの他のすべての値の場合、\fI\-target\fRオプションの値は、\fI\-source\fRオプションの値になります。
+.RE
+.RE
+.PP
+\-bootclasspath \fIbootclasspath\fR
+.RS 4
+指定された一連のブート・クラスに対してクロスコンパイルを行います。ユーザー・クラス・パスと同様に、ブート・クラス・パスのエントリはコロン(:)で区切り、ここには、ディレクトリ、JARアーカイブまたはZIPアーカイブを指定できます。
+.RE
+.SS "コンパクト・プロファイル・オプション"
+.PP
+JDK 8以降から、\fIjavac\fRコンパイラはコンパクト・プロファイルをサポートします。コンパクト・プロファイルを使用すると、Javaプラットフォーム全体を必要としないアプリケーションは、デプロイ可能で、小さいフットプリントで実行できます。コンパクト・プロファイル機能は、アプリケーション・ストアからのアプリケーションのダウンロード時間を短縮するのに使用できます。この機能は、JREをバンドルするJavaアプリケーションの、よりコンパクトなデプロイメントに役立ちます。この機能は、小さいデバイスでも役立ちます。
+.PP
+サポートされているプロファイル値は、\fIcompact1\fR、\fIcompact2\fRおよび\fIcompact3\fRです。これらは、追加のレイヤーです。大きい番号の各コンパクト・プロファイルには、小さい番号の名前のプロファイル内のすべてのAPIが含まれます。
+.PP
+\-profile
+.RS 4
+コンパクト・プロファイルを使用する場合、このオプションは、コンパイル時にプロファイル名を指定します。次に例を示します。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+javac \-profile compact1 Hello\&.java
+.fi
+.if n \{\
+.RE
+.\}
+javacは、指定されたプロファイルにない任意のJava SE APIを使用するソース・コードをコンパイルしません。これは、そのようなソース・コードをコンパイルしようとすることによって生じるエラー・メッセージの例です。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+cd jdk1\&.8\&.0/bin
+\&./javac \-profile compact1 Paint\&.java
+Paint\&.java:5: error: Applet is not available in profile \*(Aqcompact1\*(Aq
+import java\&.applet\&.Applet;
+.fi
+.if n \{\
+.RE
+.\}
+この例では、\fIApplet\fRクラスを使用しないようにソースを変更することによって、エラーを修正できます。\-profileオプションを指定せずにコンパイルすることによって、エラーを修正することもできます。コンパイルは、Java SE APIの完全なセットに対して実行されます。(どのコンパクト・プロファイルにも、\fIApplet\fRクラスは含まれていません。)
+.sp
+コンパクト・プロファイルを使用してコンパイルするための別の方法として、\fI\-bootclasspath\fRオプションを使用して、プロファイルのイメージを指定する\fIrt\&.jar\fRファイルへのパスを指定します。かわりに\fI\-profile\fRオプションを使用すると、プロファイル・イメージは、コンパイル時にシステム上に存在する必要がありません。これは、クロスコンパイル時に役立ちます。
+.RE
+.SS "非標準オプション"
+.PP
+\-Xbootclasspath/p:\fIpath\fR
+.RS 4
+ブートストラップ・クラス・パスに接尾辞を追加します。
+.RE
+.PP
+\-Xbootclasspath/a:\fIpath\fR
+.RS 4
+ブートストラップ・クラス・パスに接頭辞を追加します。
+.RE
+.PP
+\-Xbootclasspath/:\fIpath\fR
+.RS 4
+ブートストラップ・クラス・ファイルの位置をオーバーライドします。
+.RE
+.PP
+\-Xdoclint:[\-]\fIgroup\fR [\fI/access\fR]
+.RS 4
+\fIgroup\fRの値が\fIaccessibility\fR、\fIsyntax\fR、\fIreference\fR、\fIhtml\fRまたは\fImissing\fRのいずれかである特定のチェック・グループを有効または無効にします。これらのチェック・グループの詳細は、\fIjavadoc\fRコマンドの\fI\-Xdoclint\fRオプションを参照してください。\fI\-Xdoclint\fRオプションは、\fIjavac\fRコマンドではデフォルトで無効になります。
+.sp
+変数\fIaccess\fRは、\fI\-Xdoclint\fRオプションがチェックするクラスとメンバーの最小の可視性レベルを指定します。\fIpublic\fR、\fIprotected\fR、\fIpackage\fRおよび\fIprivate\fRの値(可視性の高い順)の1つを持つことができます。たとえば、次のオプションは、(protected、package、publicを含む) protected以上のアクセス・レベルを持つクラスおよびメンバーを(すべてのチェック・グループで)チェックします。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xdoclint:all/protected
+.fi
+.if n \{\
+.RE
+.\}
+次のオプションは、package以上のアクセス権(packageおよびpublicを含む)を持つクラスおよびメンバーに対するHTMLエラーをチェックしないことを除き、すべてのアクセス・レベルに対してすべてのチェック・グループを有効にします。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\-Xdoclint:all,\-html/package
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+\-Xdoclint:none
+.RS 4
+すべてのチェック・グループを無効にします。
+.RE
+.PP
+\-Xdoclint:all[\fI/access\fR]
+.RS 4
+すべてのチェック・グループを有効にします。
+.RE
+.PP
+\-Xlint
+.RS 4
+推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告を有効にすることをお薦めします。
+.RE
+.PP
+\-Xlint:all
+.RS 4
+推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告を有効にすることをお薦めします。
+.RE
+.PP
+\-Xlint:none
+.RS 4
+すべての警告を無効にします。
+.RE
+.PP
+\-Xlint:\fIname\fR
+.RS 4
+警告名を無効にします。このオプションで無効にできる警告のリストは、\-Xlintオプションを使用した警告の有効化または無効化を参照してください。
+.RE
+.PP
+\-Xlint:\fI\-name\fR
+.RS 4
+警告名を無効にします。このオプションで無効にできる警告のリストを取得するには、\-Xlintオプションを使用した警告の有効化または無効化\-Xlint\fIオプションを使用した\fRを参照してください。
+.RE
+.PP
+\-Xmaxerrs \fInumber\fR
+.RS 4
+印刷するエラーの最大数を設定します。
+.RE
+.PP
+\-Xmaxwarns \fInumber\fR
+.RS 4
+印刷する警告の最大数を設定します。
+.RE
+.PP
+\-Xstdout \fIfilename\fR
+.RS 4
+コンパイラのメッセージを、指定されたファイルに送信します。デフォルトでは、コンパイラのメッセージは\fISystem\&.err\fRに送られます。
+.RE
+.PP
+\-Xprefer:[\fInewer,source\fR]
+.RS 4
+ある型に対してソース・ファイルとクラス・ファイルの両方が見つかった場合、そのどちらのファイルを読み取るかを指定します。(型の検索を参照してください)。\fI\-Xprefer:newer\fRオプションを使用した場合、ある型に対するソース・ファイルとクラス・ファイルのうち新しい方が読み取られます(デフォルト)。\fI\-Xprefer:source\fRオプションを使用した場合、ソース・ファイルが読み取られます。\fISOURCE\fRの保存ポリシーを使用して宣言された注釈に任意の注釈プロセッサがアクセスできるようにする場合は、\fI\-Xprefer:source\fRを使用してください。
+.RE
+.PP
+\-Xpkginfo:[\fIalways\fR,\fIlegacy\fR,\fInonempty\fR]
+.RS 4
+javacがpackage\-info\&.javaファイルから\fIpackage\-info\&.class\fRファイルを生成するかどうかを制御します。このオプションで使用可能なmode引数は次のとおりです。
+.PP
+always
+.RS 4
+すべての\fIpackage\-info\&.java\fRファイルの\fIpackage\-info\&.class\fRファイルを常に生成します。このオプションは、各\fI\&.java\fRファイルに対応する\fI\&.class\fRファイルがあることを確認するAntなどのビルド・システムを使用する場合に役立つことがあります。
+.RE
+.PP
+legacy
+.RS 4
+package\-info\&.javaに注釈が含まれる場合にのみ\fIpackage\-info\&.class\fRファイルを生成します。package\-info\&.javaにコメントのみ含まれる場合に\fIpackage\-info\&.class\fRファイルを生成しません。
+.sp
+\fB注意:\fR
+\fIpackage\-info\&.class\fRファイルは生成できますが、package\-info\&.javaファイル内のすべての注釈に\fIRetentionPolicy\&.SOURCE\fRがある場合は空になります。
+.RE
+.PP
+nonempty
+.RS 4
+package\-info\&.javaに\fIRetentionPolicy\&.CLASS\fRまたは\fIRetentionPolicy\&.RUNTIME\fRとともに注釈が含まれる場合にのみ\fIpackage\-info\&.class\fRファイルを生成します。
+.RE
+.RE
+.PP
+\-Xprint
+.RS 4
+デバッグ目的で指定した型のテキスト表示を出力します。注釈処理もコンパイルも実行されません。出力形式は変更される可能性があります。
+.RE
+.PP
+\-XprintProcessorInfo
+.RS 4
+ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。
+.RE
+.PP
+\-XprintRounds
+.RS 4
+初回および後続の注釈処理ラウンドに関する情報を出力します。
+.RE
+.SH "-XLINTオプションを使用した警告の有効化または無効化"
+.PP
+\fI\-Xlint:name\fRオプションを使用して警告\fIname\fRを有効にします。ここで、\fIname\fRは次の警告名のいずれかになります。\fI\-Xlint:\-name:\fRオプションを使用して、警告を無効化できます。
+.PP
+cast
+.RS 4
+不要で冗長なキャストについて警告します。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+String s = (String) "Hello!"
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+classfile
+.RS 4
+クラス・ファイルの内容に関連した問題について警告します。
+.RE
+.PP
+deprecation
+.RS 4
+非推奨の項目の使用について警告します。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+java\&.util\&.Date myDate = new java\&.util\&.Date();
+int currentDay = myDate\&.getDay();
+.fi
+.if n \{\
+.RE
+.\}
+メソッド\fIjava\&.util\&.Date\&.getDay\fRはJDK 1\&.1以降は非推奨になりました。
+.RE
+.PP
+dep\-ann
+.RS 4
+\fI@deprecated\fR
+Javadocコメントでドキュメント化されているが、\fI@Deprecated\fR注釈が付いていない項目について警告します。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/**
+  * @deprecated As of Java SE 7, replaced by {@link #newMethod()}
+  */
+public static void deprecatedMethood() { }
+public static void newMethod() { }
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+divzero
+.RS 4
+定整数0で除算されることについて警告します。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+int divideByZero = 42 / 0;
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+empty
+.RS 4
+\fIif \fR文以降が空の文であることについて警告します。たとえば、次のようになります。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+class E {
+    void m() {
+         if (true) ;
+    }
+}
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.PP
+fallthrough
+.RS 4
+fall\-throughケースのswitchブロックをチェックし、検出されたものに対して警告メッセージを表示します。Fall\-throughケースは、switchブロック内の最後のケースを除くケースです。このコードにはbreak文は含まれません。コードの実行をそのケースから次のケースへ移動します。たとえば、このswitchブロック内のcase 1ラベルに続くコードは、break文で終わっていません。
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+switch (x) {
+case 1:
+  System\&.out\&.println("1");
+  // No break statement here\&.
+case 2: