Merge
diff --git a/.hgtags b/.hgtags
index 32b1eca..e27e202 100644
--- a/.hgtags
+++ b/.hgtags
@@ -31,3 +31,4 @@
15096652c4d48dfb9fc0b2cb135304db94c65ba0 jdk7-b54
c8b275d62d6b0a980c510e839b70292245863e85 jdk7-b55
a8134c4ee2cf451cf9b5e1609f39d83ecd53acc5 jdk7-b56
+b44f05654c26fcd1f995e712992f9b07ffd7c0c6 jdk7-b57
diff --git a/.hgtags-top-repo b/.hgtags-top-repo
index 4d5191b..aa91816 100644
--- a/.hgtags-top-repo
+++ b/.hgtags-top-repo
@@ -31,3 +31,4 @@
2ef382b1bbd58a68e668391c6145a4b2066c5b96 jdk7-b54
aea0ace7a1e43619800931d42bbf69c579361c2d jdk7-b55
ba12117a5e6c918578d6b2a8c693232a33289024 jdk7-b56
+ffd09e767dfa6d21466183a400f72cf62d53297f jdk7-b57
diff --git a/corba/.hgtags b/corba/.hgtags
index fb97578..3b91bbb 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -31,3 +31,4 @@
8130ac858d6789d5853d23044ba4a992afda574a jdk7-b54
7a869f16ba83060c34b77620406cfa89d1cd7084 jdk7-b55
553a664b807bb3a3c93f3b5a3c20ff0a90e08371 jdk7-b56
+972c6157fae57850694675da82fd58a17930db0a jdk7-b57
diff --git a/corba/make/com/sun/corba/se/sources/Makefile b/corba/make/com/sun/corba/se/sources/Makefile
index 9d945a2..fd88e58 100644
--- a/corba/make/com/sun/corba/se/sources/Makefile
+++ b/corba/make/com/sun/corba/se/sources/Makefile
@@ -46,6 +46,8 @@
include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_PortableActivationIDL.jmk
include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_impl_logging.jmk
+FILES_java += com/sun/corba/se/org/omg/CORBA/ORB.java
+
#
# Dirs
#
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java
index 44768d1..e19bc78 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java
@@ -202,6 +202,10 @@
private IDLNameTranslatorImpl(Class[] interfaces)
{
+ SecurityManager s = System.getSecurityManager();
+ if (s != null) {
+ s.checkPermission(new DynamicAccessPermission("access"));
+ }
try {
IDLTypesUtil idlTypesUtil = new IDLTypesUtil();
for (int ctr=0; ctr<interfaces.length; ctr++)
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set b/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set
index a084bc0..93fcf81 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set
@@ -1,11 +1,35 @@
/*
+ * Copyright 1999 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
* COMPONENT_NAME: idl.parser
- *
+ *
* ORIGINS: 27
*
- * THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM
* 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *
+ *
*/
CORBA IDL
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set b/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set
index 2870cdd..d279738 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set
@@ -1,11 +1,35 @@
/*
+ * Copyright 1999 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
* COMPONENT_NAME: idl.parser
- *
+ *
* ORIGINS: 27
*
- * THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM
* 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *
+ *
*/
CORBA IDL
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl
index 9f5af71..2db525e 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl
@@ -1,14 +1,38 @@
/*
- * COMPONENT_NAME: idl.parser
- *
- * ORIGINS: 27
+ * Copyright 1999 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM
- * 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *
+ * 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
*/
-CORBA 2.3 IDL
+/*
+ * COMPONENT_NAME: idl.parser
+ *
+ * ORIGINS: 27
+ *
+ * 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
+ *
+ */
+
+CORBA 2.3 IDL
---------------
(1) <specification> <definition><specification'>
@@ -83,7 +107,7 @@
(16) <vad> e
<export> <vad>
-
+
(17) <value_dcl> <value_header> "{" <value_element> <ve> "}"
(17) <ve> e
@@ -91,9 +115,9 @@
(18) <value_header> "custom" "valuetype" <id> <value_inheritance_spec>
"valuetype" <id> <value_inheritance_spec>
- "custom" "valuetype" <id>
- "valuetype" <id>
-
+ "custom" "valuetype" <id>
+ "valuetype" <id>
+
(19) <value_inheritance_spec> <opt_inherits> <opt_supports>
(19) <opt_inherits> e
@@ -107,7 +131,7 @@
"supports" <interface_name> <interface_name_list>
(19) <interface_name_list> e
- "," <interface_name> <interface_name_list>
+ "," <interface_name> <interface_name_list>
(20) <value_name> <scoped_name>
@@ -121,7 +145,7 @@
(23) <init_dcl> "factory" <id> "(" ")"
"factory" <id> "(" <init_param_dcls> ")"
-(24) <init_param_dcls> <init_param_decl>
+(24) <init_param_dcls> <init_param_decl>
<init_param_decl> "," <init_param_dcls>
(25) <init_param_dcl> <init_param_attribute> <param_type_spec> <simple_declarator>
@@ -349,7 +373,7 @@
(87) <op_dcl''> e
<context_expr>
- <raises_expr>
+ <raises_expr>
<raises_expr> <context_expr>
(88) <op_attribute> "oneway"
@@ -386,7 +410,7 @@
<wide_string_type>
<scoped_name>
-(96) <fixed_pt_type> "fixed" "<" <positive_int_const> "," <positive_int_const> ">"
+(96) <fixed_pt_type> "fixed" "<" <positive_int_const> "," <positive_int_const> ">"
(97) <fixed_pt_const_type> "fixed"
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl
index a027508..28d07b4 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl
@@ -1,11 +1,35 @@
/*
+ * Copyright 1999 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
* COMPONENT_NAME: idl.parser
- *
+ *
* ORIGINS: 27
*
- * THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM
* 5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *
+ *
*/
(1) <specification> <imports> <definition> <specification'> // CORBA3
@@ -98,7 +122,7 @@
(16) <vad> e
<export> <vad>
-
+
(17) <value_dcl> <value_header> "{" <value_element> <ve> "}"
(17) <ve> e
@@ -106,9 +130,9 @@
(18) <value_header> "custom" "valuetype" <id> <value_inheritance_spec>
"valuetype" <id> <value_inheritance_spec>
- "custom" "valuetype" <id>
- "valuetype" <id>
-
+ "custom" "valuetype" <id>
+ "valuetype" <id>
+
(19) <value_inheritance_spec> <opt_inherits> <opt_supports>
(19) <opt_inherits> e
@@ -122,7 +146,7 @@
"supports" <interface_name> <interface_name_list>
(19) <interface_name_list> e
- "," <interface_name> <interface_name_list>
+ "," <interface_name> <interface_name_list>
(20) <value_name> <scoped_name>
@@ -136,7 +160,7 @@
(23) <init_dcl> "factory" <id> "(" ")"
"factory" <id> "(" <init_param_dcls> ")"
-(24) <init_param_dcls> <init_param_dcl>
+(24) <init_param_dcls> <init_param_dcl>
<init_param_dcl> "," <init_param_dcls>
(25) <init_param_dcl> <init_param_attribute> <param_type_spec> <simple_declarator>
@@ -351,7 +375,7 @@
(85) <readonly_attr_spec> <readonly_attr_header> <readonly_attr_declarator> // CORBA3
(85) <readonly_attr_header> "readonly" "attribute" <param_type_spec> // CORBA3
-
+
(85) <readonly_attr_declarator> <simple_declarator> <get_excep_expr> // CORBA3
<simple_declarator> <sds> // CORBA3
@@ -389,7 +413,7 @@
(87) <op_dcl''> e
<context_expr>
- <raises_expr>
+ <raises_expr>
<raises_expr> <context_expr>
(88) <op_attribute> "oneway"
@@ -426,7 +450,7 @@
<wide_string_type>
<scoped_name>
-(96) <fixed_pt_type> "fixed" "<" <positive_int_const> "," <positive_int_const> ">"
+(96) <fixed_pt_type> "fixed" "<" <positive_int_const> "," <positive_int_const> ">"
(97) <fixed_pt_const_type> "fixed"
@@ -450,7 +474,7 @@
(204) <snames> e
"," <scoped_name> <snames>
-
+
(205) <component_inheritance_spec> ":" <scoped_name>
(206) <component_body> <component_export> <ces>
@@ -458,8 +482,8 @@
(206) <ces> e
<component_export> <ces>
-(207) <component_export> <provides_dcl> ";"
- <uses_dcl> ";"
+(207) <component_export> <provides_dcl> ";"
+ <uses_dcl> ";"
<emits_dcl> ";"
<publishes_dcl> ";"
<consumes_dcl> ";"
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp
index 386a2c7..2c6efdf 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp
@@ -1,4 +1,29 @@
#
+# Copyright 1999-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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.parser
#
# ORIGINS: 27
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
index 15fa230..b3dd5f6 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
@@ -1,4 +1,29 @@
#
+# Copyright 1999-2005 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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.parser
#
# ORIGINS: 27
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
index bc6e727..5da7dd9 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
@@ -1,4 +1,29 @@
#
+# Copyright 2005 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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.parser
#
# ORIGINS: 27
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp
index d4d975e..c248141 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp
@@ -1,4 +1,29 @@
#
+# Copyright 1999-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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.toJava
#
# ORIGINS: 27
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
index 68259c2..cce4ee5 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
@@ -1,4 +1,29 @@
#
+# Copyright 2001-2005 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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.toJava
#
# ORIGINS: 27
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp
index a8f5263..338a27a 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp
@@ -1,4 +1,29 @@
#
+# Copyright 2005 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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
# COMPONENT_NAME: idl.toJava
#
# ORIGINS: 27
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index 0f927fb..4deb60b 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -31,3 +31,4 @@
fafab5d5349c7c066d677538db67a1ee0fb33bd2 jdk7-b54
f8e839c086152da70d6ec5913ba6f9f509282e8d jdk7-b55
a3fd9e40ff2e854f6169eb6d09d491a28634d04f jdk7-b56
+f4cbf78110c726919f46b59a3b054c54c7e889b4 jdk7-b57
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 40071c6..2a305e9 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -31,3 +31,4 @@
946a9f0c493261fa6a010dc33e61b9b535ba80c1 jdk7-b54
039945fba683ee6773a721e2bd4e449f6133769a jdk7-b55
c197c6801271c60f9c9f5d18fcc95b59e76dcd54 jdk7-b56
+e4851e9f7be26fc52a628be06ffa8aaea0919bd7 jdk7-b57
diff --git a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java b/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java
deleted file mode 100644
index 519604c..0000000
--- a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java
+++ /dev/null
@@ -1,792 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTProcessorApplet.java,v 1.2.4.1 2005/09/15 02:20:05 jeffsuttor Exp $
- */
-package com.sun.org.apache.xalan.internal.client;
-
-import java.applet.Applet;
-import java.awt.Graphics;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import com.sun.org.apache.xalan.internal.res.XSLMessages;
-import com.sun.org.apache.xalan.internal.res.XSLTErrorResources;
-
-/**
- * Provides applet host for the XSLT processor. To perform transformations on an HTML client:
- * <ol>
- * <li>Use an <applet> tag to embed this applet in the HTML client.</li>
- * <li>Use the DocumentURL and StyleURL PARAM tags or the {@link #setDocumentURL} and
- * {@link #setStyleURL} methods to specify the XML source document and XSL stylesheet.</li>
- * <li>Call the {@link #getHtmlText} method (or one of the transformToHtml() methods)
- * to perform the transformation and return the result as a String.</li>
- * </ol>
- *
- * This class extends Applet which ultimately causes this class to implement Serializable.
- * This is a serious restriction on this class. All fields that are not transient and not
- * static are written-out/read-in during serialization. So even private fields essentially
- * become part of the API. Developers need to take care when modifying fields.
- * @xsl.usage general
- */
-public class XSLTProcessorApplet extends Applet
-{
-
- /**
- * The stylesheet processor.
- * This field is now transient because a
- * javax.xml.transform.TransformerFactory from JAXP
- * makes no claims to be serializable.
- */
- transient TransformerFactory m_tfactory = null;
-
- /**
- * @serial
- */
- private String m_styleURL;
-
- /**
- * @serial
- */
- private String m_documentURL;
-
- // Parameter names. To change a name of a parameter, you need only make
- // a single change. Simply modify the value of the parameter string below.
- //--------------------------------------------------------------------------
-
- /**
- * @serial
- */
- private final String PARAM_styleURL = "styleURL";
-
- /**
- * @serial
- */
- private final String PARAM_documentURL = "documentURL";
-
-
- // We'll keep the DOM trees around, so tell which trees
- // are cached.
-
- /**
- * @serial
- */
- private String m_styleURLOfCached = null;
-
- /**
- * @serial
- */
- private String m_documentURLOfCached = null;
-
- /**
- * Save this for use on the worker thread; may not be necessary.
- * @serial
- */
- private URL m_codeBase = null;
-
- /**
- * @serial
- */
- private String m_treeURL = null;
-
- /**
- * DocumentBase URL
- * @serial
- */
- private URL m_documentBase = null;
-
- /**
- * Thread stuff for the trusted worker thread.
- */
- transient private Thread m_callThread = null;
-
- /**
- */
- transient private TrustedAgent m_trustedAgent = null;
-
- /**
- * Thread for running TrustedAgent.
- */
- transient private Thread m_trustedWorker = null;
-
- /**
- * Where the worker thread puts the HTML text.
- */
- transient private String m_htmlText = null;
-
- /**
- * Where the worker thread puts the document/stylesheet text.
- */
- transient private String m_sourceText = null;
-
- /**
- * Stylesheet attribute name and value that the caller can set.
- */
- transient private String m_nameOfIDAttrOfElemToModify = null;
-
- /**
- */
- transient private String m_elemIdToModify = null;
-
- /**
- */
- transient private String m_attrNameToSet = null;
-
- /**
- */
- transient private String m_attrValueToSet = null;
-
- /**
- * The XSLTProcessorApplet constructor takes no arguments.
- */
- public XSLTProcessorApplet(){}
-
- /**
- * Get basic information about the applet
- * @return A String with the applet name and author.
- */
- public String getAppletInfo()
- {
- return "Name: XSLTProcessorApplet\r\n" + "Author: Scott Boag";
- }
-
- /**
- * Get descriptions of the applet parameters.
- * @return A two-dimensional array of Strings with Name, Type, and Description
- * for each parameter.
- */
- public String[][] getParameterInfo()
- {
-
- String[][] info =
- {
- { PARAM_styleURL, "String", "URL to an XSL stylesheet" },
- { PARAM_documentURL, "String", "URL to an XML document" },
- };
-
- return info;
- }
-
- /**
- * Standard applet initialization.
- */
- public void init()
- {
-
- // PARAMETER SUPPORT
- // The following code retrieves the value of each parameter
- // specified with the <PARAM> tag and stores it in a member
- // variable.
- //----------------------------------------------------------------------
- String param;
-
- // styleURL: Parameter description
- //----------------------------------------------------------------------
- param = getParameter(PARAM_styleURL);
-
- // stylesheet parameters
- m_parameters = new Hashtable();
-
- if (param != null)
- setStyleURL(param);
-
- // documentURL: Parameter description
- //----------------------------------------------------------------------
- param = getParameter(PARAM_documentURL);
-
- if (param != null)
- setDocumentURL(param);
-
- m_codeBase = this.getCodeBase();
- m_documentBase = this.getDocumentBase();
-
- // If you use a ResourceWizard-generated "control creator" class to
- // arrange controls in your applet, you may want to call its
- // CreateControls() method from within this method. Remove the following
- // call to resize() before adding the call to CreateControls();
- // CreateControls() does its own resizing.
- //----------------------------------------------------------------------
- resize(320, 240);
- }
-
- /**
- * Automatically called when the HTML client containing the applet loads.
- * This method starts execution of the applet thread.
- */
- public void start()
- {
- //check if user code's on the stack before invoking the worker thread
- boolean passed = false;
- try {
- java.security.AccessController.checkPermission(new java.security.AllPermission());
- } catch (SecurityException se) {
- //expected
- passed = true;
- }
- if (!passed) {
- throw new SecurityException("The XSLTProcessorApplet class must be extended and its method start() overridden.");
- }
-
- m_trustedAgent = new TrustedAgent();
- Thread currentThread = Thread.currentThread();
- m_trustedWorker = new Thread(currentThread.getThreadGroup(),
- m_trustedAgent);
- m_trustedWorker.start();
- try
- {
- m_tfactory = TransformerFactory.newInstance();
- this.showStatus("Causing Transformer and Parser to Load and JIT...");
-
- // Prime the pump so that subsequent transforms are faster.
- StringReader xmlbuf = new StringReader("<?xml version='1.0'?><foo/>");
- StringReader xslbuf = new StringReader(
- "<?xml version='1.0'?><xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'><xsl:template match='foo'><out/></xsl:template></xsl:stylesheet>");
- PrintWriter pw = new PrintWriter(new StringWriter());
-
- synchronized (m_tfactory)
- {
- Templates templates = m_tfactory.newTemplates(new StreamSource(xslbuf));
- Transformer transformer = templates.newTransformer();
- transformer.transform(new StreamSource(xmlbuf), new StreamResult(pw));
- }
- System.out.println("Primed the pump!");
- this.showStatus("Ready to go!");
- }
- catch (Exception e)
- {
- this.showStatus("Could not prime the pump!");
- System.out.println("Could not prime the pump!");
- e.printStackTrace();
- }
- }
-
- /**
- * Do not call; this applet contains no UI or visual components.
- *
- */
- public void paint(Graphics g){}
-
- /**
- * Automatically called when the HTML page containing the applet is no longer
- * on the screen. Stops execution of the applet thread.
- */
- public void stop()
- {
- if (null != m_trustedWorker)
- {
- m_trustedWorker.stop();
-
- // m_trustedWorker.destroy();
- m_trustedWorker = null;
- }
-
- m_styleURLOfCached = null;
- m_documentURLOfCached = null;
- }
-
- /**
- * Cleanup; called when applet is terminated and unloaded.
- */
- public void destroy()
- {
- if (null != m_trustedWorker)
- {
- m_trustedWorker.stop();
-
- // m_trustedWorker.destroy();
- m_trustedWorker = null;
- }
- m_styleURLOfCached = null;
- m_documentURLOfCached = null;
- }
-
- /**
- * Set the URL to the XSL stylesheet that will be used
- * to transform the input XML. No processing is done yet.
- * @param urlString valid URL string for XSL stylesheet.
- */
- public void setStyleURL(String urlString)
- {
- m_styleURL = urlString;
- }
-
- /**
- * Set the URL to the XML document that will be transformed
- * with the XSL stylesheet. No processing is done yet.
- * @param urlString valid URL string for XML document.
- */
- public void setDocumentURL(String urlString)
- {
- m_documentURL = urlString;
- }
-
- /**
- * The processor keeps a cache of the source and
- * style trees, so call this method if they have changed
- * or you want to do garbage collection.
- */
- public void freeCache()
- {
- m_styleURLOfCached = null;
- m_documentURLOfCached = null;
- }
-
- /**
- * Set an attribute in the stylesheet, which gives the ability
- * to have some dynamic selection control.
- * @param nameOfIDAttrOfElemToModify The name of an attribute to search for a unique id.
- * @param elemId The unique ID to look for.
- * @param attrName Once the element is found, the name of the attribute to set.
- * @param value The value to set the attribute to.
- */
- public void setStyleSheetAttribute(String nameOfIDAttrOfElemToModify,
- String elemId, String attrName,
- String value)
- {
- m_nameOfIDAttrOfElemToModify = nameOfIDAttrOfElemToModify;
- m_elemIdToModify = elemId;
- m_attrNameToSet = attrName;
- m_attrValueToSet = value;
- }
-
-
- /**
- * Stylesheet parameter key/value pair stored in a hashtable
- */
- transient Hashtable m_parameters;
-
- /**
- * Submit a stylesheet parameter.
- *
- * @param key stylesheet parameter key
- * @param expr the parameter expression to be submitted.
- * @see javax.xml.transform.Transformer#setParameter(String,Object)
- */
- public void setStylesheetParam(String key, String expr)
- {
- m_parameters.put(key, expr);
- }
-
- /**
- * Given a String containing markup, escape the markup so it
- * can be displayed in the browser.
- *
- * @param s String to escape
- *
- * The escaped string.
- */
- public String escapeString(String s)
- {
- StringBuffer sb = new StringBuffer();
- int length = s.length();
-
- for (int i = 0; i < length; i++)
- {
- char ch = s.charAt(i);
-
- if ('<' == ch)
- {
- sb.append("<");
- }
- else if ('>' == ch)
- {
- sb.append(">");
- }
- else if ('&' == ch)
- {
- sb.append("&");
- }
- else if (0xd800 <= ch && ch < 0xdc00)
- {
- // UTF-16 surrogate
- int next;
-
- if (i + 1 >= length)
- {
- throw new RuntimeException(
- XSLMessages.createMessage(
- XSLTErrorResources.ER_INVALID_UTF16_SURROGATE,
- new Object[]{ Integer.toHexString(ch) })); //"Invalid UTF-16 surrogate detected: "
-
- //+Integer.toHexString(ch)+ " ?");
- }
- else
- {
- next = s.charAt(++i);
-
- if (!(0xdc00 <= next && next < 0xe000))
- throw new RuntimeException(
- XSLMessages.createMessage(
- XSLTErrorResources.ER_INVALID_UTF16_SURROGATE,
- new Object[]{
- Integer.toHexString(ch) + " "
- + Integer.toHexString(next) })); //"Invalid UTF-16 surrogate detected: "
-
- //+Integer.toHexString(ch)+" "+Integer.toHexString(next));
- next = ((ch - 0xd800) << 10) + next - 0xdc00 + 0x00010000;
- }
- sb.append("&#x");
- sb.append(Integer.toHexString(next));
- sb.append(";");
- }
- else
- {
- sb.append(ch);
- }
- }
- return sb.toString();
- }
-
- /**
- * Assuming the stylesheet URL and the input XML URL have been set,
- * perform the transformation and return the result as a String.
- *
- * @return A string that contains the contents pointed to by the URL.
- *
- */
- public String getHtmlText()
- {
- m_trustedAgent.m_getData = true;
- m_callThread = Thread.currentThread();
- try
- {
- synchronized (m_callThread)
- {
- m_callThread.wait();
- }
- }
- catch (InterruptedException ie)
- {
- System.out.println(ie.getMessage());
- }
- return m_htmlText;
- }
-
- /**
- * Get an XML document (or stylesheet)
- *
- * @param treeURL valid URL string for the document.
- *
- * @return document
- *
- * @throws IOException
- */
- public String getTreeAsText(String treeURL) throws IOException
- {
- m_treeURL = treeURL;
- m_trustedAgent.m_getData = true;
- m_trustedAgent.m_getSource = true;
- m_callThread = Thread.currentThread();
- try
- {
- synchronized (m_callThread)
- {
- m_callThread.wait();
- }
- }
- catch (InterruptedException ie)
- {
- System.out.println(ie.getMessage());
- }
- return m_sourceText;
- }
-
- /**
- * Use a Transformer to copy the source document
- * to a StreamResult.
- *
- * @return the document as a string
- */
- private String getSource() throws TransformerException
- {
- StringWriter osw = new StringWriter();
- PrintWriter pw = new PrintWriter(osw, false);
- String text = "";
- try
- {
- URL docURL = new URL(m_documentBase, m_treeURL);
- synchronized (m_tfactory)
- {
- Transformer transformer = m_tfactory.newTransformer();
- StreamSource source = new StreamSource(docURL.toString());
- StreamResult result = new StreamResult(pw);
- transformer.transform(source, result);
- text = osw.toString();
- }
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- throw new RuntimeException(e.getMessage());
- }
- catch (Exception any_error)
- {
- any_error.printStackTrace();
- }
- return text;
- }
-
- /**
- * Get the XML source Tree as a text string suitable
- * for display in a browser. Note that this is for display of the
- * XML itself, not for rendering of HTML by the browser.
- *
- * @return XML source document as a string.
- * @throws Exception thrown if tree can not be converted.
- */
- public String getSourceTreeAsText() throws Exception
- {
- return getTreeAsText(m_documentURL);
- }
-
- /**
- * Get the XSL style Tree as a text string suitable
- * for display in a browser. Note that this is for display of the
- * XML itself, not for rendering of HTML by the browser.
- *
- * @return The XSL stylesheet as a string.
- * @throws Exception thrown if tree can not be converted.
- */
- public String getStyleTreeAsText() throws Exception
- {
- return getTreeAsText(m_styleURL);
- }
-
- /**
- * Get the HTML result Tree as a text string suitable
- * for display in a browser. Note that this is for display of the
- * XML itself, not for rendering of HTML by the browser.
- *
- * @return Transformation result as unmarked text.
- * @throws Exception thrown if tree can not be converted.
- */
- public String getResultTreeAsText() throws Exception
- {
- return escapeString(getHtmlText());
- }
-
- /**
- * Process a document and a stylesheet and return
- * the transformation result. If one of these is null, the
- * existing value (of a previous transformation) is not affected.
- *
- * @param doc URL string to XML document
- * @param style URL string to XSL stylesheet
- *
- * @return HTML transformation result
- */
- public String transformToHtml(String doc, String style)
- {
-
- if (null != doc)
- {
- m_documentURL = doc;
- }
-
- if (null != style)
- {
- m_styleURL = style;
- }
-
- return getHtmlText();
- }
-
- /**
- * Process a document and a stylesheet and return
- * the transformation result. Use the xsl:stylesheet PI to find the
- * document, if one exists.
- *
- * @param doc URL string to XML document containing an xsl:stylesheet PI.
- *
- * @return HTML transformation result
- */
- public String transformToHtml(String doc)
- {
-
- if (null != doc)
- {
- m_documentURL = doc;
- }
-
- m_styleURL = null;
-
- return getHtmlText();
- }
-
-
- /**
- * Process the transformation.
- *
- * @return The transformation result as a string.
- *
- * @throws TransformerException
- */
- private String processTransformation() throws TransformerException
- {
- String htmlData = null;
- this.showStatus("Waiting for Transformer and Parser to finish loading and JITing...");
-
- synchronized (m_tfactory)
- {
- URL documentURL = null;
- URL styleURL = null;
- StringWriter osw = new StringWriter();
- PrintWriter pw = new PrintWriter(osw, false);
- StreamResult result = new StreamResult(pw);
-
- this.showStatus("Begin Transformation...");
- try
- {
- documentURL = new URL(m_codeBase, m_documentURL);
- StreamSource xmlSource = new StreamSource(documentURL.toString());
-
- styleURL = new URL(m_codeBase, m_styleURL);
- StreamSource xslSource = new StreamSource(styleURL.toString());
-
- Transformer transformer = m_tfactory.newTransformer(xslSource);
-
-
- Enumeration m_keys = m_parameters.keys();
- while (m_keys.hasMoreElements()){
- Object key = m_keys.nextElement();
- Object expression = m_parameters.get(key);
- transformer.setParameter((String) key, expression);
- }
- transformer.transform(xmlSource, result);
- }
- catch (TransformerConfigurationException tfe)
- {
- tfe.printStackTrace();
- throw new RuntimeException(tfe.getMessage());
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- throw new RuntimeException(e.getMessage());
- }
-
- this.showStatus("Transformation Done!");
- htmlData = osw.toString();
- }
- return htmlData;
- }
-
- /**
- * This class maintains a worker thread that that is
- * trusted and can do things like access data. You need
- * this because the thread that is called by the browser
- * is not trusted and can't access data from the URLs.
- */
- class TrustedAgent implements Runnable
- {
-
- /**
- * Specifies whether the worker thread should perform a transformation.
- */
- public boolean m_getData = false;
-
- /**
- * Specifies whether the worker thread should get an XML document or XSL stylesheet.
- */
- public boolean m_getSource = false;
-
- /**
- * The real work is done from here.
- *
- */
- public void run()
- {
- while (true)
- {
- m_trustedWorker.yield();
-
- if (m_getData) // Perform a transformation or get a document.
- {
- try
- {
- m_getData = false;
- m_htmlText = null;
- m_sourceText = null;
- if (m_getSource) // Get a document.
- {
- m_getSource = false;
- m_sourceText = getSource();
- }
- else // Perform a transformation.
- m_htmlText = processTransformation();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- finally
- {
- synchronized (m_callThread)
- {
- m_callThread.notify();
- }
- }
- }
- else
- {
- try
- {
- m_trustedWorker.sleep(50);
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
- }
- }
- }
-
- // For compatiblity with old serialized objects
- // We will change non-serialized fields and change methods
- // and not have this break us.
- private static final long serialVersionUID=4618876841979251422L;
-
- // For compatibility when de-serializing old objects
- private void readObject(java.io.ObjectInputStream inStream) throws IOException, ClassNotFoundException
- {
- inStream.defaultReadObject();
-
- // Needed assignment of non-serialized fields
-
- // A TransformerFactory is not guaranteed to be serializable,
- // so we create one here
- m_tfactory = TransformerFactory.newInstance();
- }
-}
diff --git a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/package.html b/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/package.html
deleted file mode 100644
index cc48cd8..0000000
--- a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/package.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
--->
-<!--
- * Copyright 2000-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id: package.html,v 1.1.2.1 2005/08/01 02:11:22 jeffsuttor Exp $ -->
-<html>
- <title>Xalan Client Package.</title>
- <body>
- <p>Implementation of Xalan applet.<p>
- </body>
-</html>
-
-
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java b/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java
index 6f0e76a..a4be9ba 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java
@@ -145,6 +145,7 @@
* newly created Annotation Type Declaration
* @exception JClassAlreadyExistsException
* When the specified class/interface was already created.
+
*/
public JDefinedClass _annotationTypeDeclaration(String name) throws JClassAlreadyExistsException;
@@ -156,6 +157,7 @@
* newly created Enum
* @exception JClassAlreadyExistsException
* When the specified class/interface was already created.
+
*/
public JDefinedClass _enum (String name) throws JClassAlreadyExistsException;
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java b/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java
index ff22fae..81e1cf8 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java
@@ -428,6 +428,7 @@
* newly created Annotation Type Declaration
* @exception JClassAlreadyExistsException
* When the specified class/interface was already created.
+
*/
public JDefinedClass _annotationTypeDeclaration(String name) throws JClassAlreadyExistsException {
return _class (JMod.PUBLIC,name,ClassType.ANNOTATION_TYPE_DECL);
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java b/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java
index fd7c1bd..80176f3 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java
@@ -33,17 +33,17 @@
*/
public final class JForEach implements JStatement {
- private final JType type;
- private final String var;
- private JBlock body = null; // lazily created
- private final JExpression collection;
+ private final JType type;
+ private final String var;
+ private JBlock body = null; // lazily created
+ private final JExpression collection;
private final JVar loopVar;
- public JForEach(JType vartype, String variable, JExpression collection) {
+ public JForEach(JType vartype, String variable, JExpression collection) {
- this.type = vartype;
- this.var = variable;
- this.collection = collection;
+ this.type = vartype;
+ this.var = variable;
+ this.collection = collection;
loopVar = new JVar(JMods.forVar(JMod.NONE), type, var, collection);
}
@@ -51,24 +51,24 @@
/**
* Returns a reference to the loop variable.
*/
- public JVar var() {
- return loopVar;
- }
+ public JVar var() {
+ return loopVar;
+ }
- public JBlock body() {
- if (body == null)
- body = new JBlock();
- return body;
- }
+ public JBlock body() {
+ if (body == null)
+ body = new JBlock();
+ return body;
+ }
- public void state(JFormatter f) {
- f.p("for (");
- f.g(type).id(var).p(": ").g(collection);
- f.p(')');
- if (body != null)
- f.g(body).nl();
- else
- f.p(';').nl();
- }
+ public void state(JFormatter f) {
+ f.p("for (");
+ f.g(type).id(var).p(": ").g(collection);
+ f.p(')');
+ if (body != null)
+ f.g(body).nl();
+ else
+ f.p(';').nl();
+ }
}
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java b/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java
index b3d9f62..3141ebc 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java
@@ -38,49 +38,49 @@
*/
public class JMethod extends JGenerifiableImpl implements JDeclaration, JAnnotatable {
- /**
- * Modifiers for this method
- */
- private JMods mods;
+ /**
+ * Modifiers for this method
+ */
+ private JMods mods;
- /**
- * Return type for this method
- */
- private JType type = null;
+ /**
+ * Return type for this method
+ */
+ private JType type = null;
- /**
- * Name of this method
- */
- private String name = null;
+ /**
+ * Name of this method
+ */
+ private String name = null;
- /**
- * List of parameters for this method's declaration
- */
- private final List<JVar> params = new ArrayList<JVar>();
+ /**
+ * List of parameters for this method's declaration
+ */
+ private final List<JVar> params = new ArrayList<JVar>();
- /**
- * Set of exceptions that this method may throw.
+ /**
+ * Set of exceptions that this method may throw.
* A set instance lazily created.
- */
- private Set<JClass> _throws;
+ */
+ private Set<JClass> _throws;
- /**
- * JBlock of statements that makes up the body this method
- */
- private JBlock body = null;
+ /**
+ * JBlock of statements that makes up the body this method
+ */
+ private JBlock body = null;
- private JDefinedClass outer;
+ private JDefinedClass outer;
- /**
- * javadoc comments for this JMethod
- */
- private JDocComment jdoc = null;
+ /**
+ * javadoc comments for this JMethod
+ */
+ private JDocComment jdoc = null;
- /**
- * Variable parameter for this method's varargs declaration
- * introduced in J2SE 1.5
- */
- private JVar varParam = null;
+ /**
+ * Variable parameter for this method's varargs declaration
+ * introduced in J2SE 1.5
+ */
+ private JVar varParam = null;
/**
* Annotations on this variable. Lazily created.
@@ -88,9 +88,9 @@
private List<JAnnotationUse> annotations = null;
- private boolean isConstructor() {
- return type == null;
- }
+ private boolean isConstructor() {
+ return type == null;
+ }
/** To set the default value for the
* annotation member
@@ -98,40 +98,40 @@
private JExpression defaultValue = null;
- /**
- * JMethod constructor
- *
- * @param mods
- * Modifiers for this method's declaration
- *
- * @param type
- * Return type for the method
- *
- * @param name
- * Name of this method
- */
- JMethod(JDefinedClass outer, int mods, JType type, String name) {
- this.mods = JMods.forMethod(mods);
- this.type = type;
- this.name = name;
- this.outer = outer;
- }
+ /**
+ * JMethod constructor
+ *
+ * @param mods
+ * Modifiers for this method's declaration
+ *
+ * @param type
+ * Return type for the method
+ *
+ * @param name
+ * Name of this method
+ */
+ JMethod(JDefinedClass outer, int mods, JType type, String name) {
+ this.mods = JMods.forMethod(mods);
+ this.type = type;
+ this.name = name;
+ this.outer = outer;
+ }
- /**
- * Constructor constructor
- *
- * @param mods
- * Modifiers for this constructor's declaration
- *
- * @param _class
- * JClass containing this constructor
- */
- JMethod(int mods, JDefinedClass _class) {
- this.mods = JMods.forMethod(mods);
- this.type = null;
- this.name = _class.name();
- this.outer = _class;
- }
+ /**
+ * Constructor constructor
+ *
+ * @param mods
+ * Modifiers for this constructor's declaration
+ *
+ * @param _class
+ * JClass containing this constructor
+ */
+ JMethod(int mods, JDefinedClass _class) {
+ this.mods = JMods.forMethod(mods);
+ this.type = null;
+ this.name = _class.name();
+ this.outer = _class;
+ }
private Set<JClass> getThrows() {
if(_throws==null)
@@ -139,56 +139,56 @@
return _throws;
}
- /**
- * Add an exception to the list of exceptions that this
- * method may throw.
- *
- * @param exception
- * Name of an exception that this method may throw
- */
- public JMethod _throws(JClass exception) {
+ /**
+ * Add an exception to the list of exceptions that this
+ * method may throw.
+ *
+ * @param exception
+ * Name of an exception that this method may throw
+ */
+ public JMethod _throws(JClass exception) {
getThrows().add(exception);
- return this;
- }
+ return this;
+ }
- public JMethod _throws(Class exception) {
- return _throws(outer.owner().ref(exception));
- }
+ public JMethod _throws(Class exception) {
+ return _throws(outer.owner().ref(exception));
+ }
- /**
- * Add the specified variable to the list of parameters
- * for this method signature.
- *
- * @param type
- * JType of the parameter being added
- *
- * @param name
- * Name of the parameter being added
- *
- * @return New parameter variable
- */
- public JVar param(int mods, JType type, String name) {
- JVar v = new JVar(JMods.forVar(mods), type, name, null);
- params.add(v);
- return v;
- }
+ /**
+ * Add the specified variable to the list of parameters
+ * for this method signature.
+ *
+ * @param type
+ * JType of the parameter being added
+ *
+ * @param name
+ * Name of the parameter being added
+ *
+ * @return New parameter variable
+ */
+ public JVar param(int mods, JType type, String name) {
+ JVar v = new JVar(JMods.forVar(mods), type, name, null);
+ params.add(v);
+ return v;
+ }
- public JVar param(JType type, String name) {
- return param(JMod.NONE, type, name);
- }
+ public JVar param(JType type, String name) {
+ return param(JMod.NONE, type, name);
+ }
- public JVar param(int mods, Class type, String name) {
- return param(mods, outer.owner()._ref(type), name);
- }
+ public JVar param(int mods, Class type, String name) {
+ return param(mods, outer.owner()._ref(type), name);
+ }
- public JVar param(Class type, String name) {
- return param(outer.owner()._ref(type), name);
- }
+ public JVar param(Class type, String name) {
+ return param(outer.owner()._ref(type), name);
+ }
- /**
- * @see #varParam(JType, String)
- */
- public JVar varParam(Class type, String name) {
+ /**
+ * @see #varParam(JType, String)
+ */
+ public JVar varParam(Class type, String name) {
return varParam(outer.owner()._ref(type),name);
}
@@ -210,25 +210,25 @@
* method signature.
*/
public JVar varParam(JType type, String name) {
- if (!hasVarArgs()) {
+ if (!hasVarArgs()) {
varParam =
- new JVar(
- JMods.forVar(JMod.NONE),
- type.array(),
- name,
- null);
- return varParam;
- } else {
- throw new IllegalStateException(
- "Cannot have two varargs in a method,\n"
- + "Check if varParam method of JMethod is"
- + " invoked more than once");
+ new JVar(
+ JMods.forVar(JMod.NONE),
+ type.array(),
+ name,
+ null);
+ return varParam;
+ } else {
+ throw new IllegalStateException(
+ "Cannot have two varargs in a method,\n"
+ + "Check if varParam method of JMethod is"
+ + " invoked more than once");
+
+ }
}
- }
-
/**
* Adds an annotation to this variable.
* @param clazz
@@ -256,17 +256,17 @@
return TypedAnnotationWriter.create(clazz,this);
}
- /**
- * Check if there are any varargs declared
- * for this method signature.
- */
- public boolean hasVarArgs() {
- return this.varParam!=null;
- }
+ /**
+ * Check if there are any varargs declared
+ * for this method signature.
+ */
+ public boolean hasVarArgs() {
+ return this.varParam!=null;
+ }
- public String name() {
- return name;
- }
+ public String name() {
+ return name;
+ }
/**
* Changes the name of the method.
@@ -276,11 +276,11 @@
}
/**
- * Returns the return type.
- */
- public JType type() {
- return type;
- }
+ * Returns the return type.
+ */
+ public JType type() {
+ return type;
+ }
/**
* Overrides the return type.
@@ -290,72 +290,72 @@
}
/**
- * Returns all the parameter types in an array.
- * @return
- * If there's no parameter, an empty array will be returned.
- */
- public JType[] listParamTypes() {
- JType[] r = new JType[params.size()];
- for (int i = 0; i < r.length; i++)
- r[i] = params.get(i).type();
- return r;
- }
+ * Returns all the parameter types in an array.
+ * @return
+ * If there's no parameter, an empty array will be returned.
+ */
+ public JType[] listParamTypes() {
+ JType[] r = new JType[params.size()];
+ for (int i = 0; i < r.length; i++)
+ r[i] = params.get(i).type();
+ return r;
+ }
- /**
- * Returns the varags parameter type.
- * @return
- * If there's no vararg parameter type, null will be returned.
- */
- public JType listVarParamType() {
- if (varParam != null)
- return varParam.type();
- else
- return null;
- }
+ /**
+ * Returns the varags parameter type.
+ * @return
+ * If there's no vararg parameter type, null will be returned.
+ */
+ public JType listVarParamType() {
+ if (varParam != null)
+ return varParam.type();
+ else
+ return null;
+ }
- /**
- * Returns all the parameters in an array.
- * @return
- * If there's no parameter, an empty array will be returned.
- */
- public JVar[] listParams() {
- return params.toArray(new JVar[params.size()]);
- }
+ /**
+ * Returns all the parameters in an array.
+ * @return
+ * If there's no parameter, an empty array will be returned.
+ */
+ public JVar[] listParams() {
+ return params.toArray(new JVar[params.size()]);
+ }
- /**
- * Returns the variable parameter
- * @return
- * If there's no parameter, null will be returned.
- */
- public JVar listVarParam() {
- return varParam;
- }
+ /**
+ * Returns the variable parameter
+ * @return
+ * If there's no parameter, null will be returned.
+ */
+ public JVar listVarParam() {
+ return varParam;
+ }
- /**
- * Returns true if the method has the specified signature.
- */
- public boolean hasSignature(JType[] argTypes) {
- JVar[] p = listParams();
- if (p.length != argTypes.length)
- return false;
+ /**
+ * Returns true if the method has the specified signature.
+ */
+ public boolean hasSignature(JType[] argTypes) {
+ JVar[] p = listParams();
+ if (p.length != argTypes.length)
+ return false;
- for (int i = 0; i < p.length; i++)
- if (!p[i].type().equals(argTypes[i]))
- return false;
+ for (int i = 0; i < p.length; i++)
+ if (!p[i].type().equals(argTypes[i]))
+ return false;
- return true;
- }
+ return true;
+ }
- /**
- * Get the block that makes up body of this method
- *
- * @return Body of method
- */
- public JBlock body() {
- if (body == null)
- body = new JBlock();
- return body;
- }
+ /**
+ * Get the block that makes up body of this method
+ *
+ * @return Body of method
+ */
+ public JBlock body() {
+ if (body == null)
+ body = new JBlock();
+ return body;
+ }
/**
* Specify the default value for this annotation member
@@ -367,37 +367,37 @@
this.defaultValue = value;
}
- /**
- * Creates, if necessary, and returns the class javadoc for this
- * JDefinedClass
- *
- * @return JDocComment containing javadocs for this class
- */
- public JDocComment javadoc() {
- if (jdoc == null)
- jdoc = new JDocComment(owner());
- return jdoc;
- }
+ /**
+ * Creates, if necessary, and returns the class javadoc for this
+ * JDefinedClass
+ *
+ * @return JDocComment containing javadocs for this class
+ */
+ public JDocComment javadoc() {
+ if (jdoc == null)
+ jdoc = new JDocComment(owner());
+ return jdoc;
+ }
- public void declare(JFormatter f) {
- if (jdoc != null)
- f.g(jdoc);
+ public void declare(JFormatter f) {
+ if (jdoc != null)
+ f.g(jdoc);
if (annotations != null){
for (JAnnotationUse a : annotations)
f.g(a).nl();
}
- // declare the generics parameters
- super.declare(f);
+ // declare the generics parameters
+ super.declare(f);
- f.g(mods);
- if (!isConstructor())
- f.g(type);
- f.id(name).p('(').i();
+ f.g(mods);
+ if (!isConstructor())
+ f.g(type);
+ f.id(name).p('(').i();
// when parameters are printed in new lines, we want them to be indented.
// there's a good chance no newlines happen, too, but just in case it does.
- boolean first = true;
+ boolean first = true;
for (JVar var : params) {
if (!first)
f.p(',');
@@ -406,33 +406,33 @@
f.b(var);
first = false;
}
- if (hasVarArgs()) {
- if (!first)
- f.p(',');
- f.g(varParam.type().elementType());
- f.p("... ");
- f.id(varParam.name());
- }
+ if (hasVarArgs()) {
+ if (!first)
+ f.p(',');
+ f.g(varParam.type().elementType());
+ f.p("... ");
+ f.id(varParam.name());
+ }
- f.o().p(')');
- if (_throws!=null && !_throws.isEmpty()) {
- f.nl().i().p("throws").g(_throws).nl().o();
- }
+ f.o().p(')');
+ if (_throws!=null && !_throws.isEmpty()) {
+ f.nl().i().p("throws").g(_throws).nl().o();
+ }
if (defaultValue != null) {
f.p("default ");
f.g(defaultValue);
}
- if (body != null) {
- f.s(body);
- } else if (
- !outer.isInterface() && !outer.isAnnotationTypeDeclaration() && !mods.isAbstract() && !mods.isNative()) {
- // Print an empty body for non-native, non-abstract methods
- f.s(new JBlock());
- } else {
- f.p(';').nl();
+ if (body != null) {
+ f.s(body);
+ } else if (
+ !outer.isInterface() && !outer.isAnnotationTypeDeclaration() && !mods.isAbstract() && !mods.isNative()) {
+ // Print an empty body for non-native, non-abstract methods
+ f.s(new JBlock());
+ } else {
+ f.p(';').nl();
+ }
}
- }
/**
* @return
@@ -447,10 +447,10 @@
* @deprecated use {@link #mods()}
*/
public JMods getMods() {
- return mods;
- }
+ return mods;
+ }
- protected JCodeModel owner() {
- return outer.owner();
- }
+ protected JCodeModel owner() {
+ return outer.owner();
+ }
}
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java b/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java
index 60aad8f..f4596b1 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java
@@ -41,17 +41,17 @@
= JMod.FINAL;
private static int FIELD
- = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
- | JMod.STATIC | JMod.FINAL
- | JMod.TRANSIENT | JMod.VOLATILE);
+ = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
+ | JMod.STATIC | JMod.FINAL
+ | JMod.TRANSIENT | JMod.VOLATILE);
private static int METHOD
- = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED | JMod.FINAL
- | JMod.ABSTRACT | JMod.STATIC | JMod.NATIVE | JMod.SYNCHRONIZED);
+ = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED | JMod.FINAL
+ | JMod.ABSTRACT | JMod.STATIC | JMod.NATIVE | JMod.SYNCHRONIZED);
private static int CLASS
- = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
- | JMod.STATIC | JMod.FINAL | JMod.ABSTRACT );
+ = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
+ | JMod.STATIC | JMod.FINAL | JMod.ABSTRACT );
private static int INTERFACE = JMod.PUBLIC;
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java b/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java
index 3e025a7..71d4dfd 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java
@@ -24,7 +24,7 @@
*/
/*
- * @(#)SingleByteEncoder.java 1.14 03/01/23
+ * @(#)SingleByteEncoder.java 1.14 03/01/23
*/
package com.sun.codemodel.internal.util;
@@ -51,109 +51,109 @@
private final Surrogate.Parser sgp = new Surrogate.Parser();
protected SingleByteEncoder(Charset cs,
- short[] index1, String index2,
- int mask1, int mask2, int shift)
+ short[] index1, String index2,
+ int mask1, int mask2, int shift)
{
- super(cs, 1.0f, 1.0f);
- this.index1 = index1;
- this.index2 = index2;
- this.mask1 = mask1;
- this.mask2 = mask2;
- this.shift = shift;
+ super(cs, 1.0f, 1.0f);
+ this.index1 = index1;
+ this.index2 = index2;
+ this.mask1 = mask1;
+ this.mask2 = mask2;
+ this.shift = shift;
}
public boolean canEncode(char c) {
- char testEncode;
- testEncode = index2.charAt(index1[(c & mask1) >> shift]
- + (c & mask2));
- if (testEncode == '\u0000')
- return false;
- else
- return true;
+ char testEncode;
+ testEncode = index2.charAt(index1[(c & mask1) >> shift]
+ + (c & mask2));
+ if (testEncode == '\u0000')
+ return false;
+ else
+ return true;
}
private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
- char[] sa = src.array();
- int sp = src.arrayOffset() + src.position();
- int sl = src.arrayOffset() + src.limit();
- sp = (sp <= sl ? sp : sl);
- byte[] da = dst.array();
- int dp = dst.arrayOffset() + dst.position();
- int dl = dst.arrayOffset() + dst.limit();
- dp = (dp <= dl ? dp : dl);
+ char[] sa = src.array();
+ int sp = src.arrayOffset() + src.position();
+ int sl = src.arrayOffset() + src.limit();
+ sp = (sp <= sl ? sp : sl);
+ byte[] da = dst.array();
+ int dp = dst.arrayOffset() + dst.position();
+ int dl = dst.arrayOffset() + dst.limit();
+ dp = (dp <= dl ? dp : dl);
- try {
- while (sp < sl) {
- char c = sa[sp];
- if (Surrogate.is(c)) {
- if (sgp.parse(c, sa, sp, sl) < 0)
- return sgp.error();
- return sgp.unmappableResult();
- }
- if (c >= '\uFFFE')
- return CoderResult.unmappableForLength(1);
- if (dl - dp < 1)
- return CoderResult.OVERFLOW;
+ try {
+ while (sp < sl) {
+ char c = sa[sp];
+ if (Surrogate.is(c)) {
+ if (sgp.parse(c, sa, sp, sl) < 0)
+ return sgp.error();
+ return sgp.unmappableResult();
+ }
+ if (c >= '\uFFFE')
+ return CoderResult.unmappableForLength(1);
+ if (dl - dp < 1)
+ return CoderResult.OVERFLOW;
- char e = index2.charAt(index1[(c & mask1) >> shift]
- + (c & mask2));
+ char e = index2.charAt(index1[(c & mask1) >> shift]
+ + (c & mask2));
- // If output byte is zero because input char is zero
- // then character is mappable, o.w. fail
- if (e == '\u0000' && c != '\u0000')
- return CoderResult.unmappableForLength(1);
+ // If output byte is zero because input char is zero
+ // then character is mappable, o.w. fail
+ if (e == '\u0000' && c != '\u0000')
+ return CoderResult.unmappableForLength(1);
- sp++;
- da[dp++] = (byte)e;
- }
- return CoderResult.UNDERFLOW;
- } finally {
- src.position(sp - src.arrayOffset());
- dst.position(dp - dst.arrayOffset());
- }
+ sp++;
+ da[dp++] = (byte)e;
+ }
+ return CoderResult.UNDERFLOW;
+ } finally {
+ src.position(sp - src.arrayOffset());
+ dst.position(dp - dst.arrayOffset());
+ }
}
private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
- int mark = src.position();
- try {
- while (src.hasRemaining()) {
- char c = src.get();
- if (Surrogate.is(c)) {
- if (sgp.parse(c, src) < 0)
- return sgp.error();
- return sgp.unmappableResult();
- }
- if (c >= '\uFFFE')
- return CoderResult.unmappableForLength(1);
- if (!dst.hasRemaining())
- return CoderResult.OVERFLOW;
+ int mark = src.position();
+ try {
+ while (src.hasRemaining()) {
+ char c = src.get();
+ if (Surrogate.is(c)) {
+ if (sgp.parse(c, src) < 0)
+ return sgp.error();
+ return sgp.unmappableResult();
+ }
+ if (c >= '\uFFFE')
+ return CoderResult.unmappableForLength(1);
+ if (!dst.hasRemaining())
+ return CoderResult.OVERFLOW;
- char e = index2.charAt(index1[(c & mask1) >> shift]
- + (c & mask2));
+ char e = index2.charAt(index1[(c & mask1) >> shift]
+ + (c & mask2));
- // If output byte is zero because input char is zero
- // then character is mappable, o.w. fail
- if (e == '\u0000' && c != '\u0000')
- return CoderResult.unmappableForLength(1);
+ // If output byte is zero because input char is zero
+ // then character is mappable, o.w. fail
+ if (e == '\u0000' && c != '\u0000')
+ return CoderResult.unmappableForLength(1);
- mark++;
- dst.put((byte)e);
- }
- return CoderResult.UNDERFLOW;
- } finally {
- src.position(mark);
- }
+ mark++;
+ dst.put((byte)e);
+ }
+ return CoderResult.UNDERFLOW;
+ } finally {
+ src.position(mark);
+ }
}
protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
- if (true && src.hasArray() && dst.hasArray())
- return encodeArrayLoop(src, dst);
- else
- return encodeBufferLoop(src, dst);
+ if (true && src.hasArray() && dst.hasArray())
+ return encodeArrayLoop(src, dst);
+ else
+ return encodeBufferLoop(src, dst);
}
public byte encode(char inputChar) {
- return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
- (inputChar & mask2));
+ return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
+ (inputChar & mask2));
}
}
diff --git a/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java b/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java
index 9cf6b21..ca97bc1 100644
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java
@@ -112,7 +112,7 @@
public Parser() { }
- private int character; // UCS-4
+ private int character; // UCS-4
private CoderResult error = CoderResult.UNDERFLOW;
private boolean isPair;
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java
index 643f2d5..6f365dc 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java
@@ -55,12 +55,19 @@
*/
public class HttpSOAPConnection extends SOAPConnection {
- protected static Logger log =
+ public static final String vmVendor = System.getProperty("java.vendor.url");
+ private static final String sunVmVendor = "http://java.sun.com/";
+ private static final String ibmVmVendor = "http://www.ibm.com/";
+ private static final boolean isSunVM = sunVmVendor.equals(vmVendor) ? true: false;
+ private static final boolean isIBMVM = ibmVmVendor.equals(vmVendor) ? true : false;
+ private static final String JAXM_URLENDPOINT="javax.xml.messaging.URLEndpoint";
+
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.HTTP_CONN_DOMAIN,
"com.sun.xml.internal.messaging.saaj.client.p2p.LocalStrings");
- public static String defaultProxyHost = null;
- public static int defaultProxyPort = -1;
+ public static final String defaultProxyHost = null;
+ public static final int defaultProxyPort = -1;
MessageFactory messageFactory = null;
@@ -72,6 +79,9 @@
try {
messageFactory = MessageFactory.newInstance(SOAPConstants.DYNAMIC_SOAP_PROTOCOL);
+ } catch (NoSuchMethodError ex) {
+ //fallback to default SOAP 1.1 in this case for backward compatibility
+ messageFactory = MessageFactory.newInstance();
} catch (Exception ex) {
log.log(Level.SEVERE, "SAAJ0001.p2p.cannot.create.msg.factory", ex);
throw new SOAPExceptionImpl("Unable to create message factory", ex);
@@ -96,13 +106,18 @@
}
Class urlEndpointClass = null;
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
try {
- urlEndpointClass = Class.forName("javax.xml.messaging.URLEndpoint");
- } catch (Exception ex) {
- //Do nothing. URLEndpoint is available only when JAXM is there.
- log.finest("SAAJ0090.p2p.endpoint.available.only.for.JAXM");
- }
+ if (loader != null) {
+ urlEndpointClass = loader.loadClass(JAXM_URLENDPOINT);
+ } else {
+ urlEndpointClass = Class.forName(JAXM_URLENDPOINT);
+ }
+ } catch (ClassNotFoundException ex) {
+ //Do nothing. URLEndpoint is available only when JAXM is there.
+ log.finest("SAAJ0090.p2p.endpoint.available.only.for.JAXM");
+ }
if (urlEndpointClass != null) {
if (urlEndpointClass.isInstance(endPoint)) {
@@ -639,10 +654,23 @@
return ret;
}
+ //private static String SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
+ //private static String SSL_PROVIDER =
+ // "com.sun.net.ssl.internal.ssl.Provider";
+ private static final String SSL_PKG;
+ private static final String SSL_PROVIDER;
- private static String SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
- private static String SSL_PROVIDER =
- "com.sun.net.ssl.internal.ssl.Provider";
+
+ static {
+ if (isIBMVM) {
+ SSL_PKG ="com.ibm.net.ssl.internal.www.protocol";
+ SSL_PROVIDER ="com.ibm.net.ssl.internal.ssl.Provider";
+ } else {
+ //if not IBM VM default to Sun.
+ SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
+ SSL_PROVIDER ="com.sun.net.ssl.internal.ssl.Provider";
+ }
+ }
private void initHttps() {
//if(!setHttps) {
String pkgs = System.getProperty("java.protocol.handler.pkgs");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java
index 9ded988..31f472e 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java
@@ -70,7 +70,7 @@
*/
public class AttachmentPartImpl extends AttachmentPart {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java
index 81adca3..00ca9c0 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: EnvelopeFactory.java,v 1.24 2006/01/27 12:49:26 vj135062 Exp $
- * $Revision: 1.24 $
- * $Date: 2006/01/27 12:49:26 $
+ *
+ *
+ *
*/
@@ -55,7 +55,7 @@
*/
public class EnvelopeFactory {
- protected static Logger
+ protected static final Logger
log = Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java
index a8eed2e..8596851 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java
@@ -49,7 +49,7 @@
public class ImageDataContentHandler extends Component
implements DataContentHandler {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java
index 97cff5a..945139f 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: MessageFactoryImpl.java,v 1.23 2006/01/27 12:49:27 vj135062 Exp $
- * $Revision: 1.23 $
- * $Date: 2006/01/27 12:49:27 $
+ *
+ *
+ *
*/
@@ -54,15 +54,15 @@
*/
public class MessageFactoryImpl extends MessageFactory {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
- protected static OutputStream listener;
+ protected OutputStream listener;
protected boolean lazyAttachments = false;
- public static OutputStream listen(OutputStream newListener) {
+ public OutputStream listen(OutputStream newListener) {
OutputStream oldListener = listener;
listener = newListener;
return oldListener;
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java
index 02be27a..51b47bb 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: MessageImpl.java,v 1.5 2006/12/12 10:16:33 kumarjayanti Exp $
- * $Revision: 1.5 $
- * $Date: 2006/12/12 10:16:33 $
+ *
+ *
+ *
*/
@@ -69,7 +69,7 @@
public static final String CONTENT_ID = "Content-ID";
public static final String CONTENT_LOCATION = "Content-Location";
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java
index f06b596..990f19f 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java
@@ -37,7 +37,7 @@
public class SAAJMetaFactoryImpl extends SAAJMetaFactory {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java
index a2e7ae7..260d1c8 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: SOAPDocumentImpl.java,v 1.15 2006/01/27 12:49:29 vj135062 Exp $
+ *
*/
@@ -45,7 +45,7 @@
public class SOAPDocumentImpl extends DocumentImpl implements SOAPDocument {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java
index 2c1f713..3bbc6cb 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: SOAPFactoryImpl.java,v 1.21 2006/01/27 12:49:29 vj135062 Exp $
- * $Revision: 1.21 $
- * $Date: 2006/01/27 12:49:29 $
+ *
+ *
+ *
*/
@@ -50,7 +50,7 @@
public abstract class SOAPFactoryImpl extends SOAPFactory {
- protected static Logger
+ protected static final Logger
log = Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java
index 1125bdc..a0b1039 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: SOAPPartImpl.java,v 1.1.1.1 2006/01/27 13:10:55 kumarjayanti Exp $
- * $Revision: 1.1.1.1 $
- * $Date: 2006/01/27 13:10:55 $
+ *
+ *
+ *
*/
@@ -59,7 +59,7 @@
* @author Anil Vijendran (anil@sun.com)
*/
public abstract class SOAPPartImpl extends SOAPPart implements SOAPDocument {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java
index 6411061..c44cd4b 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: CDATAImpl.java,v 1.19 2006/01/27 12:49:34 vj135062 Exp $
- * $Revision: 1.19 $
- * $Date: 2006/01/27 12:49:34 $
+ *
+ *
+ *
*/
@@ -43,7 +43,7 @@
extends com.sun.org.apache.xerces.internal.dom.CDATASectionImpl
implements javax.xml.soap.Text {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java
index 6931d53..32266d3 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: CommentImpl.java,v 1.17 2006/01/27 12:49:34 vj135062 Exp $
- * $Revision: 1.17 $
- * $Date: 2006/01/27 12:49:34 $
+ *
+ *
+ *
*/
@@ -47,7 +47,7 @@
extends com.sun.org.apache.xerces.internal.dom.CommentImpl
implements javax.xml.soap.Text, org.w3c.dom.Comment {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
protected static ResourceBundle rb =
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java
index 2afcf90..80c9892 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: ElementImpl.java,v 1.6 2006/11/16 16:01:14 kumarjayanti Exp $
- * $Revision: 1.6 $
- * $Date: 2006/11/16 16:01:14 $
+ *
+ *
+ *
*/
@@ -60,7 +60,7 @@
protected QName elementQName;
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java
index 9b6dc60..064b6c6 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: TextImpl.java,v 1.19 2006/01/27 12:49:36 vj135062 Exp $
- * $Revision: 1.19 $
- * $Date: 2006/01/27 12:49:36 $
+ *
+ *
+ *
*/
@@ -43,7 +43,7 @@
extends com.sun.org.apache.xerces.internal.dom.TextImpl
implements javax.xml.soap.Text, org.w3c.dom.Text {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java
index 2b682ca..43c2602 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java
@@ -23,9 +23,9 @@
* have any questions.
*/
/*
- * $Id: NameImpl.java,v 1.48 2006/01/27 12:49:38 vj135062 Exp $
- * $Revision: 1.48 $
- * $Date: 2006/01/27 12:49:38 $
+ *
+ *
+ *
*/
@@ -63,7 +63,7 @@
protected String prefix = "";
private String qualifiedName = null;
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.NAMING_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.name.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java
index 0eb5fe3..5f34dc3 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Fault1_1Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
*/
@@ -57,7 +57,7 @@
public class Fault1_1Impl extends FaultImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(
LogDomainConstants.SOAP_VER1_1_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java
index 99eedfa..7ef3e0c 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Header1_1Impl.java,v 1.29 2006/01/27 12:49:41 vj135062 Exp $
+ *
*/
@@ -50,7 +50,7 @@
public class Header1_1Impl extends HeaderImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java
index fbc54bd..0a875a9 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: HeaderElement1_1Impl.java,v 1.29 2006/01/27 12:49:41 vj135062 Exp $
+ *
*/
@@ -49,7 +49,7 @@
public class HeaderElement1_1Impl extends HeaderElementImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java
index c1d60c0..7d2f71b 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Message1_1Impl.java,v 1.24 2006/01/27 12:49:41 vj135062 Exp $
+ *
*/
@@ -48,7 +48,7 @@
public class Message1_1Impl extends MessageImpl implements SOAPConstants {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java
index 805b20c..5a03285 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: SOAPPart1_1Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
*/
@@ -48,7 +48,7 @@
public class SOAPPart1_1Impl extends SOAPPartImpl implements SOAPConstants {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java
index b5dd821..328ecb7 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Body1_2Impl.java,v 1.32 2006/01/27 12:49:44 vj135062 Exp $
+ *
*/
@@ -50,7 +50,7 @@
public class Body1_2Impl extends BodyImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(Body1_2Impl.class.getName(),
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java
index bf7cbcb..ec880e5 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Detail1_2Impl.java,v 1.24 2006/01/27 12:49:45 vj135062 Exp $
+ *
*/
@@ -47,7 +47,7 @@
public class Detail1_2Impl extends DetailImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(Detail1_2Impl.class.getName(),
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java
index 468ee62..11d4dc2 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Envelope1_2Impl.java,v 1.26 2006/01/27 12:49:47 vj135062 Exp $
+ *
*/
@@ -47,7 +47,7 @@
public class Envelope1_2Impl extends EnvelopeImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(Envelope1_2Impl.class.getName(),
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java
index 431c94b..0e789f8 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Fault1_2Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
*/
@@ -51,7 +51,7 @@
public class Fault1_2Impl extends FaultImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(
LogDomainConstants.SOAP_VER1_2_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java
index 20d64a3..2ea0f0d 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: Header1_2Impl.java,v 1.36 2006/01/27 12:49:48 vj135062 Exp $
+ *
*/
@@ -53,7 +53,7 @@
public class Header1_2Impl extends HeaderImpl {
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(
LogDomainConstants.SOAP_VER1_2_DOMAIN,
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java
index afdf5c8..14ebdad 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: HeaderElement1_2Impl.java,v 1.29 2006/01/27 12:49:48 vj135062 Exp $
+ *
*/
@@ -47,7 +47,7 @@
public class HeaderElement1_2Impl extends HeaderElementImpl {
- private static Logger log =
+ private static final Logger log =
Logger.getLogger(HeaderElement1_2Impl.class.getName(),
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java
index 25afd91..a21da41 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java
@@ -23,7 +23,7 @@
* have any questions.
*/
/*
- * $Id: SOAPPart1_2Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
*/
@@ -47,7 +47,7 @@
public class SOAPPart1_2Impl extends SOAPPartImpl implements SOAPConstants{
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(SOAPPart1_2Impl.class.getName(),
"com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java
index 9a83344..c977ae6 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java
@@ -45,12 +45,12 @@
* because they are not legal in SOAP. If the user of this class sets a
* LexicalHandler, then it forwards events to that handler.
*
- * $Id: RejectDoctypeSaxFilter.java,v 1.13 2006/01/27 12:49:52 vj135062 Exp $
+ *
* @author Edwin Goei
*/
public class RejectDoctypeSaxFilter extends XMLFilterImpl implements XMLReader, LexicalHandler{
- protected static Logger log =
+ protected static final Logger log =
Logger.getLogger(LogDomainConstants.UTIL_DOMAIN,
"com.sun.xml.internal.messaging.saaj.util.LocalStrings");
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java
index 620f9c5..903b618 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java
@@ -62,20 +62,22 @@
public class EfficientStreamingTransformer
extends javax.xml.transform.Transformer {
- static final String version;
- static final String vendor;
+ //static final String version;
+ //static final String vendor;
- protected static TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ protected static final TransformerFactory transformerFactory = TransformerFactory.newInstance();
- static {
- version = System.getProperty("java.vm.version");
- vendor = System.getProperty("java.vm.vendor");
- if (vendor.startsWith("Sun") &&
- (version.startsWith("1.4") || version.startsWith("1.3"))) {
- transformerFactory =
- new com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl();
- }
- }
+ //removing support for Java 1.4 and 1.3 : CR6658158
+ /*static {
+ version = System.getProperty("java.vm.version");
+ vendor = System.getProperty("java.vm.vendor");
+ if (vendor.startsWith("Sun") &&
+ (version.startsWith("1.4") || version.startsWith("1.3"))) {
+ transformerFactory =
+ new com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl();
+ }
+}
+*/
/**
* TransformerFactory instance.
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java b/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java
index c9e4b17..23c30eb 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java
@@ -25,6 +25,9 @@
package com.sun.xml.internal.txw2;
+import java.util.AbstractList;
+import java.util.Collections;
+import java.util.List;
import javax.xml.namespace.QName;
/**
@@ -53,50 +56,60 @@
*/
void print(DT dt, NamespaceResolver resolver, StringBuilder buf);
+ static final List<DatatypeWriter<?>> BUILTIN = Collections.unmodifiableList(new AbstractList() {
- static final DatatypeWriter<?>[] BUILDIN = new DatatypeWriter<?>[] {
- new DatatypeWriter<String>() {
- public Class<String> getType() {
- return String.class;
+ private DatatypeWriter<?>[] BUILTIN_ARRAY = new DatatypeWriter<?>[] {
+ new DatatypeWriter<String>() {
+ public Class<String> getType() {
+ return String.class;
+ }
+ public void print(String s, NamespaceResolver resolver, StringBuilder buf) {
+ buf.append(s);
+ }
+ },
+ new DatatypeWriter<Integer>() {
+ public Class<Integer> getType() {
+ return Integer.class;
+ }
+ public void print(Integer i, NamespaceResolver resolver, StringBuilder buf) {
+ buf.append(i);
+ }
+ },
+ new DatatypeWriter<Float>() {
+ public Class<Float> getType() {
+ return Float.class;
+ }
+ public void print(Float f, NamespaceResolver resolver, StringBuilder buf) {
+ buf.append(f);
+ }
+ },
+ new DatatypeWriter<Double>() {
+ public Class<Double> getType() {
+ return Double.class;
+ }
+ public void print(Double d, NamespaceResolver resolver, StringBuilder buf) {
+ buf.append(d);
+ }
+ },
+ new DatatypeWriter<QName>() {
+ public Class<QName> getType() {
+ return QName.class;
+ }
+ public void print(QName qn, NamespaceResolver resolver, StringBuilder buf) {
+ String p = resolver.getPrefix(qn.getNamespaceURI());
+ if(p.length()!=0)
+ buf.append(p).append(':');
+ buf.append(qn.getLocalPart());
+ }
}
- public void print(String s, NamespaceResolver resolver, StringBuilder buf) {
- buf.append(s);
- }
- },
- new DatatypeWriter<Integer>() {
- public Class<Integer> getType() {
- return Integer.class;
- }
- public void print(Integer i, NamespaceResolver resolver, StringBuilder buf) {
- buf.append(i);
- }
- },
- new DatatypeWriter<Float>() {
- public Class<Float> getType() {
- return Float.class;
- }
- public void print(Float f, NamespaceResolver resolver, StringBuilder buf) {
- buf.append(f);
- }
- },
- new DatatypeWriter<Double>() {
- public Class<Double> getType() {
- return Double.class;
- }
- public void print(Double d, NamespaceResolver resolver, StringBuilder buf) {
- buf.append(d);
- }
- },
- new DatatypeWriter<QName>() {
- public Class<QName> getType() {
- return QName.class;
- }
- public void print(QName qn, NamespaceResolver resolver, StringBuilder buf) {
- String p = resolver.getPrefix(qn.getNamespaceURI());
- if(p.length()!=0)
- buf.append(p).append(':');
- buf.append(qn.getLocalPart());
- }
+ };
+
+ public DatatypeWriter<?> get(int n) {
+ return BUILTIN_ARRAY[n];
}
- };
+
+ public int size() {
+ return BUILTIN_ARRAY.length;
+ }
+ });
}
diff --git a/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java b/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java
index a69a3d8..1c05e4b 100644
--- a/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java
+++ b/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java
@@ -76,7 +76,7 @@
Document(XmlSerializer out) {
this.out = out;
- for( DatatypeWriter dw : DatatypeWriter.BUILDIN )
+ for( DatatypeWriter dw : DatatypeWriter.BUILTIN )
datatypeWriters.put(dw.getType(),dw);
}
diff --git a/jdk/.hgtags b/jdk/.hgtags
index b33e53b..2aa2d05 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -31,3 +31,4 @@
d1c43d1f5676a24ba86221ac7cad5694f3a9afda jdk7-b54
522bb5aa17e0c0cff00b1ed7d1b51bc4db2cfef9 jdk7-b55
7fd3bc37afe36f8f6165ba679db1229716db822a jdk7-b56
+d5a1223e961891564de25c39fba6f2442d0fb045 jdk7-b57
diff --git a/jdk/make/docs/CORE_PKGS.gmk b/jdk/make/docs/CORE_PKGS.gmk
index 9ea6f0c..dc4bc1c 100644
--- a/jdk/make/docs/CORE_PKGS.gmk
+++ b/jdk/make/docs/CORE_PKGS.gmk
@@ -1,5 +1,5 @@
#
-# Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved.
+# Copyright 2001-2008 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
@@ -55,6 +55,7 @@
# This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
#
ACTIVE_JSR_PKGS= \
+ java.dyn \
java.sql \
javax.activation \
javax.annotation.* \
diff --git a/jdk/make/java/Makefile b/jdk/make/java/Makefile
index 44d05a5..ca48cc9 100644
--- a/jdk/make/java/Makefile
+++ b/jdk/make/java/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved.
+# Copyright 1995-2009 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
@@ -39,7 +39,7 @@
# Others
# Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk
SUBDIRS += security npt java_crw_demo java_hprof_demo \
- math awt util text applet net nio \
+ math awt util text applet net nio dyn \
sql rmi jar beans logging management instrument
diff --git a/jdk/make/java/dyn/Makefile b/jdk/make/java/dyn/Makefile
new file mode 100644
index 0000000..00cc225
--- /dev/null
+++ b/jdk/make/java/dyn/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright 2008-2009 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. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+BUILDDIR = ../..
+
+PACKAGE = java.dyn
+PRODUCT = java
+include $(BUILDDIR)/common/Defs.gmk
+
+AUTO_FILES_JAVA_DIRS = java/dyn sun/dyn
+
+# The sources built here use new language syntax to generate
+# method handle calls. Let's be sure we are using that format.
+#LANGUAGE_VERSION = -source 7
+#CLASS_VERSION = -target 7
+
+# Actually, it will be less disruptive to compile with the same
+# -target option as the rest of the system, and just turn on
+# the specific compiler option we need here:
+OTHER_JAVACFLAGS = -XDinvokedynamic
+
+include $(BUILDDIR)/common/Classes.gmk
diff --git a/jdk/make/sun/awt/FILES_c_unix.gmk b/jdk/make/sun/awt/FILES_c_unix.gmk
index f85635f..3b4ad3f 100644
--- a/jdk/make/sun/awt/FILES_c_unix.gmk
+++ b/jdk/make/sun/awt/FILES_c_unix.gmk
@@ -125,7 +125,6 @@
FourByteAbgrPre.c \
BufferedMaskBlit.c \
BufferedRenderPipe.c \
- RenderBuffer.c \
ShapeSpanIterator.c \
SpanClipRenderer.c \
awt_ImageRep.c \
diff --git a/jdk/make/sun/awt/FILES_c_windows.gmk b/jdk/make/sun/awt/FILES_c_windows.gmk
index ccf21af..c9eb348 100644
--- a/jdk/make/sun/awt/FILES_c_windows.gmk
+++ b/jdk/make/sun/awt/FILES_c_windows.gmk
@@ -70,7 +70,6 @@
FourByteAbgrPre.c \
BufferedMaskBlit.c \
BufferedRenderPipe.c \
- RenderBuffer.c \
ShapeSpanIterator.c \
SpanClipRenderer.c \
SurfaceData.c \
diff --git a/jdk/make/sun/awt/mapfile-vers b/jdk/make/sun/awt/mapfile-vers
index 9ab965e..06a1d5b 100644
--- a/jdk/make/sun/awt/mapfile-vers
+++ b/jdk/make/sun/awt/mapfile-vers
@@ -65,7 +65,6 @@
Java_sun_awt_image_ShortComponentRaster_initIDs;
Java_sun_java2d_pipe_BufferedMaskBlit_enqueueTile;
Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans;
- Java_sun_java2d_pipe_RenderBuffer_copyFromArray;
Java_sun_java2d_pipe_SpanClipRenderer_eraseTile;
Java_sun_java2d_pipe_SpanClipRenderer_fillTile;
Java_sun_java2d_pipe_ShapeSpanIterator_addSegment;
diff --git a/jdk/make/sun/awt/mapfile-vers-linux b/jdk/make/sun/awt/mapfile-vers-linux
index a1e88de..c1f9d13 100644
--- a/jdk/make/sun/awt/mapfile-vers-linux
+++ b/jdk/make/sun/awt/mapfile-vers-linux
@@ -117,7 +117,6 @@
Java_sun_java2d_loops_MaskBlit_MaskBlit;
Java_sun_java2d_loops_MaskFill_MaskFill;
Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans;
- Java_sun_java2d_pipe_RenderBuffer_copyFromArray;
Java_sun_java2d_pipe_SpanClipRenderer_initIDs;
sun_awt_image_GifImageDecoder_initIDs;
diff --git a/jdk/src/linux/doc/man/appletviewer.1 b/jdk/src/linux/doc/man/appletviewer.1
index 0853159..f6d27cf 100644
--- a/jdk/src/linux/doc/man/appletviewer.1
+++ b/jdk/src/linux/doc/man/appletviewer.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -20,20 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH appletviewer 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
appletviewer \- The Java Applet Viewer
.LP
+.RS 3
.LP
.LP
The \f3appletviewer\fP command allows you to run applets outside of a web browser.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -59,15 +58,18 @@
.LP
.LP
+.RS 3
.TP 3
\-debug
-Starts the applet viewer in the Java debugger, \f3jdb\fP, thus allowing you to debug the applets in the document.
+Starts the applet viewer in the Java debugger, jdb(1), thus allowing you to debug the applets in the document.
.TP 3
\-encoding \ \ encoding name
Specify the input HTML file encoding name.
.TP 3
\-Jjavaoption
Passes through the string \f2javaoption\fP as a single argument to the Java interpreter which runs the appletviewer. The argument should not contain spaces. Multiple argument words must all begin with the prefix \f3\-J\fP, which is stripped. This is useful for adjusting the compiler's execution environment or memory usage.
+.RE
+
.LP
.LP
diff --git a/jdk/src/linux/doc/man/apt.1 b/jdk/src/linux/doc/man/apt.1
index 34621f5..f7a2e64 100644
--- a/jdk/src/linux/doc/man/apt.1
+++ b/jdk/src/linux/doc/man/apt.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,10 +18,9 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH apt 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.SH "NAME"
@@ -41,12 +38,15 @@
.LP
Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.
.LP
+.RS 3
.TP 3
sourcefiles
Zero or more source files to be processed.
.TP 3
@files
One or more files that list source files or other options
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -60,19 +60,19 @@
.fi
http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
.LP
+.RS 3
.TP 3
Note:
-\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac\fP tool [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool.
+\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac(1)\fP tool and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool.
+.RE
+
.LP
.SH "OPTIONS"
.LP
.SS
apt specific options
.LP
+.RS 3
.TP 3
\-s dir
Specify the directory root under which processor\-generated source files will be placed; files are placed in subdirectories based on package namespace.
@@ -91,17 +91,21 @@
.TP 3
\-factory classname
Name of annotation processor factory to use; bypasses default discovery process
+.RE
+
.LP
.SS
Options shared with javac
.LP
+.RS 3
.TP 3
\-d dir
Specify where to place processor and javac generated class files
.TP 3
-\-cp path or \-classpath
-path
+\-cp path or \-classpath path
Specify where to find user class files and annotation processor factories. If \f2\-factorypath\fP is given, the classpath is not searched for factories.
+.RE
+
.LP
.LP
Consult the javac(1) man page for information on \f2javac\fP options.
@@ -115,24 +119,11 @@
.LP
.RS 3
.TP 2
-*
-javac: [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows]
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] [Windows]
+o
+javac(1), java(1)
.RE
.LP
+
+.LP
diff --git a/jdk/src/linux/doc/man/extcheck.1 b/jdk/src/linux/doc/man/extcheck.1
index 0df1219..335c1c6 100644
--- a/jdk/src/linux/doc/man/extcheck.1
+++ b/jdk/src/linux/doc/man/extcheck.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH extcheck 1 "05 Aug 2006"
-." Generated by html2roff
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
extcheck \- A utility to detect jar conflicts
.LP
+.RS 3
.LP
.LP
\f3extcheck\fP detects version conflicts between a target jar file and currently installed extension jar files.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -67,19 +66,22 @@
.LP
.LP
+.RS 3
.TP 3
\-verbose
Lists Jar files in the extension directory as they are checked. Additionally, manifest attributes of the target jar file and any conflicting jar files are also reported.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-jar
+jar(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/idlj.1 b/jdk/src/linux/doc/man/idlj.1
index ecf7aad..95bafd2 100644
--- a/jdk/src/linux/doc/man/idlj.1
+++ b/jdk/src/linux/doc/man/idlj.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH idlj 1 "07 Aug 2006"
-." Generated by html2man
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
idlj \- The IDL\-to\-Java Compiler
.LP
.RS 3
@@ -54,7 +51,11 @@
.LP
.LP
-The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the OMG IDL to Java Language Language Mapping Specification. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP.
+The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the
+.na
+\f2OMG IDL to Java Language Language Mapping Specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP.
.SS
Emitting Client and Server Bindings
.LP
@@ -78,10 +79,18 @@
The default server\-side model is the \f2Portable Servant Inheritance Model\fP. Given an interface \f2My\fP defined in \f2My.idl\fP, the file \f2MyPOA.java\fP is generated. You must provide the implementation for \f2My\fP and it must inherit from \f2MyPOA\fP.
.LP
.LP
-\f2MyPOA.java\fP is a stream\-based skeleton that extends \f2org.omg.PortableServer.Servant\fP and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
+\f2MyPOA.java\fP is a stream\-based skeleton that extends
+.na
+\f2org.omg.PortableServer.Servant\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
.LP
.LP
-The \f2PortableServer\fP module for the Portable Object Adapter (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
+The \f2PortableServer\fP module for the
+.na
+\f2Portable Object Adapter (POA)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
.LP
.LP
Another option for the Inheritance Model is to use the \f2\-oldImplBase\fP flag in order to generate server\-side bindings that are compatible with versions of the Java programming language prior to J2SE 1.4. Note that using the \f2\-oldImplBase\fP flag is non\-standard: these APIs are being deprecated. You would use this flag ONLY for compatibility with existing servers written in J2SE 1.3. In that case, you would need to modify an existing MAKEFILE to add the \f2\-oldImplBase\fP flag to the \f2idlj\fP compiler, otherwise POA\-based server\-side mappings will be generated. To generate server\-side bindings that are backwards compatible:
@@ -203,7 +212,11 @@
.LP
Since this form of include can become irritatingly long, another means of indicating to the compiler where to search for included files is provided. This technique is similar to the idea of an environment variable. Create a file named \f2idl.config\fP in a directory that is listed in your CLASSPATH. Inside of \f2idl.config\fP, provide a line with the following form: \f2includes=/includes;/moreIncludes\fP
.LP
-The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, read the CLASSPATH\ (Solaris) or CLASSPATH\ (Windows) documentation.
+The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, see the
+.na
+\f2Setting the Classpath\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general.
.RE
.SS
Emitting Bindings for Include Files
diff --git a/jdk/src/linux/doc/man/ja/appletviewer.1 b/jdk/src/linux/doc/man/ja/appletviewer.1
index 855389c..8bfdad5 100644
--- a/jdk/src/linux/doc/man/ja/appletviewer.1
+++ b/jdk/src/linux/doc/man/ja/appletviewer.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -20,55 +18,58 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH appletviewer 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-appletviewer \- Java ¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢
+.SH "名前"
+appletviewer \- Java アプレットビューア
.LP
+.RS 3
.LP
.LP
-\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï Web ¥Ö¥é¥¦¥¶¤Î³°¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤µ¤»¤Þ¤¹¡£
+\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。
.LP
-.SH "·Á¼°"
+.RE
+.SH "形式"
.LP
.LP
.LP
\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
.LP
-.SH "µ¡Ç½ÀâÌÀ"
+.SH "説明"
.LP
.LP
.LP
-\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï \f2urls\fP ¤Ë»ØÄꤵ¤ì¤¿¥É¥¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆȼ«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£Ãí:\f2urls\fP ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤¬¡¢\f2OBJECT\fP¡¢\f2EMBED\fP¡¢¤Þ¤¿¤Ï \f2APPLET\fP ¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3appletviewer\fP ¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\f3appletviewer\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë HTML ¥¿¥°¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html
-¤Î
+\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、
.na
-¡Ö\f2AppletViewer Tags\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「アプレットビューアのタグ」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。
.LP
.LP
-\f3Ãí:\fP \f3appletviewer\fP ¤Ï¡¢RFC2396 ¤Çµ¬Äꤵ¤ì¤¿¥¨¥¹¥±¡¼¥×µ¡¹½¤Ë½¾¤Ã¤ÆÉä¹æ²½¤µ¤ì¤¿ URL ¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢Éä¹æ²½¤µ¤ì¤¿ URL ¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396 ¤Ë»ØÄꤵ¤ì¤¿ÊýË¡¤ÇÉä¹æ²½¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
+.RS 3
.TP 3
\-debug
-Java ¥Ç¥Ð¥Ã¥¬ \f3jdb\fP ¤Ç¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥É¥¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+Java デバッガ jdb(1) でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。
.TP 3
\-encoding \ \ encoding name
-ÆþÎÏ HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
+入力 HTML ファイルのエンコーディング名を指定します。
.TP 3
\-Jjavaoption
-ʸ»úÎó \f2javaoption\fP ¤Ï¡¢appletviewer ¤ò¼Â¹Ô¤¹¤ë Java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë 1 ¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¶õÇòʸ»ú¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢³Æ°ú¿ô¤Î¤¹¤Ù¤Æ¤òÀÜƬ¼ \f3\-J\fP ¤Ç»Ï¤á¤ë¤³¤È¤Ë¤è¤ê¶èʬ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶¡¢¤Þ¤¿¤Ï¥á¥â¥ê¤ÎÍøÍѤË͸ú¤Ç¤¹¡£
+文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。
+.RE
+
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/apt.1 b/jdk/src/linux/doc/man/ja/apt.1
index c1127ad..9bd29f4 100644
--- a/jdk/src/linux/doc/man/ja/apt.1
+++ b/jdk/src/linux/doc/man/ja/apt.1
@@ -1,179 +1,126 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.\"
-.TH apt 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-apt \- Ãí¼á½èÍý¥Ä¡¼¥ë
-.\"
-.SH "·Á¼°"
-.B apt
-.BI [\-classpath " classpath"]
-.BI [\-sourcepath " sourcepath"]
-.BI [\-d " directory"]
-.BI [\-s " directory"]
-.BI [\-factorypath " path"]
-.BI [\-factory " class"]
-.B [\-print]
-.B [\-nocompile]
-.B [\-Akey[=val] ...]
-.BI [javac option]
-.BI sourcefiles
-.BI [@files]
-.SH "¥Ñ¥é¥á¡¼¥¿"
-¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ÈÍѤǤ¤Þ¤¹¡£ÆÃÄê¤Î¥ª¥×¥·¥ç¥ó¤ËŬÍѤµ¤ì¤ë
-¥Ñ¥é¥á¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I sourcefiles
-½èÍý¤µ¤ì¤ë 0 ¸Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I @files
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤ò¥ê¥¹¥È¤¹¤ë 1 ¸Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£
-.SH "µ¡Ç½ÀâÌÀ"
-Ãí¼á½èÍý¥Ä¡¼¥ë
-.B apt
-¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÃí¼á¤ò½èÍý¤¹¤ë¤¿¤á¤Î°ìÏ¢¤Î
-¿·¤·¤¤¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤È¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.B apt
-¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¹½Â¤¤Î¥Ó¥å¡¼¤¬¡¢
-¥Ó¥ë¥É»þ¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤ÎÆɤ߼è¤êÀìÍѤȤ·¤ÆÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤Ï¡¢Áí¾Î·¿¤ÎÄɲøå¤Ë¡¢
-Java(TM) ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î·¿¥·¥¹¥Æ¥à¤ò
-¤ï¤«¤ê¤ä¤¹¤¯¥â¥Ç¥ë²½¤Ç¤¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤·¤¿¡£
-¤Ï¤¸¤á¤Ë¡¢
-.B apt
-¤ÏÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤Ï¡¢
-¿·µ¬¤Î¥½¡¼¥¹¥³¡¼¥É¤ª¤è¤Ó¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤·¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢
-³«È¯¤òÍưפˤ·¤Þ¤¹¡£¥Ä¡¼¥ë¤ÈÂÐÏ乤뤿¤á¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤È
-¤½¤Î¾¤Î API ¤Ï¡¢
-.B com.sun.mirror
-¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B apt
-¤Ë¤è¤ë¥Ä¡¼¥ë¤ÎÁàºîÊýË¡¤È³«È¯¼ê½ç¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢
-http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
-¤Î¡ÖGetting Started with apt¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.SH "NAME"
.LP
+.LP
+\f2apt\fP \- 注釈処理ツール
+.LP
+.SH "形式"
+.LP
+.LP
+\f2apt [\-classpath \fP\f2classpath\fP] [\-sourcepath \f2sourcepath\fP] [\-d \f2directory\fP] [\-s \f2directory\fP] [\-factorypath \f2path\fP] [\-factory \f2class\fP] [\-print] [\-nocompile] [\-A\f2key\fP[\f2=val\fP] ...][\f2javac option\fP] sourcefiles [@files]
+.LP
+.SH "パラメータ"
+.LP
+.LP
+オプションは順不同です。特定のオプションに適用されるパラメータについては、下記の「オプション」を参照してください。
+.LP
+.RS 3
.TP 3
-Ãí:
-\f2apt\fP\f2 ¤Îµ¡Ç½\fP¤Ïɸ½à¤ÎÃí¼á½èÍý¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤ËÁȤ߹þ¤Þ¤ì¤Þ¤·¤¿¡£¤³¤Îɸ½à¤Î¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤Ï¡¢º£¤Ç¤Ï \f2javac\fP ¥Ä¡¼¥ë [
+sourcefiles
+ゼロ、1 つ、または複数の処理対象のソースファイル
+.TP 3
+@files
+ソースファイルまたは他のオプションを一覧表示する 1 つまたは複数のファイル
+.RE
+
+.LP
+.SH "説明"
+.LP
+.LP
+注釈処理ツール \f2apt\fP は、新しいリフレクト API とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\f2apt\fP は、新しいソースコードと他のファイルを作成する注釈プロセッサを実行します。次に、\f2apt\fP は、元のソースファイルと生成したソースファイルの両方をコンパイルするため、開発が楽になります。ツールとのインタフェースに使用されるリフレクト API などの API は、\f2com.sun.mirror\fP のサブパッケージです。
+.LP
+.LP
+ツールの機能に関する詳細と、\f2apt\fP を使用した開発方法については、
.na
-\f2Solaris ¤È Linux\fP ¤Î¾ì¹ç:
+\f4「\fP\f4apt\fP\f3 入門」\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [
-.na
-\f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] ¤Î°ìÉô¤È¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î Java ¥³¥ó¥Ñ¥¤¥é¤Ç»ÈÍѤǤ¤ë¤è¤¦¤Ëɸ½à²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¿·¤·¤¤¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î°ìÉô¤È¤Ê¤Ã¤¿¸À¸ì¥â¥Ç¥ë¤ÈÃí¼á½èÍý API ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤Ãí¼á¥×¥í¥»¥Ã¥µ¤Î³«È¯¤Ï¡¢¤³¤Î¿·¤·¤¤ API ¤È \f2javac\fP ¥Ä¡¼¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤¦¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlを参照してください。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.SS apt ¸ÇͤΥª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-s " dir"
-¥×¥í¥»¥Ã¥µ¤¬À¸À®¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ÇÛÃÖ¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë½¾¤Ã¤Æ¡¢
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-nocompile
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-print
-»ØÄꤷ¤¿·¿¤Î¥Æ¥¥¹¥Èɽ¸½¤ò½ÐÎϤ·¤Þ¤¹¡£
-Ãí¼á½èÍý¤ä¥³¥ó¥Ñ¥¤¥ë¤Ï¼Â¹Ô¤·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-A[key[=val]]
-Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£
-.B apt
-¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤òľÀܲò¼á¤·¤Þ¤»¤ó¤¬¡¢¸ÄÊÌ¤Î¥×¥í¥»¥Ã¥µ
-¤Ë¤è¤Ã¤Æ»ÈÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-factorypath " path"
-Ãí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Õ¥¡¥¯¥È¥ê¤Î¸¡º÷¤Ë
-¥¯¥é¥¹¥Ñ¥¹¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-factory " classname"
-»ÈÍѤ¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤Î̾Á°¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¸¡½Ð½èÍý¤Ï¥Ð¥¤¥Ñ¥¹¤µ¤ì¤Þ¤¹¡£
-.SS javac ¤È¶¦Í¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-d " dir"
-¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó
-.B javac
-¤¬À¸À®¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-cp " path " \fL¤Þ¤¿¤Ï\fP \fL\-classpath " path"
-¥æ¡¼¥¶¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤ÓÃí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò
-»ØÄꤷ¤Þ¤¹¡£
-.B \-factorypath
-¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Õ¥¡¥¯¥È¥ê¤Î¸¡º÷¤Ë¥¯¥é¥¹¥Ñ¥¹¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
+.RS 3
+.TP 3
+注:
+\f2apt\fP の機能は、\f2javac(1)\fP ツールの一部となった注釈処理インフラストラクチャーに組み込まれ、すべての Java コンパイラで使用できるように標準化されました。この新しいインフラストラクチャーは、言語モデルおよび Java プラットフォームの一部となった注釈処理 API に依存します。注釈プロセッサの開発は、新しい API および \f2javac\fP ツールに基づいて行うようお勧めします。
+.RE
+
.LP
-javac ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR javac(1)
-¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH Ãí°Õ»ö¹à
+.SH "オプション"
.LP
-\f2apt\fP ¤Îµ¡Ç½¤Ï¡¢\f2javac\fP ¤¬Ä󶡤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿É¸½à¤ÎÃí¼á½èÍý¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤ËÁȤ߹þ¤Þ¤ì¤Þ¤·¤¿¡£\f2apt\fP ¤È¤½¤Î´ØÏ¢ API ¤Î¥µ¥Ý¡¼¥È¤Ï¡¢JDK ¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤ÇÂǤÁÀÚ¤é¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+.SS
+apt 固有のオプション
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.RS 3
+.TP 3
+\-s dir
+プロセッサの生成するソースファイルを置くディレクトリルートを指定します。 ファイルは、パッケージの名前空間に基づいてサブディレクトリに置かれます。
+.TP 3
+\-nocompile
+ソースファイルをクラスファイルにコンパイルしません。
+.TP 3
+\-print
+指定したタイプのテキスト表現を出力します。 注釈処理またはコンパイルは行いません。
+.TP 3
+\-A[key[=val]]
+注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。
+.TP 3
+\-factorypath path
+注釈プロセッサファクトリを検索する場所を指定します。 このオプションを使用する場合、クラスパスのファクトリは検索されません。
+.TP 3
+\-factory classname
+使用する注釈プロセッサファクトリの名前です。 デフォルトの検出プロセスを省略します。
+.RE
+
+.LP
+.SS
+javac と共用するオプション
+.LP
+.RS 3
+.TP 3
+\-d dir
+プロセッサと javac 生成のクラスファイルを置く場所を指定します。
+.TP 3
+\-cp path or \-classpath path
+ユーザークラスファイルと注釈プロセッサファクトリを検索する場所を指定します。\f2\-factorypath\fP が指定されている場合、クラスパスのファクトリは検索されません。
+.RE
+
+.LP
+.LP
+\f2javac\fP オプションの詳細については、javac(1) のマニュアルページを参照してください。
+.LP
+.SH "注"
+.LP
+.LP
+\f2apt\fP の機能は、\f2javac\fP により提供される標準注釈処理インフラストラクチャーに組み込まれました。今後の JDK リリースでは、\f2apt\fP および関連する API のサポートが中止する可能性があります。
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-javac: [
-.na
-\f2Solaris ¤È Linux\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html]
-[ \f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html]
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html]
-[ \f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html]
+o
+javac(1), java(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/extcheck.1 b/jdk/src/linux/doc/man/ja/extcheck.1
index 83810b6..e123393 100644
--- a/jdk/src/linux/doc/man/ja/extcheck.1
+++ b/jdk/src/linux/doc/man/ja/extcheck.1
@@ -1,109 +1,88 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-'\"macro stdmacro
-.TH extcheck 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-extcheck \- jar ¤Î¶¥¹ç¸¡½Ð¥æ¡¼¥Æ¥£¥ê¥Æ¥£
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+extcheck \- jar の競合検出ユーティリティー
+.LP
+.RS 3
+
+.LP
+.LP
+\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+extcheck [ \-verbose ] targetfile.jar
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
.LP
.LP
.LP
-\f3extcheck\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î jar ¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î jar ¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£
+\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。
.LP
-.SH "·Á¼°"
-.B extcheck
-[
-.B \-verbose
-]
-.B targetfile.jar
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "jar conflict detection utility" "" "jar conflict detection utility \(em \fLextcheck\fP"
-.IX "extcheck" "" "\fLextcheck\fP \(em jar conflict detection utility"
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢»ØÄꤵ¤ì¤¿
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬ Java(TM) SDK
-¥½¥Õ¥È¥¦¥§¥¢¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò
-¸¡ºº¤·¤Þ¤¹¡£
-³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤Ã¤Æ¡¢
-¥Ð¡¼¥¸¥ç¥ó¤¬Æ±¤¸¤«¡¢
-¤è¤ê¿·¤·¤¤³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë
-¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
.LP
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-.I targetfile.jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À
-.I Specification-title
-¤ª¤è¤Ó
-.I Specification-version
-¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î jar
-¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥Ø¥Ã¥À¤ÈÈæ³Ó¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I jre/lib/ext
-¤Ç¤¹¡£
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-.I java.lang.Package.isCompatibleWith
-¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£
+\f3extcheck\fP ユーティリティーは、\f2targetfile.jar\fP ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされているすべての Jar ファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。
.LP
-¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¥ê¥¿¡¼¥ó¥³¡¼¥É¤Ï
-.I 0 ¤Ç¤¹¡£
.LP
-³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î
-.I Specification-title¡¢
-¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤
-.I Specification-version
-Èֹ椬¤¢¤ë¾ì¹ç¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼
-¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.I targetfile.jar
-¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë
-.I Specification-title
-¤Þ¤¿¤Ï
-.I Specification-version
-°À¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤¤Þ¤¹¡£
-.TP 15
-.B -verbose
-³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤ò¡¢¸¡ºº»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ë
-.B jar
-¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à java(1) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-.BR jar (1)
+競合が検出されない場合のリターンコードは \f20\fP です。
+.LP
+.LP
+拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。\f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。
+.LP
+.SH "オプション"
+.LP
+
+.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 バイトに設定されます。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+jar(1)
+.LP
+
+.LP
+
diff --git a/jdk/src/linux/doc/man/ja/idlj.1 b/jdk/src/linux/doc/man/ja/idlj.1
index 05b4618..6487087 100644
--- a/jdk/src/linux/doc/man/ja/idlj.1
+++ b/jdk/src/linux/doc/man/ja/idlj.1
@@ -1,203 +1,112 @@
-'\" t
-.\"
-.\" Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.\"
-.TH idlj 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-idlj - IDL-to-Java ¥³¥ó¥Ñ¥¤¥é
-.LP
-.B idlj
-¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤«¤é Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
-.SH "·Á¼°"
-.B idlj
-[
-.IB options
-]
-.B idl-file
-.LP
-.BR idl-file
-¤Ë¤Ï¡¢Interface Definition Language (IDL) ÄêµÁ¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë
-¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.BR Options
-¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢
-.BR idl-file
-¤è¤ê¤âÁ°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SH "µ¡Ç½ÀâÌÀ"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢¡Ö\f2OMG IDL to Java Language Language Mapping Specification\fP¡×
-.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Îµì¥ê¥ê¡¼¥¹¤Î¤Ê¤«¤Ë¤Ï¡¢
-.BR idltojava ¤È¤¤¤¦Ì¾Á°¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
-.SH "¥¯¥é¥¤¥¢¥ó¥È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¥µ¡¼¥Ð¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô"
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.BR My.idl
-¤È¤¤¤¦Ì¾Á°¤Î IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®
-¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+.SH "名前"
+idlj \- IDL\-to\-Java コンパイラ
.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
+.RS 3
+
+.LP
+\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。
.RE
+.SH "形式"
.LP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾åµ¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë¤â»ØÄê¤Ç¤¤Þ¤¹¡£
+
.LP
-.RS
-.ft 3
.nf
-idlj -fclient My.idl
+\f3
+.fl
+idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥µ¡¼¥Ð¦¤Î¥¹¥±¥ë¥È¥ó¤Ï
-¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ¥µ¡¼¥Ð¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°
-¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-idlj -fserver My.idl
-.fi
-.ft 1
-.RE
+\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。
.LP
-¥µ¡¼¥Ð¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Û¤«
-¤Ë¥¹¥±¥ë¥È¥ó¤¬¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢POA (·Ñ¾µ¥â¥Ç¥ë)
-¥¯¥é¥¹¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë
-¤Ë¤Ï¡¢°Ê²¼¤ÎÅù²Á¥³¥Þ¥ó¥É¤Î¤É¤Á¤é¤«°ìÊý¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+.SH "説明"
.LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver My.idl
-.br
-idlj -fall My.idl
-.fi
-.ft 1
-.RE
+
.LP
-¥µ¡¼¥Ð¦¥â¥Ç¥ë¤È¤·¤Æ¤Ï¡¢·Ñ¾µ¥â¥Ç¥ë¤È Tie °Ñ¾ù¥â¥Ç¥ë¤Î 2 ¼ïÎà¤ò
-ÍøÍѤǤ¤Þ¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¦¥â¥Ç¥ë¤Ï¡¢¥Ý¡¼¥¿¥Ö¥ë¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤Ç¤¹¡£
-.BR My.idl
-¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥Õ¥¡¥¤¥ë
-.BR MyPOA.java ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR My ¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ï¡¢
-.BR MyPOA ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.LP
-.BR MyPOA.java ¤Ï¡¢
+IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。 バインディングの詳細は、
.na
-\f2org.omg.PortableServer.Servant\fP
+\f2OMG IDL to Java Language Mapping Specification\fP @
.fi
-(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html)
-¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¤¢¤ê¡¢¤³¤Î¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ë
-IDL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢¤·¤¿
-.BR InvokeHandler
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。
+.SS
+クライアントバインディングおよびサーバーバインディングの発行
+.LP
+.RS 3
+
+.LP
+My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。 \f2idlj My.idl\fP
+.LP
+これにより、クライアント側のバインディングが生成されます。 このコマンドは、次のコマンドと等価です。 \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP
+.LP
+サーバー側のバインディングには、クライアント側のバインディングに加えて、スケルトンが組み込まれてています。 これらは、すべて \f2POA\fP (継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP
+.br
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
+.LP
+.LP
+サーバー側のモデルとしては、2 つのモデルが可能です。それは、継承モデルと、Tie 委譲モデルです。
+.LP
+.LP
+デフォルトのサーバー側のモデルは、「移殖可能サーバント継承モデル」です。\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2MyPOA.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyPOA\fP から継承する必要があります。
+.LP
+.LP
+\f2MyPOA.java\fP は
+.na
+\f2org.omg.PortableServer.Servant\fP @
+.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
+\f2Portable Object Adapter (POA)\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) ¤Î
-.BR PortableServer
-¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö Servant ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢
-.BR Servant
-·¿¤Ï¡¢Java
-.BR org.omg.PortableServer.Servant
-¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î
-.BR POA
-¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬¸Æ¤Ó½Ð¤»¤ë
-¿¿ô¤Î¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£¤Þ¤¿¡¢POA ¼«ÂΤ¬¸Æ¤Ó½Ð¤·¤¿¤ê¡¢¥µ¡¼¥Ð¥ó¥ÈÆ°ºî¤ò
-À©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¤¬¾å½ñ¤¤·¤¿¤ê¤Ç¤¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£
+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
-·Ñ¾µ¥â¥Ç¥ë¤Ë¤Ï¡¢J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
-¤È¸ß´¹À¤Î¤¢¤ë¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë
-.BR -oldImplBase
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£
-\f2\-oldImplBase\fP ¥Õ¥é¥°¤Î»ÈÍѤÏÈóɸ½à¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤Î API ¤Ï¤Þ¤â¤Ê¤¯Èó¿ä¾©¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢J2SE 1.3 ¤Çµ½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¤È¤Î¸ß´¹À¤ò³ÎÊݤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤À¤±¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¾ì¹ç¡¢´û¸¤Î MAKEFILE ¤òÊѹ¹¤·¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò \f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢POA ¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-²¼°Ì¸ß´¹¤ò°Ý»ý¤·¤¿¥µ¡¼¥Ð¦
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver -oldImplBase My.idl
+継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用して、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は推奨されていません。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性を保つ場合だけです。その場合、既存の MAKEFILE を変更して \f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。 フラグを追加しない場合、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。
+.LP
+\f2idlj \fP\f4\-fclient \-fserver\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
.br
-idlj -fall -oldImplBase My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fall\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
.LP
-.BR My.idl
-Æâ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥Õ¥¡¥¤¥ë
-.I _MyImpleBase.java
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR My
-¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¼Â¾Ú¤Ï¡¢
-.I _MyImplBase
- ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2_MyImplBase.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyImplBase\fP から継承しなければなりません。
.LP
-¤â¤¦°ìÊý¤Î¥µ¡¼¥Ð¦¥â¥Ç¥ë¤Ï¡¢Tie ¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie ¥â¥Ç¥ë¤Ï Tie ¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤Ë¤ÏÀ¸À®
-¤Ç¤¤Ê¤¤¤¿¤á¡¢¤³¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³
-¥Þ¥ó¥É¤Ï¡¢Tie ¥â¥Ç¥ë¤ËÂФ·¤Æ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
+もう 1 つのサーバー側モデルは、Tie モデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tie とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。
.LP
-.RS
-.ft 3
-.nf
-idlj -fall My.idl
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
.br
-idlj -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢2 ¤Ä¤á¤Î¥³¥Þ¥ó¥É¤Ï
-.BR MyPOATie.java
- ¤òÀ¸À®¤·¤Þ¤¹¡£
-.BR MyPOATie
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢delegate ¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î POA ¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï \f2poa\fP ¤âɬÍפȤ·¤Þ¤¹¡£
-¥æ¡¼¥¶¤Ï¡¢delegate
-¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR MyOperations
-¤ò·Ñ¾µ¤¹¤ì¤Ð¤è¤¯¡¢¤Û¤«¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
-.BR MyPOATie
-Æâ¤Ë¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
+\f2My\fP というインタフェースの場合、上記の 2 番目のコマンドにより、\f2MyPOATie.java\fP が生成されます。\f2MyPOATie\fP のコンストラクタは、\f2delegate\fP を取ります。この例では、デフォルトの POA モデルを使用しているため、コンストラクタにも \f2poa\fP が必要です。\f2delegate\fP に対して実装を提供しなければなりませんが、この実装は \f2MyOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2MyPOATie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
.nf
\f3
.fl
@@ -205,7 +114,7 @@
.fl
.fl
- // rootpoa ¤Ø¤Î»²¾È¤ò¼èÆÀ¤·¡¢POAManager ¤ò͸ú¤Ë¤·¤Þ¤¹
+ // Get reference to rootpoa & activate the POAManager
.fl
POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
.fl
@@ -213,7 +122,7 @@
.fl
.fl
- // ¥µ¡¼¥Ð¥ó¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò ORB ¤ËÅÐÏ¿¤·¤Þ¤¹
+ // create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
@@ -221,13 +130,13 @@
.fl
.fl
- // Tie ¤òºîÀ®¤·¤Þ¤¹¡£¥µ¡¼¥Ð¥ó¥È¤¬ delegate ¤Ë¤Ê¤ê¤Þ¤¹¡£
+ // create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
.fl
.fl
- // Tie ¤Î objectRef ¤ò¼èÆÀ¤·¤Þ¤¹
+ // obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
@@ -235,45 +144,16 @@
.fi
.LP
-¼ÂÁõ¤ò¤Û¤«¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë
-¤ÎÂå¤ï¤ê¤Ë Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Java ¤ÏǤ°Õ¤Î¿ô¤Î
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹·Ñ¾µ¤òǧ¤á¤Æ¤¤¤Þ¤¹¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ¤ë
-¥¹¥í¥Ã¥È¤Ï 1 ¤Ä¤À¤±¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥¹¥í¥Ã¥È¤¬Àê
-ͤµ¤ì¤Þ¤¹¡£Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¥¹¥í¥Ã¥È¤ò¥æ¡¼¥¶¼«¿È¤Î»ÈÍѤÎ
-¤¿¤á¤Ë²òÊü¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢°ìÄê¥ì¥Ù¥ë¤Î´ÖÀÜ»²¾È¤ò°ú¤µ¯¤³¤¹¤È
-¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ
-¤Ó½Ð¤·¤¬ 1 ¤ÄȯÀ¸¤·¤Þ¤¹¡£
+他の実装から継承しなければならない場合、標準の継承モデルではなく Tie モデルを使用することがあります。Java の場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは 1 つだけです。継承モデルを使用した場合は、そのスロットが占有されます。Tie モデルを使用した場合は、そのスロットが使用されず、ユーザーが独自の目的で使用することができます。ただし、間接参照のレベルが 1 つ導入されるという欠点があります。つまり、メソッドを呼び出すときに余分なメソッド呼び出しが発生します。
.LP
-1.4 ¤è¤ê¤âÁ°¤Î J2SE ¥Ð¡¼¥¸¥ç¥ó¤Ç IDL-to-Java ¸À¸ì
-¥Þ¥Ã¥Ô¥ó¥°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À¤¬¤¢¤ë¥µ¡¼¥Ð¦¤Î Tie ¥â¥Ç¥ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®
-¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+IDL のバージョンから J2SE 1.4 より前のバージョンの Java 言語へのマッピングと互換性のある、サーバー側の Tie モデルのバインディングを生成するには、次のコマンドを使用します。
.LP
-.RS
-.ft 3
-.nf
-idlj -oldImplBase -fall My.idl
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fall\fP\f2 My.idl\fP
.br
-idlj -oldImplBase -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fallTIE\fP\f2 My.idl\fP
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï
-.I My_Tie.java
-¤òÀ¸À®¤·¤Þ¤¹¡£
-.I My_Tie
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢
-.BR impl
-¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR impl
-¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR HelloOperations
-¤ò·Ñ¾µ¤¹¤ì¤Ð¤è¤¯¡¢¤Û¤«¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
-.BR My_Tie
- Æâ¤Ë¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
+.LP
+\f2My\fP というインタフェースの場合、これにより \f2My_Tie.java\fP が生成されます。\f2My_Tie\fP のコンストラクタは、\f2impl\fP を取ります。\f2impl\fP に対して実装を提供しなければなりませんが、その実装は \f2HelloOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2My_Tie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
.LP
.nf
\f3
@@ -282,7 +162,7 @@
.fl
.fl
- // ¥µ¡¼¥Ð¥ó¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò ORB ¤ËÅÐÏ¿¤·¤Þ¤¹
+ // create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
@@ -290,13 +170,13 @@
.fl
.fl
- // Tie ¤òºîÀ®¤·¤Þ¤¹¡£¥µ¡¼¥Ð¥ó¥È¤¬ delegate ¤Ë¤Ê¤ê¤Þ¤¹¡£
+ // create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate);
.fl
.fl
- // Tie ¤Î objectRef ¤ò¼èÆÀ¤·¤Þ¤¹
+ // obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
@@ -304,451 +184,235 @@
.fi
.LP
-.SH "ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂؾì½ê¤Î»ØÄê"
-.br
-ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -td /altdir My.idl
-.fi
-.ft 1
.RE
+.SS
+発行されたファイルの代替位置の指定
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï
-.BR ./My.java
- ¤Ç¤Ï¤Ê¤¯
-.BR /altdir/My.java
-¤Ê¤É¤ËÂФ·¤Æȯ¹Ô¤µ¤ì¤Þ¤¹¡£
-.SH "¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÂåÂؾì½ê¤Î»ØÄê"
-.BR My.idl
-¤Ë¤Û¤«¤Î idl ¥Õ¥¡¥¤¥ë¡¢
-.BR MyOther.idl
-¤¬¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï
-.BR MyOther.idl
-¤¬¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.BR MyOther.idl
-¤¬
-.BR /includes
-¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes My.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR ¤¿¤È¤¨¤Ð¡¢My.idl ¤¬
-.BR /moreIncludes
-¤Ë¸ºß¤¹¤ë
-.BR Another.idl
-¤â¼è¤ê¹þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes -i /moreIncludes My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î·Á¼°¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¤È¡¢¥³¥Þ¥ó¥É¤¬Èó¾ï¤ËŤ¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤ËÃΤ餻¤ëÊýË¡¤¬
-Ê̤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶ÊÑ¿ô¤Î³µÇ°¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤Þ¤º¡¢
-CLASSPATH ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¡¢
-.BR idl.config
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢
-.BR idl.config
-Æâ¤Ë¼¡¤Î·Á¼°¤Î¹Ô¤ò 1 ¤ÄºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-includes=/includes;/moreIncludes
-.fi
-.ft 1
-.RE
-.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¡¢¥¤¥ó¥¯¥ë¡¼¥É¥ê¥¹¥È¤ËÆɤ߹þ¤ß¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¤¢¤ë¤³¤È
-¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤ò»ÈÍѤ·¡¢UNIX ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¡¢¤Ê¤É¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥¤¥ó¥¯¥ë¡¼¥É¤Î¾Ü
-ºÙ¤Ï¡¢
-.na
-\f2CLASSPATH\ ¤Î¥É¥¥å¥á¥ó¥È (Solaris:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html)
-(Windows:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô idl ¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¹½Â¤ÂΤʤɤËÂФ·¤Æ¤Î¤ß¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É
-¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥×¤Î Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£
-Îã¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î idl ¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl>
-.br
-interface My
-.br
-{
-.br
-};
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther
-.br
-{
-.br
-};
-.RE
-.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.BR My
-¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤·¤«À¸À®¤·¤Þ¤»¤ó¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR My.idl
-Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¡¢¤ª¤è¤Ó
-.BR My.idl
-¤Ë¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï
-.BR MyOther.idl
-) Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -emitAll My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¬Â§¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤ÎÅÀ¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ë½Ð¸½¤¹¤ë
-.BR #include
-ʸ¤Ï¡¢µ½Ò¤É¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î
-.BR #include
-ʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£°ìÉô¤Î°Ï¤ß¥¹¥³¡¼¥×Æâ¤Ë
-½Ð¸½¤¹¤ë #include ʸ¤Ï¡¢Ä̾ï¤Î
-.BR #include
-ʸ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÆâ¤Î¥³¡¼¥É¤Ï
-¥ª¥ê¥¸¥Ê¥ë¥Õ¥¡¥¤¥ëÆâ¤Ë½Ð¸½¤·¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë°·¤ï¤ì¡¢¤³¤ì¤Ë
-ÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl>
-.br
-interface My
-.br
-{
-.br
- #include <Embedded.idl>
-.br
-};
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther
-.br
-{
-.br
-};
-.RE
-.TP
-.B Embedded.idl
-.LP
-.RS
-enum E {one, two, three};
-.RE
-.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-°Ê²¼¤Î Java ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.LP
-.B ./MyHolder.java\fP
-.br
-.B ./MyHelper.java\fP
-.br
-.B ./_MyStub.java\fP
-.br
-.B ./MyPackage\fP
-.br
-.B ./MyPackage/EHolder.java\fP
-.br
-.B ./MyPackage/EHelper.java\fP
-.br
-.B ./MyPackage/E.java\fP
-.br
-.B ./My.java\fP
-.LP
-.BR MyOther.java
-¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤ËÎà»÷¤·¤¿
-.BR #include
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤·¤«¤·¡¢Ä̾ï¤Î
-.BR #include
-¤ËÄêµÁ¤µ¤ì¤¿
-.BR E.java
-¤ÏÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.BR Embedded.idl
-¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤Î¥¹¥³¡¼¥×Æâ¤Ë¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
-.BR My
-¤Î¥¹¥³¡¼¥×Æâ (¤Ä¤Þ¤ê
-.BR MyPackage
-) ¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.LP
-¾åµ¤ÎÎã¤Ç
-.BI -emitAll
-¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÆâ¤Ë
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£
-.SH "¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¤ÎÁÞÆþ"
-¤¢¤Ê¤¿¤¬¼¡¤Î IDL ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤¿ ABC ¤È¤¤¤¦Ì¾¤Î´ë¶È¤Ë¶Ð̳¤·¤Æ¤¤¤ë¤È
-²¾Äꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B Widgets. idl
-module Widgets
-.br
-{
-.br
- interface W1 {...};
-.br
- interface W2 {...};
-.br
-};
-.LP
-¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸
-Widgets Æâ¤Î W1 ¤È W2 ¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤·¤«¤·¡¢¶È³¦µ¬Ìó¤Ç¤Ï¡¢´ë¶È¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï
-.BR com.<company name>
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÇÛÃÖ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Èµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢¤³¤Î
-.BR Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤Î¤Þ¤Þ¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¹¡£µ¬Äê¤Ë½¾¤¦¤Ë¤Ï¡¢
-.BR com.abc.Widgets
-¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.BR Widgets
-¥â¥¸¥å¡¼¥ë¤Ë¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¤òÇÛÃÖ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò
-¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -pkgPrefix Widgets com.abc Widgets.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR Widgets.idl
-¤ò¼è¤ê¹þ¤ó¤Ç¤¤¤ë IDL ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥ÉÆâ¤Ë¤â
-.BI \-pkgPrefix
-¥Õ¥é¥°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢IDL ¥Õ¥¡¥¤¥ë¤Ï
-.BR com.abc.Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯
-.BR Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤¹¡£
-.LP
-ÀÜƬ¼¤òɬÍפȤ¹¤ë¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬Â¿¿ô¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤·¤¿
-.BR idl.config
-¥Õ¥¡¥¤¥ë¤ËÇÛÃÖ¤¹¤ëÊý¤¬´Êñ¤Ç¤·¤ç¤¦¡£³Æ¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¹Ô¤Ï¡¢¼¡¤Î½ñ¼°¤Çµ½Ò¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.<type>=<prefix>
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î½ñ¼°¤Ë½¾¤¦¤È¡¢¾åµÎã¤Î¹Ô¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.Widgets=com.abc
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¥ê¥Ý¥¸¥È¥ê ID ¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£
-.SH "¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ"
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤ò¼è¤ê¹þ¤à¾ì¹ç¤Ê¤É¤Ë IDL ¥Õ¥¡¥¤¥ëÆâ
-¤Ë¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤Ï¡¢¤½¤ì¤é¤Î¥·¥ó¥Ü¥ë
-¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É
-.LP
-.RS
-.ft 3
-.nf
-idlj -d MYDEF My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤Ï¡¢My.idl Æâ¤Ë
-.BR #define
-.BR MYDEF
-¤È¤¤¤¦¹Ô¤ò´Þ¤á¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-.SH "´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý"
-Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢
-.BI \-keep
-¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤¤òËɻߤǤ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-´û¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º (¥«¥¹¥¿¥Þ¥¤¥º¤Ï¤½¤ÎÆâÍƤ¬¤è¤Û¤ÉŬÀڤǤʤ¤¸Â¤ê¿ä¾©
-¤µ¤ì¤Þ¤»¤ó) ¤·¤Æ¤¢¤ë¾ì¹ç¤Ï¡¢
-.BI \-keep
-¥ª¥×¥·¥ç¥ó¤¬Èó¾ï¤ËÌòΩ¤Á¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É
-.LP
-.RS
-.ft 3
-.nf
-idlj -keep My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤Ï¡¢¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òȯ¹Ô¤·¤Þ¤¹¡£
-.SH "¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¤Îɽ¼¨"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤½¤Î¼Â¹ÔÃʳ¬¤Ç¥¹¥Æ¡¼¥¿¥¹¥á¥Ã¥»¡¼¥¸¤ò
-À¸À®¤·¤Þ¤¹¡£¤³¤ÎÀ¸À®¤ò¾ÜºÙ (verbose) ¥â¡¼¥É¤Ë¤¹¤ë¤Ë¤Ï¡¢
-.BR -v
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -v My.idl
-.fi
-.ft 1
-.RE
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾ÜºÙ¥â¡¼¥É¤ÇÆ°ºî¤·¤Þ¤»¤ó¡£
-.SH "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.BI \-version
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -version
-.fi
-.ft 1
-.RE
-.LP
-¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-d " symbol"
-¤³¤ì¤Ï¡¢IDL ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¹Ô¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-#define symbol
-.fi
-.ft 1
-.RE
-.TP
-.BI \-emitAll
-.BR #include
-¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¡¢¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤òȯ¹Ô¤·¤Þ¤¹¡£
-.TP
-.BI \-fside
-ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£
-.BI side
-¤Ë¤Ï¡¢
-.BR client
-¡¢
-.BR server
-¡¢
-.BR serverTIE
-¡¢
-.BR all
-¡¢
-.BR allTIE
-¤Î¤¦¤Á¤¤¤º¤ì¤« 1 ¤Ä¤ò»ØÄꤷ¤Þ¤¹¡£
-.BR -fserverTIE
-¤È
-.BR -fallTIE
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£
-¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢
-.BR -fclient
-¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-i " include-path"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬
-¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤Û¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò
-ÄɲäǤ¤Þ¤¹¡£
-.TP
-.BI \-keep
-À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤·¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢´û¸¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-noWarn
-·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.TP
-.BI \-oldImplBase
-1.4 ¤è¤êÁ°¤Î JDK ORB ¤È¸ß´¹À¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA ·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.BR ImplBase
-·Ñ¾µ¥â¥Ç¥ë¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-µì¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À¤òÄ󶡤·¤Þ¤¹¡£
-.TP
-.BI \-pkgPrefix " type prefix"
-¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ç
-.BI type
-¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¤½¤Î¥¿¥¤¥×¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢
-À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë
-.BI prefix
-¤È¤¤¤¦ÀÜƬ¼¤òÉÕ¤±¤Þ¤¹¡£
-.BI type
-¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿
-IDL ¥¿¥¤¥×¤Îñ½ã̾¤Ç¤¹¡£
-.TP
-.BI \-pkgTranslate " type package"
-ÆÃÄê¤Î¼±ÊÌ»ÒÆâ¤Ç¥â¥¸¥å¡¼¥ë̾ \f2type\fP ¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤¿ Java ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢¤½¤Î¼±ÊÌ»ÒÆâ¤Î¥â¥¸¥å¡¼¥ë̾¤ò \f2package\fP ¤ÇÃÖ¤´¹¤¨¤Þ¤¹¡£
-.BR pkgPrefix
-Êѹ¹¤¬½é¤á¤Ë¹Ô¤ï¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.BI type
-¤Ï¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿ IDL ¥¿¥¤¥×¤Î
-ñ½ã̾¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Í¡¼¥à¤ÈÀµ³Î¤Ë°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.RS 3
.LP
-ÆÃÄê¤Î¼±Ê̻Ҥ˰ìÃפ¹¤ëÊÑ´¹¤¬ 2 ¤Ä°Ê¾å¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤â¤Ã¤È¤âŤ¤°ìÃפ¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢°ú¿ô¤ò¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£
+発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。
+.RS 3
+
+.LP
+\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP
+.RE
+\f2My\fP インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。
+.RE
+.SS
+インクルードファイルの代替位置の指定
+.LP
+.RS 3
+
+.LP
+\f2My.idl\fP にもう 1 つの IDL ファイル \f2MyOther.idl\fP がインクルードされている場合、コンパイラは、ローカルディレクトリに \f2MyOther.idl\fP があるものと想定します。もしそのファイルが、たとえば \f2/includes\fP にある場合は、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes\fP\f2 My.idl\fP
+.LP
+また、もし \f2My.idl\fP に、たとえば \f2/moreIncludes\fP にある \f2Another.idl\fP もインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes \-i /moreIncludes\fP\f2 My.idl\fP
+.LP
+このような形式でインクルードを指定すると、コマンドが長くて複雑になります。 そこで、インクルードファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。CLASSPATH にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。 \f2includes=/includes;/moreIncludes\fP
+.LP
+コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、Windows プラットフォームではセミコロンですが、Unix プラットフォームではコロンです。 \f2インクルード\fPの詳細については、
+.na
+\f2CLASSPATH の設定\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general を参照してください。
+.RE
+.SS
+インクルードファイルに対するバインディングの発行
+.LP
+.RS 3
+
+.LP
+デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。 \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2};\fP
+.br
+\f4MyOther.idl\fP
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\fP\
+.LP
+次のコマンドでは、\f2My\fP に対する Java バインディングだけが生成されます。 \f2idlj My.idl\fP
+.LP
+\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP
+.LP
+このデフォルトの規則に関して注意しなければならないことがあります。グローバルスコープに指定した \f2#include\fP 文は、前述のとおりに処理されます。これらの \f2#include\fP 文は、インポート文と見なすことができます。それに対して、他の定義に囲まれたスコープ内に指定した \f2#include\fP 文は、本当の意味での \f2#include\fP 文として処理されます。 つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま指定されているかのように処理され、それに対して Java バインディングが発行されます。次に例を示します。 \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2\ #include <Embedded.idl>\fP
+.br
+\f2};\ \fP \f4MyOther.idl\fP
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\ \fP \f4Embedded.idl\fP
+.LP
+\f2enum E {one, two, three};\fP\
+.LP
+このとき、次のコマンドを実行すると、 \f2idlj My.idl\fP
+.LP
+次のような一連の Java ファイルが生成されます。 \f2./MyHolder.java\fP
+.br
+\f2./MyHelper.java\fP
+.br
+\f2./_MyStub.java\fP
+.br
+\f2./MyPackage\fP
+.br
+\f2./MyPackage/EHolder.java\fP
+.br
+\f2./MyPackage/EHelper.java\fP
+.br
+\f2./MyPackage/E.java\fP
+.br
+\f2./My.java\fP
+.LP
+インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。
+.LP
+上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。
+.LP
+.RE
+.SS
+パッケージの接頭辞の挿入
+.LP
+.RS 3
+
+.LP
+ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。
+.br
+\f4Widgets.idl\fP
+.LP
+\f2module Widgets\fP
+.br
+\f2{\fP
+.br
+\f2\ interface W1 {...};\fP
+.br
+\f2\ interface W2 {...};\fP
+.br
+\f2};\fP\
+.LP
+このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。 \f2idlj \fP\f4\-pkgPrefix Widgets com.abc\fP\f2 Widgets.idl\fP
+.LP
+\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。
+.LP
+接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。
+.LP
+\f2PkgPrefix.<type>=<prefix>\fP
+.LP
+したがって、上記の例の場合は、次のように記述します。 \f2PkgPrefix.Widgets=com.abc\fP
+.LP
+.LP
+このオプションを使用しても、リポジトリ ID は影響を受けません。
+.LP
+.RE
+.SS
+コンパイル前のシンボルの定義
+.LP
+.RS 3
+
+.LP
+コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。 これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP
+.LP
+\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。
+.RE
+.SS
+既存のバインディングの保持
+.LP
+.RS 3
+
+.LP
+Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\f2\-keep\fP オプションは有用です。次のコマンドは、 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングで、まだ存在しないものをすべて発行します。
+.RE
+.SS
+コンパイルの進捗状況の表示
+.LP
+.RS 3
+
+.LP
+IDL\-to\-Java コンパイラは、実行の各段階で状態メッセージを生成します。「冗長」モード (メッセージが多いモード) にするには、\f2\-v\fP オプションを使用します。 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP
+.LP
+デフォルトでは、コンパイラは冗長モードでは実行されません。
+.RE
+.SS
+バージョン情報の表示
+.LP
+.RS 3
+
+.LP
+.LP
+IDL\-to\-Java コンパイラのビルドバージョンを表示するには、コマンド行で \f2\-version\fP オプションを指定します。
+.LP
+.LP
+\f2idlj \-version\fP
+.LP
+.LP
+バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-d symbol
+このオプションは、IDL ファイルに次のような行を追加した場合と等価です。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+#define \fP\f4symbol\fP\f3
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-emitAll
+\f2#include\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
+識別子の中にモジュール名 \f2type\fP が検出されると、生成される Java パッケージ内のすべてのファイルについて、識別子の中のその名前が \f2package\fP で置き換えられます。最初に \f2pkgPrefix\fP を変更します。\f2type\fP は、トップレベルのモジュール、またはすべてのモジュールの外部で定義された IDL 型の単純名です。 そして、完全なパッケージ名に正確に一致しなければなりません。
+.LP
+1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、
.nf
\f3
.fl
@@ -757,7 +421,7 @@
\fP
.fi
.LP
-¤³¤Î¤È¤¡¢¼¡¤ÎÊÑ´¹¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
+次のような変換が実施されます。
.nf
\f3
.fl
@@ -772,102 +436,74 @@
\fP
.fi
.LP
-¼¡¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÏÊÑ´¹¤Ç¤¤Þ¤»¤ó¡£
+次のパッケージ名を変換することはできません。
.RS 3
.TP 2
-*
+o
\f2org\fP
.TP 2
-*
-\f2org.omg\fP ¤Þ¤¿¤Ï \f2org.omg\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸
+o
+\f2org.omg\fP、または \f2org.omg\fP のサブパッケージ
.RE
.LP
-¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÊÑ´¹¤ò»î¤ß¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥ëÉÔ²Äǽ¤Ê¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò
-.BR \-pkgTranslate
-¤Î¸å¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+これらのパッケージ名を変換しようとすると、互換性のないコードが生成されます。 そして、\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))
.RE
-.TP
-.BI \-skeletonName " xxx%yyy"
-.BI xxx%yyy
-¤ò¥¹¥±¥ë¥È¥ó¤Î̾Á°ÉÕ¤±¤Î¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
+.TP 3
+\-td dir
+出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。
+.TP 3
+\-tieName xxx%yyy
+このパターンに従って Tie に名前が付けられます。デフォルトは、次のとおりです。
+.RS 3
.TP 2
-\(bu POA ´ðÄ쥯¥é¥¹
-(
-.BR \-fserver
-¤Þ¤¿¤Ï
-.BR \-fall
-) ¤Î¾ì¹ç¡¢%POA
+o
+\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP)
.TP 2
-\(bu
-.BR \-oldImplBase
-¥¯¥é¥¹ (
-.BR \-oldImplBase
-¤ª¤è¤Ó¡¢
-.BR \-fserver
-¤Þ¤¿¤Ï
-.BR \-fall
-) ¤Î¾ì¹ç¡¢_%ImplBase
+o
+\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP))
.RE
-.TP
-.BI \-td " dir"
-½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯
-.BI dir
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.BI \-tieName " xxx%yyy"
-¥Ñ¥¿¡¼¥ó¤Ë±þ¤¸¤Æ Tie ¤Ë̾Á°¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu POA Tie ´ðÄ쥯¥é¥¹ (
-.BR \-fserverTie
-¤Þ¤¿¤Ï
-.BR \-fallTie
-) ¤Î¾ì¹ç¡¢%POATie
-.TP 2
-\(bu
-.BR oldImplBase Tie
-¥¯¥é¥¹ (
-.BR \-oldImplBase
-¤ª¤è¤Ó¡¢
-.BR \-fserverTie
-¤Þ¤¿¤Ï
-.BR \-fallTie
-¤Î¤¤¤º¤ì¤«) ¤Î¾ì¹ç¡¢%_Tie
+.TP 3
+\-verbose
+冗長モードになります。
+.TP 3
+\-version
+バージョン情報を表示して終了します。
.RE
-.TP
-.BI \-nowarn, \-verbose
-¾ÜºÙ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£
-.TP
-.BI \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+
.LP
-¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ï¡¢¡Öµ¡Ç½ÀâÌÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "À©¸Â»ö¹à"
-.LP
-.TP 2
-\(bu ¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Æâ¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢
-IDL ¥×¥ê¥ß¥Æ¥£¥Ö·¿ (
-.BR Object
-¤Þ¤¿¤Ï
-.BR ValueBase
-) ¤ÈƱ¤¸¥¹¥Ú¥ë¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬¤³¤ì¤é¤Î
-¼±Ê̻Ҥò»ÈÍѤ·¤Æ¤¹¤Ç¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤ì¤é¤òÄêµÁ¤·Ä¾¤¹¤È¡¢
-¤½¤ì¤é¤ÎËÜÍè¤ÎÄêµÁ¤ò¾å½ñ¤¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹ (¤³¤ÎÀ©¸Â¤Ï±Ê³Ū¤Ë
-ŬÍѤµ¤ì¤ë¸«¹þ¤ß)¡£
-.TP 2
-\(bu IDL ¤Î fixed ·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-.SH "´ûÃΤÎÌäÂê"
+各オプションの詳細については、「説明」のセクションを参照してください。
+.SH "制約"
.LP
.LP
.RS 3
.TP 2
-*
-¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤΥ¤¥ó¥Ý¡¼¥È¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥í¡¼¥«¥ë¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¤ÈÎã³°¤¬È¯À¸¤·¤Þ¤¹¤¬¡¢¤½¤Î¸¶°ø¤Ï¤ª¤½¤é¤¯ \f2ServerDelegate\fP DSI ¥³¡¼¥ÉÆâ¤Î \f2NullPointerException\fP ¤Ç¤¹¡£
+o
+グローバルスコープ内のエスケープされた識別子は、IDL プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。
+.TP 2
+o
+\f2fixed\fP という IDL 型はサポートされていません。
+.RE
+
+.LP
+.SH "既知の問題点"
+.LP
+
+.LP
+.RS 3
+.TP 2
+o
+グローバル識別子についてインポートが生成されません。予期されないローカル impl を呼び出すと、例外を受け取ります。 しかし、その原因は、\f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP にあるようです。
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jar.1 b/jdk/src/linux/doc/man/ja/jar.1
index 0b073b8..a9ac46f 100644
--- a/jdk/src/linux/doc/man/ja/jar.1
+++ b/jdk/src/linux/doc/man/ja/jar.1
@@ -1,234 +1,141 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-.TH jar 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jar \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jar 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î Java Archive (JAR) ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
+.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
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.RS 3
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤ÎºîÀ®
+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 ¥Õ¥¡¥¤¥ë¤Î¹¹¿·
+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 ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð
+JAR ファイルの抽出
\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤΰìÍ÷¤òºîÀ®
+JAR ファイルの内容の表形式による一覧表示
\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲÃ
+JAR ファイルへのインデックスの追加
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
+.RE
+
.LP
.LP
-¥Ñ¥é¥á¡¼¥¿
+説明
.LP
.RS 3
.LP
+.RS 3
.TP 3
cuxtiv0Mmfe
-.I jar
-¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó¡£
+\f2jar\fP コマンドを制御するオプション
.TP 3
- jarfile
-ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¤Þ¤¿¤Ï±ÜÍ÷¤µ¤ì¤ëÆâÍƤΰìÍ÷¤òºîÀ® (t) ¤¹¤ë
-jar ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-.I \-f
-¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾
-.I jarfile
-¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-.I f
-¤ª¤è¤Ó
-.I jarfile
-¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
-»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤˤ³¤Î¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
-Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
+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
-.I jar ¥Õ¥¡¥¤¥ë
-¤Ë·ë¹ç (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï
-.I jar ¥Õ¥¡¥¤¥ë
-¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë
-¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¶õÇòʸ»ú¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó 0 (¥¼¥í) ¤¬»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬°µ½Ì¤µ¤ì¤Þ¤¹¡£
+\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f2O\fP (ゼロ) を使用しないかぎり圧縮されます。
.TP 3
- manifest
-jar ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF ¤Ë´Þ¤á¤è¤¦¤È¤¹¤ë̾Á°:ÃÍ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
-´û¸¤Î manifest ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-.I \-m
-¥ª¥×¥·¥ç¥ó¤È
-.I manifest
-¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-ʸ»ú
-.B m
-¡¢
-.B f
-¡¢¤ª¤è¤Ó
-.B e
-¤Î½Ð¸½½ç½ø¤Ï¡¢
-.I manifest
-¡¢
-.I jarfile
-¡¢¤ª¤è¤Ó
-.I entrypoint
-¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+manifest
+\f2name\fP\f2:\fP\f2value\fP のペアが、JAR ファイルの MANIFEST.MF に含まれている既存のマニフェストファイル。\f2\-m\fP オプションとファイル名 \f2manifest\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
.TP 3
-
entrypoint
-¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£
-.I \-e
-¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ê¸»ú
-.I m
-¡¢
-.I f
-¡¢
-.I e
-¤Î½Ð¸½½ç½ø¤Ï
-.I manifest
-¡¢
-.I jarfile
-¡¢
-.I entrypoint
-¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。 どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
.TP 3
\-C\ dir
-¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤Î½èÍýÃæ¡¢
-¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.I dir
-¤Ë°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£
-Ê£¿ô¤Î
-.I \-C " dir"
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ò»ÈÍѤǤ¤Þ¤¹¡£
+これに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP のセットは複数使用できます。
.TP 3
\-Joption
-Java Runtime Environment ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó
-(
-.I \-J
-¤È
-.I option
-¤Î´Ö¤Ë¤Ï¶õÇòʸ»ú¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤)¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP"
-.IX "jar" "" "\fLjar\fP \(em Java archive tool"
-.B jar
-¥Ä¡¼¥ë¤Ï
-Java
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
-1
-¤Ä¤Ç¡¢Ê£¿ô¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò
-1
-¸Ä¤Î
-JAR
-¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-jar ¤ÏÈÆÍÑŪ¤Ê¥¢¡¼¥«¥¤¥ÖºîÀ®ÍÑ
-¤ª¤è¤Ó°µ½ÌÍѤΥġ¼¥ë¤Ç¤â¤¢¤ê¡¢°µ½Ì¤Ï
-.SM ZIP
-¤Þ¤¿¤Ï
-.I ZLIB
-.fi
- (http://www.gzip.org/zlib/)
-·Á¼°¤Ç¹Ô¤¤¤Þ¤¹¡£
-¤¿¤À¤·
-.B jar
-¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î
-Java
-¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-1
-¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£
-¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢¤¿¤È¤¨¤Ð
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¤Ê¤É¤òñ°ì¤Î¥¢¡¼¥«¥¤¥Ö¤Ë
-¤Þ¤È¤á¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Î¤è¤¦¤Ê
-Java
-¥¨¡¼¥¸¥§¥ó¥È¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤È¤¤Ë¡¢°ìÅÙ¤Î
-HTTP
-¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ÇºÑ¤ß¤Þ¤¹¡£¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë
-¿·¤¿¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ë¤è¤ê¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿
-.B jar
-¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É¤¬¤è¤ê¹â®¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤µ¤é¤Ë¡¢¥Õ¥¡¥¤¥ëÃæ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤ËÂФ·¤Æ¥¢¥×¥ì¥Ã¥È¤ÎºîÀ®¼Ô¤¬
-½ð̾¤Ç¤¤ë¤Î¤Ç¡¢ºîÀ®¸µ¤òÌÀ³Î²½¤Ç¤¤Þ¤¹¡£
-.B jar
-¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢
-.I tar
-¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ°ì¤Ç¤¹¡£
-.B jar
-¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-¥¯¥é¥¹¥Ñ¥¹
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html)
-¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò jar ¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤¹¤ëɸ½àŪ¤Ê»È¤¤Êý¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% jar cf myFile.jar *.class
-.fi
-.ft 1
+Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。
.RE
+
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬
-.I myFile.jar
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢
-.I META\-INF/MANIFEST.MF
-¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò
-.I name : value
-¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
-¤Î
+.RE
+.SH "説明"
+.LP
+
+.LP
+\f3jar\fP ツールは、複数のファイルを 1 つの JAR アーカイブファイルに結合します。 \f3jar\fP は、ZIP および
.na
-¡ÖJAR file specification¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2ZLIB\fP @
+.fi
+http://www.gzip.org/zlib/ 圧縮形式をベースにした、汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\f3jar\fP はファイルを圧縮するので、ダウンロード時間も短くなります。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。
.LP
-´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿
-.I name : value
-¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
+複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar cf myFile.jar *.class
+.fl
+\fP
+.fi
+.RE
+
+.LP
+この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、\f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「
+.na
+\f2JAR file specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。
+.LP
+既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
.LP
.RS 3
@@ -243,295 +150,206 @@
.RE
.LP
-´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\ ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ¸å¤Î¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£
+既存のマニフェストファイルは改行文字で終わっている必要があります。 マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。
.br
.LP
.br
.LP
-\f3Ãí:\ \fP ¥³¥Þ¥ó¥É¹Ô¤Ë
-.I cmf
-¤Ç¤Ï¤Ê¤¯
-.I cfm
-¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º jar ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。
+.RS 3
+
.LP
-.RS 5
-.B % jar cfm myFile.jar myManifestFile *.class
+.nf
+\f3
+.fl
+% jar cfm myFile.jar myManifestFile *.class
+.fl
+\fP
+.fi
.RE
+
.LP
-manifest ¤Ï RFC822
-.SM ASCII
-·Á¼°¤Ë´ð¤Å¤¤¤¿¥Æ¥¥¹¥È·Á¼°¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢manifest ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤÏ
-´Êñ¤Ëɽ¼¨¤ª¤è¤Ó½èÍý¤Ç¤¤Þ¤¹¡£
+マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。
.LP
-jar ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
-.I x
-¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+JAR ファイルからファイルを抽出する場合は、\f2x\fP を使用します。
.LP
-.RS 5
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar xf myFile.jar
+.fl
+\fP
+.fi
.RE
+
.LP
-jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS 5
+jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar xf myFile.jar foo bar
-.RE
-.LP
-JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 ¤«¤é¡¢jar ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç
+.fl
+\fP
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
-¤Î¡Ö
-.I JarIndex
-¡×¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤³¤ì¤Ë¤è¤ê¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ï¡¢jar ¥Õ¥¡¥¤¥ë¤«¤é
-¥¯¥é¥¹¤ò¤è¤ê¹â®¤ËÆɤ߹þ¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î jar ¥Õ¥¡¥¤¥ë¤Ë
-¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢É¬Í×¤Ê jar ¥Õ¥¡¥¤¥ë¤À¤±¤¬¥À¥¦¥ó
-¥í¡¼¥É¤µ¤ì¤Æ³«¤«¤ì¡¢¥¯¥é¥¹¤¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢
-.I jar
-¤ò
-.I \-i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤¹¤ë¤È͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-»ØÄꤷ¤¿
-¥á¥¤¥ó¤Î jar ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë
-¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢¥á¥¤¥ó jar ¥Õ¥¡¥¤¥ë¤Î manifest ¤Î
-.I Class-Path
-°À¤Ç
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.RE
+
.LP
-.RS 5
+.LP
+Java 2 SDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで
+.na
+\f2JarIndex\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルとそのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。 メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar i main.jar
+.fl
+\fP
+.fi
.RE
+
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬
-.I main.jar
-¤Î
-.I META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿¾ðÊó¤ò
-»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¤Î¥í¡¼¥É¤ò¹â®²½¤·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢
-¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.LP
+この例では、\f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリに挿入されます。
.br
.br
-¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º
-.I dir1
-Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æɸ½à½ÐÎϤ˽ÐÎϤ·¡¢Â³¤¤¤Æɸ½àÆþÎϤ«¤é
-.I dir2
-¤ËÃê½Ð¤·¤Þ¤¹ (ξÊý¤Î
-.I jar
-¥³¥Þ¥ó¥É¤«¤é
-.I \-f
-¥ª¥×¥·¥ç¥ó¤ò¾Ê¤¯)¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。
+.br
+.br
+ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して標準出力に出力し、続いて標準入力から \f2dir2\fP に抽出します (両方の \f2jar\fP コマンドから \f2\-f\fP オプションを省く)。 次に例を示します。
.LP
-.RS 5
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% (cd dir1; jar c .) | (cd dir2; jar x)
-.RE
-.LP
-.I jar
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Õ¥¡¥¤¥ë¥Þ¥Ë¥Õ¥§¥¹¥È¤òÁàºî¤¹¤ë¥³¥Þ¥ó¥É¥µ¥ó¥×¥ë¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
+.fl
+\fP
.fi
-http://java.sun.com/docs/books/tutorial/jar
-¤Î
+.RE
+
+.LP
+.LP
+\f2jar\fP を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、「
.na
-¡ÖJava Tutorial¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.if t .TP 10
-.if n .TP 5
-.B c
-¿·µ¬¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò
-.I jarfile
-¤È¤¤¤¦Ì¾Á° (
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½à½ÐÎϾå¤Ë (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ºîÀ®¤·¤Þ¤¹¡£
-¥¢¡¼¥«¥¤¥Ö¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B u
-´û¸¤Î
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç) ¤ò¹¹¿·¤·¤Þ¤¹¡£
-¤³¤Î¤È¤¡¢¤³¤Î
-.I jarfile
-¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar uf foo.jar foo.class
-.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë
-.I foo.class
-¤¬´û¸¤Î jar ¥Õ¥¡¥¤¥ë
-.I foo.jar
-¤ËÄɲ䵤ì¤Þ¤¹¡£
-.I u
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¤Î¥¨¥ó¥È¥ê¤ò¹¹¿·¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar umf manifest foo.jar
-.RE
-.LP
-.I foo.jar
-¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î̾Á°:ÃÍ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B x
-¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢
-¤Þ¤¿¤Ïɸ½àÆþÎÏ (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÃê½Ð¤·¤Þ¤¹¡£
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
-Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£
-Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B t
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½àÆþÎÏ (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÆâÍƤò¥ê¥¹¥È¤·¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
-¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
-¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B i
-»ØÄꤵ¤ì¤¿
-.I jarfile
-¤ª¤è¤Ó´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë jar ¥Õ¥¡¥¤¥ë¤Î
-¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar i foo.jar
-.RE
-.LP
-.I foo.jar
-¤Ë
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-.I foo.jar
-¤Î³Æ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó
-.I foo.jar
-¤Î
-.I Class-Path
-°À¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î
-°ÌÃÖ¾ðÊ󤬽ñ¤¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 10
-.if n .TP 5
-.B f
-ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ºîÀ®(i)¡¢
-¤Þ¤¿¤Ïɽ¼¨ (t) ¤¹¤ë
-.I jarfile
-¤ò»ØÄꤷ¤Þ¤¹¡£
-.I \-f
-¥ª¥×¥·¥ç¥ó¤È
-.I jarfile
-¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é jar ¥Õ¥¡¥¤¥ë̾¤¬
-»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎÏ¤Ë jar ¥Õ¥¡¥¤¥ë¤¬
-Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
-.if t .TP 10
-.if n .TP 5
-.B v
-ɸ½à½ÐÎϤ˾ܺ٤ʽÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B 0
-¥¼¥í¡£ZIP °µ½Ì¤ò»ÈÍѤ»¤º¤Ë³ÊǼ¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B M
-manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï
-¤¹¤Ç¤Ë¸ºß¤¹¤ë manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£
-.if t .TP 10
-.if n .TP 5
-.B m
-»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë
-.I manifest
-¤«¤é
-̾Á°:ÃÍ°À¤ò¥Õ¥¡¥¤¥ë
-.I META-INF/MANIFEST.MF
-¤Ë¼è¤ê¹þ¤ß¤Þ¤¹¡£
-¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¸Â¤ê¡¢
-.I jar
-¤Ï¤½¤Î̾Á°:ÃÍ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢
-jar
-¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£
-.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢Ê¸»ú
-.B m
-¤È
-.B f
-¤Ï¡¢
-.I manifest
-¤È
-.I jarfile
-¤¬½Ð¸½¤¹¤ë¤Î¤È
-Ʊ¤¸½ç½ø¤Ç»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar cmf myManifestFile myFile.jar *.class
-.RE
-.LP
-manifest ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢
-ÀìÍѤÎ̾Á°:ÃÍ°À¥Ú¥¢¤òÄɲäǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢
-¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À¤ò
-ÄɲäǤ¤Þ¤¹¡£
-.B -m
-¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Tutorial¡×
+\f2Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/jar/
-¤Ë¤¢¤ë
+http://java.sun.com/docs/books/tutorial/jar」の JAR コースも参照してください。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+c
+\f2jarfile\fP の名前で新しいアーカイブファイルを作成するか (\f2f\fP が指定されている場合)、標準出力で作成します (\f2f\fP と \f2jarfile\fP が省略されている場合)。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。
+.TP 3
+u
+\f2inputfiles\fP で指定されたファイルとディレクトリを追加することにより、既存のファイル \f2jarfile\fP を更新します (\f2f\fP が指定されている場合)。 例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar uf foo.jar foo.class
+.fl
+\fP
+.fi
+.RE
+上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar umf manifest foo.jar
+.fl
+\fP
+.fi
+.RE
+\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。
+.TP 3
+x
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、ファイルとディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。
+.TP 3
+t
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、内容を表形式で一覧表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。
+.TP 3
+i
+指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar i foo.jar
+.fl
+\fP
+.fi
+.RE
+.LP
+上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。 インデックスの例を参照してください。
+.TP 3
+f
+作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP) 対象のファイル \f2jarfile\fP を指定します。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から JAR ファイル名が使用されたり (x および t の場合)、標準出力に jar ファイルが 送信されたりします (c および u の場合)。
+.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 の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar cmf myManifestFile myFile.jar *.class
+.fl
+\fP
+.fi
+.RE
+デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。\f4\-m\fP オプションの使用例については、「Java Tutorial」 にある「
.na
-¡Ö
-.I JAR Files
-¡×¥³¡¼¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2JAR Files\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar/」コースを参照してください。
+.LP
.TP 3
e
-¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢
-.I entrypoint
-¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-.I Main\-Class
-°ÀÃͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。 このオプションは、JAR ファイルの作成中または更新中に使用できます。 このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
.br
.br
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï
-.I Main.jar
-¤òºîÀ®¤·¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-.I Main\-Class
-°ÀÃͤÏ
-.I Main
-¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
+たとえば、次のコマンドは \f2Main.jar\fP を作成しますが、その際、マニフェストファイル内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。
.RS 3
.LP
@@ -544,7 +362,7 @@
.fi
.RE
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤¤Þ¤¹¡£
+次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。
.RS 3
.LP
@@ -556,11 +374,7 @@
\fP
.fi
.RE
-¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¥É¥Ã¥È (¡Ö.¡×) ¤Þ¤¿¤Ï¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤ò»ÈÍѤǤ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I Main.class
-¤¬
-.I foo
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、\f2Main.class\fP が \f2foo\fP という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。
.RS 3
.LP
@@ -572,7 +386,7 @@
\fP
.fi
.RE
-¤Þ¤¿¤Ï
+または
.RS 3
.LP
@@ -584,36 +398,14 @@
\fP
.fi
.RE
-\f3Ãí:\ \fP
-.I \-m
-¥ª¥×¥·¥ç¥ó¤È
-.I \-e
-¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤹ¤ë¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â
-.I Main\-Class
-°À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
-.I Main.class
-¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¡¢JAR ¤ÎºîÀ®¤Þ¤¿¤Ï¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B \-C \ dir
-.B jar
-¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (
-.I cd " dir"
-)¡£
-¤³¤Î¤È¤¡¢¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤¬½èÍý¤µ¤ì¤Þ¤¹¡£
-¤³¤ÎÆ°ºî¤Ï¡¢UNIX ¤Î
-.I tar
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î
-.I \-C
-¥ª¥×¥·¥ç¥ó¤È
-ƱÍͤÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é
-.I bar.classes
-¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹¡£
+\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定する場合、指定されたマニフェストにも \f2Main\-Class\fP 属性が含まれていると、\f2Main.class\fP の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。
+.LP
+.TP 3
+\-C \ dir
+\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (\f2cd\fP\ \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。
+.br
+.br
+たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。
.RS 3
.LP
@@ -625,20 +417,7 @@
\fP
.fi
.RE
-¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£
-¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢
-.I bin
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
-.I xyz.class
-¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹¡£
+次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。 次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。
.RS 3
.LP
@@ -650,276 +429,294 @@
\fP
.fi
.RE
-.I classes
-¤Ë¥Õ¥¡¥¤¥ë
-.I bar1
-¤ª¤è¤Ó
-.I bar2
-¤¬¤¢¤ë¾ì¹ç¡¢
-.I jar tf foo.jar
-¤ò¼Â¹Ô¤¹¤ë¤È¡¢jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
+\f2classes\fP に \f2bar1\fP と \f2bar2\fP が保持されている場合、\f2jar tf foo.jar\fP を使用すると、JAR ファイルには次の要素が含められます。
+.RS 3
+
.LP
-.if t .RS 15
-.if n .RS 8
-.ft 3
.nf
-META-INF/
-META-INF/MANIFEST.MF
+\f3
+.fl
+META\-INF/
+.fl
+META\-INF/MANIFEST.MF
+.fl
bar1
+.fl
bar2
+.fl
xyz.class
+.fl
+\fP
.fi
-.ft 1
-.RE
-.if t .TP 10
-.if n .TP 5
-.B \-Joption
-.I option
-¤ò Java Runtime Environment ¤ËÅϤ·¤Þ¤¹¡£
-¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html#options)
-¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð
-.B \-J-Xms48m
-¤Ï¡¢ºÇÂç¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.I \-J
-¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
-.B jar
-¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤Þ¤¿¤Ï´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
-.I jar
-¥³¥Þ¥ó¥É¤Î°ú¿ô (
-.I \-J
-¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä°Ê¾å»ØÄê¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î
-.B jar
-¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¡¢
-¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤ò
-²óÈò¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¶õÇòʸ»ú¶èÀÚ¤ê¤Þ¤¿¤Ï²þ¹Ô¶èÀÚ¤ê¤Ë¤·¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ËÂФ·¤Æ¤Ç¤Ï¤Ê¤¯¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÁêÂÐŪ¤Ë»ØÄꤷ¤Þ¤¹¡£
-Ä̾ï¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤ÆŸ³«¤µ¤ì¤ë¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï
-Ÿ³«¤µ¤ì¤Þ¤»¤ó¡£¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤¿¤á¤Î @ ʸ»ú¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.I \-J
-¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¯Æ°¥×¥í¥°¥é¥à¤ËÅϤµ¤ì¤ë¤¿¤á¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-µ¯Æ°¥×¥í¥°¥é¥à¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤǤ¤Ê¤¤¤¿¤á¤Ç¤¹¡£
-.LP
-.I jar
-¤Î¼Â¹Ô»þ¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ª¤è¤Ó̾Á°¤ÎÀèƬ¤Ë @ ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£
-.I jar
-¤ÇÀèƬ¤Ëʸ»ú @ ¤ÎÉÕ¤¤¤¿°ú¿ô¤¬½Ð¸½¤¹¤ë¤¿¤Ó¤Ë¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬°ú¿ô¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
-.br
-.br
-¼¡¤ÎÎã¤Ç¤Ï¡¢
-.I find
-¥³¥Þ¥ó¥É¤«¤é½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤ò
-.I classes.list
-Æâ¤Ë³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS 5
-% find . -name '*.class' -print > classes.list
.RE
.LP
-¤½¤Î¸å¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»È¤Ã¤Æ
-.I jar
-¤Ë¥ê¥¹¥È¤òÅϤ¹¤È¡¢
-.I Classes.list
-¤Ç
-.I jar
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
+.TP 3
+\-Joption
+Java 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f4\-J\-Xmx48M\fP と指定すると、最大メモリーは 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
.LP
-.RS 5
+.SH "コマンド行引数ファイル"
+.LP
+
+.LP
+jar のコマンド行を短くしたり簡潔にしたりするために、\f2jar\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。
+.LP
+引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。 引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
+.LP
+.LP
+\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。\f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.br
+.br
+次の例では、\f2find\fP コマンドから出力されたファイル名を \f2classes.list\fP 内に格納しています。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% find \fP\f3.\fP \-name '*.class' \-print > classes.list
+.fl
+.fi
+.RE
+
+.LP
+.LP
+その後、引数ファイル構文を使って \f2jar\fP にリストを渡すと、\f2Classes.list\fP で \f2jar\fP コマンドを実行できます。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar cf my.jar @classes.list
+.fl
+\fP
+.fi
.RE
+
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î
-¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢
-¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。 次に例を示します。
+.RS 3
+
.LP
-.RS 5
+.nf
+\f3
+.fl
% jar @path1/classes.list
+.fl
+\fP
+.fi
.RE
-.SH "»ÈÍÑÎã"
-¤¢¤ë¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ëÎã¤ò¼¨¤·¤Þ¤¹
-(¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢ÆâÍƤ¬¾å½ñ¤¤µ¤ì¤Þ¤¹)¡£
-¾ÜºÙ¤òÎóµó¤¹¤ë¤È (
-.I \-v
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢
-¥µ¥¤¥º¤äºÇ½ª¹¹¿·Æü¤Ê¤É¡¢
-¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø¤·¤Æ¾Ü¤·¤¤¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-.RS
-\f3
-.nf
-% ls
-1.au Animator.class monkey.jpg
-2.au Wave.class spacemusic.au
-3.au at_work.gif
+
.LP
+.LP
+
+.LP
+.SH "例"
+.LP
+
+.LP
+特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。
+.RS 3
+
+.LP
+.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%)
-\f1
+.fl
+\fP
.fi
.RE
-¥¤¥á¡¼¥¸¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬
-¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢Ã±°ì¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤¤Þ¤¹¡£
-.RS
-\f3
+
+.LP
+すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。
+.RS 3
+
+.LP
.nf
-% ls -F
+\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
-% ls -F
+.fl
+% ls \-F
+.fl
audio/ bundle.jar classes/ images/
+.fl
+\fP
.fi
-\f1
.RE
-¼¡¤ÎÎã¤Ç¤Ï¡¢
-.I t
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢jar ¥Õ¥¡¥¤¥ëÃæ¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤·¤Þ¤¹¡£
-.RS
-\f3
+
+.LP
+JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。
+.RS 3
+
+.LP
.nf
+\f3
+.fl
% jar tf bundle.jar
-META-INF/
-META-INF/MANIFEST.MF
+.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
-\f1
.RE
-¥¯¥é¥¹¤ÎÆɤ߹þ¤ß¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò
-Äɲ乤ë¾ì¹ç¤Ï¡¢
-.I i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+
+.LP
+.LP
+クラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。
.br
.br
-Îã:
+例:
.br
.LP
.RS 3
.LP
-¤¿¤È¤¨¤Ð³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò
-.I main.jar
-¡¢
-.I buy.jar
-¡¢
-¤ª¤è¤Ó
-.I sell.jar
-¤È¤¤¤¦ 3 ¤Ä¤Î jar ¥Õ¥¡¥¤¥ë
-¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£
-.I main.jar
-¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î
-.I Class-Path
-°À¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢
+たとえば、株取引アプリケーション用の相互依存したクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。
+.br
+
.LP
-.RS 5
-Class-Path: buy.jar sell.jar
-.RE
+.br
+
.LP
-.I -i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î
-Æɤ߹þ¤ß¤ò¹â®²½¤Ç¤¤Þ¤¹¡£
+\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、
+.nf
+\f3
+.fl
+Class\-Path: buy.jar sell.jar
+.fl
+\fP
+.fi
+
.LP
-.RS 5
+\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。
+.nf
+\f3
+.fl
% jar i main.jar
-.RE
+.fl
+\fP
+.fi
+
.LP
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬
-.I META-INF
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
-¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï
-¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
+\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。
+.RE
+.SH "関連項目"
.LP
.LP
+.na
+\f2「JAR ファイルの概要」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
-¤Î
-.na
-¡Ö
-.I The Jar Overview
-¡×
.br
.LP
+.na
+\f2「JAR ファイルの仕様」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
-¤Î
-.na
-¡Ö
-.I The Jar File Specification
-¡×
.br
.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
-¤Î
.na
-¡Ö
-.I The JarIndex Spec
-¡×
+\f2「Jar インデックス」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex
.br
.LP
-.fi
-http://java.sun.com/docs/books/tutorial/jar
-¤Î
.na
-¡Ö
-.I Jar Tutorial
-¡×
-(Java ¥½¥Õ¥È¥¦¥§¥¢¤Î Web ¥µ¥¤¥ÈÆâ)
+\f2「Jar チュートリアル」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar (Java Software の Web サイト内)
.br
.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html
-¤Î
-.na
-¡Ö
-.I pack200 Reference Page
-¡×
+pack200(1)
.LP
diff --git a/jdk/src/linux/doc/man/ja/jarsigner.1 b/jdk/src/linux/doc/man/ja/jarsigner.1
index be95a97..8197a8d 100644
--- a/jdk/src/linux/doc/man/ja/jarsigner.1
+++ b/jdk/src/linux/doc/man/ja/jarsigner.1
@@ -1,431 +1,827 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jarsigner 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jarsigner \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jarsigner 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jarsigner \- JAR 署名および検証ツール
.LP
.RS 3
.LP
.LP
-Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Î½ð̾¤òÀ¸À®¤·¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£
+Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
.LP
.RE
-.SH "·Á¼°"
-.B jarsigner
-[
-.BI options
-]
-jar-file alias
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jarsigner\fP [ options ] jar\-file alias
+.fl
+\f3jarsigner\fP \-verify [ options ] jar\-file
+.fl
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。
+.LP
+.RS 3
+.TP 3
+1.
+Java ARchive (JAR) ファイルに署名を付ける
+.TP 3
+2.
+署名付き 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
+署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される
+.RE
+
+.LP
+.LP
+ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。 また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。
+.LP
+.LP
+\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。
+.LP
+.LP
+\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、ファイルの署名に使用する非公開鍵に対応する公開鍵を保存するキーストアからとった証明書のコピーも含まれています。 \f3jarsigner\fP は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含まれている証明書を使って検証することができます。
+.LP
+.LP
+5.0 以降では、\f3jarsigner\fP はタイムスタンプを含む署名を生成するので、システムやデプロイヤ (Java Plug\-in を含む) はJAR ファイルが署名証明書の有効期間中に署名されたかどうかをチェックできます。さらに、5.0 で追加された 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
+JDK 1.1 との互換性
+.LP
+.RS 3
+
+.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 のアイデンティティーデータベースからの署名者別名を認識し、これらを対象に処理を行うことができます。
+.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
.br
-.B jarsigner
-.BI \-verify
-[
-.BI options
-]
-jar-file
-.SH "ÀâÌÀ"
-.IX "JAR signing and verification tool " "" "JAR signing and verification tool \(em \fLjarsigner\fP"
-.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B jarsigner
-¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤Ç»ÈÍѤ·¤Þ¤¹¡£
-.TP 5
-1.
-Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë
-.TP 5
-2.
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤È´°Á´À¤ò¸¡¾Ú¤¹¤ë
-.LP
-JAR µ¡Ç½¤ò»È¤¦¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¥Ç¡¼¥¿
-¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍưפËÇÛÉۤǤ¤Þ¤¹¡£
-³«È¯¼Ô¤Ï¡¢
-.B jar
-¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢
-¤¹¤Ù¤Æ¤Î ZIP ¥Õ¥¡¥¤¥ë¤â JAR ¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿ (¡Ö½ð̾¡×¤ÎÂоݤȤʤë¥Ç¡¼¥¿) ¤È¡¢¥¨¥ó¥Æ¥£¥Æ¥£
-(¿Í¡¢²ñ¼Ò¤Ê¤É) ¤ÎÈó¸ø³«¸°¤È¤Ë´ð¤Å¤¤¤Æ·×»»¤µ¤ì¤ë¥Ó¥Ã¥ÈÎó¤Ç¤¹¡£¼ê½ñ¤¤Î½ð̾ƱÍÍ¡¢
-¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 2
-\(bu
-½ð̾¤ÎÀ¸À®¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ÈÂФˤʤë¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤ò¹Ô¤¦¤³¤È¤Ç¡¢
-¥Ç¥¸¥¿¥ë½ð̾¤¬ËÜʪ¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤¤ë
-.TP 2
-\(bu
-Èó¸ø³«¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¢¤ë
-.TP 2
-\(bu
-¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤½¤Î½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤À¤±¤òÂоݤȤ¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤«¤Î¥Ç¡¼¥¿¤Î
-½ð̾¤È¤·¤Æµ¡Ç½¤¹¤ë¤³¤È¤Ï¤Ê¤¤
-.TP 2
-\(bu
-½ð̾ÉÕ¤¤Î¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤¤Ê¤¤¡£¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿
-¤¬ËÜʪ¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¸¡¾Ú¤µ¤ì¤ë
-.LP
-¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤È
-Èó¸ø³«¸°¤Î¥Ú¥¢¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤â
-ɬÍפǤ¹¡£¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£
-¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ
-¤¤¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤Ï¡¢¡Ö¥¡¼¥¹¥È¥¢¡×¤Ë´Þ¤Þ¤ì¤ë¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤Æ¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò
-À¸À®¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢Èó¸ø³«¸°¤È¡¢Èó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.509 ¾ÚÌÀÏ¢º¿¤¬
-¼ý¤á¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¾ÚÌÀÏ¢º¿¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
-¥¡¼¥¹¥È¥¢¤ÎºîÀ®¤È´ÉÍý¤Ë¤Ï¡¢
-.B keytool
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¤¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»È¤ï
-¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤Ç¤¹¡£
-.B jarsigner
-¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¡¢¥Õ¥¡¥¤¥ëÆâ (¤Î½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë) ¤Ë´Þ
-¤Þ¤ì¤Æ¤¤¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-J2SE 5.0 °Ê¹ß¤Î \f3jarsigner\fP ¤Ï¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¥·¥¹¥Æ¥à/¥Ç¥×¥í¥¤¥ä (Java Plug\-in ¤Ê¤É) ¤Ï¡¢½ð̾ÉÕ¤¤Î¾ÚÌÀ½ñ¤¬¤Þ¤À͸ú¤Ç¤¢¤ë´ü´ÖÃæ¤Ë JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤¬¹Ô¤ï¤ì¤¿¤«¤É¤¦¤«¤ò³Îǧ¤Ç¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢¤½¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¼èÆÀ¤¹¤ë¤¿¤á¤Î API ¤¬¡¢J2SE 5.0 ¤ÇÄɲ䵤ì¤Þ¤·¤¿¡£
-.LP
-¸½»þÅÀ¤Ç¤Ï¡¢
-.B jarsigner
-¤Ç½ð̾¤Ç¤¤ë¤Î¤Ï¡¢JDK ¤Î
-.B jar
-¥Ä¡¼¥ë¤ÇºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï ZIP ¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ï ZIP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-.B META-INF/MANIFEST.MF
-¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
-.B META-INF/MANIFEST.MF
-¥Õ¥¡¥¤¥ë¤Ï¡¢
-.B jarsigner
-¤¬ ZIP ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B jarsigner
-¤Ï JAR ¥Õ¥¡¥¤¥ë¤Ë¡Ö½ð̾¡×¤òÉÕ¤±¤Þ¤¹¡£
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¡Ö¸¡¾Ú¡×¤¹¤ë¾ì¹ç¤Ï¡¢
-.I -verify
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-.SS
-JDK 1.1 ¤È¤Î¸ß´¹À
-.LP
-.IX "jarsigner" "Compatibility with JDK 1.1" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B keytool
-¥Ä¡¼¥ë¤È
-.B jarsigner
-¥Ä¡¼¥ë¤Ï¡¢JDK 1.1 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤¿
-.B javakey
-¥Ä¡¼¥ë¤ò´°Á´¤ËÃÖ¤´¹¤¨¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Ä¡¼¥ë¤Ï
-.B javakey
-¤è¤ê¤â¿¤¯¤Îµ¡Ç½¤òÈ÷¤¨¤Æ¤ª¤ê¡¢¥¡¼¥¹¥È¥¢¤ÈÈó¸ø³«¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ëµ¡Ç½¤ä¡¢
-½ð̾¤ÎÀ¸À®¤À¤±¤Ç¤Ê¤¯½ð̾¤ò¸¡¾Ú¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-.LP
-¿·¤·¤¤¥¡¼¥¹¥È¥¢¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ï¡¢
-.B javakey
-¤¬ºîÀ®¤·¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£¥¡¼¥¹¥È¥¢·Á¼°¤È¡¢JDK 1.1 ¤Î
-.B javakey
-¤¬»È¤Ã¤Æ¤¤¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼°¤È¤Î´Ö¤Ë¤Ï²¼°Ì¸ß´¹À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¼¡¤Î¤è¤¦¤Ê
-¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
-.TP 2
-\(bu
-.B keytool
-¤Î
-.I -identitydb
-¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
+.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 186 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
-.B jarsigner
-¤Ï¡¢°ÊÁ°¤Ë
-.B javakey
-¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-.B jarsigner
-¤Ï¡¢
-.B javakey
-¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
-.B jarsigner
-¤Ï¡¢JDK 1.2 ¤Î¥¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î½ð̾¼ÔÊÌ
-̾¤òǧ¼±¤·¡¢¤³¤ì¤é¤òÂоݤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¼¡¤Îɽ¤Ï¡¢JDK 1.1.x ¤Ç½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¡¢Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«¤ò
-¼¨¤·¤Æ¤¤¤Þ¤¹¡£
+.LP
+.LP
+注 \-
+.LP
+.RS 3
+.TP 3
+1.
+ポリシーファイル内にアイデンティティー/別名についての言及がある場合、それをキーストアにインポートして、ポリシーファイルの設定が与えられた特権に反映されるようにする必要があります。
+.TP 3
+2.
+ポリシーファイル/キーストアの組み合わせは、アイデンティティーデータベース内の信頼できるアイデンティティーよりも優先されます。
+.TP 3
+3.
+Java 2 プラットフォームでは、信頼できないアイデンティティーは無視されます。
+.TP 3
+4.
+Java 2 SDK キーストアにインポートできるのは、信頼できるアイデンティティーだけです。
+.RE
+
+.LP
+.SS
+キーストアの別名
+.LP
+.RS 3
+
+.LP
+.LP
+キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。
+.LP
+.LP
+\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。
.LP
.nf
-.ft 3
- 1.1 ¥Ç¡¼¥¿
- 1.1 ¥Ç¡¼¥¿ ¥Ù¡¼¥¹¤«¤é ¥Ý¥ê¥·¡¼
-JAR ¥Ù¡¼¥¹Æâ¤Î 1.2 ¥¡¼¥¹ ¥Õ¥¡¥¤¥ë
-¥Õ¥¡¥¤¥ë ¥¢¥¤¥Ç¥ó ¥È¥¢¤Ë¥¤¥ó ¤¬¥¢¥¤¥Ç¥ó Í¿¤¨¤é¤ì¤ë
-¤Î¥¿¥¤¥× ¥Æ¥£¥Æ¥£ ¥Ý¡¼¥È¤µ¤ì ¥Æ¥£¥Æ¥£/ Æø¢
- ¤ë¿®Íê¤Ç¤ ÊÌ̾¤ËÆø¢
- ¤ë¥¢¥¤¥Ç¥ó ¤òÍ¿¤¨¤ë
- ¥Æ¥£¥Æ¥£(4)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x x x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾¤Î¤Ê¤¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x x x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x ¡û x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê¤Ç x x Í¿¤¨¤é¤ì¤ë
- ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢ (3)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê¤Ç x ¡û Í¿¤¨¤é¤ì¤ë
- ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢ (1,3)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x ¡û ¡û Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢¤È¥Ý¥ê¥·¡¼
- ¥Õ¥¡¥¤¥ëÆâ
- ¤ÇÍ¿¤¨¤é¤ì¤ë
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê ¡û ¡û Í¿¤¨¤é¤ì¤ë
- ¤Ç¤¤ë ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢¤È¥Ý¥ê¥·¡¼
- ¥Õ¥¡¥¤¥ëÆâ
- ¤ÇÍ¿¤¨¤é¤ì¤ë
- Æø¢ (2)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê x x Æø¢
- ¤Ç¤¤ë
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê ¡û x Æø¢ (1)
- ¤Ç¤¤ë
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê x ¡û Æø¢ (1)
- ¤Ç¤¤ë
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass dukekeypasswd MyJARFile.jar duke
+.fl
+\fP
.fi
-.ft 1
-.LP
-Ãí:
-.TP 5
-1.
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£/ÊÌ̾¤Ë¤Ä¤¤¤Æ¤Î¸ÀµÚ¤¬¤¢¤ë¾ì¹ç¡¢
-¤½¤ì¤ò¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÀßÄ꤬Ϳ¤¨¤é¤ì¤¿
-Æø¢¤ËÈ¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP 5
-2.
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë/¥¡¼¥¹¥È¥¢¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹
-Æâ¤Î¿®Íê¤Ç¤¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£
-.TP 5
-3.
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¿®Íê¤Ç¤¤Ê¤¤¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.TP 5
-4.
-JDK ¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤ë¤Î¤Ï¡¢¿®Íê¤Ç¤¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤À¤±¤Ç¤¹¡£
-.SS
-¥¡¼¥¹¥È¥¢¤ÎÊÌ̾
-.LP
-.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-¥¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈó¸ø³«¸°¤ò
-´Þ¤à¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ï¡¢
-working ¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.B mystore
-¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾
-.B duke
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢
-.BR MyJARFile.jar
-¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
-¤Î¤Ç¡¢
-.BR MyJARFile.jar
-¤Ï½ð̾ÉÕ¤¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner -keystore /working/mystore -storepass
- myspass -keypass dukekeypasswd MyJARFile.jar duke
-.fi
-.ft 1
-.LP
-¥¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï
-.BR myspass
-) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Èó¸ø³«¸°¤â¥¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï
-.BR dukekeypasswd
-) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥È¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.LP
-.SS
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê
-.LP
-.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-.B jarsigner
-¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥¡¼¥¹¥È¥¢¤Î̾Á°¤È¾ì½ê¤ò»ØÄꤹ¤ë
-.I -keystore
-¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.I .keystore
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I user.home
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
-.LP
-.I \-keystore
-¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï
-.I KeyStore.load
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£
-URL ¤È¤·¤Æ NONE ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢NULL ¥¹¥È¥ê¡¼¥à¤¬
-.I KeyStore.load
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Ê¤É¡¢
-¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢
-.I NONE
-¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.SS
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ
-.LP
-.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-.I java.security
-¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¤¢¤ë
-.I KeyStore
-¥¯¥é¥¹
-¤Ç¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ë¥¢¥¯¥»¥¹¤·¡¢Êѹ¹¤Ç¤¤ë¤è¤¦¤Ë
-ŬÀÚ¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¹¤ÏÊ£¿ô¤Î¤µ¤Þ¤¶¤Þ¤Ê¸ÇÄê¼ÂÁõ¤¬²Äǽ¤Ç¡¢
-¤½¤ì¤¾¤ì¤Î¼ÂÁõ¤Ï¡¢ÆÃÄê¤Î¼ïÎà¤Î¥¡¼¥¹¥È¥¢ÍѤθÇÄê¼ÂÁõ¤Ç¤¹¡£
-.LP
-¸½ºß¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤â¤Î¤È¤·¤Æ¡¢keytool ¤È
-.BR jarsigner
-¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢
-.BR policytool
-¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£
-.I KeyStore
-¥¯¥é¥¹¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¤Ï
-.B KeyStore
-¤ò»È¤Ã¤Æ¤Û¤«¤Î¥»¥¥å¥ê¥Æ¥£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆȼ«¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥¡¼¥¹¥È¥¢¤ò
-¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É
-¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥¡¼¥¹¥È¥¢Á´ÂΤδ°Á´À¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë
-¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
-.LP
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-.I KeyStore
-¥¯¥é¥¹¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI)
-¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë
-.I KeystoreSpi
-Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â
-.I java.security
-¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬ Service Provider Interface ¤Î
-¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ
-¤»¤ó¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹
-¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î
-¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢¡ÖJava °Å¹æ²½¥¢¡¼¥¥Æ¥¯
-¥Á¥ãÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) ¤Î¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢
-.I KeystoreSpi
-¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢
-.I KeyStore
-¥¯¥é¥¹¤¬Ä󶡤¹¤ë
-.B getInstance
-¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤Î
-¼ÂÁõ¤òÁªÂò¤Ç¤¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¡¢
-¤ª¤è¤Ó¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤È¥¡¼¥¹¥È¥¢¼«ÂΤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë
-¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß¤¤¤Ë¸ß´¹À¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢
-.B KeyStore
-¤¬Ä󶡤¹¤ë¶¦Ä̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ç¤°Õ¤Î
-¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Ç»ÈÍѤǤ¤Þ¤¹¡£
.LP
-.B keytool
-¤Ï¡¢¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢¼ÂÁõ¤ËÂФ·¤Æµ¡Ç½¤·¤Þ¤¹¡£
-.B keytool
-¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ÇÅϤµ¤ì¤¿¥¡¼¥¹¥È¥¢¤Î°ÌÃÖ¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢
-.BR FileInputStream
-¤ËÊÑ´¹¤·¤Æ¡¢¤½¤³¤«¤é¥¡¼¥¹¥È¥¢¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢
-.B jarsigner
-¥Ä¡¼¥ë¤ª¤è¤Ó
-.B policytool
-¥Ä¡¼¥ë¤Ï¡¢URL ¤ò»È¤Ã¤Æ»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤ÊǤ°Õ¤Î°ÌÃ֤ˤ¢¤ë¥¡¼¥¹¥È¥¢¤ò
-Æɤ߼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+キーストアはパスワードで保護されているので、ストアのパスワード (上の例では mypass) を指定する必要があります。コマンド行でストアのパスワードを指定しないと、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているため、非公開鍵のパスワード (上の例では dukekeypasswd) を指定する必要があります。 コマンド行で非公開鍵のパスワードを指定していない、また、指定したパスワートが保存されているパスワードと違っている場合には、非公開鍵のパスワードの入力を求められます。
.LP
-.B jarsigner
-¤È
-.BR keytool
-¤Î¾ì¹ç¡¢
-.I -storetype
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.BR policytool
-¤Î¾ì¹ç¤Ï¡¢[Edit] ¥á¥Ë¥å¡¼¤Î [Change Keystore] ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¡¼¥¹¥È¥¢¤Î
-¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+.RE
+.SS
+キーストアの場所
.LP
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢
-.B keytool
-¡¢
-.B jarsigner
-¡¢¤ª¤è¤Ó
-.B policytool
-¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄê
-¤µ¤ì¤¿
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡
-¥¤¥ë¤Ï¡¢
-.I java.security
-¤È¤¤¤¦Ì¾Á°¤Ç¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê
-.I java.home/lib/security
-¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-.I java.home
-¤Ï¡¢JDK ¤Î¼Â¹Ô´Ä¶¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£(SDK Æâ¤Î jre ¥Ç¥£¥ì¥¯¥È¥ê
-¤Þ¤¿¤Ï Java Runtime Environment ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê)¡£
+.RS 3
+
.LP
-³Æ¥Ä¡¼¥ë¤Ï¡¢
-.I keystore.type
-¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬
-¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î
-¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£
.LP
-.I KeyStore
-¥¯¥é¥¹¤Ç¤Ï
-.I getDefaultType
-¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î
-¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
+\f3jarsigner\fP には、使用するキーストアの URL を指定する \f2\-keystore\fP オプションがあります。キーストアは、デフォルトではユーザーのホームディレクトリの \f2.keystore\fP という名前のファイルに格納されます。 ユーザーのホームディレクトリは、\f2user.home\fP システムプロパティーによって決まります。Solaris システムの場合、\f2user.home\fP がデフォルトでユーザーのホームディレクトリになっています。
+.LP
+.LP
+\f2\-keystore\fP オプションからの入力ストリームは、\f2KeyStore.load\fP メソッドに渡されます。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP は、\f2KeyStore\fP がファイルベースではなく、たとえば、ハードウェアトークンデバイスに置かれている場合に指定します。
+.LP
+.RE
+.SS
+キーストアの実装
+.LP
+.RS 3
+
+.LP
+.LP
+\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。
+.LP
+.LP
+現在、キーストアの実装を使用するものとして、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールがあります。\f2KeyStore\fP は public として使用可能なので、Java 2 SDK ユーザーは KeyStore を使ったほかのセキュリティーアプリケーションも作成できます。
+.LP
+.LP
+キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。
+.LP
+.LP
+キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。 これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、
+.na
+\f2「Java 暗号化アーキテクチャー用プロバイダの実装方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。
+.LP
+.LP
+アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
+.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
+キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティープロパティーファイル内で指定された \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 クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティーで指定されたタイプ) のインスタンスを生成します。
.LP
.nf
\f3
@@ -437,144 +833,150 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï jks (Sun ¤¬Ä󶡤¹¤ëÆȼ«¤Î¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î
-¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ
-¤¤¤Þ¤¹¡£
+デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。
.LP
-.RS 5
-.B keystore.type=jks
+.nf
+\f3
+.fl
+ keystore.type=jks
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注:キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。
+.LP
+.LP
+各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。
+.LP
+.nf
+\f3
+.fl
+ keystore.type=pkcs12
+.fl
+\fP
+.fi
+
+.LP
+.LP
+PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」にある
+.na
+\f2「KeyTool and JarSigner」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSignerの節を参照してください。
+.LP
.RE
-.LP
-Ãí: ¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¡ÖJKS¡×¤È¡Öjks¡×¤ÏƱ¤¸¤â¤Î¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
-.LP
-³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤Æ
-Ê̤Υ¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë
-¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
-.LP
-.B keystore.type=pkcs12
-.LP
-PKCS#11 ¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava PKCS#11 Reference Guide¡×(
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner)
-¤Ë¤¢¤ë
-¡Ö\f2KeyTool and JarSigner\fP¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
+.RE
.SS
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à
+サポートされるアルゴリズム
.LP
-.IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B jarsigner
-¤Ï¼¡¤Î¤É¤Á¤é¤«¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£
+.LP
+デフォルトでは、\f3jarsigner\fP は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。
+.LP
+.RS 3
.TP 2
-\(bu
-SHA-1 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ DSA (¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à)
+o
+SHA\-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム)
.TP 2
-\(bu
-MD5 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ RSA ¥¢¥ë¥´¥ê¥º¥à
+o
+MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム
+.RE
+
.LP
-¶ñÂÎŪ¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤¬ DSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡ÖSHA1withDSA¡×¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤è¤¦¤È¤·¤Þ¤¹¡£½ð̾¼Ô¤Î
-¸°¤¬ RSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡ÖMD5withRSA¡×¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£
.LP
-¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤¤Þ¤¹¡£
+具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は MD5withRSA アルゴリズムを使って JAR ファイルに署名を付けます。
.LP
+.LP
+これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。
+.LP
+.RE
.SS
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë
+署名付き JAR ファイル
.LP
-.IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ï
-ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î 2 ¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬
-.B META-INF
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
+.LP
+\f3jarsigner\fP を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。
+.LP
+.RS 3
.TP 2
-\(bu
-.B .SF
-³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë
+o
+.SF 拡張子の付いた署名ファイル
.TP 2
-\(bu
-.B .DSA
-³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë
+o
+.DSA 拡張子の付いた署名ブロックファイル
+.RE
+
.LP
-¤³¤ì¤é 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-.I -sigFile
-¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£
.LP
-.B -sigFile MKSIGN
+これら 2 つのファイルのベースファイル名は、\f2\-sigFile\fP オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。
.LP
-¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï¤½¤ì¤¾¤ì
-.B MKSIGN.SF
-¤È
-.BR MKSIGN.DSA
-¤Ë¤Ê¤ê¤Þ¤¹¡£
+.nf
+\f3
+.fl
+ \-sigFile MKSIGN
+.fl
+\fP
+.fi
+
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ë
-.I -sigfile
-¥ª¥×¥·¥ç¥ó¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèƬ¤Î 8 ʸ»ú¤ò
-¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬
-¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì
-¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-»ÈÍѤǤ¤ëʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ (_)¡¢¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£
.LP
-½ð̾ (\f3.SF\f1) ¥Õ¥¡¥¤¥ë
+この場合、ファイル名はそれぞれ MKSIGN.SF と MKSIGN.DSA になります。
.LP
-½ð̾¥Õ¥¡¥¤¥ë (
-.B .SF
-¥Õ¥¡¥¤¥ë) ¤Ï¡¢
-.B jar
-¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëƱÍÍ¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢¼¡¤Î 3 ¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£
+.LP
+コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。
+.LP
+\f3署名 (.SF) ファイル\fP
+.LP
+.RS 3
+
+.LP
+.LP
+署名ファイル (.SF ファイル) は、\f3jarsigner\fP で署名を付けた JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、.SF ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。
+.LP
+.RS 3
.TP 2
-\(bu
-¥Õ¥¡¥¤¥ë̾
+o
+ファイル名
.TP 2
-\(bu
-»È¤ï¤ì¤Æ¤¤¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à (SHA) ¤Î̾Á°
+o
+使われているダイジェストアルゴリズム (SHA) の名前
.TP 2
-\(bu
-SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ
+o
+SHA ダイジェストの値
+.RE
+
.LP
-¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿
-¤Î¥À¥¤¥¸¥§¥¹¥È (¥Ï¥Ã¥·¥å) ¤Ç¤¹¡£°ìÊý¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Î³ºÅö¤¹¤ë
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë 3 ¹Ô¤Î¥Ï¥Ã¥·¥å¤Ç¤¹¡£
.LP
-½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¸å½Ò¤Î¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¤Î¸ºß¤Ë¤è¤Ã¤Æ¸¡¾Ú¤Î
-ºÇŬ²½¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
+マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。
.LP
-½ð̾¥Ö¥í¥Ã¥¯ (\f3.DSA\f1) ¥Õ¥¡¥¤¥ë
.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤âÉä¹æ²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ
-¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤Ï¡¢½ð̾¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ò
-ǧ¾Ú¤·¤Þ¤¹¡£
+署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。
.LP
+.RE
+\f3署名ブロック (.DSA) ファイル\fP
+.LP
+.RS 3
+
+.LP
+.LP
+.SF ファイルには署名が付けられ、署名は .DSA ファイルに置かれます。.DSA ファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。
+.LP
+.RE
+.RE
.SS
-½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×
+署名タイムスタンプ
+.LP
+.RS 3
+
.LP
.LP
-J2SE 5.0 ¥ê¥ê¡¼¥¹¤Î
-.I jarsigner
-¥Ä¡¼¥ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤ª¤è¤Ó³ÊǼ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤µ¤é¤Ë¡¢
-.I jarsigner
-¤ÏÂåÂؤνð̾µ¡¹½¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ÎÆ°ºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£
+J2SE 5.0 リリースの \f2jarsigner\fP ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、\f2jarsigner\fP は代替署名機構をサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。
.LP
.RS 3
.TP 2
@@ -593,204 +995,143 @@
.LP
.LP
-¤³¤ì¤é¤Î³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+これらの各オプションの詳細については、後述の「オプション」節を参照してください。
.LP
-.SS
-JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
-.LP
-.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¸å¤Ë
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-.TP 5
-1.
-.B .SF
-¥Õ¥¡¥¤¥ë¤½¤ì¼«ÂΤνð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£
-.RS
-.LP
-¤³¤Î¼ê½ç¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯ (
-.B .DSA
-) ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë½ð̾¤¬¡¢¼ÂºÝ¤Ë¡¢¸ø³«¸°¤ËÂбþ¤¹¤ëÈó¸ø³«¸°¤ò»È¤Ã¤Æ
-À¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¸ø³«¸°¤Î¾ÚÌÀ½ñ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¼ê½ç
-¤Ç¤Ï¡¢ÌÜŪ¤Î½ð̾¤¬¡¢Âбþ¤¹¤ë½ð̾ (
-.B .SF
-) ¥Õ¥¡¥¤¥ëÆâ¤Î͸ú¤Ê½ð̾¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤·¤Þ¤¹¡£
.RE
-.TP 5
-2.
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Î¥À¥¤¥¸¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆͤ
-¹ç¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£
-.RS
-.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¤¬¥Ç¥Õ¥©¥ë¥È¤Ç
-´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ø¥Ã¥À¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥Ø¥Ã¥ÀÆâ¤Î¥Ï¥Ã¥·¥å¤¬¼ÂºÝ¤Ë¥Þ¥Ë¥Õ¥§
-¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹
-¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£
-.LP
-¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ
-¤Ë¤Ï¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹ (¡Ö½ð̾ (\f3.SF\f1)
-¥Õ¥¡¥¤¥ë¡×¤ò»²¾È)¡£
-.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¡¢¼ÂºÝ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È
-¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢½ð̾ (¤ª¤è¤Ó
-.B .SF
-¥Õ¥¡¥¤¥ë) ¤ÎÀ¸À®¸å¤Ë¡¢¥Õ¥¡¥¤¥ë¤Ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬Äɲà (
-.I jar
-¥Ä¡¼¥ë¤ò»ÈÍÑ) ¤µ¤ì¤¿²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.I jar
-¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬
-(¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë)¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤¤Ï¡¢½ð̾¤ÎÀ¸À®»þ¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë
-¸ºß¤·¤Æ¤¤¤¿¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¡¢¸¡¾Ú¤ÏÀ®¸ù
-¤·¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-.RE
-.TP 5
-3.
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤Ä³Æ¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£Æɤ߹þ¤ßÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î
-¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¥»¥¯¥·¥ç¥óÆâ¤Î³ºÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤Î
-¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£2 ¤Ä¤Î¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤¦¤Ç¤Ê¤¤
-¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£
-.LP
-¸¡¾Ú¥×¥í¥»¥¹¤ÎÅÓÃæ¤Ç¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¸¡¾Ú¥×¥í¥»¥¹
-¤ÏÃæ»ß¤µ¤ì¡¢¥»¥¥å¥ê¥Æ¥£Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥¹¥í¡¼¤µ¤ì¤¿¥»¥¥å¥ê¥Æ¥£Îã³°¤Ï¡¢
-.BR jarsigner
-¤¬¥¥ã¥Ã¥Á¤·¤Æɽ¼¨¤·¤Þ¤¹¡£
-.LP
.SS
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾
+JAR ファイルの検証
.LP
-.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
-.B jarsigner
-¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¡¢°Û¤Ê¤ë¥æ¡¼¥¶¤ÎÊÌ̾¤ò»ØÄꤹ¤ì¤Ð¡¢JAR
-¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
.LP
-.ft 3
-.nf
-jarsigner myBundle.jar susan
-jarsigner myBundle.jar kevin
-.fi
-.ft 1
-.LP
-JAR ¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ÎÂФ¬Ê£¿ô´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ÎÂФϡ¢1 ²ó¤Î½ð̾¤ËÂФ·¤Æ 1 ¤ÄºîÀ®¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç½ÐÎÏ
-¤µ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-SUSAN.SF
-SUSAN.DSA
-KEVIN.SF
-KEVIN.DSA
-.fi
-.ft 1
-.LP
-Ãí: JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¤ÇÀ¸À®¤·¤¿½ð̾¤È¡¢
-.B jarsigner
-¤ÇÀ¸À®¤·¤¿½ð̾¤È¤¤¤¦¤è¤¦¤Ë¡¢
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òº®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Ä¤Þ¤ê
-.B javakey
-¤Ç¤¹¤Ç¤Ë°ÊÁ°½ð̾¤·¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¤¿¤á¤Ë¡¢
-.B jarsigner
-¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-°Ê²¼¤Ç¤Ï¡¢
-.B jarsigner
-¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢¼¡¤ÎÅÀ¤ËÃí°Õ
-¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèƬ¤Ë¥Þ¥¤¥Ê¥¹µ¹æ (-) ¤¬ÉÕ¤¯
-.TP 2
-\(bu
-¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤ë
-.TP 2
-\(bu
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë
-.TP 2
-\(bu
-.I -keystore¡¢
-.I -storepass¡¢
-.I -keypass¡¢
-.I -sigfile¡¢
-.I -sigalg¡¢
-.I -digestalg¡¢
-¤ª¤è¤Ó
-.I -signedjar
-¤Î³Æ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ë¤Ï»ÈÍѤǤ¤Ê¤¤¡£Æ±Íͤˡ¢
-ÊÌ̾¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë
+JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。
.LP
.RS 3
.TP 3
-.B -keystore url
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹ URL ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È
-¥êÆâ¤Î¥Õ¥¡¥¤¥ë
-.I .keystore
-¤Ç¤¹¡£¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I user.home
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
+1.
+.SF ファイルそれ自体の署名を検証します。
.LP
-½ð̾¤¹¤ë¤È¤¤Ï¥¡¼¥¹¥È¥¢¤¬É¬ÍפǤ¹¡£¤³¤Î¤¿¤á¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤¬Â¸ºß
-¤·¤Ê¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¤Û¤«¤Î¥¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-¥¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+この手順では、各署名ブロック (.DSA) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って生成されたものであることを確認します。 .DSA ファイルには、公開鍵の証明書 (または証明書チェーン) も含まれています。また、この手順では、目的の署名が、対応する署名 (.SF) ファイル内の有効な署名であるかどうかを調べ、.SF ファイルが改変されていないことも確認します。
+.TP 3
+2.
+.SF ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き合わせて検証します。
.LP
-¸¡¾Ú¤¹¤ë¤È¤¤Ï¥¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢
-¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤¬
-¥¡¼¥¹¥È¥¢¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+.SF ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダーがデフォルトで含まれています。このヘッダーが存在する場合は、ヘッダー内のハッシュが実際にマニフェストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致する場合は、次の手順に進みます。
.LP
-Ãí:
-.I -keystore
-¤Î°ú¿ô¤Ë¤Ï¡¢URL ¤ÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾
-(¤È¥Ñ¥¹) ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¡Öfile:¡×URL ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-»ØÄê¤Ç¤¤Þ¤¹¡£
+ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します (「署名 (.SF) ファイル」を参照)。
.LP
-.B -keystore filePathAndName
+.SF ファイルのヘッダーに格納されたマニフェストファイルのハッシュと、実際のマニフェストファイルのハッシュとが一致しない場合は、署名 (および .SF ファイル) の生成後に、JAR ファイルに 1 つ以上のファイルが追加 (\f2jar\fP ツールを使用) された可能性があります。\f2jar\fP ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが (新しいファイル用のセクションが追加される)、.SF ファイルは変更されません。この場合、.SF ファイルのヘッダー以外のセクションに格納されたハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功したものとして扱われます。
+.TP 3
+3.
+JAR ファイル内のファイルのうち、.SF ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルのダイジェストを計算し、結果をマニフェストセクション内の該当するファイルのダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない場合は検証が失敗します。
+.RE
+
.LP
-¤³¤ì¤Ï¡¢¼¡¤Î»ØÄê¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
.LP
-.B -keystore file:filePathAndName
+検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセスは中止され、セキュリティー例外がスローされます。スローされたセキュリティー例外は、\f3jarsigner\fP がキャッチして表示します。
.LP
+.RE
+.SS
+1 つの JAR ファイルを対象とする複数の署名
+.LP
+.RS 3
+
+.LP
+.LP
+1 つの JAR ファイルに対して \f3jarsigner\fP ツールを複数回実行し、実行のたびに、異なるユーザーの別名を指定すれば、JAR ファイルに複数のユーザーの署名を付けることができます。
+.LP
+.nf
+\f3
+.fl
+ jarsigner myBundle.jar susan
+.fl
+ jarsigner myBundle.jar kevin
+.fl
\fP
.fi
-JRE ¤Î \f2$JAVA_HOME/lib/security\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤¿ \f2java.security\fP ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï PKCS#11 ¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
+
+.LP
+.LP
+JAR ファイルが複数回署名されている場合、その JAR ファイルには .SF ファイルと .DSA ファイルの対が複数含まれることになります。 .SF ファイルと .DSA ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力される JAR ファイルには、次の名前を持つファイルが含まれます。
+.LP
+.nf
+\f3
+.fl
+ SUSAN.SF
+.fl
+ SUSAN.DSA
+.fl
+ KEVIN.SF
+.fl
+ KEVIN.DSA
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注:JAR ファイルでは、JDK 1.1 の \f3javakey\fP ツールで生成された署名と \f3jarsigner\fP で生成された署名が混在できます。つまり、すでに \f3javakey\fP を使って署名が付けられている JAR ファイルに、\f3jarsigner\fP を使って署名を付けることができます。
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.LP
+以下では、\f3jarsigner\fP のオプションについて説明します。注:
+.LP
.RS 3
.TP 2
-o \f2\-keystore NONE\fP
+o
+どのオプション名にも先頭にマイナス記号 (\-) が付く
.TP 2
-o \f2\-storetype PKCS11\fP
+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 ファイルに署名を付ける場合だけである
.RE
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÀßÄꤵ¤ì¤¿ PKCS#11 ¥È¡¼¥¯¥ó¤ÎÆâÍƤò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
+
+.LP
+.RS 3
+.TP 3
+\-keystore url
+キーストアの場所を示す URL を指定します。デフォルトは、ユーザーのホームディレクトリ内のファイル \f2.keystore\fP です。 ユーザーのホームディレクトリは、user.home システムプロパティーによって決まります。
+.LP
+署名するときはキーストアが必要です。 このため、デフォルトのキーストアが存在しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、キーストアを明示的に指定する必要があります。
+.LP
+検証するときはキーストアは必要ありません。 ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに \f2\-verbose\fP オプションも指定されている場合は、JAR ファイルの検証に使われる証明書がキーストアに存在するかどうかについての追加情報が出力されます。
+.LP
+注:\f2\-keystore\fP の引数には、URL の代わりにファイル名 (とパス) を指定できます。 ファイル名 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように指定できます。
+.nf
+\f3
+.fl
+ \-keystore \fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+これは、次の指定と同じものとして扱われます。
+.nf
+\f3
+.fl
+ \-keystore file:\fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+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
+.RE
+たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。
.RS 3
.LP
@@ -805,228 +1146,119 @@
.fi
.RE
.TP 3
-.B -storetype storetype
-¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤Î
-¥¿¥¤¥×¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ç keystore.type ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤȤ·¤Æ
-»ØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¡¢
-.I java.security.KeyStore
-¤Î static
-.I getDefaultType
-¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£
+\-storetype storetype
+インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアタイプは、セキュリティープロパティーファイル内の keystore.type プロパティーの値で指定されたタイプです。 この値は、\f2java.security.KeyStore\fP の static \f2getDefaultType\fP メソッドで取得できます。
.LP
-\f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ PCKS#11 ¥È¡¼¥¯¥ó¤Î PIN ¤ò»ØÄꤹ¤ë¤³¤È¤â
-¤Ç¤¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï¥æ¡¼¥¶¤Ë¥È¡¼¥¯¥ó PIN ¤Î
-ÆþÎϤòµá¤á¤Þ¤¹¡£¥È¡¼¥¯¥ó¤Îǧ¾Ú¥Ñ¥¹¤¬¡¢ÀìÍѤΠPIN ¥Ñ¥Ã¥É¤ä¥Ð¥¤¥ª¥á¥È¥ê¥Ã¥¯¥ê¡¼¥À¤Î
-¤è¤¦¤ÊÊݸ¤ì¤¿¥Ñ¥¹¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-protected\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-.TP
-.B -storepass password
-¥¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Í×
-¤Ê¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤À¤±¤Ç¤¹ (JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤È¤¤Ï
-ÉÔÍ×)¡£½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.I -storepass
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.RS
-.LP
-Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤¬Êݾ㤵¤ì¤¿¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç
-°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
-password ¥×¥í¥ó¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤È¡¢ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤¬¥¨¥³¡¼¤µ¤ì¡¢
-¤½¤Î¤Þ¤Þ²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¼þ°Ï¤Ë¤Û¤«¤Î¥æ¡¼¥¶¤¬¤¤¤ë¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ò¸«¤é¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -keypass password
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤Î
-¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç
-¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë
-¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.RS
-.LP
-Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç
-¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-¤Þ¤¿¡¢password ¥×¥í¥ó¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤È¡¢ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤¬¥¨¥³¡¼
-¤µ¤ì¡¢¤½¤Î¤Þ¤Þ²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¼þ°Ï¤Ë¤Û¤«¤Î¥æ¡¼¥¶¤¬¤¤¤ë¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ò¸«¤é¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -sigfile file
-SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤Ë»È¤¦¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢file ¤Ë DUKESIGN ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È
-.DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢¤½¤ì¤¾¤ì DUKESIGN.SF ¤È DUKESIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.RS
-.LP
-.I file
-¤Ë»ÈÍѤǤ¤ëʸ»ú¤Ï¡Öa-zA-Z0-9_-¡×¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢Ê¸»ú¡¢¿ô»ú¡¢²¼Àþ¡¢
-¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤À¤±¤ò»ÈÍѤǤ¤Þ¤¹¡£Ãí:
-.B .SF
-¤ª¤è¤Ó
-.B .DSA
-¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.I -sigfile
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèƬ¤Î 8 ʸ»ú¤ò
-¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬
-¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
-¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することもできます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。
.TP 3
-\-sigalg algorithm
+\-storepass password
+キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。署名を付けるときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。
+.LP
+注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。
+.TP 3
+\-keypass password
+コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。
+.LP
+注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。
+.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
+コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
+.TP 3
+\-sigalg algorithm
.RS 3
.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。
.LP
-ɸ½à½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×(
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)
-¤Ë¤¢¤ë
-¡Ö
-.I Appendix A
-¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¸ß´¹À¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ SHA1withDSA¡¢MD5withRSA ¤Î¤¤¤º¤ì¤«¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò
-.I \-providerClass
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£
+標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」にある
+.na
+\f2「Appendix A 」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。
.LP
.RE
.TP 3
-\-digestalg algorithm
+\-digestalg algorithm
.RS 3
-JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。
.LP
-ɸ½à¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×(http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)¤Î
-¡Ö
-.I Appendix A
-¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢SHA\-1 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò
-.I \-providerClass
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£
+標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」にある
+.na
+\f2「Appendix A 」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このオプションを指定しなかった場合、SHA\-1 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。
+.LP
.RE
-.TP
-.B -signedjar file
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.RS
+.TP 3
+\-signedjar file
+署名付き JAR ファイルの名前を指定します。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç̾Á°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (½ð̾¤ÎÂоݤȤʤë
-JAR ¥Õ¥¡¥¤¥ë) ¤Î̾Á°¤ÈƱ¤¸Ì¾Á°¤¬»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ï½ð̾
-ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B -verify
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬
-¸¡¾Ú¤µ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢
-¡Öjar verified¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤ JAR ¥Õ¥¡¥¤¥ë¡¢
-¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥ë¥´¥ê¥º¥à (RSA ¥×¥í¥Ð¥¤¥À¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤
-¾ì¹ç¤Î RSA ¤Ê¤É) ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤è¤¦¤È¤¹¤ë¤È¡¢
-¡Öjar is unsigned. (signatures missing or not parsable)¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.RS
+コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。
+.TP 3
+\-verify
+コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。JAR ファイルへの署名は行われません。 検証が成功すると、「jar が検証されました。」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar は署名されていません。(署名が見つからないか、構文解析できません)」というメッセージが表示されます。
.LP
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢
-.B jarsigner
-¤Þ¤¿¤Ï JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¡¢¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»È¤Ã¤Æ¸¡¾Ú¤Ç¤¤Þ¤¹¡£
+署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。
.LP
-¸¡¾Ú¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -certs
-¥³¥Þ¥ó¥É¹Ô¤Ç¡¢
-.I -verify
-¤ª¤è¤Ó
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô
-¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¾ðÊó¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.RS
+検証についての詳細は、「JAR ファイルの検証」を参照してください。
+.TP 3
+\-certs
+コマンド行で、\f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者の証明書情報も出力されます。証明書情報には次のものが含まれます。
+.RS 3
.TP 2
-\(bu
-½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë (
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿) ¾ÚÌÀ½ñ¤Î¼ïÎà¤Î̾Á°
+o
+署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前
.TP 2
-\(bu
-¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ (¶ñÂÎŪ¤Ë¤Ï
-.I java.security.cert.X509Certificate
-¤Î¥¤¥ó¥¹¥¿¥ó¥¹) ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢½ð̾¼Ô¤Î¼±ÊÌ̾
+o
+証明書が X.509 証明書 (つまり、\f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名
+.RE
.LP
-¥¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
-¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î
-¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ·¤¿¾ì¹ç¤Ï¡¢¼¡¤Î¾ðÊó¤âɽ¼¨
-¤µ¤ì¤Þ¤¹¡£
+キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。
+.RS 3
.TP 2
-\(bu
-½ð̾¼Ô¤Ë³ºÅö¤¹¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¡£¤³¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËͳÍ褹¤ë
-½ð̾¼Ô¤Î¾ì¹ç¤Ï¡¢³ç¸Ì¤Ç¤Ï¤Ê¤¯³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£
+o
+署名者に該当するキーストアエントリの別名。 この別名は括弧で囲まれます。ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。
.RE
-.TP
-.B -verbose
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤ÇÆ°ºî¤·¡¢JAR ¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½Ð
-ÎϤ·¤Þ¤¹¡£
-.TP
-.B -internalsf
-°ÊÁ°¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿
-.B .DSA
-(½ð̾¥Ö¥í¥Ã¥¯) ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢À¸À®¤µ¤ì¤¿
-.B .SF
-¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Î´°Á´¤Ê¥³¥Ô¡¼¤¬Éä¹æ²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Î
-Æ°ºî¤ÏÊѹ¹¤Ë¤Ê¤ê¡¢¸½ºß¤Ç¤Ï¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
-.B .SF
-¥Õ¥¡¥¤¥ë¤¬
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.B -internalsf
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦
-¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë
-¤È¡¢Í±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B -sectionsonly
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë
-.B .SF
-¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö½ð̾ (\f3.SF\f1) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RS
+.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 ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú»þ¤Ë¡¢¤Þ¤º¥Ø¥Ã¥ÀÆâ
-¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È¼ÂºÝ¤Ë°ìÃפ¹¤ë¤«¤É¤¦¤«¤¬³Îǧ
-¤µ¤ì¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃ×
-¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
+デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します。
.LP
-¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+詳細は、「JAR ファイルの検証」を参照してください。
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç
-¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B -protected
-\f2true\fP¡¢\f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP
+.TP 3
+\-protected
+\f2true\fP または \f2false\fP のいずれか。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
.RE
-.TP
-.B \-provider provider_class_name
-¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë (\f2java.security\fP) ¤Î¥ê¥¹¥È¤Ë
-Æþ¤Ã¤Æ¤¤¤Ê¤¤¤È¤¤Ë¡¢°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î
-̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+.RS 3
+.TP 3
+\-provider provider\-class\-name
+サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。
.LP
-\f2\-providerArg\fP \f2ConfigFilePath\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£keytool ¤È jarsigner ¤Ï¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹ (¤³¤³¤Ç¡¢\f2ConfigFilePath\fP ¤Ï¥È¡¼¥¯¥óÀßÄê¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ç¤¹)¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë PKCS#11 ¥¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。 keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。
.RS 3
.LP
.nf
\f3
.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
+jarsigner \-keystore NONE \-storetype PKCS11 \\
.fl
- \-providerClass sun.security.pkcs11.SunPKCS11 \\
+ \-providerClass sun.security.pkcs11.SunPKCS11 \\
.fl
- \-providerArg /foo/bar/token.config \\
+ \-providerArg /foo/bar/token.config \\
.fl
\-list
.fl
@@ -1034,81 +1266,62 @@
.fi
.RE
.TP 3
-.B \-providerName providerName
-\f2java.security\fP ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç 2 ¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-providerName\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤òÁªÂò¤Ç¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-providerName providerName
+\f2java.security\fP セキュリティープロパティーファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前です。
.LP
-Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\f2providerName\fP ¤Ï \f2SunPKCS11\-\fP\f2TokenName\fP ¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2TokenName\fP ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÀßÄê»þ¤Ë»ÈÍѤ·¤¿Ì¾Á°¤Î¥µ¥Õ¥£¥Ã¥¯¥¹¤Ç¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS
-¤Î
+Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP という形式になります。 ここで「\f2TokenName\fP」は、プロバイダインスタンスが構成された名前の接尾辞です。 詳細は
.na
-¡Ö\f2configuration attributes table\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ì¾Á°¥µ¥Õ¥£¥Ã¥¯¥¹ \f2SmartCard\fP ¤ò»ý¤Ä PKCS#11 ¥¡¼¥¹¥È¥¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍƤò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
+\f2構成属性の表\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSを参照してください。たとえば、以下のコマンドでは、名前接尾辞 \f2SmartCard\fP の PKCS#11 キーストアプロバイダインスタンスの内容をリストします。
.RS 3
.LP
.nf
\f3
.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
+jarsigner \-keystore NONE \-storetype PKCS11 \\
.fl
- \-providerName SunPKCS11\-SmartCard \\
+ \-providerName SunPKCS11\-SmartCard \\
.fl
\-list
.fl
\fP
.fi
.RE
-.TP
-.B \-Jjavaoption
-»ØÄꤷ¤¿
-.I javaoption
-ʸ»úÎó¤òľÀܼ¹Իþ¥·¥¹¥Æ¥à¤ËÅϤ·¤Þ¤¹¡£
-\f3jarsigner\f1 ¤Ï¡¢¼ÂºÝ¤Ë¤Ï Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¡Ö¥é¥Ã¥Ñ¡¼¡×¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶¤Þ¤¿¤Ï¥á¥â¥ê»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤¤ë¥Õ¥é¥°¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.I java -h
-¤Þ¤¿¤Ï
-.I java -X
-¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-Jjavaoption
+指定された \f2javaoption\fP 文字列を Java インタプリタに直接渡します。(\f3jarsigner\fP は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。
.LP
.TP 3
\-tsa url
-JAR ¥Õ¥¡¥¤¥ë½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ë\f2¡Ö-tsa http://example.tsa.url¡×\fP¤ÈÆþÎϤ·¤¿¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2http://example.tsa.url\fP ¤È¤¤¤¦ URL ¤¬¡¢TSA (Time Stamping Authority) ¤Î¾ì½ê¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f2\-tsacert\fP ¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¸«¤Ä¤«¤Ã¤¿¤É¤Î URL ¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£\f2\-tsa\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+JAR ファイルの署名時にコマンド行に「\f2\-tsa http://example.tsa.url\fP」が表示される場合、署名のタイムスタンプが生成されます。URL \f2http://example.tsa.url\fP は、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプションで検出された URL をオーバーライドします。\f2\-tsa\fP オプションでは、TSA の公開鍵証明書をキーストアに配置する必要はありません。
.LP
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢\f2jarsigner\fP ¤Ï¡¢
-.fi
-http://www.ietf.org/rfc/rfc3161.txt
-¤Î
+タイムスタンプを生成するため、\f2jarsigner\fP は
.na
-¡Ö\f2RFC 3161\fP¡×¤Çµ¬Äꤵ¤ì¤¿ TSP (Time\-Stamp Protocol) ¤ò»È¤Ã¤Æ TSA ¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA ¤«¤éÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤¬¡¢½ð̾¤È¤È¤â¤Ë½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+\f2RFC 3161\fP @
+.fi
+http://www.ietf.org/rfc/rfc3161.txt で定義されている TSP (Time\-Stamp Protocol) を使用して TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンは署名ブロックファイルの署名とともに保存されます。
.LP
.TP 3
\-tsacert alias
-JAR ¥Õ¥¡¥¤¥ë½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ë\f2¡Ö-tsacert alias¡×\fP¤Èɽ¼¨¤µ¤ì¤¿¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2alias\fP ¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Ç¸½ºß͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¤½¤Î¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñÆâ¤Ç¡¢TSA ¤Î¾ì½ê¤òÆÃÄꤹ¤ë URL ¤ò´Þ¤à Subject Information Access ³ÈÄ¥¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£
+JAR ファイルの署名時にコマンド行に「\f2\-tsacert alias\fP」が表示される場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内の現在有効な TSA の公開鍵証明書を特定します。エントリの証明書で、TSA の場所を特定する URL を含む Subject Information Access 拡張機能が確認されます。
.LP
-\f2\-tsacert\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+TSA の公開鍵証明書は、\f2\-tsacert\fP を使った場合、キーストアに配置されている必要があります。
.LP
.TP 3
\-altsigner class
-»ÈÍѤ¹¤ëÂåÂؽð̾µ¡¹½¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢
-.I com.sun.jarsigner.ContentSigner
-Ãê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢
-.I \-altsignerpath
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÄêµÁ¤·¤Þ¤¹¡£
-.I \-altsigner
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.I jarsigner
-¤Ï¤½¤Î»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢
-.I jarsigner
-¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£
+代替署名機構を使用することを指定します。完全修飾クラス名は、\f2com.sun.jarsigner.ContentSigner\fP の abstract クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、\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¤ò»ÈÍѤ·¤Þ¤¹¡£
+たとえば、\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 ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+クラスファイル (クラスファイル名は上記のように \f2\-altsigner\fP オプションで指定される) およびそれが依存する JAR ファイルへのパスを指定します。クラスファイルが JAR ファイル内にある場合、以下の例のように JAR ファイルへのパスが指定されます。
.LP
-ÀäÂХѥ¹¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ëÁêÂХѥ¹¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò \f2classpathlist\fP ¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢Solaris ¾å¤Ç¤Ï¥³¥í¥ó (\f2:\fP)¡¢Windows ¾å¤Ç¤Ï¥»¥ß¥³¥í¥ó (\f2;\fP) ¤ò¤½¤ì¤¾¤ì»È¤Ã¤Æ¥¨¥ó¥È¥ê¤ò¶èÀڤäƤ¯¤À¤µ¤¤¡£¤³¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+絶対パスまたは現在のディレクトリからの相対パスを指定できます。\f2classpathlist\fP には、複数のパスまたは JAR ファイルを含めることができます。 その場合、各パスまたは JAR ファイルを、Solaris の場合にはコロン (\f2:\fP)、Windows の場合にはセミコロン (\f2;\fP) で区切ります。目的のクラスがすでに検索パス内にある場合は、このオプションは不要です。
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã:
+クラスファイルを含む、JAR ファイルへのパスを指定する例を示します。
.RS 3
.LP
@@ -1117,239 +1330,289 @@
.LP
.RE
.LP
-JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+JAR ファイル名が含まれていることに注意してください。
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã:
+クラスファイルを含む JAR ファイルへのパスを指定する例を示します。
.RS 3
.LP
\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
.LP
.RE
.LP
-JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+JAR ファイル名は含まれていないことに留意してください。
.RE
+.SH "例"
.LP
-.SH "Îã"
+
.LP
.SS
-JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾
+JAR ファイルの署名
.LP
-.IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-.B bundle.jar
-¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤¬ jane ¤Ç¤¢¤ë¥æ¡¼¥¶¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢½ð̾¤òÉÕ¤±¤ë¤È¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢mystore ¤È¤¤¤¦Ì¾Á°¤Ç working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï mypass¡¢
-.I jane
-¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï j638klm ¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Æ sbundle.jar ¤È¤¤¤¦½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+bundle.jar という名前の JAR ファイルがあるとします。 このファイルに、キーストアの別名が jane であるユーザーの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で、C ドライブの working ディレクトリにあり、キーストアのパスワードは mypass、\f2jane\fP の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。
+.LP
.nf
-jarsigner \-keystore "/working/mystore" \-storepass myspass
- -keypass j638klm -signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¾å¤Î¥³¥Þ¥ó¥É¤Ç¤Ï
-.I \-sigfile
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ë
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤Ë´ð¤Å¤¯¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ë¤Ê¤ê¡¢¤½¤ì¤¾¤ì
-.I JANE.SF
-¤È
-.I JANE.DSA
-¤Ë¤Ê¤ê¤Þ¤¹¡£
.LP
-¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤ÇÆþÎϤ¹¤ë¾ì¹ç¤Ï¡¢
-¾å¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¼¡¤Î¤è¤¦¤ËÆþÎϤǤ¤Þ¤¹¡£
+上のコマンドでは \f2\-sigfile\fP オプションが指定されていないため、署名付き JAR ファイルに格納される .SF ファイルと .DSA ファイルの名前は、別名からデフォルト名がつけられます。つまり、\f2JANE.SF\fP と \f2JANE.DSA\fP になります。
.LP
-.ft 3
+.LP
+ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、上のコマンドを短縮して次のように入力できます。
+.LP
.nf
-jarsigner \-keystore /working/mystore
- -signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-keystore /working/mystore
+.fl
+ \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢ (¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B .keystore
-¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥¡¼¥¹¥È¥¢¤Î»ØÄê¤ò
-¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+デフォルトのキーストア (ホームディレクトリ内の .keystore という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を省略できます。
+.LP
.nf
-jarsigner \-signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¤Þ¤¿¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ÇÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (
-.I bundle.jar
-) ¤ò¾å½ñ¤¤¹¤ë¾ì¹ç¤Ï¡¢
-.I -signedjar
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤â¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+また、署名付き JAR ファイルで入力 JAR ファイル (\f2bundle.jar\fP) を上書きする場合は、\f2\-signedjar\fP オプションの指定も省略できます。
+.LP
.nf
-jarsigner bundle.jar jane
+\f3
+.fl
+ jarsigner bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+.RE
+
.LP
.SS
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
+署名付き JAR ファイルの検証
.LP
-.IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¡¢½ð̾¤¬Í¸ú¤Ç JAR ¥Õ¥¡¥¤¥ë¤¬
-²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥ÉÎã¤Ç¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner \-verify sbundle.jar
-.fi
-.ft 1
-.LP
-¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jar verified.
-.fi
-.ft 1
-.LP
-¸¡¾Ú¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤è¤ê¿¤¯¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿
-.B jarsigner
-¤Î¼Â¹ÔÎã¤È¤½¤Î½ÐÎÏ·ë²Ì¤Ç¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner -verify -verbose sbundle.jar
+.RS 3
- 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.
+.LP
+.LP
+次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが改変されていないことを確認するためのコマンド例です。
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-verify sbundle.jar
+.fl
+\fP
.fi
-.ft 1
+
+.LP
+.LP
+検証が成功すると、次のようなメッセージが表示されます。
+.LP
+.nf
+\f3
+.fl
+ jar が検証されました。
+.fl
+\fP
+.fi
+
+.LP
+.LP
+というメッセージが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。
+.LP
+.LP
+\f2\-verbose\fP オプションを使うと、より多くの情報が表示されます。次に示すのは、\f2\-verbose\fP オプションを指定した \f3jarsigner\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
-.IX "jarsigner" "Verification with Certificate Information" "\fLjarsigner\fP \(em JAR signing and verification tool "
-
-¸¡¾Ú»þ¤Ë¡¢
-.I -verify
-¤È
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ
-.I -certs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ
-¤¹¡£¤³¤ì¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¾ðÊó (X.509 ¾ÚÌÀ½ñ¤Î¾ì¹ç)¡¢¤ª¤è¤Ó¡¢
-JAR ¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤È°ìÃפ¹¤ë¾ì¹ç
-¤Ë¤Ï¡¢³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿½ð̾¼Ô¤Î¥¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-½ÐÎϤµ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+検証時に、\f2\-verify\fP と \f2\-verbose\fP オプションに加えて \f2\-certs\fP オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されます。 これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合には、括弧で囲まれた署名者のキーストア別名が含まれます。次に例を示します。
+.LP
.nf
- jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar
+.fl
- 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
+.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
- X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
- X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
+.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
- s = signature was verified
- m = entry is listed in manifest
- k = at least one certificate was found in keystore
+.fl
+ s = 署名が検証されました。
+.fl
+ m = エントリがマニフェスト内にリストされます。
+.fl
+ k = 1 つ以上の証明書がキーストアで検出されました。
+.fl
-jar verified.
+.fl
+ jar が検証されました。
+.fl
+\fP
.fi
-.ft 1
+
.LP
-½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤º¡¢¾ÚÌÀ½ñ¤Î
-¥¿¥¤¥×¤ÈÊÌ̾¤À¤±¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬ PGP ¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬ bob ¤Î
-¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されません。その場合には、証明書のタイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の場合は、次のように表示されます。
+.LP
.nf
-PGP, (bob)
+\f3
+.fl
+ PGP, (bob)
+.fl
+\fP
.fi
-.ft 1
+
.LP
.SS
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹½ð̾¼Ô¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
+アイデンティティーデータベースの署名者を含む JAR ファイルの検証
.LP
-.IX "jarsigner" "Verification of a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
-JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ð̾¼Ô¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î
-ÊÌ̾¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¸¡¾Ú¤Î½ÐÎÏ¤Ë¤Ï i ¤È¤¤¤¦µ¹æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤È¥¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤ÎξÊý¤Ë¤è¤Ã¤Æ½ð̾
-¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢k ¤È i ¤ÎξÊý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.I -certs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¤Î¤ËÂФ·¡¢¥¢¥¤¥Ç¥ó¥Æ¥£
-¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+JAR ファイルが、JDK 1.1 の \f3javakey\fP ツールを使って署名されている場合、署名者はアイデンティティーデータベース内の別名です。 この場合、検証の出力には i という記号が含まれます。JAR ファイルが、アイデンティティーデータベース内の別名とキーストア内の別名の両方によって署名されている場合は、k と i の両方が表示されます。
.LP
-.ft 3
+.LP
+\f2\-certs\fP オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティティーデータベース内の別名は角括弧で囲まれて表示されます。例を示します。
+.LP
.nf
-jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
+.fl
- 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
- 199 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.SF
- 1013 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.DSA
-smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
+.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
- X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
- X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
+.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
- s = signature was verified
- m = entry is listed in manifest
- k = at least one certificate was found in keystore
- i = at least one certificate was found in identity scope
+.fl
+ s = 署名が検証されました。
+.fl
+ m = エントリがマニフェスト内にリストされます。
+.fl
+ k = 1 つ以上の証明書がキーストアで検出されました。
+.fl
+ i = 1 つ以上の証明書がアイデンティティースコープで検出されました。
+.fl
-jar verified.
+.fl
+ jar が検証されました。
+.fl
+\fP
.fi
-.ft 1
+
.LP
-ÊÌ̾ duke ¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊÌ̾¤Ï¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ç¤Ï¤Ê¤¯¡¢
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÌ̾¤Ç¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
+.LP
+別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、アイデンティティーデータベースの別名です。
+.LP
+.RE
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
o
-jar ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+jar(1) ツールのドキュメント
.TP 2
o
-keytool ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+keytool(1) ツールのドキュメント
.TP 2
o
-\f3jarsigner\fP ¥Ä¡¼¥ë¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Tutorial¡×
-(http://java.sun.com/docs/books/tutorial/trailmap.html)
-¤Î¡ÖSecurity¡×( http://java.sun.com/docs/books/tutorial/security1.2/index.html)
-¤ò»²¾È
+\f3jarsigner\fP ツールの使用例については、
.na
+\f4「Java Tutorial」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/index.htmlの
+.na
+\f4「Security」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/security/index.htmlを参照
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/java.1 b/jdk/src/linux/doc/man/ja/java.1
index 48dde26..c33c7a8 100644
--- a/jdk/src/linux/doc/man/ja/java.1
+++ b/jdk/src/linux/doc/man/ja/java.1
@@ -1,645 +1,437 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH java 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
-.SH "·Á¼°"
-.B java
-[
-.B options
-]
-.B class
-[
-.B argument ...
-]
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH java 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B java
-[
-.B options
-]
-.B \-jar " file.jar"
-.if n .ti +5n
-[
-.B argument ...
-]
+.SH "名前"
+java \- Java アプリケーション起動ツール
.LP
-.TP 15
-.B options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.TP
-.B class
-¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¡£
-.TP
-.B file.jar
-¸Æ¤Ó½Ð¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£É¬¤º
-.I \-jar
-¤ÈƱ»þ¤Ë»ÈÍѤµ¤ì¤ë¡£
-.TP
-.B argument
-.B main
-´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java interpreter" "" "Java interpreter \(em \fLjava\fP"
-.IX "java" "" "\fLjava\fP \(em Java interpreter"
-.LP
-.B java
-¥Ä¡¼¥ë¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£
-.B java
-¥Ä¡¼¥ë¤Ï¡¢Java Runtime Environment ¤òµ¯Æ°¤·¤¿¤¢¤È¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤³¤Î¥¯¥é¥¹¤Î
-.B main
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£
-.LP
-¤³¤Î¥á¥½¥Ã¥É¤Ï
-.B public
-¤ª¤è¤Ó
-.B static
-¤ÇÀë¸À¤µ¤ì¡¢ÃͤòÊÖ¤µ¤º¡¢¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ
-.I String
-ÇÛÎó¤ò»ÈÍѤǤ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥á¥½¥Ã¥ÉÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- public static void main(String args[])
-.fi
-.ft 1
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤¬¡¢¸Æ¤Ó½Ð¤¹¥¯¥é¥¹¤Î̾Á°¤Ë
-¤Ê¤ê¤Þ¤¹¡£¤³¤Î̾Á°¤Ë¤Ï¡¢´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B \-jar
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢Main-Class ¥Þ¥Ë¥Õ¥§¥¹¥È¥Ø¥Ã¥À¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬¥¹¥¿¡¼¥È
-¥¢¥Ã¥×¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-Java Runtime ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¡¢
-¤ª¤è¤Ó¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤Î 3 ¤Ä¤Î¾ì½ê¤«¤é¡¢µ¯Æ°¥¯¥é¥¹¤È¤½¤Î¾¤Î
-»ÈÍѤ¹¤ë¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£
-.LP
-¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤°ú¿ô¤Ï¡¢
-main ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-µ¯Æ°¥³¥Þ¥ó¥É¤Ë¤Ï¡¢¸½ºß¤Î¼Â¹Ô´Ä¶¤ª¤è¤Ó¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë
-ɸ½à¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢²¾ÁÛ¥Þ¥·¥ó¤Î¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢Èóɸ½à¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.SS "ɸ½à¥ª¥×¥·¥ç¥ó"
-.IX "java" "Standard Options" "\fLjava\fP \(em Java interpreter"
-.TP 3
-.LP
-.B \-client
-Java HotSpot Client
-.SM VM\s0
-¤òÁªÂò¤·¤Þ¤¹¡£
-64 ¥Ó¥Ã¥ÈÂбþ JDK ¤Ï¸½»þÅÀ¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵»ë¤·¡¢Âå¤ï¤ê¤Ë Java Hotspot Server VM ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
-¤Î
-.na
-¡Ö\f2Server\-Class Machine Detection\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-server
-Java HotSpot Server
-VM
-¤òÁªÂò¤·¤Þ¤¹¡£
-64 ¥Ó¥Ã¥ÈÂбþ JDK ¾å¤Ç¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï Java Hotspot Server VM ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢\-server ¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
-¤Î
-.na
-¡Ö\f2Server\-Class Machine Detection\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-agentlib:libname[=options]
-¥Í¥¤¥Æ¥£¥Ö¤Î¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê
-.I libname
-¤òÆɤ߹þ¤ß¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-\-agentlib:hprof
-\-agentlib:jdwp=help
-\-agentlib:hprof=help
-.fi
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
.RE
-.LP
-¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
-¤Î
-.na
-¡Ö\f2JVMTI Agent Command Line Options\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-agentpath:pathname[=options]
-¥Í¥¤¥Æ¥£¥Ö¤Î¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥Õ¥ë¥Ñ¥¹Ì¾¤ò»ÈÍѤ·¤ÆÆɤ߹þ¤ß¤·¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
-¤Î
-.na
-¡Ö\f2JVMTI Agent Command Line Options\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-classpath " classpath"
-.TP
-.B \-cp " classpath"
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î³Æ¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.B \-classpath
-¤Þ¤¿¤Ï
-.B \-cp
-¤ò»ØÄꤹ¤ë¤È¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ
-.SB CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄê¤Ï¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.LP
-.B \-classpath
-¤È
-.B \-cp
-¤ò»ÈÍѤ»¤º¡¢
-.SB CLASSPATH
-¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (.) ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
-.br
-.br
-¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê
-.I foo
-¤Ë
-.I a.jar
-¤È
-.I b.JAR
-¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ
-.I foo/*
-¤Ï
-.I A.jar:b.JAR
-¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈ֤ϻØÄꤵ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-* ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
-.I CLASSPATH
-´Ä¶ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
-.I System.getenv
-("
-.I CLASSPATH
-")
-¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.LP
-¥¯¥é¥¹¥Ñ¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-Dproperty=value
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£
-.TP
-.B \-d32
-.TP
-.B \-d64
-¤½¤ì¤¾¤ì 32 ¥Ó¥Ã¥È´Ä¶¡¢64 ¥Ó¥Ã¥È´Ä¶¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£Í׵ᤵ¤ì¤¿´Ä¶¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£
-.LP
-¸½»þÅÀ¤Ç¤Ï¡¢64 ¥Ó¥Ã¥ÈÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ï Java HotSpot Server VM
-¤À¤±¤Ç¤¢¤ê¡¢
-.B \-server
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢
-.B \-d64
-¤¬°ÅÌÛŪ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢\-d64 »ÈÍÑ»þ¤Ë¤Ï¡Ö-client¡×¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.B \-d32
-¤È
-.B \-d64
-¤Î¤É¤Á¤é¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-64 ¥Ó¥Ã¥ÈÀìÍÑ¥·¥¹¥Æ¥à¤ò½ü¤¤¤Æ¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 32 ¥Ó¥Ã¥È´Ä¶¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-\-enableassertions[:<package name>"..." | :<class name> ]
-.TP 3
-\-ea[:<package name>"..." | :<class name> ]
-.LP
-ɽÌÀ¤ò͸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¡¢É½ÌÀ¤Ï̵¸ú¤Ç¤¹¡£
-.sp 1n
-°ú¿ô¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢
-.BR enableassertions
-¤Þ¤¿¤Ï
-.BR \-ea
-¤ÇɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤È¤¤¤¦°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢
-¸½ºß¤Îºî¶ÈÍѥǥ£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î
-ɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤ÎɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-1 ¹Ô¤Î¥³¥Þ¥ó¥É¤Ë¡¢¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤ÎÊ£¿ô¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬
-´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¤òÆɤ߹þ¤àÁ°¤Ë¡¢Àµ¤·¤¯½èÍý¤µ¤ì¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸
-.I com.wombat.fruitbat
- (¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸) Æâ¤À¤±¤Î͸ú¤ÊɽÌÀ¤ò
-´Þ¤ó¤À¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.TP
-.BR java -ea:com.wombat.fruitbat... <Main Class>
-.LP
-.BR \-enableassertions
-¤ª¤è¤Ó
-.BR \-ea
-¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹ (¥¯¥é¥¹¥í¡¼¥À¤ò»ý¤¿¤Ê¤¤) ¤ËŬÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£°ú¿ô¤¬¤Ê¤¤·Á¼°¤Î¾ì¹ç¡¢
-¥¹¥¤¥Ã¥Á¤Ï¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤òÍøÍѤ·¤Æ¡¢´Êñ¤Ë¡¢
-¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¸ÄÊ̤Υ¹¥¤¥Ã¥Á¤â
-ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.BR \-enablesystemassertions
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 3
-\-disableassertions[:<package name>"..." | :<class name> ]
-.TP 3
-\-da[:<package name>"..." | :<class name> ]
-.LP
-ɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£
-.sp 1n
-°ú¿ô¤ò»ØÄꤻ¤º¤Ë¡¢
-.BR disableassertions
-¤Þ¤¿¤Ï
-.BR \-da
-¤ÇɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤È¤¤¤¦°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢¸½ºß¤Îºî¶ÈÍÑ
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë
-¤Ê¤ê¤Þ¤¹¡£¡Ö...¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢
-»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸
-.I com.wombat.fruitbat
-¤ÎɽÌÀ¤Ï͸ú¤Ë¡¢¥¯¥é¥¹
-.I com.wombat.fruitbat.Brickbat
-¤ÎɽÌÀ¤Ï̵¸ú¤Ë¤·¤Æ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
-java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>
-
-.BR \-disableassertions
-¤ª¤è¤Ó
-.BR \-da
-¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹ (¥¯¥é¥¹¥í¡¼¥À¤ò»ý¤¿¤Ê¤¤) ¤ËŬÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£
-°ú¿ô¤ò»ý¤¿¤Ê¤¤·Á¼°¤Î¾ì¹ç¡¢¥¹¥¤¥Ã¥Á¤Ï¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤òÍøÍѤ·¤Æ¡¢´Êñ¤Ë¡¢
-¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Æâ¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹ÆâÆâ¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¸ÄÊ̤Υ¹¥¤¥Ã¥Á¤â
-ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.BR \-disablesystemassertions
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BR \-enablesystemassertions
-.TP 3
-\-esa
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤·¤Þ¤¹ (¥·¥¹¥Æ¥à¥¯¥é¥¹¤Î
-¥Ç¥Õ¥©¥ë¥È¤ÎɽÌÀ¥¹¥Æ¡¼¥¿¥¹¤ò true ¤ËÀßÄꤷ¤Þ¤¹)¡£
-.TP
-.BR \-disablesystemassertions
-.TP 3
-\-dsa
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-.TP 3
-\-jar
-JAR ¤ÎÃæ¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£ºÇ½é¤Î°ú¿ô¤Ï¡¢µ¯Æ°¥¯¥é¥¹¤Î̾Á°¤Ç¤Ï¤Ê¤¯¡¢JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë·Á¼° \f3Main-Class:\f1\f2classname\f1 ¤Î¹Ô¤¬Æþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I classname
-¤Ï¡¢¥æ¡¼¥¶¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»ÏÅÀ¤È¤Ê¤ë
-.I public static void main(String[] args)
-¥á¥½¥Ã¥É¤ò»ý¤Ä¥¯¥é¥¹¤ò¼±Ê̤·¤Þ¤¹¡£
-Jar ¥Õ¥¡¥¤¥ë¤È Jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤ò°·¤¦ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢Jar ¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤È¡¢
-.na
-\f2Java Tutorial\fP
-.fi
-(http://java.sun.com/docs/books/tutorial/jar)
-¤Î Jar ¥È¥ì¡¼¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¥¯¥é¥¹¤Î¥½¡¼¥¹¤È¤Ê¤ë¤¿¤á¡¢Â¾¤Î¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
+.SH "形式"
.LP
-.B "java \-jar"
-¥ª¥×¥·¥ç¥ó¤Ç¼Â¹Ô¤Ç¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.B "java \-jar"
-¤Ê¤·¤Ç¤â¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¡¢¼Â¹Ô¸¢¸Â¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html
-¤Î
-.na
-¡Ö\f2Java Archive (JAR) Files\f¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-javaagent:jarpath[=options]
-Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html
-¤Î
-¡Ö\f2java.lang.instrument\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.B \-verbose
-.LP
-.TP 3
-\-verbose: class
-¥¯¥é¥¹¤¬Æɤ߹þ¤Þ¤ì¤ë¤¿¤Ó¤Ë¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-.PD
-.LP
-.TP 3
-\-verbose:gc
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¡£
-.TP 3
-.B \-verbose:jni
-¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ª¤è¤Ó¤½¤Î¾¤Î Java Native Interface (JNI) ¤Î»ÈÍѤ˴ؤ¹¤ë
-¾ðÊó¤òÊó¹ð¤·¤Þ¤¹¡£
-.TP 3
-.B \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-.B \-version:release
-¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬¡¢\f2release\fP ¤Ç»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤òɬÍפȤ·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£µ¯Æ°¤µ¤ì¤¿ java ¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍƤòËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.LP
-\f2release\fP ¤Ç¤Ï¡¢ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄê¤Ç¤¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¸Æ¤Ð¤ì¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¶õÇò¤Ç¶èÀڤä¿·Á¼°¤Î½ç½øÉÕ¤¥ê¥¹¥È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óÈϰϤϡ¢¥Ð¡¼¥¸¥ç¥ó ID¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉղä·¤¿¤â¤Î¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥×¥é¥¹µ¹æ (+) ¤òÉղä·¤¿¤â¤Î¡¢2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ç·ë¹ç¤·¤¿¤â¤Î¡¢¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¥×¥ì¥Õ¥£¥Ã¥¯¥¹°ìÃפò¡¢¥×¥é¥¹µ¹æ¤Ï»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó°Ê¾å¤ò¡¢¥¢¥ó¥Ñ¥µ¥ó¥É¤Ï 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤÎÏÀÍýÀѤò¡¢¤½¤ì¤¾¤ì°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.nf
\f3
.fl
--version:"1.5.0_04 1.5*&1.5.1_02+"
+ \fP\f3java\fP [ options ] class [ argument ... ]
.fl
-\fP
+ \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ]
+.fl
.fi
-¾åµ¤Î°ÕÌ£¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.5.0_04¡¢¤Þ¤¿¤Ï 1.5.1_02 °Ê¾å¤Ç 1.5 ¤ò¥Ð¡¼¥¸¥ç¥ó ID ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤È¤·¤Æ»ý¤Ä¥Ð¡¼¥¸¥ç¥ó¡¢¤Î¤¤¤º¤ì¤«¤ò¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬É¬ÍפȤ¹¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸·Ì©¤Ê¹½Ê¸¤äÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Network Launching Protocol & API Specification (JSR\-56)¡×¤Î¡ÖAppendix A¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+
.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ÏÄ̾¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ë½ÅÍפʥݥꥷ¡¼¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÃí¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-showversion
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¡¢¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£
-.TP
-.B \-?
-.PD 0
-.TP
-.B \-help
-»ÈÍÑË¡¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.PD
-.TP
-.B \-X
-Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.LP
-.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó"
-.LP
-.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter"
-.LP
-.TP 3
-.B \-Xint
-¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤ÇÆ°ºî¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï
-̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-Java HotSpot VM Ŭ±þ·¿¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤Î
-ÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£
-.TP 3
-.B \-Xbatch
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-Ä̾VM ¤Ç¤Ï¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-¤³¤Î¤È¤¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢
-¥¤¥ó¥¿¥×¥ê¥¿¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-.B \-Xbatch
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬
-̵¸ú¤Ë¤Ê¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï´°Î»¤¹¤ë¤Þ¤Ç
-¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Î¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath: bootclasspath
-¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤¿¤á¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP
-¥¢¡¼¥«¥¤¥Ö¤ò¥³¥í¥ó¤Ç¶èÀڤ俥ꥹ¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ë
-¸ºß¤¹¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢JDK ¤Ë´Þ¤Þ¤ì¤ë
-¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë»È¤ï¤ì¤Þ¤¹¡£
-Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¾å½ñ¤¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÇÛÈ÷¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-ÇÛÈ÷¤¹¤ë¤È¡¢Java Runtime Environment
-¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath/a:path
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢
-.SM JAR
-¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó
-.SM ZIP
-¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath/p:path
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲ乤ë
-¥Ç¥£¥ì¥¯¥È¥ê¡¢
-.SM JAR
-¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó
-.SM ZIP
-¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£
-Ãí: ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¡¢
-.B rt.jar
-Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É
-¤¹¤ëÌÜŪ¤Ç»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-»ØÄꤹ¤ë¤È¡¢Java Runtime Environment
-¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.B \-Xcheck:jni
-Java Native Interface (JNI) µ¡Ç½¤ËÂФ·¤Æ
-ÄɲåÁ¥§¥Ã¥¯¤ò¼Â¹Ô¤·¤Þ¤¹¡£Æäˡ¢Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Ï
-JNI Í×µá¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI µ¡Ç½¤ËÅϤµ¤ì¤ë
-¥Ñ¥é¥á¡¼¥¿¤ª¤è¤Ó¼Â¹Ô´Ä¶¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£
-̵¸ú¤Ê¥Ç¡¼¥¿¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ë
-ÌäÂ꤬¤¢¤ë¤ÈȽÃǤ·¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Ï
-Ã×̿Ū¤Ê¥¨¥é¡¼¤Ç½ªÎ»¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤·¤Þ¤¹¡£
-.TP 3
-.B \-Xfuture
-¸·Ì©¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤Î¸¡ºº¤ò¼Â¹Ô¤·¤Þ¤¹¡£²¼°Ì¸ß´¹À¤ò°Ý»ý
-¤¹¤ë¤¿¤á¡¢JDK ¤Î Virtual Machine ¤Ç¼Â¹Ô¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î
-·Á¼°¸¡ºº¤Ï¡¢JDK ¥½¥Õ¥È¥¦¥§¥¢¤Î 1.1.x ¥Ð¡¼¥¸¥ç¥ó¤Ç¼Â¹Ô¤µ¤ì¤ë¸¡ºº¤è¤ê¤â
-¸·Ì©¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.B \-Xfuture
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤ò
-¤è¤ê»ÅÍͤ˽àµò¤·¤¿¤â¤Î¤Ë¤¹¤ë¤¿¤á¤Î¡¢¤µ¤é¤Ë¸·Ì©¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¸¡ºº¤¬
-͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£³«È¯¼Ô¤¬¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ëºÝ¤Ë¤Ï¡¢¤³¤Î¥Õ¥é¥°¤Î
-»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î
-¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¸¡ºº¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤«¤é¤Ç¤¹¡£
-.TP 3
-.B \-Xnoclassgc
-¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥í¡¼¥ÉºÑ¤ß¥¯¥é¥¹¤«¤é¥á¥â¥ê¤¬²óÉü¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ë¤¿¤á¡¢Á´ÂÎŪ¤Ê¥á¥â¥ê»ÈÍÑÎ̤¬ÁýÂ礷¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï OutOfMemoryError ¤¬¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.BI \-Xincgc
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤ò͸ú¤Ë¤·¤Þ¤¹¡£
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
-̵¸ú¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢Í¸ú¤Ë¤¹¤ë¤È¥×¥í¥°¥é¥à¤Î¼Â¹ÔÃæ¤Î
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤ëÄä»ß¤òËɤ®¤Þ¤¹¡£
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥×¥í¥°¥é¥à¤ÈƱ»þ¤Ë
-¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Æ±»þ¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¡¢¥×¥í¥°¥é¥à¤ÇÍøÍѲÄǽ¤Ê
-¥×¥í¥»¥Ã¥µÇ½ÎϤ¬¸º¾¯¤·¤Þ¤¹¡£
-.TP 3
-.B \-Xloggc:file
-.BR \-verbose:gc
-¤ÈƱÍÍ¡¢³Æ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Ç
-¥ì¥Ý¡¼¥È¤òºîÀ®¤·¡¢¤³¤Î¥Ç¡¼¥¿¤ò
-.I file
-¤ËµÏ¿¤·¤Þ¤¹¡£
-.I \-verbose:gc
-¤Ë¤è¤êÆþ¼ê¤Ç¤¤ë¾ðÊó¤Ë²Ã¤¨¤Æ¡¢¥ì¥Ý¡¼¥È¤µ¤ì¤ë¥¤¥Ù¥ó¥È¤Ë¤Ï
-ºÇ½é¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤«¤é¤Î·Ð²á»þ´Ö (Éÿô) ¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£
-.sp 1
-¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÃÙ±ä¤Ë¤è¤ë JVM ¤ÎÄä»ß¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î
-µ²±°è¤È¤·¤Æ¾ï¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Õ¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ª¤è¤Ó¥í¥®¥ó¥°¤¬ÉÔ´°Á´¤Ê¥Õ¥¡¥¤¥ë
-¤ËÄɲ䵤ì¤ë¾ì¹ç¡¢ÀÚ¤êµÍ¤á¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.I \-verbose:gc
-¤È¤¤¤Ã¤·¤ç¤Ë»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£
-.TP 3
-.B \-Xmsn
-¥á¥â¥ê³ä¤êÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-»ØÄꤹ¤ëÃͤϡ¢1M ¥Ð¥¤¥È¤è¤ê¤âÂç¤¤Ê 1024 ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ʸ»ú
-.B k
-¤Þ¤¿¤Ï
-.B K
-¤òÉÕ¤±¤ë¤È K ¥Ð¥¤¥È¡¢Ê¸»ú
-.B m
-¤Þ¤¿¤Ï
-.B M
-¤òÉÕ¤±¤ë¤È M ¥Ð¥¤¥È¤òɽ¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖHotSpot Ergonomics¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤
-.br
-Îã:
-.LP
-.RS 5
-.nf
-\-Xms6291456
-\-Xms6144k
-\-Xms6m
-.fi
-.RE
-.TP 3
-.B \-Xmxn
-¥á¥â¥ê³ä¤êÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤷ¤Þ¤¹¡£
-»ØÄꤹ¤ëÃͤϡ¢2M ¥Ð¥¤¥È¤è¤ê¤âÂç¤¤Ê 1024 ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ʸ»ú
-.B k
-¤Þ¤¿¤Ï
-.B K
-¤òÉÕ¤±¤ë¤È K ¥Ð¥¤¥È¡¢Ê¸»ú
-.B m
-¤Þ¤¿¤Ï
-.B M
-¤òÉÕ¤±¤ë¤È M ¥Ð¥¤¥È¤òɽ¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖHotSpot Ergonomics¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤
-.br
-Îã:
-.LP
-.RS 5
-.nf
-\-Xmx83886080
-\-Xmx81920k
-\-Xmx80m
-.fi
-.RE
-.LP
-Solaris 7 ¤ª¤è¤Ó Solaris 8 SPARC ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¡¢¤³¤ÎÃͤξå¸Â¤Ï¤ª¤è¤½ 4000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¢¤ê¡¢Solaris 2.6 ¤ª¤è¤Ó x86 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Ï 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£
-Linux ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½
-2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£
-.TP 3
-.BI \-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 ¤Î
-¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤È¤Î´Ö¤Ë´³¾Ä¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê´³¾Ä¤òÈò¤±¤ë¤¿¤á¤Ë¡¢\-Xrs ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤǤ¤Þ¤¹¡£
-Sun ¤Î JVM ¤Ç \-Xrs ¤¬»ÈÍѤµ¤ì¤ë¤È¡¢SIGINT¡¢SIGTERM¡¢SIGHUP¡¢
-¤ª¤è¤Ó SIGQUIT ¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ï JVM ¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢
-¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-\-Xrs ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢±Æ¶Á¤¬ 2 ¤Ä¤¢¤ê¤Þ¤¹¡£
.RS 3
-.TP 2
-*
-SIGQUIT ¥¹¥ì¥Ã¥É¥À¥ó¥×¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.TP 2
-*
-¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤Î¼Â¹Ô¤Ï¡¢¥æ¡¼¥¶¥³¡¼¥É¤¬¼õ¤±»ý¤Á¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð JVM ¤¬½ªÎ»¤¹¤ë¤È¤¤Ë System.exit() ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.TP
-.B \-Xssn
-¥¹¥ì¥Ã¥É¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£
-.TP
-.BI \-XX:+UseAltSigs
-VM ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç
-.I SIGUSR1
-¤ª¤è¤Ó
-.I SIGUSR2
-¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢
-.I SIGUSR1
-¤ª¤è¤Ó
-.I SIGUSR2
-¤ò¥·¥°¥Ê¥ëÏ¢º¿¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È
-¶¥¹ç¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.I \-XX:+UseAltSigs
-¥ª¥×¥·¥ç¥ó¤Ï¡¢VM ¤Ë¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ
-.I SIGUSR1
-¤È
-.I SIGUSR2
-°Ê³°¤Î¥·¥°¥Ê¥ë¤ò»ÈÍѤµ¤»¤Þ¤¹¡£
+
.LP
-.SH "Ãí"
+.RS 3
+.TP 3
+options
+コマンド行オプション。
+.TP 3
+class
+呼び出されるクラスの名前
+.TP 3
+file.jar
+呼び出される JAR ファイルの名前。必ず \f2\-jar\fP とともに使用する
+.TP 3
+argument
+\f3main\fP 関数に渡される引数
+.RE
+
+.LP
+.RE
+.SH " 説明"
.LP
.LP
-\f3\-version:\fP\f2release\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤É¤ó¤Ê¤ËÊ£»¨¤Ë¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¸½¼ÂŪ¤Ê¥ê¥ê¡¼¥¹»ØÄê¤Î¸Â¤é¤ì¤¿¥µ¥Ö¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤âŬÀڤʥݥꥷ¡¼¤òɽ¸½¤Ç¤¤ë¤¿¤á¡¢¤½¤ì¤é¤Î¥µ¥Ö¥»¥Ã¥È¤Î¤ß¤¬´°Á´¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤½¤ì¤é¤Î¥Ý¥ê¥·¡¼¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+.LP
+\f3java\fP ツールは、Java アプリケーションを起動します。java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、そのクラスの \f3main\fP メソッドを呼び出すことにより、Java アプリケーションを起動します。
+.LP
+.LP
+このメソッドは、public および static として宣言する必要があります。 また、値を返してはいけません。 さらに、\f2String\fP 配列をパラメータとして指定できなければなりません。メソッドの宣言は、次のようになっていなければなりません。
+.LP
+.nf
+\f3
+.fl
+ public static void main(String args[])
+.fl
+\fP
+.fi
+
+.LP
+.LP
+デフォルトでは、コマンド行オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。\f3\-jar\fP オプションを指定した場合、コマンド行オプション以外の最初の引数が、アプリケーションのクラスファイルとリソースファイルを含む \f3JAR\fP アーカイブの名前になります。 この場合、マニフェストの \f3Main\-Class\fP ヘッダーで指定されたクラスが起動クラスになります。
+.LP
+.LP
+Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、およびユーザークラスパスの 3 箇所から起動クラスと他の使用されているクラスを検索します。
+.LP
+.LP
+クラス名または JAR ファイル名のあとにある、コマンド行オプション以外の引数は、\f3main\fP 関数に渡されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。 これは、将来のリリースで変更される可能性があります。
+.LP
+.SH "標準オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-client
+.LP
+Java HotSpot Client VM を選択します。64 ビット対応 JDK は現時点では、このオプションを無視し、代わりに Java Hotspot Server VM を使用します。
+.LP
+デフォルトの VM の選択については、
+.na
+\f2「サーバー \- クラスマシンの検出」\fP @
+.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 @
+.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 @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。
+.TP 3
+\-agentpath:pathname[=options]
+フルパス名を使用して、ネーティブエージェントライブラリをロードします。詳細については、
+.na
+\f2「JVMTI エージェントのコマンド行オプション」\fP @
+.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 つの呼び出しを区別できない)。
+.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 ビットの操作をサポートしており、\-d64 を使用すると \-server オプションが暗黙的に有効になります。したがって、\-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 <Main Class>
+.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
+すべてのシステムクラス内でアサーションを無効にします。
+.LP
+.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://java.sun.com/docs/books/tutorial/jarの「Trail: Jar Files」を参照してください。
+.LP
+このオプションを使用すると、指定した JAR ファイルがすべてのユーザークラスのソースになり、ユーザークラスパスのほかの設定は無視されます。
+.LP
+Solaris 8 では、「java \-jar」オプションで実行できる JAR ファイルは、実行権限のセットを保持しています。 このため、「java \-jar」を使用しないで実行することも可能です。
+.na
+\f2Java Archive (JAR) ファイル\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/index.htmlを参照してください。
+.TP 3
+\-javaagent:jarpath[=options]
+Java プログラミング言語エージェントをロードします。
+.na
+\f2java.lang.instrument\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html を参照してください。
+.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.5.0_04 1.5*&1.5.1_02+"
+.fl
+\fP
+.fi
+上記の意味は、バージョン 1.5.0_04、または 1.5.1_02 以上で 1.5 をバージョン ID プレフィックスとして持つバージョン、のいずれかをクラスまたは 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
+\-X
+非標準オプションに関する情報を表示して終了します。
+.RE
+
+.LP
+.SS
+非標準オプション
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+\-Xint
+インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。
+.TP 3
+\-Xbatch
+バックグラウンドコンパイルを無効にします。通常、VM では、バックグラウンドコンパイルが終了するまで、メソッドをバックグラウンドタスクとしてコンパイルし、インタプリタモードでメソッドを実行します。\f2\-Xbatch\fP フラグを指定すると、バックグラウンドコンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンドタスクとして処理されます。
+.TP 3
+\-Xbootclasspath:bootclasspath
+ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストで指定します。指定したパスに存在するブートクラスファイルが、Java 2 SDK に含まれるブートクラスファイルの代わりに使用されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java 2 Runtime Environment バイナリコードライセンス違反になります。\fP
+.TP 3
+\-Xbootclasspath/a:path
+ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスのあとに追加されます。
+.TP 3
+\-Xbootclasspath/p:path
+ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスの前に追加されます。\f2注 rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java 2 Runtime Environment バイナリコードライセンス違反になります。\fP
+.TP 3
+\-Xcheck:jni
+Java Native Interface (JNI) 機能に対して追加チェックを行います。具体的には、Java 仮想マシンは JNI 要求を処理する前に、JNI 関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブコードに問題があることを示しているため、Java 仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。
+.TP 3
+\-Xfuture
+クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、Java 2 SDK の仮想マシンが実行するデフォルトの形式チェックは、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 の両方がコマンド行に指定されている場合は、このオプションが優先されます。
+.LP
+.TP 3
+\-Xmsn
+メモリー割り当てプールの初期サイズをバイト数で指定します。指定する値は、1M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。 メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください。
+.br
+例:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ \-Xms6291456
+.fl
+ \-Xms6144k
+.fl
+ \-Xms6m
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-Xmxn
+メモリー割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。 メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください。
+.br
+例:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ \-Xmx83886080
+.fl
+ \-Xmx81920k
+.fl
+ \-Xmx80m
+.fl
+
+.fl
+\fP
+.fi
+.RE
+Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。Linux プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。
+.TP 3
+\-Xprof
+実行中のプログラムのプロファイルを生成し、プロファイリングデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティーとして提供されています。 本番稼動システムでの使用を目的としたものではありません。
+.LP
+.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
+.RE
+.SH "注"
+.LP
+
+.LP
+\f3\-version:\fP\f2release\fP コマンド行オプションでは、どんなに複雑にリリースを指定してもかまいません。ただし、現実的なリリース指定の限られたサブセットを使用するだけでも適切なポリシーを表現できるため、それらのサブセットのみが完全にサポートされます。それらのポリシーを次に示します。
.RS 3
.TP 3
1.
-Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¤³¤ì¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤Çɽ¸½¤Ç¤¤Þ¤¹¡£
+任意のバージョン。 これは、このオプションを使用しないことで表現できます。
.TP 3
2.
-¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+ある特定のバージョン ID よりも大きい任意のバージョン。 次に例を示します。
.nf
\f3
.fl
@@ -648,15 +440,20 @@
\fP
.fi
.LP
-¤³¤Î¾ì¹ç¡¢1.5.0_03 ¤è¤ê¤âÂ礤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ÇÆÃÄê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Æ³Æþ¤µ¤ì¤¿ (¤¢¤ë¤¤¤Ï¤½¤Î¥Ð¥°¤¬½¤Àµ¤µ¤ì¤¿) ¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
+この場合、1.5.0_03 よりも大きい任意のバージョンが使用されます。 これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。
.TP 3
3.
-¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礤¤¥Ð¡¼¥¸¥ç¥ó¡£¤¿¤À¤·¡¢¤½¤Î¥ê¥ê¡¼¥¹¥Õ¥¡¥ß¥ê¤Î¾å¸Â¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ë¤â¤Î¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.TP
+ある特定のバージョン ID よりも大きいバージョン。 ただし、そのリリースファミリの上限によって制限するもの。例を示します。
+.nf
+\f3
+.fl
"1.5.0_03+&1.5*"
+.fl
+\fP
+.fi
.TP 3
4.
-¾å¤Î¹àÌÜ 2 ¤Þ¤¿¤Ï 3 ¤Î¡ÖOR¡×ɽ¸½¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+上の項目 2 または 3 の「OR」表現。例を示します。
.nf
\f3
.fl
@@ -664,48 +461,45 @@
.fl
\fP
.fi
-¤³¤ì¤Ï¹àÌÜ 2 ¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¤¢¤ëÊѹ¹¤¬ÆÃÄê¤Î¥ê¥ê¡¼¥¹ (1.5) ¤ÇƳÆþ¤µ¤ì¤¿¤¬¡¢¤½¤ÎƱ¤¸Êѹ¹¤¬°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤âÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¡¢¤È¤¤¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
+これは項目 2 に似ていますが、ある変更が特定のリリース (1.5) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。
.RE
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
-*
-javac \- Java ¥×¥í¥°¥é¥à¸À¸ì¥³¥ó¥Ñ¥¤¥é
+o
+javac(1)
.TP 2
-*
-jdb \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Ç¥Ð¥Ã¥¬
+o
+jdb(1)
.TP 2
-*
-javah \- C ¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿
+o
+javah(1)
.TP 2
-*
-jar \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+o
+jar(1)
.TP 2
-*
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
-¤Î
+o
.na
-¡Ö\f2The Java Extensions Framework\fP¡×
-.TP 2
-*
+\f2「Java 拡張機能フレームワーク」\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/index.html
-¤Î
-.na
-¡Ö\f2Security Features\fP¡×
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.TP 2
-*
-.fi
-http://java.sun.com/docs/hotspot/VMOptions.html
-¤Î
+o
.na
-¡Ö\f2HotSpot VM Specific Options\fP¡×
+\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
diff --git a/jdk/src/linux/doc/man/ja/javac.1 b/jdk/src/linux/doc/man/ja/javac.1
index 57460f6..fa44aa0 100644
--- a/jdk/src/linux/doc/man/ja/javac.1
+++ b/jdk/src/linux/doc/man/ja/javac.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,15 +19,45 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH javac 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+.TH javac 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-javac \- Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥é
+.SH "名前"
+javac \- Java プログラミング言語コンパイラ
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+コマンド行引数ファイル
+.TP 2
+o
+注釈処理
+.TP 2
+o
+型の検索
+.TP 2
+o
+プログラマティックインタフェース
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -44,7 +72,7 @@
.LP
.LP
-°ú¿ô¤Ï½çÉÔƱ¤Ç¤¹¡£
+引数は順不同です。
.LP
.RS 3
@@ -52,61 +80,61 @@
.RS 3
.TP 3
options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
+コマンド行オプション。
.TP 3
sourcefiles
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (MyClass.java ¤Ê¤É)
+コンパイルされる 1 つ以上のソースファイル (MyClass.java など)
.TP 3
classes
-Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ (MyPackage.MyClass ¤Ê¤É)¡£
+注釈の処理対象となる 1 つ以上のクラス (MyPackage.MyClass など)
.TP 3
@argfiles
-¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
+オプションとソースファイルを列挙した 1 つ以上のファイル。このファイルの中では、\f2\-J\fP オプションは指定できません。
.RE
.LP
.RE
-.SH "µ¡Ç½ÀâÌÀ"
+.SH "説明"
.LP
.LP
.LP
-\f3javac\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆɤ߼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¹Ô¤¤¤Þ¤¹¡£
+\f3javac\fP ツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラスファイルにコンパイルします。また、Java ソースファイルおよびクラス内の注釈の処理も行います。
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò \f3javac\fP ¤ËÅϤ¹¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
+ソースコードのファイル名を \f3javac\fP に渡すには、次の 2 つの方法があります。
.LP
.RS 3
.TP 2
o
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¹Ô¤ÇľÀÜ»ØÄꤷ¤Þ¤¹¡£
+ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。
.TP 2
o
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäơ¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÎóµó¤·¤Þ¤¹¡£¼¡¤Ë¡¢¤³¤Î¥ê¥¹¥È¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Ë \f3@\fP ¤òÉÕ¤±¤Æ¡¢\f3javac\fP ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Þ¤¹¡£
+ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。
.RE
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.java\fP ³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.class\fP ³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\f2MyClass\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢\f2MyClass.class\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ëµ½Ò¤·¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢MyClass.class ¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
+ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。 また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、\f2MyClass\fP という名前のクラスは、\f2MyClass.java\fP という名前のソースファイルに記述します。 このソースファイルは、\f2MyClass.class\fP という名前のバイトコードクラスファイルにコンパイルされます。
.LP
.LP
-ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢\f2MyClass$MyInnerClass.class\fP ¤Î¤è¤¦¤Ë¡¢³°Éô¥¯¥é¥¹Ì¾¤ÈÆâÉô¥¯¥é¥¹Ì¾¤òÁȤ߹ç¤ï¤»¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
+内部クラスが定義されていると、追加のクラスファイルが生成されます。これらのクラスファイルの名前は、\f2MyClass$MyInnerClass.class\fP のように、外部クラス名と内部クラス名を組み合わせたものになります。
.LP
.LP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f3/workspace\fP ¤ËÃÖ¤¤¤Æ¤¤¤ë¾ì¹ç¡¢\f2com.mysoft.mypack.MyClass\fP ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï \f3/workspace/com/mysoft/mypack/MyClass.java\fP ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、\f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»ÈÍѤ·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È)¡£
+デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとのオプションを参照)。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇͤΥª¥×¥·¥ç¥ó¤Ç¡¢¾Íè¤ËÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-X\fP ¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£
+コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。
.LP
.SS
-ɸ½à¥ª¥×¥·¥ç¥ó
+標準オプション
.LP
.RS 3
@@ -114,162 +142,162 @@
.RS 3
.TP 3
\-Akey[=value]
-Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£¤³¤ì¤é¤Ï¡¢javac ¤Ë¤è¤Ã¤ÆľÀܲò¼á¤µ¤ì¤º¡¢¸Ä¡¹¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\f2key\fP ¤Ë¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¡Ö.¡×¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。 \f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。
.TP 3
-\-cp path ¤Þ¤¿¤Ï \-classpath path
-¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï) Ãí¼á¥×¥í¥»¥Ã¥µ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Ñ¥¹¤Ï \f3CLASSPATH\fP ´Ä¶ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f3CLASSPATH\fP¡¢\f3\-cp\fP¡¢\f3\-classpath\fP ¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
+\-cp path または \-classpath path
+ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、
.na
-¡Ö\f2Setting the Class Path\fP¡×
+\f2「クラスパスの設定」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。
.LP
-\f3\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£
+\f3\-sourcepath\fP オプションが指定されていない場合は、ソースファイルもユーザークラスパスから検索されます。
.LP
-\f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¸¡º÷¤µ¤ì¤Þ¤¹¡£
+\f3\-processorpath\fP オプションが指定されていない場合は、注釈プロセッサもユーザークラスパスから検索されます。
.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます。
.br
.br
-¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤ÄêµÁ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f2*\fP ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\f2CLASSPATH\fP ´Ä¶ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£\f3Ãí:\fP \ ¥³¥Þ¥ó¥É¹Ô´Ä¶¤Î¹½À®¤Ë¤è¤Ã¤Æ¤Ï¡¢\f2javac \-cp "*.jar" MyClass.java\fP ¤Ê¤É¤Î¤è¤¦¤Ë¡¢¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤ò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
+たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。 ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fPコマンド行環境の構成によっては、\f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。
.TP 3
\-Djava.ext.dirs=directories
-¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+インストール型拡張機能の位置をオーバーライドします。
.TP 3
\-Djava.endorsed.dirs=directories
-¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+承認された標準パスの位置をオーバーライドします。
.TP 3
\-d directory
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤áÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÃÖ¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-d /home/myclasses\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/myclasses/com/mypackage/MyClass.class\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+クラスファイルの出力先ディレクトリを設定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP はディレクトリを作成しません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。
.LP
-\f3\-d\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3javac\fP ¤Ï³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。
.LP
-\f3Ãí:\fP \ \f3\-d\fP ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¼«Æ°Åª¤Ë¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£
+\f3注:\fP\f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。
.TP 3
\-deprecation
-¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¤ä¥¯¥é¥¹¤¬¡¢»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤ËÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¤ä¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÍ×Ìó¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤Ï \f3\-Xlint:deprecation\fP ¤Î¾Êάɽµ¤Ç¤¹¡£
+推奨されないメンバーやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバーやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。
.TP 3
\-encoding encoding
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ (\f2EUC\-JP ¤ä UTF\-8\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£\f3\-encoding\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£
+ソースファイルのエンコーディング名 (\f2EUC\-JP\fP や \f2UTF\-8\fP など) を指定します。\f3\-encoding\fP が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。
.TP 3
\-g
-¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
+局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソースファイル情報だけが生成されます。
.TP 3
\-g:none
-¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£
+デバッグ情報を生成しません。
.TP 3
\-g:{keyword list}
-¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥¡¼¥ï¡¼¥É¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥¡¼¥ï¡¼¥É¤¬Í¸ú¤Ç¤¹¡£
+コンマで区切られたキーワードリストにより指定された、特定の種類のデバッグ情報だけを生成します。次のキーワードが有効です。
.RS 3
.TP 3
source
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+ソースファイルのデバッグ情報
.TP 3
lines
-¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+行番号のデバッグ情報
.TP 3
vars
-¶É½êÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+局所変数のデバッグ情報
.RE
.TP 3
\-help
-ɸ½à¥ª¥×¥·¥ç¥ó¤Î·Á¼°¤òɽ¼¨¤·¤Þ¤¹¡£
+標準オプションの形式を表示します。
.TP 3
\-implicit:{class,none}
-°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:class\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:none\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+暗黙的にロードされたソースファイルに対するクラスファイルの生成を制御します。クラスファイルを自動生成するには、\f3\-implicit:class\fP を使用します。クラスファイルの生成を抑制するには、\f3\-implicit:none\fP を使用します。 このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。 このオプションが明示的に設定された場合には、警告は発行されません。 「型の検索」を参照してください。
.TP 3
\-nowarn
-·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï \f3\-Xlint:none\fP ¤ÈƱ¤¸°ÕÌ£¤Ç¤¹¡£
+警告メッセージを無効にします。これは \f3\-Xlint:none\fP と同じ意味です。
.TP 3
\-proc: {none,only}
-Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¤½¤ÎξÊý¡¢¤Î¤¤¤º¤ì¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\f3\-proc:none\fP ¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\f3\-proc:only\fP ¤Ï¡¢Ãí¼á½èÍý¤À¤±¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+注釈処理、コンパイル、その両方、のいずれを実行するかを制御します。\f3\-proc:none\fP は、注釈処理なしでコンパイルが実行されることを意味します。\f3\-proc:only\fP は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。
.TP 3
\-processor class1[,class2,class3...]
-¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£
+実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。
.TP 3
\-processorpath path
-Ãí¼á¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+注釈プロセッサの検索場所を指定します。 このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。
.TP 3
\-s dir
-À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤½¤ÎºÝ¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶¡¼¤¬ \f3\-s /home/mysrc\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/mysrc/com/mypackage/MyClass.java\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。 その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。
.TP 3
\-source release
-¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤¤Þ¤¹¡£
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
.RS 3
.TP 3
1.3
-¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢ÈÆÍѵ¡Ç½¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È\f2¤·¤Þ¤»¤ó\fP¡£
+このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。
.TP 3
1.4
-JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
+JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
.TP 3
1.5
-JDK 5 ¤ÇƳÆþ¤µ¤ì¤¿ÈÆÍѵ¡Ç½¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
+JDK 5 で導入された総称および他の言語機能を含んだコードを受け付けます。
.TP 3
5
-1.5 ¤ÈƱµÁ¤Ç¤¹¡£
+1.5 と同義です。
.TP 3
1.6
-¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 6 ¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¥¨¥é¡¼¤¬¡¢°ÊÁ°¤Î¤è¤¦¤Ê¡Ö·Ù¹ð¡×¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥¨¥é¡¼¡×¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
+これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。
.TP 3
6
-1.6 ¤ÈƱµÁ¤Ç¤¹¡£
+1.6 と同義です。
.RE
.TP 3
\-sourcepath sourcepath
-¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ ¥½¡¼¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。
.LP
-\f3Ãí:\fP \ ¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¤À¤±¤Ç¤Ê¤¯¤½¤Î¥½¡¼¥¹¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥¯¥é¥¹¤Ï¼«Æ°ºÆ¥³¥ó¥Ñ¥¤¥ë¤ÎÂоݤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP\ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。
.TP 3
\-verbose
-¾ÜºÙ¤Ê½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+詳細な出力を表示します。ロードされるクラスおよびコンパイルされるソースファイルごとの情報が出力されます。
.TP 3
\-X
-Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+非標準オプションに関する情報を表示して終了します。
.RE
.LP
.RE
.SS
-¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó
+クロスコンパイルオプション
.LP
.RS 3
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\f3javac\fP ¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f3javac\fP ¤Ï¡¢°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¡Ö\f2¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë\fP¡×¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤¦¤³¤È¤¬½ÅÍפǤ¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+デフォルトでは、クラスのコンパイルは、\f3javac\fP が添付されているプラットフォームのブートストラップクラスおよび拡張機能クラスに対して行われます。ただし、\f3javac\fP は、異なる Java プラットフォームに実装されたブートストラップクラスおよび拡張機能クラスに対してコンパイルを行う「クロスコンパイル」もサポートしています。クロスコンパイルを行う場合は、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使うことが重要です。 このあとの「クロスコンパイルの例」を参照してください。
.LP
.RS 3
.TP 3
\-target version
-»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÆ°ºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£Í¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢\f31.1\fP¡¢\f31.2\fP¡¢\f31.3\fP¡¢\f31.4\fP¡¢\f31.5\fP (\f35\fP ¤â²Ä)¡¢¤ª¤è¤Ó \f31.6\fP (\f36\fP ¤â²Ä) ¤Ç¤¹¡£
+指定されたバージョンの VM をターゲットにしたクラスファイルを生成します。このクラスファイルは、指定されたターゲット以降のバージョンでは動作しますが、それより前のバージョンの VM では動作しません。有効なターゲットは、\f31.1\fP、\f31.2\fP、\f31.3\fP、\f31.4\fP、\f31.5\fP (\f35\fP も可)、および \f31.6\fP (\f36\fP も可) です。
.LP
-\f3\-target\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f3\-source\fP ¤ÎÃͤˤè¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
+\f3\-target\fP のデフォルトは、次のように \f3\-source\fP の値によって決まります。
.RS 3
.TP 2
o
-\-source ¤¬\f3»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿\fP¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.6\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。
.TP 2
o
-\-source ¤¬ \f31.2\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f31.2\fP の場合、\-target の値は \f31.4\fP になります。
.TP 2
o
-\-source ¤¬ \f31.3\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f31.3\fP の場合、\-target の値は \f31.4\fP になります。
.TP 2
o
-\-source ¤¬\f3¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤Ï¤¹¤Ù¤Æ\fP¡¢\-target ¤ÎÃÍ¤Ï \f3\-source\fP ¤ÎÃͤˤʤê¤Þ¤¹¡£
+\-source が\f3それ以外の値の場合はすべて\fP、\\\-target の値は \f3\-source\fP の値になります。
.RE
.TP 3
\-bootclasspath bootclasspath
-»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。
.TP 3
\-extdirs directories
-»ØÄꤵ¤ì¤¿³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£\f2directories\fP ¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³Æ JAR ¥¢¡¼¥«¥¤¥Ö¤«¤é¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£
+指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。
.RE
.LP
.RE
.SS
-Èóɸ½à¥ª¥×¥·¥ç¥ó
+非標準オプション
.LP
.RS 3
@@ -277,37 +305,37 @@
.RS 3
.TP 3
\-Xbootclasspath/p:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲä·¤Þ¤¹¡£
+ブートストラップクラスパスの前に追加します。
.TP 3
\-Xbootclasspath/a:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¸å¤í¤ËÄɲä·¤Þ¤¹¡£
+ブートストラップクラスパスの後ろに追加します。
.TP 3
\-Xbootclasspath/:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+ブートストラップクラスファイルの位置をオーバーライドします。
.TP 3
\-Xlint
-¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò͸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。
.TP 3
\-Xlint:none
-Java ¸À¸ì»ÅÍͤǤϻØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
+Java 言語仕様では指定されていないすべての警告を無効にします。
.TP 3
\-Xlint:\-name
-·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f2name\fP ¤Ï¡¢\f3\-Xlint:\fP\f2name\fP ¤Ë»ÈÍѤǤ¤ë·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î·Ù¹ð̾¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+警告 \f2name\fP を無効にします。 ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。 この警告名は次のとおりです。
.TP 3
\-Xlint:unchecked
-Java ¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£
+Java 言語仕様で指定されている未検査変換警告の詳細を示します。
.TP 3
\-Xlint:path
-¸ºß¤·¤Ê¤¤¥Ñ¥¹ (classpath¡¢sourcepath ¤Ê¤É) ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£
+存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。
.TP 3
\-Xlint:serial
-\f2serialVersionUID\fP ÄêµÁ¤¬Ä¾Îó²½²Äǽ¥¯¥é¥¹¤Ë¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£
+\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。
.TP 3
\-Xlint:finally
-Àµ¾ï¤Ë´°Î»¤Ç¤¤Ê¤¤ \f2finally\fP Àá¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£
+正常に完了できない \f2finally\fP 節について警告します。
.TP 3
\-Xlint:fallthrough
-fall\-through ¥±¡¼¥¹¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£fall\-through ¥±¡¼¥¹¤Ï¡¢\f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ï \f2break\fP ʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°ÜÆ°¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤Î \f2case 1\fP ¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢\f2break\fP ʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
+fall\-through ケースの \f2switch\fP ブロックをチェックし、検出されたものに対して警告メッセージを表示します。Fall\-through ケースは、\f2switch\fP ブロック内の最後のケースを除くケースです。 このコードには \f2break\fP 文は含まれません。 コードの実行をそのケースから次のケースへ移動します。たとえば、この \f2switch\fP ブロック内の \f2case 1\fP ラベルに続くコードは、\f2break\fP 文で終わっていません。
.RS 3
.LP
@@ -333,34 +361,34 @@
\fP
.fi
.RE
-¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë \f2\-Xlint:fallthrough\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï Åö³º¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢fall\-through ¥±¡¼¥¹¤Î²ÄǽÀ¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£
+このコードのコンパイル時に \f2\-Xlint:fallthrough\fP フラグが使用されていた場合、コンパイラは 当該ケースの行番号とともに、fall\-through ケースの可能性があることを示す警告を発行します。
.TP 3
-\-Xmaxerrors number
-°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£
+\-Xmaxerrs number
+印刷するエラーの最大数を設定します。
.TP 3
\-Xmaxwarns number
-°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£
+印刷する警告の最大数を設定します。
.TP 3
\-Xstdout filename
-¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï \f2System.err\fP ¤ËÁ÷¤é¤ì¤Þ¤¹¡£
+コンパイラのメッセージを、指定されたファイルに送ります。デフォルトでは、コンパイラのメッセージは \f2System.err\fP に送られます。
.TP 3
\-Xprefer:{newer,source}
-¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤ë¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£\f2\-Xprefer:newer\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤¬Æɤ߼è¤é¤ì¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£\f2\-Xprefer:source\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Æɤ߼è¤é¤ì¤Þ¤¹¡£\f2SOURCE\fP ¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»È¤Ã¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢\f2\-Xprefer:source\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fPオプションを使用した場合、ソースファイルが読み取られます。\f2SOURCE\fP の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにしたい場合は、\f2\-Xprefer:source\fPを使用してください。
.TP 3
\-Xprint
-»ØÄꤵ¤ì¤¿·¿¤Î¥Æ¥¥¹¥Èɽ¸½¤ò¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¤Î¤É¤Á¤é¤â¼Â¹Ô¤·¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+指定された型のテキスト表現をデバッグ目的で出力します。 注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。
.TP 3
\-XprintProcessorInfo
-¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
+ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。
.TP 3
\-XprintRounds
-½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
+初回および後続の注釈処理ラウンドに関する情報を出力します。
.RE
.LP
.RE
.SS
-\-J ¥ª¥×¥·¥ç¥ó
+\-J オプション
.LP
.RS 3
@@ -368,34 +396,34 @@
.RS 3
.TP 3
\-Joption
-\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f3\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢\f3javac\fP ¤Î¡Öɸ½à¥ª¥×¥·¥ç¥ó¡×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇظå¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。このオプションは \f3\-X\fP で始まっていませんが、\f3javac\fP の「標準オプション」ではありません。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
.LP
-\f3Ãí:\fP \ \f3CLASSPATH\fP¡¢\f3\-classpath\fP¡¢\f3\-bootclasspath\fP¡¢¤ª¤è¤Ó \f3\-extdirs\fP ¤Ï¡¢\f3javac\fP ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï\f2¤¢¤ê¤Þ¤»¤ó\fP¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤òÁàºî¤¹¤ë¤³¤È¤Ï¡¢Ä̾ï¤Ï̵°ÕÌ£¤Ç¤¢¤ê¡¢¾ï¤Ë´í¸±¤òȼ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\f3\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢É¬Íפʥª¥×¥·¥ç¥ó¤òÇظå¤Î \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP \ \f3CLASSPATH\fP、\f3\-classpath\fP、\f3\-bootclasspath\fP、および \f3\-extdirs\fP は、\f3javac\fP を実行するために使うクラスを指定するものではありません。このような方法でコンパイラの実装を操作することは、通常は無意味であり、常に危険を伴います。このような方法を使う必要がある場合は、\f3\-J\fP オプションを使って、必要なオプションを背後の \f3java\fP 起動ツールに渡してください。
.RE
.LP
.RE
-.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
+.SH "コマンド行引数ファイル"
.LP
.LP
.LP
-javac ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\f2javac\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤ò»È¤¦¤È¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javac ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤¹¡£
+\f2javac\fP のコマンド行を短くしたり簡潔にしたりするために、\f2javac\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ½Ò¤Ç¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£
+引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
+引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
.LP
.LP
-javac ¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javac ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£
+javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
.LP
.SS
-Îã \- °ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄê
+引数ファイルを 1 つ指定する例
.LP
.LP
-\f2argfile\fP ¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤¹¤Ù¤Æ¤Î javac °ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。
.LP
.nf
\f3
@@ -408,16 +436,16 @@
.LP
.LP
-¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
.LP
.SS
-Îã \- °ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄê
+引数ファイルを 2 つ指定する例
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢javac ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
+たとえば、javac オプション用に 1 ファイル、ソースファイル名用に 1 ファイルというように、2 つの引数ファイルを作成することもできます。なお、このあとのリストでは、行の継続文字を使用していません。
.LP
.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à \f2options\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
+以下の内容を含む \f2options\fP という名前のファイルを作成します。
.LP
.nf
\f3
@@ -435,7 +463,7 @@
.LP
.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à \f2classes\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
+以下の内容を含む \f2classes\fP という名前のファイルを作成します。
.LP
.nf
\f3
@@ -453,7 +481,7 @@
.LP
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ \f3javac\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+次のコマンドを使用して \f3javac\fP を実行します。
.LP
.nf
\f3
@@ -466,10 +494,10 @@
.LP
.SS
-Îã \- ¥Ñ¥¹ÉÕ¤¤Î°ú¿ô¥Õ¥¡¥¤¥ë
+パス付きの引数ファイルの例
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢\f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
.LP
.nf
\f3
@@ -481,81 +509,85 @@
.fi
.LP
-.SH "Ãí¼á½èÍý"
+.SH "注釈処理"
.LP
.LP
.LP
-\f3javac\fP ¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥Ä¡¼¥ë¤Ç¤¢¤ë \f3apt\fP ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£
+\f3javac\fP が注釈処理を直接サポートしているため、独立した注釈処理ツールである \f3apt\fP を使用する必要がなくなりました。
.LP
.LP
-Ãí¼á½èÍý¤Î API ¤Ï¡¢\f2javax.annotation.processing\fP ¤ª¤è¤Ó \f2javax.lang.model\fP ¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+注釈処理の API は、\f2javax.annotation.processing\fP および \f2javax.lang.model\fP パッケージとそのサブパッケージ内に定義されています。
.LP
.SS
-Ãí¼á½èÍý¤Î³µÍ×
+注釈処理の概要
.LP
.LP
-\f3\-proc:none\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï \f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄê¤Ç¤¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î \f2META_INF/services/javax.annotation.processing.Processor\fP ¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1 ¹Ô¤Ë 1 ¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\f3\-processor\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3\-proc:none\fP オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。 検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の
+.br
+\f2\ META\-INF/services/javax.annotation.processing.Processor\fP
+.br
+という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌ䤤¹ç¤ï¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤ò¡ÖÍ×µá¡×¤Ç¤¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。
.LP
.LP
-¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î 2 ²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Áöºº¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤¤Þ¤¹¡£
+いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。
.LP
.LP
-¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È 1 ²ó¤À¤±¸Æ¤Ó½Ð¤µ¤ì¡¢É¬ÍפʽèÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\f3\-proc:only\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。 最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。
.LP
.SS
-°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë
+暗黙的にロードされたソースファイル
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ 1 ¤Ä¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-implicit ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。
.LP
-.SH "·¿¤Î¸¡º÷"
+.SH "型の検索"
.LP
.LP
.LP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë·¿¤ÎÄêµÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾¤½¤Î·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£
+ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢\f3java.applet.Applet\fP ¤ò¥µ¥Ö¥¯¥é¥¹¤Ë¤·¤¿¾ì¹ç¡¢¥¢¥×¥ì¥Ã¥È¤ÎÁÄÀè¤Î¥¯¥é¥¹ (\f3java.awt.Panel\fP¡¢\f3java.awt.Container\fP¡¢\f3java.awt.Component\fP¡¢\f3java.lang.Object\fP) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+たとえば、\f3java.applet.Applet\fP をサブクラスにした場合、\f3アプレットの\fP祖先のクラス(\f3java.awt.Panel\fP、\f3java.awt.Container\fP、\f3java.awt.Component\fP、\f3java.lang.Object\fP)を使用していることになります。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹ (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê) ¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢\f3CLASSPATH\fP ´Ä¶ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï \f3\-classpath\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÀßÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
+コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、
.na
-¡Ö\f2Setting the Class Path\fP¡×
+\f2「クラスパスの設定」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。
.LP
.LP
-\-sourcepath ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£
+\-sourcepath オプションが指定されている場合、コンパイラは、指定されたパスからソースファイルを検索します。 それ以外の場合は、ユーザークラスパスからクラスファイルとソースファイルの両方を検索します。
.LP
.LP
-\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤È \f3\-extdirs\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3\-bootclasspath\fP オプションと \f3\-extdirs\fP オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。 このあとの「クロスコンパイルオプション」を参照してください。
.LP
.LP
-·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Î·ë²Ì¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤Ù¤¤«¤ò \-Xprefer ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤¤Þ¤¹¡£\f3newer\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\f3source\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f3newer\fP ¤Ç¤¹¡£
+型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。
.LP
.LP
-·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï \f3\-Xprefer\fP ¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆɬÍפʷ¿¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\-implicit ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤½¤ÎÆ°ºî¤ò»ØÄê¤Ç¤¤Þ¤¹¡£\f3none\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\f3class\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
+型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤Î´°Î»¸å¤Ë¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À¤òǧ¼±¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î·¿¾ðÊ󤬤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤ò¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥æ¡¼¥¶¡¼¤Ë·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë) ¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤Ù¤¤«¤É¤¦¤«¤ò \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
+コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識しない場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。
.LP
-.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹"
+.SH "プログラマティックインタフェース"
.LP
.LP
.LP
-\f3javac\fP ¤Ï¡¢\f2javax.tools\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤ Java Compiler API ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
+\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。
.LP
.SS
-Îã
+例
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄꤵ¤ì¤¿°ú¿ô¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
+コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。
.LP
.nf
\f3
@@ -571,22 +603,22 @@
.LP
.LP
-¤³¤Î¾ì¹ç¡¢É¸½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤¹¤Ù¤Æ¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬½ñ¤½Ð¤µ¤ì¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ \f3javac\fP ¤¬ÊÖ¤¹¤Î¤ÈƱ¤¸½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。
.LP
.LP
-\f2javax.tools.JavaCompiler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î¤Û¤«¤Î¥á¥½¥Ã¥É¤ò»È¤¨¤Ð¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½èÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆɤ߼è¤ê¸µ/½ñ¤¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¨¤Þ¤¹¡£
+\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。
.LP
.SS
-µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+旧式のインタフェース
.LP
.RS 3
.LP
.LP
-\f3Ãí:\fP \ ¤³¤Î API ¤Ï¡¢²¼°Ì¸ß´¹À¤ò³ÎÊݤ¹¤ë¤¿¤á¤À¤±¤Ë»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤¥³¡¼¥É¤Ç¤Ï¡¢É¬¤ºÁ°½Ò¤Î Java Compiler API ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP \ この API は、下位互換性を確保するためだけに残されています。 新しいコードでは、必ず前述の Java Compiler API を使用してください。
.LP
.LP
-\f2com.sun.tools.javac.Main\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÆ⤫¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î static ¥á¥½¥Ã¥É¤¬ 2 ¤ÄÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+\f2com.sun.tools.javac.Main\fP クラスには、プログラム内からコンパイラを呼び出すための static メソッドが 2 つ用意されています。 それらを次に示します。
.LP
.nf
\f3
@@ -602,28 +634,28 @@
.LP
.LP
-\f2args\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢javac ¥×¥í¥°¥é¥à¤ËÄ̾ïÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î³µÍפˤĤ¤¤Æ¤Ï¡¢Á°½Ð¤Î¡Ö·Á¼°¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2args\fP パラメータは、javac プログラムに通常渡される任意のコマンド行引数を表しています。 その概要については、前出の「形式」節を参照してください。
.LP
.LP
-\f2out\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎÏÀè¤ò¼¨¤·¤Þ¤¹¡£
+\f2out\fP パラメータは、コンパイラの診断メッセージの出力先を示します。
.LP
.LP
-Ìá¤êÃͤϡ¢\f3javac\fP ¤Î½ªÎ»ÃͤÈƱ¤¸¤Ç¤¹¡£
+戻り値は、\f3javac\fP の終了値と同じです。
.LP
.LP
-̾Á°¤¬ \f2com.sun.tools.javac\fP ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸ (Èó¸ø¼°¤Ë¤Ï \f2com.sun.tools.javac\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È¤·¤ÆÃΤé¤ì¤ë) ¤Ë´Þ¤Þ¤ì¤ë\f3¤½¤Î¾¤Î\fP¥¯¥é¥¹¤ä¥á¥½¥Ã¥É¤Ï¡¢¤É¤ì¤â´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+名前が \f2com.sun.tools.javac\fP で始まるパッケージ (非公式には \f2com.sun.tools.javac\fP のサブパッケージとして知られる) に含まれる\f3その他の\fPクラスやメソッドは、どれも完全に内部用であり、いつでも変更される可能性があります。
.LP
.RE
-.SH "Îã"
+.SH "例"
.LP
.SS
-´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë
+簡単なプログラムのコンパイル
.LP
.RS 3
.LP
.LP
-\f2Hello.java\fP ¤È¤¤¤¦¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¡¢\f3greetings.Hello\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£\f2greetings\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò»ÈÍѤǤ¤Þ¤¹¡£¤Þ¤¿¡¢\f3\-d\fP ¤ò»È¤Ã¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£
+\f2Hello.java\fP というソースファイルで、\f3greetings.Hello\fP という名前のクラスを定義しているとします。\f2greetings\fP ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。
.LP
.RS 3
@@ -681,13 +713,13 @@
.LP
.RE
.SS
-Ê£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë
+複数のソースファイルのコンパイル
.LP
.RS 3
.LP
.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2greetings\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。
.LP
.RS 3
@@ -721,13 +753,13 @@
.LP
.RE
.SS
-¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î»ØÄê
+ユーザークラスパスの指定
.LP
.RS 3
.LP
.LP
-¾å¤ÎÎã¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤¦¤Á 1 ¤Ä¤òÊѹ¹¤·¡¢Êѹ¹¸å¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£
+上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。
.LP
.RS 3
@@ -748,7 +780,7 @@
.LP
.LP
-\f2greetings.Hi\fP ¤Ï¡¢\f2greetings\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¾å¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÀµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¸½ºß¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤ë¤«¤Ë´Ø·¸¤Ê¤¯¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë \f2/examples\fP ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¥¨¥ó¥È¥ê¤òÄɲ乤ë¤Ë¤Ï¡¢\f3CLASSPATH\fP ¤òÀßÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤Ï \f3\-classpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£
+\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。
.LP
.RS 3
@@ -765,7 +797,7 @@
.LP
.LP
-ºÆÅÙ \f2greetings.Hi\fp ¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+再度 \f2greetings.Hi\fP を変更してバナーユーティリティーを使うようにした場合は、このバナーユーティリティーもユーザークラスパスを通じてアクセスできるようになっている必要があります。
.LP
.RS 3
@@ -784,7 +816,7 @@
.LP
.LP
-\f2greetings\fP Æâ¤Î¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\f2greetings\fP ¤È¡¢\f2greetings\fP ¤¬»È¤¦¥¯¥é¥¹¤ÎξÊý¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。
.LP
.RS 3
@@ -802,13 +834,13 @@
.LP
.RE
.SS
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎʬΥ
+ソースファイルとクラスファイルの分離
.LP
.RS 3
.LP
.LP
-ÆäËÂ絬ÌÏ¥×¥í¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¤òÊ̤˻ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»È¤¤¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¤Ï¤Ê¤¤¤Î¤Ç¡¢\f3\-sourcepath\fP ¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。
.LP
.RS 3
@@ -855,17 +887,17 @@
.LP
.LP
-\f3Ãí:\fP \ ¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï \f2src/farewells/Base.java\fP ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤â¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼«Æ°¥³¥ó¥Ñ¥¤¥ë¤ò´Æ»ë¤¹¤ë¤Ë¤Ï¡¢\f3\-verbose\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£
+\f3注:\fP \ コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。
.LP
.RE
.SS
-¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã
+クロスコンパイルの例
.LP
.RS 3
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢javac ¤ò»È¤Ã¤Æ¡¢1.5 VM ¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+ここでは、\f3javac\fP を使って、1.5 VM 上で実行するコードをコンパイルします。
.LP
.RS 3
@@ -884,13 +916,13 @@
.LP
.LP
-\f3\-target 1.5\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢1.5 VM ¤È¸ß´¹À¤Î¤¢¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3javac\fP ¤Ï JDK 6 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。
.LP
.LP
-Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à JDK ¤Î \f3javac\fP ¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤½¤ì¼«¿È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤Î¤Ç¡¢Âå¤ï¤ê¤Ë JDK 1.5 ¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤è¤¦¤Ë \f3javac\fP ¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄê¤ò¹Ô¤ï¤Ê¤¤¤È¡¢1.5 VM ¤Ë¤Ï¸ºß¤·¤Ê¤¤ Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API ¤ËÂбþ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤ë¤¿¤á¡¢¥×¥í¥°¥é¥à¤Î¼Â¹Ô»þ¤Ë¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£
+Java プラットフォーム JDK の \f3javac\fP は、デフォルトでは、Java 2 SDK のブートストラップクラスに対してコンパイルを行うので、Java 2 SDK ではなく JDK 1.5 のブートストラップクラスに対してコンパイルを行うように指定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java 2 プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に障害が発生することがあります。
.LP
.RE
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
@@ -898,33 +930,33 @@
.TP 2
o
.na
-¡Ö\f2The javac Guide\fP¡×
+\f2「The javac Guide」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html)
+http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html
.TP 2
o
-java(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+「java(1) \- Java アプリケーション起動ツール」
.TP 2
o
-jdb(1) \- Java ¥Ç¥Ð¥Ã¥¬
+「jdb(1) \- Java デバッガ」
.TP 2
o
-javah(1) \- C ¸À¸ì¤Î¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Î¥¸¥§¥Í¥ì¡¼¥¿
+「javah(1) \- C ヘッダーとスタブファイルジェネレータ」
.TP 2
o
-javap(1) \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é
+「javap(1) \- クラスファイル逆アセンブラ」
.TP 2
o
-javadoc(1) \- Java API ¥É¥¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿
+「javadoc(1) \- Java API ドキュメントジェネレータ」
.TP 2
o
-jar(1) \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+「jar(1) \- JAR アーカイブツール」
.TP 2
o
.na
-¡Ö\f2The Java Extensions Framework\fP¡×
+\f2「Java 拡張機能フレームワーク」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html)
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/javadoc.1 b/jdk/src/linux/doc/man/ja/javadoc.1
index b60623c..9812f6f 100644
--- a/jdk/src/linux/doc/man/ja/javadoc.1
+++ b/jdk/src/linux/doc/man/ja/javadoc.1
@@ -1,932 +1,844 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH javadoc 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.hw javadoc
-.SH "̾Á°"
-javadoc \- Java API ¥É¥¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javadoc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+javadoc \- Java API ドキュメントジェネレータ
.RS 3
.LP
.LP
-Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¡¢API ¥É¥¥å¥á¥ó¥È¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ë Javadoc ¤ÎÎã¤Ï¡¢Sun Solaris ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Î¤â¤Î¤Ç¤¹¡£
+Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、Sun Solaris を使用した場合のものです。
.LP
-.SH "·Á¼°"
-.B javadoc
-[
-.I options
-] [
-.I packagenames
-] [
-.I sourcefilenames
-] [
-.I \-subpackages pkg1:pkg2:...
-] [
-.I @argfiles
-]
+.RE
+.SH "形式"
.LP
.LP
-°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ç¤Î¡¢½èÍýÂоݤΠ\f2.java\fP ¥Õ¥¡¥¤¥ë¤ò·èÄꤹ¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 15
-.I options
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
-.B javadoc
-¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÈÌŪ¤Ê»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.I packagenames
-.BR "java.lang java.lang.reflect java.awt"
-¤Ê¤É¤Î¡¢¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿
-°ìÏ¢¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤ËÊ̸ĤË
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òõ¤¹¤È¤¡¢
-.B \-sourcepath
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òºÆµ¢Åª¤Ë½èÍý¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (\f3*\f1) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
-¡Ö1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½¡×¤Î
-Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.I sourcefilenames
-¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£¥Ñ¥¹¡¢¤ª¤è¤Ó
-¥¢¥¹¥¿¥ê¥¹¥¯ (\f3*\f1) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤¬¡Ö.java¡×¤È¤¤¤¦³ÈÄ¥»Ò¤Ç½ª¤ï¤ê¡¢
-¤½¤Î³ÈÄ¥»Ò¤ò½ü¤¤¤¿Ì¾Á°¤¬¼ÂºÝ¤Ë͸ú¤Ê¥¯¥é¥¹Ì¾
-.fi
- (http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
-¤Î
+\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP
+.LP
+.LP
+引数を指定する順序は任意です。Javadoc ツールでの、処理対象の \f2.java\fP ファイルを決定する方法の詳細については、「ソースファイルの処理」を参照してください。
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+このドキュメントで説明されているコマンド行オプションです。Javadoc オプションの標準的な使用法については、「使用例」を参照してください。
+.TP 3
+packagenames
+スペースで区切られた一連のパッケージ名です。 たとえば、\f2java.lang\ java.lang.reflect\ java.awt\fP のように指定します。ドキュメント化するパッケージを個別に指定する必要があります。ワイルドカードは使用不可です。 再帰的処理のためには、\-subpackages を使用します。Javadoc ツールは、\f2\-sourcepath\fP を使ってこれらのパッケージ名を検索します。「1 つ以上のパッケージのドキュメント化」の例を参照してください。
+.TP 3
+sourcefilenames
+スペースで区切られた一連のソースファイル名です。各ファイルは、パスで始まります。アスタリスク (*) などのワイルドカードを含めることができます。 Javadoc ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、その拡張子を除いた名前が実際に有効なクラス名であるすべてのファイルです (
.na
-¡Ö\f2Identifiers\fP¡×¤ò»²¾È) ¤Ç¤¢¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤à̾Á° (X-Buffer ¤Ê¤É) ¤ä¡¢
-¤½¤Î¾¤Î̵¸ú¤Êʸ»ú¤ò´Þ¤à̾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤ«¤é½ü³°¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥Æ¥¹¥ÈÍѤΥե¡¥¤¥ë¤ä¡¢¥Æ¥ó¥×¥ì¡¼¥È¤«¤éÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÎÁ°¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òõ¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-.B -sourcepath
-¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢
-.B Button.java
-¤òÅϤ¹¤³¤È¤Ï
-.BR ./Button.java
-¤È»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£´°Á´¥Ñ¥¹¤òÉÕ¤±¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î
-Îã¤Ï¡Ö
-.BR /home/src/java/awt/Graphics*.java
-¡×¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½¡×¤Î
-Îã¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.TP
-.I \-subpackages pkg1:pkg2:...
-»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¡¢
-ºÆµ¢Åª¤Ë¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò½èÍý¤·¤Þ¤¹¡£ ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï
-¥½¡¼¥ë¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¤¿¤á¤ÎÂåÂؼêÃʤǤ¹¡£
-.TP
-.I @argfiles
-Javadoc ¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò
-Ǥ°Õ¤Î½ç½ø¤Çʤ٤¿¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤ª¤è¤Ó
-.B \-J
-¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÏ¢¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÀë¸À¤ª¤è¤Ó¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï public ¥¯¥é¥¹¤È protected ¥¯¥é¥¹¡¢
-Æþ¤ì»Ò¥¯¥é¥¹¡Êƿ̾¤ÎÆâÉô¥¯¥é¥¹¤ò½ü¤¯¡Ë¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿°ìÏ¢¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢API (¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ¤Þ¤¹¡£
+\f2「Identifiers」\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)。したがって、ハイフンを含む名前 (\f2X\-Buffer\fP など) や、その他の無効な文字を含む名前を付けることによって、それらのファイルをドキュメント化の対象から除外できます。これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 ソースファイル名の前に指定したパスによって、javadoc がそのファイルを検索する場所が決まります。Javadoc ツールは、これらのソースファイル名を検索するときに \f2\-sourcepath\fP は使いません。相対パスは、現在のディレクトリからの相対パスです。 \f2Button.java\fP を渡すことは、\f2./Button.java\fP を渡すことと同じです。ソースファイル名をフルパスで指定すると、\f2/home/src/java/awt/Graphics*.java\fP のようになります。「1 つ以上のクラスのドキュメント化」の例を参照してください。また、「パッケージとクラスのドキュメント化」の例のように、パッケージ名とソースファイル名を混在させることもできます。
+.TP 3
+\-subpackages pkg1:pkg2:...
+ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。パッケージ名またはソースファイル名を指定する必要はありません。
+.TP 3
+@argfiles
+Javadoc オプション、パッケージ名、およびソースファイル名を任意の順序で並べたリストが含まれる 1 つ以上のファイルです。このファイルの中では、ワイルドカード (*) および \f2\-J\fP オプションは指定できません。
+.RE
+
.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ
-¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤ò¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºÆµ¢Åª¤Ë¤¿¤É¤ë¤¿¤á¤Ë -subpackages ¤ò»ÈÍѤ¹¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£
-¸Ä¡¹¤Î¥¯¥é¥¹¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢°ìÏ¢¤Î
-¥½¡¼¥¹ (\f3.java\f1) ¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£¶ñÂÎŪ¤ÊÎã¤Ï¡¢
-¤³¤Î¥Ú¡¼¥¸¤ÎºÇ¸å¤Ç¼¨¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢Javadoc ¤Ë¤è¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
+.RE
+.SH " 説明"
+.LP
+.LP
+\f3Javadoc\fP ツールは、一連の Java ソースファイルにある宣言およびドキュメンテーションコメントを解析し、デフォルトでは public クラス、protected クラス、入れ子にされたクラス (匿名の内部クラスは除く)、インタフェース、コンストラクタ、メソッド、およびフィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。
+.LP
+.LP
+Javadoc ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して実行できます。javadoc ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために \f2\-subpackages\fP を使用するか、パッケージ名の明示的なリストを渡します。個々ソースファイルに対して javadoc を実行する場合は、一連のソース (\f2.java\fP) ファイル名を渡します。具体的な例は、このドキュメントの最後に紹介します。次に、Javadoc によるソースファイルの処理について説明します。
.LP
.SS
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý
+ソースファイルの処理
.LP
.LP
-Javadoc ¥Ä¡¼¥ë¤Ï¡¢ËöÈø¤Ë \f2.java\fP ¤ÎÉÕ¤¤¤¿¥Õ¥¡¥¤¥ë°Ê³°¤Ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÀâÌÀ¤¹¤ë¾¤Î¥Õ¥¡¥¤¥ë¤â½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤ËÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢\f2.java\fP ¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢Javadoc ¥Ä¡¼¥ë¤Ï 3 ¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢(1) ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¡¢(2) \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¡¢(3) ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë (\f2*.java\fP) ¤È¤¤¤¦ÊýË¡¤Ç¤¹¡£¤³¤ì¤é¤ÎÊýË¡¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2*.java\fP ¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¡£
+Javadoc ツールは、末尾に \f2.java\fP の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、どの \f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。 パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。この方法は、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名にワイルドカードを使用する (\f2*.java\fP) という方法です。これらの方法を使用する場合、Javadoc ツールは、\f2.java\fP ファイルが次のすべての要件を満たしている場合にかぎり、このファイルを処理します。
.LP
.RS 3
.TP 2
o
-̾Á°¤«¤é \f2.java\fP ¤ÎÀÜÈø¼¤ò¼è¤ê½ü¤¯¤È¡¢¼ÂºÝ¤Ë͸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë (͸ú¤Êʸ»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
-¤Î
+名前から \f2.java\fP の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、
.na
-¡Ö\f2Identifiers\fP¡×¤ò»²¾È)
-.TP 2
-o
-¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤éÁêÂÐŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢¼ÂºÝ¤Ë͸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë
-.TP 2
-o
-¥Ñ¥Ã¥±¡¼¥¸Ê¸¤Ë¤Ï͸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤ë (Á°¹àÌܤǻØÄê)
-.RE
-
-.LP
-.LP
-\f3¥ê¥ó¥¯¤Î½èÍý\fP \-
-¼Â¹Ô»þ¤Ë¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤½¤Î¼Â¹Ô¤Î°ìÉô¤È¤·¤Æµ½Ò¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥á¥ó¥Ð¤Î̾¾Î¤Ë¥¯¥í¥¹¥ê¥Õ¥¡¥ì¥ó¥¹¥ê¥ó¥¯¤ò¼«Æ°Åª¤Ë
-Äɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¼¡¤Î²Õ½ê¤Ë¸½¤ï¤ì¤Þ¤¹¡£
-.LP
-.TP 2
-\(bu
-Àë¸À (Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿)
-.TP 2
-\(bu
-@see ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ë [´ØÏ¢¹àÌÜ] ¤Î¥»¥¯¥·¥ç¥ó
-.TP 2
-\(bu
-{@link} ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ë¥¤¥ó¥é¥¤¥ó¥Æ¥¥¹¥È
-.TP 2
-\(bu
-@throws ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ëÎã³°¤Î̾¾Î
-.TP 2
-\(bu
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¤ËÂФ¹¤ë [ÄêµÁ] ¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¤ËÂФ¹¤ë [¥ª¡¼¥Ð¡¼¥é¥¤¥É] ¥ê¥ó¥¯
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¤òµ½Ò¤·¤¿°ìÍ÷ɽ
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼
-.TP 2
-\(bu
-º÷°ú
-.LP
-\-link ¤È \-linkoffline ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢¸ÄÊ̤ËÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¤Î´û¸¤Î¥Æ¥¥¹¥È¤Ë
-¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤òÄɲäǤ¤Þ¤¹¡£
-.LP
-\f3¤½¤Î¾¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ\fP \-
-javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¤Ò¤È¤Ä¤Î´°Á´¤Ê¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£javadoc ¤Ï¡¢
-ÄɲÃÀ¸À®¤ò¹Ô¤¨¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢°ÊÁ°¤Ë¼Â¹Ô¤·¤¿ javadoc ¤Î·ë²Ì¤òÊѹ¹¤·¤¿¤ê¡¢
-¤½¤ì¤é¤òľÀܼè¤ê¹þ¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢Á°½Ò¤Î¤è¤¦¤Ë¤Û¤«¤Î
-¼Â¹Ô¤Î·ë²Ì¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
-.LP
-¼ÂÁõ¾å¤ÎÍýͳ¤«¤é¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¼Â¹Ô¤Ë java ¥³¥ó¥Ñ¥¤¥é¤òɬÍפȤ·¡¢java ¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï
-.B javac
-¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥á¥ó¥Ð¤Î¼ÂÁõ¤Ï̵»ë¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎËÉÙ¤ÊÆâÉôɽ¸½¡¢¤ª¤è¤Ó¡Ö»ÈÍѡ״ط¸¤ò
-¹½ÃÛ¤·¡¢¤½¤³¤«¤é HTML ¤òÀ¸À®¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¤Î
-Ä󶡤¹¤ë¥É¥¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤΤʤ¤½ã¿è¤Ê¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë
-.B .java
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢API ¤ÎºîÀ®»þ¤Ë¤Ï¡¢¥³¡¼¥É¤ò
-µ½Ò¤¹¤ëÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ½Ò¤·¡¢
-.B javadoc
-¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.LP
-¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML ½ÐÎϤ¬¡¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ
-¤¹¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ç¤Ê¤¯°ÅÌÛŪ¤Ë
-¥½¡¼¥¹¥³¡¼¥É¤Ë°Í¸¤·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B .class
-¥Õ¥¡¥¤¥ëÆâ¤Ë¤Ï¸ºß¤¹¤ë¤¬¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¤Ï¸ºß¤·¤Ê¤¤
-¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿ (¡ÖJava Language Specification¡×¤Î¥»¥¯¥·¥ç¥ó 8.6.7: http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154)
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£
-.LP
-¿¤¯¤Î¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò
-´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤¬´°Î»¤¹¤ëÁ°¤Ë
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Java ¸À¸ì»ÅÍͤˤè¤ë¤È¡¢
-Ãê¾Ý¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤Ï¤½¤ì¼«ÂΤòÃê¾Ý¤ÈÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Î¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤È¡¢javac ¥³¥ó¥Ñ¥¤¥é¤Î¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥é¡¼¤Ç
-Ää»ß¤·¤Þ¤¹¤¬¡¢javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½Ð¤µ¤º¤Ë½èÍý¤ò¿Ê¤á¤Þ¤¹¡£
-javadoc ¥Ä¡¼¥ë¤Ï¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¤è¤ê¾Ü¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢
-DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬¥É¥¥å¥á¥ó¥ÈÍѤÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ë¤È¤¤Ï¡¢»²¾È¤¹¤ë
-¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¡¢
-³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»²¾È¤¹¤ë¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¸¡½Ð¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-°ìÈÌŪ¤Ë¡¢ºîÀ®¤¹¤ë
-¥¯¥é¥¹¤Ï¡¢³ÈÄ¥µ¡Ç½¤È¤·¤Æ¥í¡¼¥É¤µ¤ì¤ë¤«¡¢
-.BR javadoc
-¥Ä¡¼¥ë¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SS "Javadoc ¥É¥Ã¥¯¥ì¥Ã¥È"
-.B javadoc
-¥Ä¡¼¥ë¤Î½ÐÎϤÎÆâÍƤȷÁ¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¡ÖÁȤ߹þ¤ß·¿¡×
-¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¡¢¤³¤ì¤Ë¤è¤Ã¤Æ HTML ·Á¼°¤Î API
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È
-¤Î½¤Àµ¤ä¥µ¥Ö¥¯¥é¥¹²½¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢HTML¡¢XML¡¢MIF¡¢RTF ¤Ê¤É¤Î¹¥¤ß¤Î
-½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆȼ«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¥É¥Ã¥¯¥ì¥Ã¥È¤È¤½¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.TP 2
-\(bu
-.B Javadoc
-¥É¥Ã¥¯¥ì¥Ã¥È
-.TP 2
-\(bu
-.B -doclet
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
-.LP
-.B -doclet
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢¤É¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤Ë¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ¤ë
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î
-¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¤É¤Á¤é¤Î
-¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£
-.SS ´ØÏ¢¥É¥¥å¥á¥ó¥È¤ª¤è¤Ó¥É¥Ã¥¯¥ì¥Ã¥È
-.TP 2
-\(bu
-Javadoc ¤Ë»Ü¤µ¤ì¤¿µ¡Ç½¶¯²½ - Javadoc ¤ËÄɲ䵤줿²þÎÉÅÀ¤Î¾ÜºÙ
-.TP 2
-\(bu
-Javadoc FAQ - ÉÑÈˤ˴󤻤é¤ì¤ë¼ÁÌä¤ËÂФ¹¤ë²óÅú¡¢Javadoc ´ØÏ¢¤Î¥Ä¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󡢤ª¤è¤Ó¥Ð¥°¤Î²óÈòÊýË¡
-.TP 2
-\(bu
-Javadoc ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤Ë¤Ï - Sun ¤Ç
-°ìÈÌŪ¤Ê¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Îµ½ÒÊýË¡¤Î¾ÜºÙ
-.TP 2
-\(bu
-API »ÅÍͤòµ½Ò¤¹¤ë¤¿¤á¤ÎÍ×·ï - Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à»ÅÍͤòµ½Ò¤¹¤ëºÝ¤Ë
-»ÈÍѤµ¤ì¤¿É¸½àÍ×·ï¡£ ¤³¤Î¾ðÊó¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È
-·Á¼°¤Ç API »ÅÍͤòµ½Ò¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤½¤Î¾¤Î·Á¼°¤Çµ½Ò¤¹¤ë¾ì¹ç¤Ë¤â
-ÌòΩ¤Á¤Þ¤¹¡£ ¸¡¾Ú²Äǽ¤Ê¥¢¥µ¡¼¥·¥ç¥ó¤òËþ¤¿¤¹¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤ÎÍ×·ï¤òÄê¤á¤Æ¤¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍÍ - ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î
-¥ª¥ê¥¸¥Ê¥ë»ÅÍͤˤĤ¤¤Æ¤Ï¡¢¡ØJava Language Specification¡Ù
-(James Gosling¡¢Bill Joy¡¢Guy Steele ¶¦Ãø) ¤Î½éÈǤÎ
-Âè 18 ¾Ï¡ÖDocumentation Comments¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¾Ï¤Ï¡¢Âè 2 ÈǤǤϺï½ü¤µ¤ì¤Þ¤·¤¿¡£
-.TP 2
-\(bu
-DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È - ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¸¡ºº¤·¡¢
-¸«¤Ä¤«¤Ã¤¿¥¨¥é¡¼¤äÉÔµ¬Â§¤Ê²Õ½ê¤ò°ìÍ÷¤Ë¤·¤¿¥ì¥Ý¡¼¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ì¤Ï Sun Doc ¥Á¥§¥Ã¥¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î°ìÉô¤Ç¤¹¡£
-.TP 2
-\(bu
-MIF ¥É¥Ã¥¯¥ì¥Ã¥È - MIF¡¢FrameMaker¡¢¤ª¤è¤Ó PDF ·Á¼°¤Ç¤Î API ¥É¥¥å¥á¥ó¥È¤Î
-À¸À®¤ò¼«Æ°²½¤·¤Þ¤¹¡£ MIF ¤Ï Adobe FrameMaker ¤Î¸ß´¹·Á¼°¤Ç¤¹¡£
-.SS "ÍѸì"
-.LP
-.LP
-¡Ö\f2¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È\fP¡×¡¢¡Ö\f2doc ¥³¥á¥ó¥È\fP¡×¡¢¡Ö\f2¼çÀâÌÀ\fP¡×¡¢¡Ö\f2¥¿¥°\fP¡×¡¢¡Ö\f2¥Ö¥í¥Ã¥¯¥¿¥°\fP¡×¡¢¤ª¤è¤Ó¡Ö\f2¥¤¥ó¥é¥¤¥ó¥¿¥°\fP¡×¤ÎÍѸì¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£°Ê²¼¤Î¤½¤Î¾¤ÎÍѸì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Î¥³¥ó¥Æ¥¥¹¥È¤ÇÆÃÄê¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£
-.RS 3
-.TP 3
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È
-.B javadoc
-¥Ä¡¼¥ë¤¬ Java ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î doc ¥³¥á¥ó¥È¤«¤éÀ¸À®¤·¤¿¥É¥¥å¥á¥ó¥È
-¤Î¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸À®¥É¥¥å¥á¥ó¥È¤Ï HTML ·Á¼°¤Ç¡¢É¸½à
-¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-.TP 3
-̾Á°
-Java ¸À¸ì¤Ç¤Î̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î̾Á°¤Î¤³¤È¤Ç¤¹¡£Ì¾Á°¤Ï¡¢
-.BR java.lang.String.equals(java.lang.Object)
-¤Î¤è¤¦¤Ë´°Á´½¤¾þ¤¹¤ë¤³¤È¤â¡¢
-.BR equals(Object)
-¤Î¤è¤¦¤ËÉôʬ½¤¾þ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.TP 3
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹
-.B javadoc
-¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ´°Á´¤Ê¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤È
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-»ÈÍѲÄǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î
-¤É¤Á¤é¤«¤ò
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ï¡¢
-.B javadoc
-¤Î¼Â¹Ô¤ÇÁȤ߹þ¤Þ¤ì¤ë¥¯¥é¥¹¡¢¤Ä¤Þ¤ê¡ÖÁȤ߹þ¤ß¥¯¥é¥¹¡×¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£
-.LP
-.TP 3
-´Þ¤Þ¤ì¤ë¥¯¥é¥¹
-Âбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ javadoc ¥³¥Þ¥ó¥É¤Ë
-ÅϤµ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£
-.LP
-.TP 3
-½ü³°¤µ¤ì¤ë¥¯¥é¥¹
-javadoc ¥³¥Þ¥ó¥É¤Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬
-ÅϤµ¤ì¤Ê¤¤¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
-.LP
-.TP 3
-»²¾È¥¯¥é¥¹
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ
-(¼ÂÁõ) ¤Þ¤¿¤Ï¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÌÀ¼¨Åª¤Ë»²¾È¤µ¤ì¤ë
-¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£»²¾È¤ÎÎã¤È¤·¤Æ¤Ï¡¢
-Ìá¤êÃͤη¿¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿¡¢¥¥ã¥¹¥È¤Î·¿¡¢
-³ÈÄ¥¤µ¤ì¤ë¥¯¥é¥¹¡¢¼ÂÁõ¤µ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥¯¥é¥¹¡¢¥á¥½¥Ã¥ÉËÜÂΤǻÈÍѤµ¤ì¤ë
-¥¯¥é¥¹¡¢@see¡¢{@link}¡¢{@linkplain}¡¢
-¤ª¤è¤Ó {@inheritDoc} ¥¿¥°¤Ê¤É¤¬¤¢¤ê¤Þ¤¹
-(¤³¤ÎÄêµÁ¤Ï 1.3
+\f2「Identifiers」\fP @
.fi
-(http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses)
-¤«¤é
-Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ)¡£
-javadoc ¥Ä¡¼¥ë¤ÏÆ°ºîÃæ¡¢
-.B javadoc
-¤Î¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤È
-¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ë»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò
-¤¹¤Ù¤Æ¥á¥â¥ê¤Ë¥í¡¼¥É¤¹¤ë¤¿¤á¤Ç¤¹¡£
-»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿
-¾ì¹ç¤Ï¡¢[¥¯¥é¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó] ¤È¤¤¤¦·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î¸ºß¤È¤½¤Î¥á¥ó¥Ð¤Î´°Á´½¤¾þ̾¤ò·èÄꤹ¤ë¤Î¤Ë½½Ê¬¤Ê¾ðÊó¤ò¡¢
-.B .class
-¥Õ¥¡¥¤¥ë¤«¤é°ú¤½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.TP 3
-³°Éô»²¾È¥¯¥é¥¹
-»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Î¤¦¤Á¡¢
-.B javadoc
-¤ò¼Â¹Ô¤·¤Æ¤â¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ç¤¹¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.B javadoc
-¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-À¸À®¥É¥¥å¥á¥ó¥ÈÆâ¤Ç¤³¤ì¤é¤Î¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢
-¡Ö³°Éô»²¾È¡×¤Þ¤¿¤Ï¡Ö³°Éô¥ê¥ó¥¯¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢
-.B java.awt
-¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤À¤±
-.B javadoc
-¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢Object ¤Ê¤É¤Î
-.BR java.lang
-Æâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ï¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢
-.B \-link
-¤ª¤è¤Ó
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢Ä̾綠¤Î¥½¡¼¥¹¥³¥á¥ó¥È¤ò
-.B \javadoc
-¥Ä¡¼¥ë¤Î¼Â¹Ô¤ÇÍøÍѤǤ¤Ê¤¤¤È¤¤¤¦½ÅÍפÊÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¤½¤ì¤é¤Î¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-.SH "¥½¡¼¥¹¥Õ¥¡¥¤¥ë"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î Java ¸À¸ì¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f3.java\f1)¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î 4 ¼ïÎà¤Î
-¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ò´ð¤Ë¤·¤Æ¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥É¥¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£
-.SS "¥¯¥é¥¹¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë"
-³Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¤Ï¡¢
-.B .java
-¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤½¤ì¼«¿È¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS "¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë"
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢Æȼ«¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢À¸À®¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ÎÍ×Ìó¥Ú¡¼¥¸¤Ë¤³¤Î¥³¥á¥ó¥È¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¡£
-Ä̾¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËŬÍѤµ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ò´Þ¤á¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥³¥á¥ó¥È¤Î³ÊǼÀè¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤¤Þ¤¹¡£
-.LP
-.RS 3
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)
.TP 2
o
-\f2package\-info.java\fP \- ¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¡¢¤ª¤è¤Ó Javadoc ¥¿¥°¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï JDK 5.0 ¤ÇƳÆþ¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢package.html ¤è¤ê¤â¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている
.TP 2
o
-\f2package.html\fP \- ³ÊǼ¤Ç¤¤ë¤Î¤Ï¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤È Javadoc ¥¿¥°¤À¤±¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤¤Þ¤»¤ó¡£
+パッケージ文には有効なパッケージ名が含まれる (前項目で指定)
.RE
.LP
.LP
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢Ã±°ì¤Î \f2package.html\fP ¥Õ¥¡¥¤¥ë¡¢Ã±°ì¤Î \f2package\-info.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢Î¾Êý¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò \f2.java\fP ¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3リンクの処理\fP \- Javadoc ツールは、処理の実行中に、その実行でドキュメント化されるパッケージ、クラス、およびメンバーの名前に対して、自動的に相互参照リンクを追加します。このようなリンクは、次のような場所に追加されます。
+.LP
+.RS 3
+.TP 2
+o
+宣言 (戻り値の型、引数の型、フィールドの型)
+.TP 2
+o
+\f2@see\fP タグから生成された [関連項目] セクション
+.TP 2
+o
+\f2{@link}\fP タグから生成されたインラインテキスト
+.TP 2
+o
+\f2@throws\fP タグから生成された例外の名前
+.TP 2
+o
+"インタフェースのメンバーに対する [定義] リンクと、クラスのメンバーに対する [オーバーライド] リンク
+.TP 2
+o
+パッケージ、クラス、およびメンバーを列挙している概要テーブル
+.TP 2
+o
+パッケージおよびクラスの継承ツリー
+.TP 2
+o
+索引
+.RE
+
.LP
.LP
-\f4package\-info.java\fP ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤·¤Þ¤¹¡£
+コマンド行で指定しなかったクラスについての既存のテキスト (別に生成したテキスト) に対してハイパーリンクを追加するには、\f2\-link\fP および \f2\-linkoffline\fP オプションを利用できます。
.LP
.LP
-File: \f2java/applet/package\-info.java\fP
+\f3その他の処理についての詳細\fP \- Javadoc ツールは、実行するたびに 1 つの完全なドキュメントを作成します。 ドキュメントを追加生成することはできません。 つまり、Javadoc ツールの以前の実行結果を修正したり、その内容を直接組み入れたりすることはできません。ただし、前述のように、以前の実行結果に対してリンクを追加することはできます。
.LP
-.ft 3
+.LP
+実装上の理由から、Javadoc ツールは、処理を実行するために java コンパイラを必要とし、java コンパイラに依存しています。Javadoc ツールは \f2javac\fP の一部を呼び出すことにより、宣言をコンパイルし、メンバーの実装は無視します。Javadoc ツールは、クラス階層を含むクラスの豊富な内部表現とクラスの「使用」関係を構築し、その情報から HTML を生成します。さらに、Javadoc ツールは、ソースコードのドキュメンテーションコメントから、ユーザーの提供したドキュメントも取得します。
+.LP
+.LP
+Javadoc ツールは、メソッド本体のない純粋なスタブファイルである \f2.java\fP ソースファイルに対しても、実行することができます。したがって、API の作成時には、実装を記述する前の設計の早い段階で、ドキュメンテーションコメントを記述して javadoc ツールを実行できます。
+.LP
+.LP
+コンパイラに依存することによって、HTML 出力は、実際の実装に正確に対応します。 実際の実装は、明示的なソースコードにではなく、暗黙のソースコードに依存する場合があります。たとえば、Javadoc ツールは、\f2.class\fP ファイル内に存在するが、ソースコード内には存在しない
+.na
+\f2デフォルトコンストラクタ\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (Java 言語仕様のセクション 8.6.7) をドキュメント化します。
+.LP
+.LP
+通常、Javadoc ツールでは、ソースファイルのコードが不完全またはエラーを含んでいる場合でもドキュメントを生成できます。このため、デバッグやトラブルシューティングを完了する前にドキュメントを生成できます。たとえば、Java 言語仕様によると、抽象メソッドを含むクラスは、それ自体抽象として宣言されなければなりません。このエラーを検出すると、javac コンパイラは停止しますが、Javadoc ツールは警告を出さずに処理を続行します。Javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、DocCheck ドックレットを使用してください。
+.LP
+.LP
+Javadoc ツールは、ドキュメントの内部構造を構築する際、参照クラスをすべてロードします。このため、Javadoc ツールは、ブートストラップクラス、拡張機能、またはユーザークラスにかかわらず、すべての参照クラスを検索できなければなりません。詳細は、
+.na
+\f2「クラスの検索方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlを参照してください。通常、作成するクラスは、拡張機能としてロードするか、Javadoc ツールのクラスパス内に置く必要があります。
+.LP
+.SS
+Javadoc のドックレット
+.LP
+.LP
+Javadoc ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。Javadoc ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み」ドックレットがあります。 標準ドックレットは、HTML 形式の API ドキュメントを生成します。標準ドックレットを修正またはサブクラス化することや、HTML、XML、MIF、RTF などの好みの出力形式を生成する独自のドックレットを記述することも可能です。ドックレットとその使用法については、次の項目を参照してください。
+.LP
+.RS 3
+.TP 2
+o
+.na
+\f2Javadoc のドックレット\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html
+.TP 2
+o
+\f2\-doclet\fP コマンド行オプション
+.RE
+
+.LP
+.LP
+\f2\-doclet\fP コマンド行オプションでカスタムドックレットが指定されていない場合、Javadoc ツールは、デフォルトの標準ドックレットを使用します。javadoc ツールには、使用されているドックレットに関係なく使用できるコマンド行オプションがあります。標準ドックレットでは、これらのほかに、いくつかのコマンド行オプションが追加されます。どちらのオプションについても、このあとの「オプション」で説明します。
+.LP
+.SS
+関連ドキュメントおよびドックレット
+.LP
+.RS 3
+.TP 2
+o
+.na
+\f2Javadoc に施された機能強化\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc で追加された改良点の詳細
+.TP 2
+o
+.na
+\f2Javadoc FAQ\fP @
+.fi
+http://java.sun.com/j2se/javadoc/faq/index.html \- 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法
+.TP 2
+o
+.na
+\f2How to Write Doc Comments for Javadoc\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ドキュメンテーションコメントの記述方法に関する Sun の規約
+.TP 2
+o
+.na
+\f2Requirements for Writing API Specifications\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java 2 プラットフォーム仕様を記述する際に使用された標準要件。この情報は、ソースファイルのドキュメンテーションコメント形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも役立ちます。検証可能なアサーションを満たすパッケージ、クラス、インタフェース、フィールド、およびメソッドについての要件を定めています。
+.TP 2
+o
+.na
+\f2ドキュメンテーションコメントの仕様\fP @
+.fi
+http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ドキュメンテーションコメントのオリジナル仕様については、『Java Language Specification』 (James Gosling、Bill Joy、Guy Steele 共著) の初版の第 18 章「Documentation Comments」を参照してください。この章は、第 2 版では削除されました。
+.TP 2
+o
+.na
+\f2DocCheck ドックレット\fP @
+.fi
+http://java.sun.com/javadoc/doccheck \- ソースファイル内のドキュメンテーションコメントをチェックし、検出されたエラーや不正のレポートを生成します。Sun Doc Check ユーティリティーの一部です。Sun Doc Check ユーティリティーの一部です。
+.TP 2
+o
+.na
+\f2MIF ドックレット\fP @
+.fi
+http://java.sun.com/javadoc/mifdoclet \- MIF、FrameMaker、PDF の書式で API ドキュメントを自動生成します。MIF は Adobe FrameMaker の交換書式です。
+.RE
+
+.LP
+.SS
+用語
+.LP
+.LP
+\f2「ドキュメンテーションコメント」\fP、\f2「doc コメント」\fP、\f2「主説明」\fP、\f2「タグ」\fP、\f2「ブロックタグ」\fP、および\f2「インラインタグ」\fPの用語については、「ドキュメンテーションコメント」で説明します。次のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。
+.LP
+.RS 3
+.TP 3
+生成ドキュメント (generated document)
+javadoc ツールが Java ソースコード内のドキュメンテーションコメントから生成したドキュメントのことです。デフォルトの生成ドキュメントは HTML 形式で、標準ドックレットによって作成されます。
+.LP
+.TP 3
+名前 (name)
+Java 言語で書かれたプログラム要素の名前、つまりパッケージ、クラス、インタフェース、フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、\f2java.lang.String.equals(java.lang.Object)\fP のように完全修飾することも、\f2equals(Object)\fP のように部分修飾することもできます。
+.LP
+.TP 3
+ドキュメント化されるクラス (documented classes)
+javadoc ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。ドキュメント化するには、ソースファイルが使用可能でなければならず、ソースファイル名またはパッケージ名を javadoc コマンドに渡され、アクセス修飾子 (public、protected、package\-private または private) によってフィルタ処理されないようにしなければなりません。ドキュメント化されるクラスは、javadoc ツールの出力に組み込まれるクラス、つまり「包含クラス」とも呼ばれます。
+.LP
+.TP 3
+包含クラス (included classes)
+ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。「ドキュメント化されるクラス」 と同じ。
+.LP
+.TP 3
+除外クラス (excluded classes)
+ツールの実行によって詳細なドキュメントが生成されないクラスおよびインタフェースのことです。
+.LP
+.TP 3
+参照クラス (referenced classes)
+ドキュメント化されるクラスおよびインタフェースの定義 (実装) またはドキュメンテーションコメントの中で明示的に参照されているクラスおよびインタフェースのことです。参照の例としては、戻り値の型、パラメータの型、キャストの型、拡張されたクラス、実装されたインタフェース、インポートされたクラス、メソッド本体で使用されるクラス、@see、{@link}、{@linkplain}、{@inheritDoc} タグなどがあります。この定義は
+.na
+\f21.3\fP @
+.fi
+http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses から変更されています。javadoc ツールを実行するときは、Javadoc のブートクラスパスおよびクラスパス内にあるすべての参照クラスをメモリーにロードする必要があります。参照クラスが見つからない場合は、「クラスが見つかりません」という警告が表示されます。Javadoc ツールは、クラスの存在とそのメンバーの完全指定の名前を判別するのに必要なすべての情報を、.class ファイルから引き出すことができます。
+.LP
+.TP 3
+外部参照クラス (external referenced classes)
+参照クラスのうち、javadoc ツールの実行中にドキュメントが生成されないクラスのことです。つまり、これらのクラスは、コマンド行で Javadoc ツールに渡されていません。生成ドキュメント内でこれらのクラスにリンクしている箇所は、「外部参照」または「外部リンク」と呼ばれます。たとえば、\f2java.awt\fP パッケージに対してだけ Javadoc ツールを実行した場合、\f2Object\fP などの \f2java.lang\fP 内のすべてのクラスが外部参照クラスになります。外部参照クラスにリンクするには、\f2\-link\fP および \f2\-linkoffline\fP オプションを使用します。外部参照クラスには、通常そのソースコメントを javadoc ツールの実行で利用できないという重要な特徴があります。この場合、それらのコメントを継承することはできません。
+.RE
+
+.LP
+.SH "ソースファイル"
+.LP
+.LP
+Javadoc ツールは、4 種類の異なるソースファイルから出力結果を生成します。そのファイルは、クラスの Java 言語ソースファイル (\f2.java\fP)、パッケージコメントファイル、概要コメントファイル、およびその他の処理されないファイルです。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートファイルについても説明します。
+.LP
+.SS
+クラスソースコードファイル
+.LP
+.LP
+それぞれのクラスまたはインタフェース、およびそのメンバーは、独自のドキュメンテーションコメントを持つことができ、それを \f2.java\fP ファイル内に保持します。ドキュメンテーションコメントの詳細は、「ドキュメンテーションコメント」を参照してください。
+.LP
+.SS
+パッケージコメントファイル
+.LP
+.LP
+それぞれのパッケージは、独自のドキュメンテーションコメントを持つことができ、それを専用の「ソース」ファイルに保持します。 その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、そのパッケージ全体に当てはまるドキュメントを記述します。
+.LP
+.LP
+パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。
+.LP
+.RS 3
+.TP 2
+o
+\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは JDK 5.0 で導入されたものであり、package.html よりも推奨されています。
+.TP 2
+o
+\f2package.html\fP \- 格納できるのはパッケージコメントと Javadoc タグだけです。 パッケージ注釈は格納できません。
+.RE
+
+.LP
+.LP
+各パッケージは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを持つことができますが、両方を持つことはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。
+.LP
+.LP
+\f4package\-info.java\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントはパッケージ宣言の前に配置します。
+.LP
+.LP
+File:\f2java/applet/package\-info.java\fP
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+.nf
+\f3
+.fl
/**
- * Provides the classes necessary to create an
+.fl
+ * Provides the classes necessary to create an
+.fl
* applet and the classes an applet uses
+.fl
* to communicate with its applet context.
+.fl
* <p>
+.fl
* The applet framework involves two entities:
+.fl
* the applet and the applet context.
+.fl
* An applet is an embeddable window (see the
+.fl
* {@link java.awt.Panel} class) with a few extra
+.fl
* methods that the applet context can use to
+.fl
* initialize, start, and stop the applet.
+.fl
*
+.fl
* @since 1.0
+.fl
* @see java.awt
+.fl
*/
+.fl
package java.lang.applet;
+.fl
+\fP
.fi
-.ft 1
-.LP
-¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Î \f2/**\fP ¤È \f2*/\fP ¤Ïµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¹Ô¤Î¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-.LP
-.LP
-\f4package.html\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï \f2<body>\fP Í×ÁÇÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£
-.LP
-.LP
-File: \f2java/applet/package.html\fP
-.LP
-.LP
-.ft 3
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
.nf
-<HTML>
-<BODY>
-Provides the classes necessary to create an applet and the
-classes an applet uses to communicate with its applet context.
-<p>
-The applet framework involves two entities: the applet
-and the applet context. An applet is an embeddable
-window (see the {@link java.awt.Panel} class) with a
-few extra methods that the applet context can use to
-initialize, start, and stop the applet.
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 353 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-42
+.LP
+.LP
+コメント区切り文字の \f2/**\fP と \f2/*\fP は記述する必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。
+.LP
+.LP
+\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントは \f2<body>\fP 要素内に配置します。
+.LP
+.LP
+File:\f2java/applet/package.html\fP
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+.nf
+\f3
+.fl
+<HTML>
+.fl
+<BODY>
+.fl
+Provides the classes necessary to create an applet and the
+.fl
+classes an applet uses to communicate with its applet context.
+.fl
+<p>
+.fl
+The applet framework involves two entities: the applet
+.fl
+and the applet context. An applet is an embeddable
+.fl
+window (see the {@link java.awt.Panel} class) with a
+.fl
+few extra methods that the applet context can use to
+.fl
+initialize, start, and stop the applet.
+.fl
+
+.fl
@since 1.0
+.fl
@see java.awt
+.fl
</BODY>
+.fl
</HTML>
+.fl
+\fP
.fi
-.ft 1
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 406 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-40
+
.LP
.LP
-¤³¤ì¤Ïñ¤Ê¤ëÄ̾ï¤Î HTML ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍƤϡ¢¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥³¥á¥ó¥È¤ÈƱÍÍ¤Ë HTML ¤Çµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤Û¤«¤Î¥³¥á¥ó¥È¤È°Û¤Ê¤ëÅÀ¤¬ 1 ¤Ä¤À¤±¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢¤³¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë \f2/**\fP ¤È \f2*/\fP¡¢¤ª¤è¤Ó¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍפȤ·¡¢\f2<body>\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤¹¤¬¡¢¤Û¤«¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱÍÍ¡¢Á´¤Æ¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤ÏÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Ë \f2@see\fP ¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecomments
-¤Î
+これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述されています。それは、このドキュメンテーションコメントには、コメント区切り文字である \f2/**\fP と \f2*/\fP、および行頭のアスタリスクを含めてはならない、ということです。コメントを書く場合は、最初の文をパッケージの概要とし、\f2<body>\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、すべてのブロックタグは、主説明のあとに置かなければなりません。パッケージコメントファイルに \f2@see\fP タグを追加する場合は、完全指定の名前を使用する必要があります。詳細は、
.na
-¡Ö\f2example of \fP\f2package.html\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2package.html\fP の例 @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsを参照してください。
.LP
.LP
-\f3¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô»þ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¸¡º÷¤·¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤È¼¡¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
+\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。
.LP
.RS 3
.TP 2
o
-½èÍý¤Ç¤¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤¹¤ë (\f2package.html\fP ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢\f2<body>\fP ¤È \f2</body>\fP HTML ¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍƤò¤¹¤Ù¤Æ¥³¥Ô¡¼¤¹¤ë¡£\f2<head>\fP ¤ò´Þ¤á¡¢¤½¤³¤Ë \f2<title>\fP ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤¬¡¢À¸À®¸å¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Ê¤¤)
+処理できるようにコメントをコピーする (\f2package.html\fP の場合であれば、\f2<body>\fP と \f2</body>\fP HTML タグの間にある内容をすべてコピーする。\f2<head>\fP を含め、そこに \f2<title>\fP やソースファイルの著作権記述などの情報を配置することもできるが、生成後のドキュメンテーションにはそれらは一切表示されない)
.TP 2
o
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë
+パッケージタグがあれば、すべて処理する
.TP 2
o
-À¸À®¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: ¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×)
+生成したパッケージの概要ページの最後に、処理したテキストを挿入する (例:
+.na
+\f2パッケージの概要\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html)
.TP 2
o
-¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë¡£¤µ¤é¤Ë¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲ乤ë (Îã: ³µÍפÎÍ×Ìó)¡£Ê¸¤ÎËöÈø¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ÈƱ¤¸µ¬Â§¤Ë¤è¤Ã¤ÆȽÃǤµ¤ì¤ë
+パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例:
+.na
+\f2概要の要約\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html)。文の末尾は、クラスやメンバーの主説明の最初の文の末尾と同じ規則によって判断される
.RE
.LP
-.SS "³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë"
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤Ï¡¢
-Æȼ«¤Î³µÍץɥ¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¤½¤ì¤Ï
-¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢À¸À®¤¹¤ë³µÍ×¥Ú¡¼¥¸¤Ë¤³¤Î¥³¥á¥ó¥È¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¡£Ä̾¤³¤Î
-¥³¥á¥ó¥È¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤË
-Åö¤Æ¤Ï¤Þ¤ë¥É¥¥å¥á¥ó¥È¤ò´Þ¤á¤Þ¤¹¡£
+.SS
+概要コメントファイル
.LP
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ë¹¥¤¤Ê̾Á°¤òÉÕ¤±¤Æ¡¢
-¹¥¤¤Ê¾ì½ê¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢Ä̾ï¤Ï¥Õ¥¡¥¤¥ë̾¤ò
-.B overview.html
-¤Ë¤·¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î°ìÈÖ¾å¤Î³¬ÁؤËÃÖ¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.B java.applet
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-.B /home/user/src/java/applet
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¤¹¤ë¤È¡¢
-.BR /home/user/src/overview.html
-¤Ë³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
.LP
-°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸ 1 ¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍÑ¤Ë \-private ¤ò»ØÄꤷ¤Æ javadoc ¤ò 1 ²ó¼Â¹Ô¤·¤¿¤¢¤È¡¢¸ø³«¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î 1 ʸÌܤǡ¢¤½¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
+ドキュメント化する各アプリケーションまたはパッケージセットは、独自の概要ドキュメンテーションコメントを持つことができ、それは専用の「ソース」ファイルに保持されます。 その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、アプリケーションまたはパッケージセット全体に当てはまるドキュメントを記述します。
.LP
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍƤϡ¢Á°¤Ë½Ò¤Ù¤¿¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤È
-ƱÍÍ¡¢HTML ¤Çµ½Ò¤µ¤ì¤¿ 1 ¤Ä¤ÎÂ礤ʥɥ¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£·«¤êÊÖ¤·¤Ë
-¤Ê¤ê¤Þ¤¹¤¬¡¢¤³¤Î¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ÎÍ×Ìó¤Ë¤·¡¢
-.B <body>
-¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤Þ¤¿¤Ï¤½¤Î¾¤Î¥Æ¥¥¹¥È¤ò´Þ¤á¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-³µÍ×¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë
-¤Ä¤¤¤Æ¤â¡¢{\f3@link\f1}
-°Ê³°¤Î¥¿¥°¤Ï¡¢ÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.B @see
-¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.BR javadoc
-¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢
-.B \-overview
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
+概要コメントファイルを作成する場合は、ファイルに任意の名前を付け、任意の場所に置くことができます。ただし、通常は、ファイル名を \f4overview.html\fP にして、ソースツリーの最上位レベルに置きます。たとえば、\f2java.applet\fP パッケージのソースファイルが \f2/home/user/src/java/applet\fP ディレクトリに含まれている場合は、\f2/home/user/src/overview.html\fP に概要コメントファイルを作成できます。
+.LP
+.LP
+異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。
+.LP
+.LP
+概要コメントファイルの内容は、前述のパッケージコメントファイルと同様、HTML で記述された 1 つの大きなドキュメンテーションコメントです。詳細は、前述の説明を参照してください。要点を繰り返すと、このコメントを記述する場合は、最初の文をアプリケーションまたはパッケージセットの要約とし、\f2<body>\fP と最初の文の間にタイトルその他のテキストを含めないようにします。概要タグを含めることができます。 どのドキュメンテーションコメントについても、インラインタグ (\f2{@link}\fP など) 以外のすべてのタグは、主説明のあとに置く必要があります。\f2@see\fP タグを追加する場合は、完全指定の名前を使用しなければなりません。
+.LP
+.LP
+Javadoc ツールの実行時に、\-overview オプションを使って概要コメントファイル名を指定します。このファイルは、パッケージコメントファイルと同じように処理されます。
+.LP
+.RS 3
.TP 2
-\(bu
-.B <body>
-¥¿¥°¤È
-.B </body>
-¥¿¥°¤È¤Î´Ö¤Ë¤¢¤ë¤¹¤Ù¤Æ¤ÎÆâÍƤò½èÍý¤Î¤¿¤á¤Ë¥³¥Ô¡¼¤¹¤ë
+o
+\f2<body>\fP タグと \f2</body>\fP タグの間にあるすべての内容を処理のためにコピーする
.TP 2
-\(bu
-¸ºß¤¹¤ë³µÍ×¥¿¥°¤ò½èÍý¤¹¤ë
+o
+概要タグがあればすべて処理する
.TP 2
-\(bu
-³µÍפÎÍ×Ìó¤Ê¤É¤Î Javadoc ¤¬À¸À®¤¹¤ë³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢
-½èÍý¤µ¤ì¤¿¥Æ¥¥¹¥È¤òÁÞÆþ¤¹¤ë
-.TP 2
-\(bu
-³µÍ×¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë
-.SS "¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë"
-¥½¡¼¥¹¤Ë¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤ÇÀ¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¡¢¤½¤Î¾¤ÎǤ°Õ¤Î¥Õ¥¡¥¤¥ë¤ò
-´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-¥µ¥ó¥×¥ë¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Õ¥¡¥¤¥ë¡¢Java ¥½¡¼¥¹
-(\f3.java\f1) ¤ª¤è¤Ó¥¯¥é¥¹ (\f3.class\f1) ¥Õ¥¡¥¤¥ë¡¢ÆâÍƤ¬
-Ä̾ï¤Î Java ¥½¡¼¥¹
-¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤
-ÆÈΩ¤·¤¿ HTML ¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò
-.BR doc-files
-¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸
-¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤ËºîÀ®¤Ç¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë¤³¤Î¤è¤¦¤Ê¥µ¥Ö
-¥Ç¥£¥ì¥¯¥È¥ê¤ò 1 ¤Ä»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢
-¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢
-.B .class
-¥Õ¥¡¥¤¥ë¡¢¥¢¥×¥ì¥Ã¥È¡¢¤ª¤è¤Ó HTML ¥Õ¥¡¥¤¥ë¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î²èÁü
-.B button.gif
-¤ò
-.B java.awt.Button
-¥¯¥é¥¹¥É¥¥å¥á¥ó¥È¤Ë´Þ¤á¤¿¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò
-.B /home/user/src/java/awt/doc-files/
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£
-.BR doc-files
-¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.B /home/user/src/java/doc-files
-¤ËÃÖ¤¯¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢
-.B java
-¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤½¤Î¤â¤Î¤Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-Æþ¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-¤³¤ì¤é¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤Ï
-¤¹¤Ù¤ÆÌÀ¼¨Åª¤Ëµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥Õ¥¡¥¤¥ë¤ò¸«¤º¤Ë¡¢Ã±¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÆâÍÆʪ¤òÀ¸À®Àè¤Ë
-¥³¥Ô¡¼¤¹¤ë¤À¤±¤À¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B Button.java
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-/**
-* This button looks like this:
-* <img src="doc-files/Button.gif">
-*/
+o
+生成した概要ページの最後に、処理したテキストを挿入する (例:
+.na
+\f2概要の要約\fP @
.fi
-.ft 1
-.SH "¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë"
-°ìÉô¤Î³«È¯¼Ô¤«¤é¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò
-Âбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¶á¤¯¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦Í×˾¤¬¤¢¤ê¤Þ¤·¤¿¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë
-Êݸ¤·¤¿¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-.LP
-¸ÄÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÌÀ¼¨Åª¤ËÅϤ·¤Æ
-.B Javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò°Õ¿ÞŪ¤Ë½ü³°¤·¤Æ¡¢
-½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï
-¥ï¥¤¥ë¥É¥«¡¼¥É¤ÇÅϤ¹¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¡¢¤³¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë
-¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤¬
-½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤È¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Ï¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢ÀµÅö¤Ç¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤Î¤ËÂФ·¤Æ¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤¦¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤¿¤À¤·¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤â¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë \-
-³«È¯¼Ô¤Î¿¤¯¤Ï¡¢¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¼Â¹Ô²Äǽ¤Ê
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
-¤·¤«¤·¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤Ê¤É¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤µ¤»¤¿¤¤¤È¤â
-¹Í¤¨¤Æ¤¤¤Þ¤¹ (¤½¤Î¤¿¤á¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤Ï package ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤Ê¤¤¤«¡¢
-¤Þ¤¿¤Ï¥½¡¼¥¹¤È¤ÏÊ̤Πpackage ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤¢¤ê¤Þ¤¹)¡£
-¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ
-¤½¤Î¥½¡¼¥¹¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤È¤¤Ë¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤µ¯¤³¤·¤Þ¤¹¡£
-¤½¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò
-.B com.package1
-¤ËÄɲ乤ë¾ì¹ç¤Ï¡¢¤½¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤ë¤¿¤á
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¤·¤Æ¤Ï̵¸ú¤Ë¤Ê¤ë
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£
-.LP
-.RS 5
-com/package1/test-files/
+http://java.sun.com/javase/6/docs/api/overview\-summary.html)
+.TP 2
+o
+概要ページの先頭に、概要コメントの最初の文をコピーする
.RE
+
.LP
-¤³¤¦¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ç¤Ï·Ù¹ð¤Ê¤·¤Ç
-test ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¹¥¥Ã¥×¤·¤Þ¤¹¡£
+.SS
+その他の未処理のファイル
.LP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë doc ¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢
-¼¡¤Î¤è¤¦¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÅϤ·¤Æ
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤òÊ̸Ĥ˼¹ԤǤ¤ë¤è¤¦¤ËÀßÄê¤Ç¤¤Þ¤¹¡£
-\f2com/package1/test\-files/*.java\fP.
-.TP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È\-
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Þ¤»¤ó¡£
-¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ËÊÝ»ý¤·¤¿¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î
-¥Æ¥ó¥×¥ì¡¼¥È¤¬¤¢¤ë¾ì¹ç¤Ï¡¢
-¤³¤Î¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó (Buffer-Template.java ¤Ê¤É) ¤ä
-¤½¤Î¾¤ÎÉÔÀµ¤Ê Java ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¡Ö.java¡×ÀÜÈø¼¤ò½ü¤¤¤¿Ì¾Á°¤¬
-Àµµ¬¤Î¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¢¤ë¤¿¤á¤Ç¤¹ (¡Ö¼±Ê̻ҡ×http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 »²¾È)¡£
-.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javadoc
-¤Ï¡¢HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò
-»È¤¤¤Þ¤¹¡£
-¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢°Ê²¼¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£°Ê²¼¤Î
-³Æ HTML¡Ö¥Ú¡¼¥¸¡×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Υե¡¥¤¥ë¤ËÂбþ¤·¤Þ¤¹¡£
-.B javadoc
-¤¬À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ï¡¢¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤Ë
-¤Á¤Ê¤ó¤À¤â¤Î¤È¡¢¤½¤¦¤Ç¤Ê¤¤¤â¤Î (\f3package-summary.html\f1 ¤Ê¤É)
-¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£¸å¼Ô¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢Á°¼Ô¤Î¥°¥ë¡¼¥×¤Î̾Á°¤È
-¥Õ¥¡¥¤¥ë̾¤¬¶¥¹ç¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SS "´ðËÜÆâÍÆ¥Ú¡¼¥¸"
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¯¥é¥¹¤Þ¤¿¤Ï³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¡¢1 ¤Ä¤Î¥¯¥é¥¹
-¥Ú¡¼¥¸¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸ (\f3classname.html\f1)
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸
-¥Ú¡¼¥¸ (\f3package-summary.html\f1)¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B package.html
-¤Þ¤¿¤Ï
-package\-info.java
-¤È¤¤¤¦¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î HTML ¥Æ¥¥¹¥È¤¬´Þ¤á¤é¤ì¤ë
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î³µÍ×
-¥Ú¡¼¥¸ (\f3overview-summary.html\f1)¡£¤³¤ì¤Ï¡¢À¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ÎÀèƬ¥Ú¡¼¥¸¤Ë¤Ê¤ë¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢
-.B -overview
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î HTML ¥Æ¥¥¹¥È¤¬´Þ¤á¤é¤ì¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢
-.B javadoc
-¤Ë 2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿
-¾ì¹ç¤À¤±¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤Î¡ÖHTML ¥Õ¥ì¡¼¥à¡×Àá¤ò»²¾È
-.SS "Áê¸ß»²¾È¥Ú¡¼¥¸"
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸
-(\f3overview-tree.html\f1)¡£¤³¤ì¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó
-¥Ð¡¼¤Î [³µÍ×] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë
-.TP 2
-\(bu
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ
-¥Ú¡¼¥¸ (\f3package-tree.html\f1)¡£
-ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ú¡¼¥¸¡¢¥¯¥é¥¹¥Ú¡¼¥¸¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸¤ò
-ɽ¼¨¤·¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤ¬
-ɽ¼¨¤µ¤ì¤ë
-.TP 2
-\(bu
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ 1 ¤Ä¤Î [»ÈÍÑ]
-¥Ú¡¼¥¸ (\f3package-use.html\f1)¤È¡¢
-³Æ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤ÆÊÌ¤Ë 1 ¤Ä¤Î [»ÈÍÑ]
-¥Ú¡¼¥¸(\f3class-use/classname.html\f1)¡£¤³¤Î¥Ú¡¼¥¸¤Ï¡¢ÆÃÄê¤Î¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¤Ê¤ó¤é¤«¤ÎÉôʬ¤ò»È¤Ã¤Æ¤¤¤ë
-¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ò
-µ½Ò¤¹¤ë¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ A ¤Ë¤Ä¤¤¤Æ¹Í¤¨¤ë¤È¡¢
-¤½¤Î[»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¤Ï¡¢A ¤Î¥µ¥Ö¥¯¥é¥¹¡¢A ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿
-¥Õ¥£¡¼¥ë¥É¡¢A ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É
-¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬É½¼¨¤µ¤ì¤ë¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢
-¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë°ÜÆ°¤·¤Æ¤«¤é¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼
-¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë
-.TP 2
-\(bu
-Èó¿ä¾© API ¥Ú¡¼¥¸ (\f3deprecated-list.html\f1)¡£¿ä¾©¤µ¤ì¤Ê¤¤
-̾Á°¤¹¤Ù¤Æ¤Î°ìÍ÷¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë (Èó¿ä¾©Ì¾¤Ï¡¢Ä̾ï¤Ï²þÎɤµ¤ì¤¿ API ¤¬
-¸ºß¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤Ê¤¤ API ¤Î̾Á°¤Ç¡¢¤¿¤¤¤Æ¤¤¤Ï¤½¤ì¤Ë
-ÃÖ¤´¹¤ï¤ë̾Á°¤¬Ä󼨤µ¤ì¤Æ¤¤¤ë¡£Èó¿ä¾© API ¤Ï¡¢¾Íè¤Î¼ÂÁõ¤Ç¤Ï
-ºï½ü¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë)
-.TP 2
-\(bu
-Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸ (\f3constant-values.html\f1) ¡£
-static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬É½¼¨¤µ¤ì¤ë¡£
-.TP 2
-\(bu
-ľÎó²½·Á¼°¥Ú¡¼¥¸ (\f3serialized-form.html\f1)¡£Ä¾Îó²½²Äǽ¥¯¥é¥¹
-¤ª¤è¤Ó³°Éô²½²Äǽ¥¯¥é¥¹¤Î¾ðÊóÍÑ¡£¤³¤ì¤é¤Î³Æ¥¯¥é¥¹¤Ë¤Ï¡¢Ä¾Îó²½
-¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë´Ø¤¹¤ëÀâÌÀ¤¬¤¢¤ë¡£¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢API ¤ò
-»È¤¦³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¼Ô¤ËɬÍפʾðÊó¤Ç¤¢¤ë¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë
-¥ê¥ó¥¯¤¬¤Ê¤¤¾ì¹ç¡¢Ç¤°Õ¤ÎľÎ󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°ÜÆ°¤·¤Æ¡¢
-¥¯¥é¥¹¤Î [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥óÆâ¤Î [ľÎ󲽤µ¤ì¤¿·Á¼°] ¤ò¥¯¥ê¥Ã¥¯
-¤¹¤ë¤È¤³¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤¤ë
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ò¼«Æ°Åª¤ËÀ¸À®¤¹¤ë¡£
-¤³¤³¤Ë¤Ï¡¢Serializable ¤ò¼ÂÁõ¤¹¤ë public ¤Þ¤¿¤ÏÈó public ¤Î
-¥¯¥é¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤ª¤ê¡¢¤µ¤é¤Ë¡¢
-.B readObject
-¥á¥½¥Ã¥É¡¢
-.B writeObject
-¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢
-¤ª¤è¤Ó @serial ¥¿¥°¡¢@serialField ¥¿¥°¡¢@serialData ¥¿¥°¤«¤é¤Î
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¡£
-ľÎ󲽤¬²Äǽ¤Ê public ¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢
-¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò @serial exclude ¥¿¥°¤Ç
-»ØÄꤹ¤ë¡£Ä¾Î󲽤¬²Äǽ¤Ê package private ¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢
-¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò @serial include ¥¿¥°¤Ç
-»ØÄꤹ¤ë¡£ 1.4 ¤Ç¤Ï¡¢
-\-private
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë javadoc ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢public ¥¯¥é¥¹¤ª¤è¤Ó
-private ¥¯¥é¥¹¤Ë´°Á´¤ÊľÎó²½·Á¼°¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-.TP 2
-\(bu
-º÷°ú (\f3index-*.html\f1)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Ì¾¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤ò
-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤Ƥ¢¤ë¡£º÷°ú¤Ï¡¢Unicode ¤ò°·¤¨¤ë¤è¤¦¤Ë
-¹ñºÝ²½¤µ¤ì¤Æ¤ª¤ê¡¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤«¡¢¤Þ¤¿¤ÏÀèƬ
-ʸ»ú (±Ñ¸ì¤Î¾ì¹ç A ¤«¤é Z) ¤´¤È¤ËÊ̤Υե¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤Ç¤¤ë
-.SS "¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë"
-.TP 2
-\(bu
-¥Ø¥ë¥×¥Ú¡¼¥¸ (\f3help-doc.html\f1)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ª¤è¤Ó
-¾åµ¤Î¥Ú¡¼¥¸¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
-.BR \-helpfile
-¤ò»È¤Ã¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î
-¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ËÃÖ¤´¹¤ï¤ëÆȼ«¤Î¥«¥¹¥¿¥à¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤òÄ󶡤¹¤ë
-¤³¤È¤â¤Ç¤¤ë
-.TP 2
-\(bu
-1 ¤Ä¤Î
-.B index.html
-¥Õ¥¡¥¤¥ë¡£É½¼¨ÍÑ ¤Î HTML ¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢
-¥Õ¥ì¡¼¥àÉÕ¤¤ÎºÇ½é¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¾ì¹ç¤Ë¥í¡¼¥É¤¹¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë
-¼«ÂΤϡ¢¥Æ¥¥¹¥ÈÆâÍƤò´Þ¤Þ¤Ê¤¤
-.TP 2
-\(bu
-Ê£¿ô¤Î¥Õ¥ì¡¼¥à¥Õ¥¡¥¤¥ë (\f3*-frame.html\f1)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÍ÷¤ò´Þ¤à¡£HTML ¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤È¤¤Ë
-»È¤ï¤ì¤ë
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë (\f3package-list\f1)¡£
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Ç»È¤ï¤ì¤ë¡£¤³¤ì¤Ï¡¢HTML ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë
-¤Î¤¿¤á¡¢¥ê¥ó¥¯¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤
-.TP 2
-\(bu
-¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë (\f3stylesheet.css\f1)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¾å¤Ë
-ɽ¼¨¤µ¤ì¤ë¸Â¤é¤ì¤¿¿§¿ô¡¢¥Õ¥©¥ó¥È¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¤Î
-¥¹¥¿¥¤¥ë¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤¹¤ë
-.TP 2
-\(bu
-¥³¥Ô¡¼Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤¿¤¤¥Õ¥¡¥¤¥ë (¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ê¤É) ¤¬Æþ¤Ã¤Æ¤¤¤ë doc ¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ëÆâ¤Î
-.B javadoc
-¥¿¥°¤Ï¤¹¤Ù¤Æ̵»ë¤µ¤ì¤ë¡£¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤·¤Ê¤¤¸Â¤ê¡¢¤³¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤ÏÀ¸À®¤µ¤ì¤Ê¤¤
-.SS "HTML ¥Õ¥ì¡¼¥à"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢²¼¤Î¿Þ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢2 ¤Ä¤« 3 ¤Ä¤Î HTML ¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£
-1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤·¤«¤Ê¤¤¾ì¹ç (¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤¬¤Ê¤¤¾ì¹ç) ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤ò¾Êά¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆºÇÄã¸ÂɬÍפʿô¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¤Þ¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*\f3.java\f1) ¤Þ¤¿¤Ïñ°ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò°ú¿ô¤È¤·¤Æ
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤ¹¾ì¹ç¤Ï¡¢º¸Â¦¤ÎÎó¤Ë¥¯¥é¥¹¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë
-¥Õ¥ì¡¼¥à (C) 1 ¤Ä¤À¤±¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤Ï¡¢³µÍ×¥Ú¡¼¥¸ (Detail) ¤Ë²Ã¤¨¤Æ¡¢
-¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëÂè 3 ¤Î¥Õ¥ì¡¼¥à (P) ¤¬
-ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤Î³µÍ×¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë̾¤Ï
-.BR overview-summary.html
-¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸
-̾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£[¥Õ¥ì¡¼¥à¤Ê¤·] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢
-.BR overview-summary.html
-¤«¤éɽ¼¨¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤È¡¢¥Õ¥ì¡¼¥à¤ò¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-HTML ¥Õ¥ì¡¼¥à¤Ë´·¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥ì¡¼¥à¤Ë¤Ï¡¢°õºþ¤ª¤è¤Ó
-¥¹¥¯¥í¡¼¥ëÍѤΡ֥ե©¡¼¥«¥¹¡×¤¬É¬ÍפǤ¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Õ¥ì¡¼¥à¤Ë¥Õ¥©¡¼¥«¥¹¤òÍ¿¤¨¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤ò
-¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¤¹¤ë¤È¡¢Â¿¤¯¤Î¥Ö¥é¥¦¥¶¤Ç¤Ï¡¢Ìð°õ¥¡¼¤ª¤è¤Ó¥Ú¡¼¥¸¥¡¼
-¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¹¥¯¥í¡¼¥ë¤·¤¿¤ê¡¢[°õºþ] ¥á¥Ë¥å¡¼
-¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤·¤¿¤ê¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+ソースには、Javadoc ツールによって生成先のディレクトリにコピーされる、その他の任意のファイルを含めることができます。一般に、このようなファイルには、グラフィックファイル、サンプルの Java ソース (.java) およびクラス (.class) ファイル、内容が通常の Java ソースファイルのドキュメンテーションコメントの影響を受けない独立した HTML ファイルなどがあります。
.LP
-.ft 3
+.LP
+未処理のファイルをソースに含めるには、それらのファイルを \f4doc\-files\fP というディレクトリに置きます。 このディレクトリは、ソースファイルがある任意のパッケージディレクトリの下に作成できます。このようなサブディレクトリは、パッケージごとに 1 つ用意できます。イメージ、サンプルコード、ソースファイル、.class ファイル、アプレット、および HTML ファイルをこのディレクトリに格納できます。たとえば、ボタンのイメージ \f2button.gif\fP を \f2java.awt.Button\fP クラスのドキュメントに含める場合は、そのファイルを \f2/home/user/src/java/awt/doc\-files/\fP ディレクトリに置きます。\f2doc\-files\fP ディレクトリを \f2/home/user/src/java/doc\-files\fP に置くことはできません。 これは、\f2java\fP はパッケージではなく、そのディレクトリそのものにソースファイルが入っていないからです。
+.LP
+.LP
+これらの未処理のファイルへのリンクは、すべて明示的に記述する必要があります。 これは、Javadoc ツールがそれらのファイルを見ずに、単にディレクトリとその内容を生成先にコピーするだけだからです。たとえば、\f2Button.java\fP のドキュメンテーションコメント内のリンクは、次のようになります。
+.LP
.nf
- ------------ ------------
- |C| Detail | |P| Detail |
- | | | | | |
- | | | |-| |
- | | | |C| |
- | | | | | |
- | | | | | |
- ------------ ------------
- javadoc *.java javadoc java.lang java.awt
+\f3
+.fl
+ /**
+.fl
+ * This button looks like this:
+.fl
+ * <img src="doc\-files/Button.gif">
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
+
.LP
-HTML ¥Õ¥ì¡¼¥à¤¬É¬Íפ«¤É¤¦¤«¤Ë¤è¤Ã¤Æ¡¢¼¡¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò
-³«»Ï¥Ú¡¼¥¸¤È¤·¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£
+.SS
+テストファイルおよびテンプレートファイル
.LP
+.LP
+一部の開発者から、テストファイルおよびテンプレートファイルを対応するソースファイルの近くのソースツリーに保存したいという要望がありました。つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに保存したいということです。
+.LP
+.LP
+個別のソースファイル名で明示的に渡して Javadoc ツールを実行する場合は、テストファイルおよびテンプレートファイルを意図的に除外して、処理されないようにすることができます。ただし、パッケージ名またはワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイルおよびテンプレートファイルが処理されないようにする必要があります。
+.LP
+.LP
+テストファイルとテンプレートファイルの違いは、テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、テンプレートファイルは、そうではないという点です。 ただし、テンプレートファイルも「.java」で終わることができます。
+.LP
+.LP
+\f3テストファイル\fP \- 開発者の多くは、あるパッケージのコンパイル可能で実行可能なテストファイルをそのパッケージのソースファイルと同じディレクトリに配置したいと考えています。しかしテストファイルは、名前なしパッケージなど、ソースファイルパッケージとは別のパッケージに属させたいとも考えています (そのため、テストファイルには package ステートメントがないか、またはソースとは別の package ステートメントがある)。このような状況では、コマンド行で指定されているソースのパッケージ名を指定してそのソースがドキュメント化されているときに、テストファイルは警告またはエラーを引き起こします。そのようなテストファイルはサブディレクトリに配置する必要があります。\f2com.package1\fP に追加する場合は、それらのテストファイルを、ハイフンが含まれるためパッケージ名としては無効になるサブディレクトリに配置します。
+.LP
+.nf
+\f3
+.fl
+ com/package1/test\-files/
+.fl
+\fP
+.fi
+
+.LP
+.LP
+こうすると、Javadoc ツールでは警告なしで test ディレクトリをスキップします。
+.LP
+.LP
+テストファイルに doc コメントが含まれる場合、次のようにワイルドカードを含んだテストソースファイル名で渡してテストファイルのドキュメントを生成するように、Javadoc ツールを別個に実行できるように設定できます。 たとえば、\f2com/package1/test\-files/*.java\fP などです。
+.LP
+.LP
+\f3ソースファイルのテンプレート\fP \- テンプレートファイルの名前は「.java」で終わることもありますが、テンプレートファイルはコンパイルできません。ソースディレクトリに保持したいソースファイルのテンプレートがある場合は、このファイル名にハイフン (\f2Buffer\-Template.java\fP など) やその他の不正な Java 文字を使用します。 こうすることで、処理されないようになります。これは、Javadoc ツールが処理するのは、「.java」接尾辞を除いた名前が 正規のクラス名であるソースファイルだけであるためです (
+.na
+\f2「識別子」\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625参照)。
+.LP
+.SH "生成されるファイル"
+.LP
+.LP
+デフォルトでは、javadoc ツールは、HTML 形式のドキュメントを生成する標準ドックレットを使います。このドックレットは、以下の種類のファイルを生成します。 それぞれの HTML ページは、個々のファイルに相当します。javadoc が生成するファイルの名前には、クラスやインタフェースの名前にちなんだものと、そうでないもの (\f2package\-summary.html\fP など) の 2 種類があります。後者のグループのファイル名には、前者のグループとファイル名が競合しないように、ハイフンが含まれています。
+.LP
+.LP
+\f3基本内容ページ\fP
+.LP
+.RS 3
.TP 2
-\(bu
-.B index.html
-(¥Õ¥ì¡¼¥à¤¢¤ê)
+o
+ドキュメント化するクラスまたはインタフェースごとに 1 つの\f3クラスページまたはインタフェースページ\fP (\f2クラス名\fP\f2.html\fP)
.TP 2
-\(bu
-.B overview-summary.html
-(¥Õ¥ì¡¼¥à¤Ê¤·)
-.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¹½Â¤"
-À¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥½¡¼¥¹
-¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤÇÁÈ¿¥
-¤µ¤ì¤Þ¤¹¡£¤³¤Î¹½Â¤¤Ï¡¢1 ¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤ 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê
-¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
+o
+ドキュメント化するパッケージごとに 1 つの\f3パッケージページ\fP (\f2package\-summary.html\fP)。Javadoc ツールは、ソースツリーのパッケージディレクトリ内に \f2package.html\fP または \f2package\-info.java\fP というファイルがあれば、その中の HTML テキストをこのページに組み入れます。
+.TP 2
+o
+パッケージセット全体に対して 1 つの\f3概要ページ\fP (\f2overview\-summary.html\fP)。これは、生成ドキュメントの先頭ページになります。Javadoc ツールは、\f2\-overview\fP オプションで指定されたファイル内の HTML テキストをこのページに組み入れます。このページのファイルは、javadoc に複数のパッケージ名を渡した場合にだけ作成されます。詳細は、「HTML フレーム」を参照してください。
+.RE
+
.LP
-¤¿¤È¤¨¤Ð¡¢
-.B java.applet.Applet
-¥¯¥é¥¹¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ï¡¢
-.BR java/applet/Applet.html
-¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£À¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ apidocs ¤À¤È
-¤¹¤ë¤È¡¢java.applet ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¹½Â¤¤â¤³¤ì¤Ë½¾¤¤¤Þ¤¹¡£
-Á°½Ò¤·¤¿¤è¤¦¤Ë¡¢¡Öframe¡×¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢
-¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì
-°Ê³°¤Î HTML ¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-Ãí: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ÂÀ»ú (bold) ¤Ç¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Ï¡¢
-.B javadoc
-¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ (*\f3.java\f1) ¤Î
-¤È¤¤Ë¡¢¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢
-°ú¿ô¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î¤È¤¤Ë¤Ï¡¢
-.B package-list
-¤ÏºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¶õ¤Ç¤¹¡£
-.B doc-files
-¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Ë¸ºß¤·¤Ê¤¤¸Â¤ê¡¢À¸À®Àè¤Ëɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
+\f3相互参照ページ\fP
+.LP
+.RS 3
+.TP 2
+o
+\f3パッケージのセット全体に対して 1 つのクラス階層ページ\fP (\f2overview\-tree.html\fP)。このページを表示するには、ナビゲーションバーの [概要] をクリックしてから、[階層ツリー] をクリックします。
+.TP 2
+o
+\f3パッケージごとに 1 つのクラス階層ページ\fP (\f2package\-tree.html\fP)。 特定のパッケージ、クラス、またはインタフェースのページを表示してから、[階層ツリー] をクリックすると、そのパッケージのクラス階層が表示されます。
+.TP 2
+o
+\f3パッケージごとに 1 つの [使用] ページ\fP (\f2package\-use.html\fP)と、\f3クラスおよびインタフェースごとに 1 つずつの [使用] ページ\fP (\f2class\-use/\fP\f2クラス名\fP\f2.html\fP)。このページには、特定のクラス、インタフェース、またはパッケージの一部を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドについて記述されます。クラスまたはインタフェース A を例にして考えると、その [使用] ページには、A のサブクラス、A として宣言されたフィールド、A を返すメソッド、A 型のパラメータを持つメソッドおよびコンストラクタが表示されます。 このページを表示するには、まず、パッケージ、クラス、またはインタフェースのページに移動してから、ナビゲーションバーの [使用] リンクをクリックします。
+.TP 2
+o
+\f3非推奨 API ページ\fP (\f2deprecated\-list.html\fP)。 推奨されないすべての名前が一覧表示されます。非推奨名は、一般に改良された API が存在するために使用が推奨されていない API の名前であり、通常、それに置き換わる名前が提示されています。非推奨 API は、将来の実装では削除される可能性があります。
+.TP 2
+o
+\f3定数フィールド値ページ\fP (\f2constant\-values.html\fP)。 static フィールドの値用です。
+.TP 2
+o
+\f3直列化されたフォームページ\fP (\f2serialized\-form.html\fP)。 直列化および外部化可能なクラスです。これらの各クラスには、直列化フィールドおよびメソッドに関する説明があります。これらの情報は、API を使う開発者ではなく、再実装を行う開発者に必要な情報です。ナビゲーションバーにこのページへのリンクはありませんが、直列化されたクラスに移動して、そのクラスの説明にある [関連項目] セクションで [直列化された形式] をクリックすると、この情報を取得できます。標準ドックレットは、直列化された形式のページを自動的に生成します。ここには、Serializable を実装する public または非 public のクラスが組み込まれており、さらに、\f2readObject\fP メソッド、\f2writeObject\fP メソッド、直列化されたフィールド、および \f2@serial\fP タグ、\f2@serialField\fP タグ、\f2@serialData\fP タグからのドキュメンテーションコメントが組み込まれています。直列化が可能な public クラスを除外するには、そのクラスまたはそのクラスが属するパッケージを \f2@serial exclude\fP タグで指定します。 直列化が可能な package private クラスを含めるには、そのクラスまたはそのクラスが属するパッケージを \f2@serial include\fP タグで指定します。バージョン 1.4 では、\f2\-private\fP オプションの指定なしで javadoc ツールを実行することにより、public クラスおよび private クラスの完全に直列化されたクラスを生成できます。
+.TP 2
+o
+\f3索引\fP (\f2index\-*.html\fP)。 すべてのクラス名、インタフェース名、コンストラクタ名、フィールド名、およびメソッド名が、アルファベット順に並んでいます。索引は、Unicode を扱えるように国際化されています。 1 つのファイルとして生成することも、先頭文字 (英語の場合 A 〜 Z) ごとに別々のファイルとして生成することもできます。
+.RE
+
+.LP
+.LP
+\f3サポートファイル\fP
+.LP
+.RS 3
+.TP 2
+o
+\f3ヘルプページ\fP (\f2help\-doc.html\fP)。 ナビゲーションバーや前述の各ページに関する説明が記載されています。\f2\-helpfile\fP を使うと、デフォルトのヘルプファイルに代わる独自のカスタムヘルプファイルを提供することもできます。
+.TP 2
+o
+表示用の HTML フレームを作成する 1 つの \f3index.html ファイル\fP。このファイルは、フレーム付きの先頭ページを表示する場合にロードします。このファイル自体には、テキスト内容は含まれていません。
+.TP 2
+o
+複数の\f3フレームファイル\fP (\f2*\-frame.html\fP)。 パッケージ、クラス、およびインタフェースのリストが含まれています。 HTML フレームを表示するときに使用されます。
+.TP 2
+o
+\f3パッケージリスト\fPファイル (\f2package\-list\fP)。 \f2\-link\fP オプションおよび \f2\-linkoffline\fP オプションで使用されます。これは、HTML ファイルではなくテキストファイルであり、どのリンクからもアクセスできません。
+.TP 2
+o
+\f3スタイルシート\fPファイル (\f2stylesheet.css\fP)。 生成されるページ上のいくつかの要素について、色、フォントファミリ、フォントサイズ、フォントのスタイル、および配置を制御します。
+.TP 2
+o
+\f3doc\-files\fP ディレクトリ。 生成先ディレクトリにコピーするイメージ、サンプルコード、ソースコードなどのファイルがすべて格納されます。これらのファイルは、Javadoc ツールによって処理されないため、ファイル内に javadoc タグがあっても無視されます。このディレクトリは、ソースツリーの中にある場合にのみ生成されます。
+.RE
+
+.LP
+.LP
+\f3HTML フレーム\fP
+.LP
+.LP
+Javadoc ツールは、下の図に示すように、2 〜 3 つの HTML フレームを生成します。1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。単一のパッケージに属するソースファイル (*.java) または単一のパッケージ名を引数として javadoc コマンドに渡す場合は、左側の列にクラスの一覧を表示するフレーム (C) 1 つだけが作成されます。Javadoc に複数のパッケージ名を渡した場合は、概要ページ (Detail) に加えて、すべてのパッケージを一覧表示する第 3 のフレーム (P) が作成されます。この概要ページのファイル名は、\f2overview\-summary.html\fP です。したがって、このファイルは、2 つ以上のパッケージ名を渡した場合にだけ作成されます。[フレームなし] リンクをクリックするか、overview\-summary.html を最初に表示すると、フレームを省略できます。
+.LP
+.LP
+HTML フレームに慣れていない場合は、特定のフレームを印刷およびスクロールするには、そのフレームに「フォーカス」がなければならないことに注意してください。フレームにフォーカスを与えるには、そのフレームをクリックします。このようにすると、多くのブラウザでは、矢印キーやページキーを使ってそのフレームをスクロールしたり、[印刷] メニューコマンドを使ってそのフレームを印刷したりできます。
+.LP
+.nf
+\f3
+.fl
+ \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-
+.fl
+ |C| Detail | |P| Detail |
+.fl
+ | | | | | |
+.fl
+ | | | |\-| |
+.fl
+ | | | |C| |
+.fl
+ | | | | | |
+.fl
+ | | | | | |
+.fl
+ \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-
+.fl
+ javadoc *.java javadoc java.lang java.awt
+.fl
+\fP
+.fi
+
+.LP
+.LP
+HTML フレームが必要かどうかによって、次のどちらかのファイルを開始ページとしてロードします。
+.LP
+.RS 3
+.TP 2
+o
+\f2index.html\fP (フレームあり)
+.TP 2
+o
+\f2overview\-summary.html\fP (フレームなし)
+.RE
+
+.LP
+.LP
+\f3生成されるファイルの構造\fP
+.LP
+.LP
+生成されるクラスファイルおよびインタフェースファイルは、Java ソースファイルおよびクラスファイルと同じディレクトリ階層に編成されます。1 つのサブパッケージにつき 1 つのディレクトリ、という構造になります。
+.LP
+.LP
+たとえば、\f2java.applet.Applet\fP クラスに対して生成されるドキュメントは、\f2java/applet/Applet.html\fP に格納されます。生成先のディレクトリの名前が \f2apidocs\fP だとすると、java.applet パッケージのファイル構造は、その下に構築されます。前述のように、「frame」という語を名前に含むファイルは、すべて左上または左下のフレームに表示されます。それ以外の HTML ファイルは、すべて右側のフレームに表示されます。
+.LP
+.RS 3
+
+.LP
+.LP
+注 \- 下の階層図で、ディレクトリは\f3太字\fP (\f3bold\fP) で示してあります。アスタリスク (\f2*\fP) は、javadoc への引数がパッケージ名ではなくソースファイル名 (*.java) である場合に省略されるファイルおよびディレクトリを示しています。また、引数がソースファイル名の場合は、\f2package\-list\fP は作成されますが、内容は空です。doc\-files ディレクトリは、ソースツリー内に存在する場合にのみ、生成先に作成されます。
.LP
.RE
.nf
@@ -934,90 +846,90 @@
.fl
.fl
-\fP\f3apidocs\fP ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê
+\fP\f3apidocs\fP 最上位ディレクトリ
.fl
- index.html HTML ¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸
+ index.html HTML フレームを設定する初期ページ
.fl
- * overview\-summary.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£ÀèƬ¤ËÍ×Ìóʸ¤¬¤¢¤ë
+ * overview\-summary.html 全パッケージのリスト。 先頭に要約文がある
.fl
- overview\-tree.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È
+ overview\-tree.html 全パッケージのクラス階層のリスト
.fl
- deprecated\-list.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È
+ deprecated\-list.html 全パッケージの推奨されない API のリスト
.fl
- constant\-values.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤΥꥹ¥È
+ constant\-values.html 全パッケージの static フィールドの値のリスト
.fl
- serialized\-form.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î¥ê¥¹¥È
+ serialized\-form.html 全パッケージの直列化された形式のリスト
.fl
- * overview\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ * overview\-frame.html 全パッケージのリスト。 左上のフレームに表示される
.fl
- allclasses\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÁ´¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ allclasses\-frame.html 全パッケージの全クラスのリスト。 左下のフレームに表示される
.fl
- help\-doc.html ¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Î¹½À®¤ò¼¨¤¹¥æ¡¼¥¶¥Ø¥ë¥×¤òɽ¼¨¤¹¤ë
+ help\-doc.html これらのページの構成を示すユーザーヘルプを表示する
.fl
- index\-all.html \-splitindex ¥ª¥×¥·¥ç¥ó¤Ê¤·¤ÇºîÀ®¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥Èº÷°ú
+ index\-all.html \-splitindex オプションなしで作成されたデフォルト索引
.fl
- \f3index\-files\fP \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê
+ \f3index\-files\fP \-splitindex オプションを指定して作成されたディレクトリ
.fl
- index\-<number>.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿º÷°ú¥Õ¥¡¥¤¥ë
+ index\-<number>.html \-splitindex オプションを指定して作成された索引ファイル
.fl
- package\-list ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥ê¥¹¥È¡£³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤ë
+ package\-list パッケージ名のリスト。 外部参照を解決するためだけに使用される
.fl
- stylesheet.css ¥Õ¥©¥ó¥È¡¢¿§¡¢ÇÛÃÖ¤òÄêµÁ¤¹¤ë HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È
+ stylesheet.css フォント、色、配置を定義する HTML スタイルシート
.fl
- \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3java\fP パッケージディレクトリ
.fl
- \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3applet\fP サブパッケージディレクトリ
.fl
- Applet.html Applet ¥¯¥é¥¹¤Î¥Ú¡¼¥¸
+ Applet.html Applet クラスのページ
.fl
- AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AppletContext.html AppletContext インタフェースのページ
.fl
- AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AppletStub.html AppletStub インタフェースのページ
.fl
- AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AudioClip.html AudioClip インタフェースのページ
.fl
- * package\-summary.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£ÀèƬ¤ËÍ×Ìóʸ¤¬¤¢¤ë
+ * package\-summary.html このパッケージのクラスのリスト。 先頭に要約文がある
.fl
- * package\-frame.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ * package\-frame.html このパッケージのクラスのリスト。 左下のフレームに表示される
.fl
- * package\-tree.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È
+ * package\-tree.html このパッケージのクラス階層のリスト
.fl
- package\-use ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥ê¥¹¥È
+ package\-use このパッケージが使用されている場所のリスト
.fl
- \f3doc\-files\fP ¥¤¥á¡¼¥¸¤ä¥µ¥ó¥×¥ë¤Î¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê
+ \f3doc\-files\fP イメージやサンプルのファイルが格納されるディレクトリ
.fl
- \f3class\-use\fP API ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥Ú¡¼¥¸¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê
+ \f3class\-use\fP API が使用されている場所のページを格納するディレクトリ
.fl
- Applet.html Applet ¥¯¥é¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ Applet.html Applet クラスを使用するページ
.fl
- AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AppletContext.html AppletContext インタフェースを使用するページ
.fl
- AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AppletStub.html AppletStub インタフェースを使用するページ
.fl
- AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AudioClip.html AudioClip インタフェースを使用するページ
.fl
- \f3src\-html\fP ¥½¡¼¥¹¥³¡¼¥É¥Ç¥£¥ì¥¯¥È¥ê
+ \f3src\-html\fP ソースコードディレクトリ
.fl
- \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3java\fP パッケージディレクトリ
.fl
- \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3applet\fP サブパッケージディレクトリ
.fl
- Applet.html Applet ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ Applet.html Applet ソースコードのページ
.fl
- AppletContext.html AppletContext ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AppletContext.html AppletContext ソースコードのページ
.fl
- AppletStub.html AppletStub ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AppletStub.html AppletStub ソースコードのページ
.fl
- AudioClip.html AudioClip ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AudioClip.html AudioClip ソースコードのページ
.fl
.fi
.LP
-.SS "À¸À®¤µ¤ì¤ë API Àë¸À"
-javadoc ¥Ä¡¼¥ë¤Ï¡¢³Æ¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢
-¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤Î½é¤á¤ÇÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ÎÀë¸À¤Ï¡¢¤½¤Î API ¹àÌܤÎÀë¸À¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-¥Ö¡¼¥ë·¿¥¯¥é¥¹¤ÎÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+.SS
+生成される API 宣言
+.LP
+.LP
+Javadoc ツールは、それぞれのクラス、インタフェース、フィールド、コンストラクタ、およびメソッドの説明の最初に、その API 用の宣言を生成します。 この宣言は、その API 項目の宣言です。たとえば、\f2Boolean\fP クラスの宣言は、次のようになります。
.LP
.LP
\f2public final class Boolean\fP
@@ -1027,136 +939,86 @@
\f2implements Serializable\fP
.LP
.LP
-Boolean.valueOf ¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+また、\f2Boolean.valueOf\fP メソッドの宣言は、次のようになります。
.LP
.LP
\f2public static Boolean valueOf(String s)\fP
.LP
.LP
-javadoc ¥Ä¡¼¥ë¤Ï½¤¾þ»Ò
-.BR public
-¡¢
-.BR protected
-¡¢
-.BR private
-¡¢
-.BR abstract
-¡¢
-.BR final
-¡¢
-.BR static
-¡¢
-.BR transient
-¡¢
-¤ª¤è¤Ó
-.BR volatile
-¤òÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢
-.BR synchronized
-¤È
-.BR native
-¤ÏÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
-.BR synchronized
-¤È
-.BR native
-½¤¾þ»Ò¤Ï¼ÂÁõ¤Î¾ÜºÙ¤È¸«¤Ê¤µ¤ì¡¢API »ÅÍͤΰìÉô¤È¤Ï¸«¤Ê¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-¥¡¼¥ï¡¼¥É
-.BR synchronized
-¤Ë°Í¸¤¹¤ë¤è¤ê¤â¡¢¡ÖÊ£¿ô¤Î¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤Æñ°ì¤Î
-.BR Enumeration
-¤òʹԤ·¤Æ»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡×¤È¤¤¤¦¤è¤¦¤Ë¡¢Ê¹ԽèÍý¤Î¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹¤ò
-¥³¥á¥ó¥ÈÀâÌÀ¤ÎÃæ¤Ç¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ù¤¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È¤Ç¤Ï¡¢
-¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹¤ÎãÀ®ÊýË¡¤òÀâÌÀ¤¹¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ê̤Î
-Îã¤òµó¤²¤ë¤È¡¢
-.BR Hashtable
-¤Ï¥¹¥ì¥Ã¥É¤ËÂФ·¤Æ°ÂÁ´¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤½¤Î
-¥á¥½¥Ã¥É¤¹¤Ù¤Æ¤òƱ´ü¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤³¤ì¤ò¼Â¸½¤¹¤ë¤ÈÌÀµ¤¹¤ëɬÍ×
-¤Ï¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¥±¥Ã¥È¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü¤ò¤È¤ë¸¢¸Â¤òαÊݤ·¤Æ¡¢
-¤è¤ê¹âÅÙ¤ÊʹÔÀ¤òÄ󶡤¹¤Ù¤¤Ç¤¹¡£
-.LP
-.SH "¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È"
+Javadoc ツールは、修飾子 \f2public\fP、\f2protected\fP、\f2private\fP、\f2abstract\fP、\f2final\fP、\f2static\fP、\f2transient\fP、および \f2volatile\fP を組み込むことができますが、\f2synchronized\fP と \f2native\fP を組み込むことができません。これら後者の 2 つの修飾子は、実装の詳細と見なされているため、API 仕様には含まれません。
.LP
.LP
-¥ª¥ê¥¸¥Ê¥ë¤Î¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍ͡פϡ¢¡Ö´ØÏ¢¹àÌܡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+API では、並行性のセマンティクスについて、キーワード \f2synchronized\fP に依存するのではなく、コメントによる主説明としてドキュメント化する必要があります。 たとえば、「1 つの \f2Enumeration\fP を複数のスレッドから並行して使用することはできない」などのコメントを記述します。ドキュメントには、これらのセマンティクスを実現する方法を記述するべきではありません。たとえば、\f2Hashtable\fP はスレッドに対して安全である必要がありますが、「エクスポートされるすべてのメソッドを同期化すればそれを実現できる」のようには指定する根拠はありません。バケットレベルで内部的に同期化する権利を残しておく必要があります。 そうすれば、より高度な並行性が提供されます。
.LP
-.SS
-¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥³¥á¥ó¥È¤ÎÁÞÆþ
+.SH "ドキュメンテーションコメント"
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤ÎÀë¸À (¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢
-¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É) ¤ÎÁ°¤Ë¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È (doc ¥³¥á¥ó¥È)
-¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-ºîÀ®¤Ç¤¡¢¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-ºîÀ®¤Ç¤¤Þ¤¹¡£ ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Javadoc ¥³¥á¥ó¥È¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥³¥á¥ó¥È¤Î»Ï¤Þ¤ê¤ò¼¨¤¹Ê¸»úÎó
-.B /**
- ¤È¡¢¥³¥á¥ó¥È¤Î½ª¤ï¤ê¤ò¼¨¤¹Ê¸»úÎó
-.B */
-¤Î´Ö¤Ë¤¢¤ëʸ»ú¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ ¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢³Æ¹Ô¤Ëµ½Ò¤Ç¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£ Linux ¤Ç¤Ï¥Æ¥¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
+オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。
.LP
-.RS
-.ft 3
+.SS
+ソースコードへのコメントの挿入
+.LP
+.LP
+ソースコードの任意のクラス、インタフェース、メソッド、コンストラクタ、またはフィールドの宣言の前に、ドキュメンテーションコメント ("doc comments") を記述することができます。各パッケージにドキュメンテーションコメントを作成できます。 構文は若干異なりますが、概要にもドキュメンテーションコメントを作成できます。ドキュメンテーションコメントは、非公式に「Javadoc コメント」と呼ばれています (この用語は商標関連の使用法に違反)。ドキュメンテーションコメントは、コメントの始まりを示す文字列 \f2/**\fP と、コメントの終わりを示す文字列 \f2*/\fP の間にある文字で構成されます。行の先頭のアスタリスクは、各行に記述できます。 詳細は、以下で説明します。コメントのテキストは、複数行にわたって記述できます。
+.LP
.nf
+\f3
+.fl
/**
-* This is the typical format of a simple documentation comment
-* that spans two lines.
-*/
+.fl
+ * This is the typical format of a simple documentation comment
+.fl
+ * that spans two lines.
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¼¡¤Î¤è¤¦¤Ë¡¢¥³¥á¥ó¥È¤Ï 1 ¹Ô¤Ë¤Þ¤È¤á¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+次のようにして 1 行に記述すると、スペースを節約できます。
+.LP
.nf
+\f3
+.fl
/** This comment takes up only one line. */
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤ÎÇÛÃÖ - ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬Ç§¼±¤µ¤ì¤ë¤Î¤Ï¡¢¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É
-Àë¸À¤ÎÁ°¤ËÃÖ¤«¤ì¤¿¾ì¹ç¤À¤±¤Ç¤¹ (¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Î
-Îã¤ò»²¾È)¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤¿¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Àë¸Àʸ¤´¤È¤Ë 1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤À¤±¤ò
-ǧ¼±¤·¤Þ¤¹¡£
.LP
-¤è¤¯È¯À¸¤¹¤ë´Ö°ã¤¤¤Ï¡¢½ÅÍפÊʸ¤ò¥¯¥é¥¹¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë
-Æþ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¥¯¥é¥¹¥³¥á¥ó¥È¤ò̵»ë¤¹¤ë¤¿¤á¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3コメントの配置\fP \- ドキュメンテーションコメントは、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの宣言の直前に置かれているときにだけ認識されます。 クラスの例、メソッドの例、およびフィールドの例を参照してください。メソッドの本体に置かれているドキュメンテーションコメントは無視されます。javadoc ツールでは、1 つの宣言文につき 1 つのドキュメンテーションコメントだけが認識されます。
.LP
-.RS
-.ft 3
+.LP
+よくある間違いは、クラスのコメントとクラスの宣言の間に \f2import\fP 文を置いてしまうことです。このような記述はしないでください。 このようなクラスコメントは無視されます。
+.LP
.nf
-/**
-* This is the class comment for the class Whatever.
-*/
+\f3
+.fl
+ /**
+.fl
+ * This is the class comment for the class Whatever.
+.fl
+ */
+.fl
-import com.sun; // MISTAKE - Important not to put statements here
+.fl
+ import com.sun; // MISTAKE \- Important not to put import statement here
+.fl
-public class Whatever {
-}
+.fl
+ public class Whatever {
+.fl
+ }
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤ÎÀâÌÀ¤Î¤¢¤È¤Ë¥¿¥°¤¬Â³¤¯ - ¥³¥á¥ó¥È¤Î³«»Ï¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë
-.B /**
-¤Î¤¢¤È¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤Þ¤Ç¤¬ÀâÌÀ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥¿¥°¥»¥¯¥·¥ç¥ó¤Ï¡¢
-ÀèƬʸ»ú¤¬
-.B @
-¤Ç¤¢¤ë¹Ô¤«¤é»Ï¤Þ¤ê¤Þ¤¹ (¹Ô¤ÎÀèƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ª¤è¤Ó¶õÇòʸ»ú
-¤Ï½ü¤¯)¡£ ÀâÌÀ¤òµ½Ò¤»¤º¡¢¥³¥á¥ó¥È¤À¤±¤Î¥¿¥°¤òµ½Ò¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-ÀâÌÀ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-¥¿¥°¤Î°ú¿ô¤ÏÊ£¿ô¤Î¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£ ¥¿¥°¤Î¿ô¤Ë
-À©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ½Ò¤Ç¤¤ë¥¿¥°¤È¡¢1 ²ó¤·¤«µ½Ò¤Ç¤¤Ê¤¤
-¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ÎÎã¤Î
-.B @see
-¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤¬»Ï¤Þ¤ê¤Þ¤¹¡£
+.LP
+\f3ドキュメンテーションコメントは主説明のあとにタグセクションが続く\fP \- コメントの開始区切り文字である \f2/**\fP のあとからタグセクションまでが主説明になります。タグセクションは、先頭文字が \f2@\fP である行で定義される最初のブロックタグから始まります (行の先頭のアスタリスク、空白、および行の先頭の区切り文字 \f2/**\fP は除く)。主説明を記述せず、タグセクションだけのコメントを記述することもできます。主説明は、タグセクション以降に続けることはできません。タグの引数は、複数行にわたって記述できます。タグの数に制限はありません。 何回も記述できるタグと、1 回しか記述できないタグがあります。例えば、次の \f2@see\fP からタグセクションが始まります。
.LP
.nf
\f3
@@ -1174,626 +1036,904 @@
.LP
.LP
-ɸ½à¥¿¥°¤È¥¤¥ó¥é¥¤¥ó¥¿¥°: ¥¿¥°¤Ï¡¢javadoc ¥Ä¡¼¥ë¤¬½èÍý¤Ç¤¤ë¡¢
-doc ¥³¥á¥ó¥ÈÆâ¤ÎÆÃÊ̤ʥ¡¼¥ï¡¼¥É¤Ç¤¹¡£javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢@tag ¤È¤·¤Æ¸½¤ì¤ë
-ɸ½à¥¿¥°¤È¡¢Ãæ³ç¸ÌÆâ¤Ë
-.B {\f3@tag\f1}
-¤È¤·¤Æ¸½¤ì¤ë¥¤¥ó¥é¥¤¥ó¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£²ò¼á
-¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢ÀèƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú (/**) ¤ò
-½ü¤¤¤Æ¤Ïɸ½à¥¿¥°¤¬¹Ô¤ÎÀèƬ¤Ç¤¢¤ë¤è¤¦¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä
-¤Þ¤ê¡¢¥æ¡¼¥¶¤Ï¥Æ¥¥¹¥ÈÆâ¤ÎǤ°Õ¤Î°ÌÃÖ¤Ç @ ʸ»ú¤ò»ÈÍѤǤ¡¢
-¤³¤Îʸ»ú¤Ï¥¿¥°¤Î»Ï¤á¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡£@ ʸ»ú¤Ç¹Ô¤ò³«
-»Ï¤·¤Æ¤³¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¤Î
-@ ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£³Æ¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Ë¤Ï´ØÏ¢¤¹¤ë¥Æ¥¥¹¥È¤¬¤¢¤ê
-¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤Î¥¿¥°¤Î¸å¤«¤é¼¡¤Î¥¿¥°¤ÎľÁ°¤Þ¤Ç¡¢¤Þ¤¿¤Ï doc ¥³¥á¥ó¥È
-¤ÎºÇ¸å¤Þ¤Ç¤ÎǤ°Õ¤Î¥Æ¥¥¹¥È¤Ç¤¹¡£´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Æ¥¥¹¥È¤Ï¡¢
-Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
-¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢¤½¤Î¥Æ¥¥¹¥È¤¬µö
-²Ä¤µ¤ì¤ë°ÌÃ֤ˤϤɤ³¤Ç¤â»ØÄê¤Ç¤¡¢²ò¼á¤ÎÂоݤȤʤê¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢
-ɸ½à¥¿¥°
-.BR @deprecated
-¤È¥¤¥ó¥é¥¤¥ó¥¿¥°
-.BR {@link}
-¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3ブロックタグとインラインタグ\fP \- 「タグ」は、Javadoc が処理できる、ドキュメンテーションコメント内の特別なキーワードです。\f2@tag\fP のように記述するブロックタグ (「スタンドアロンタグ」とも呼ばれる) と、インラインタグ (\f2{@tag}\fP のように中括弧で囲んで記述) の 2 種類のタグがあります。ブロックタグが正しく解釈されるためには、行の先頭のアスタリスク、空白、区切り文字 (\f2/**\fP) を除いて、行の先頭に置かなければなりません。これは、テキスト内のそれ以外の位置で \f2@\fP 文字を使用しても、タグの開始としては解釈されないことを意味しています。行の最初に \f2@\fP 文字を使用してもタグとして解釈されないようにするには、HTML エンティティーの「\f2@\fP」を使用してください。それぞれのブロックタグには、対応付けられたテキストがあります。 このテキストは、タグのあとから、次のタグの前、またはドキュメンテーションコメントの最後までの間に記述されたテキスト (タグやコメント区切り文字を除く) です。この関連テキストは複数行にわたって記述できます。インラインタグは、テキストを記述できる場所であればどこにでも置くことができ、正しく解釈されます。次のコード例には、ブロックタグ \f2@deprecated\fP と、インラインタグ \f2{@link}\fP が含まれています。
.LP
-.RS
-.ft 3
.nf
+\f3
+.fl
/**
- * @deprecated As of JDk 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
+ * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
*/
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤Ï HTML ¤Çµ½Ò¤·¤Þ¤¹¡£¥Æ¥¥¹¥È¤Ï HTML ¤Ç
-µ½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¡¢HTML ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò»È¤¦É¬Íפ¬¤¢¤ë¤³¤È¡¢
-¤ª¤è¤Ó HTML ¥¿¥°¤ò»ÈÍѤǤ¤ë¤³¤È
-¤ò°ÕÌ£¤·¤Þ¤¹¡£HTML ¤Ï¡¢»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ë
-Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»È¤¦¤³¤È¤¬
-¤Ç¤¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢³¬Áؼ°¥¹¥¿¥¤¥ë¥·¡¼¥È¤È
-¥Õ¥ì¡¼¥à¤ò´Þ¤à¤Û¤«¤ÎÉôʬ (¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È
-°Ê³°) ¤Ï¡¢HTML 3.2 ¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤Ëµ½Ò
-¤µ¤ì¤Æ¤¤¤Þ¤¹
-(¥Õ¥ì¡¼¥à¥»¥Ã¥ÈÂбþ¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤ë³Æ
-¥Õ¥¡¥¤¥ë¤Ï¡¢¡ÖHTML 4.0¡×¤Ç»Ï¤Þ¤ë)¡£
.LP
-¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤ (<) ¤ª¤è¤Ó¤è¤êÂ礤¤ (>) ¤È¤¤¤¦
-µ¹æ¤Ï¡¢
-.B <
-¤È
-.BR >
-¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ï¡¢
-.BR &
-¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç
-¤Ï¡¢¥Ü¡¼¥ë¥É¤Î HTML ¥¿¥° <b> ¤ò¼¨¤·¤Þ¤¹¡£
+\f3コメントは HTML で記述する\fP \- テキストは HTML 形式で記述しなければなりません。 これは、HTML のエンティティーを使う必要があること、および HTML タグを使用できることを意味します。記述する HTML のバージョンとしては、使用するブラウザがサポートする任意のバージョンを使用できます。 標準ドックレットは、カスケーディングスタイルシート (CSS) とフレームを含め、すべての部分 (ドキュメンテーションコメント以外の部分) で HTML 3.2 に準拠したコードを生成するように作成されています。ただし、フレームセット対応のため、生成される各ファイルには「HTML 4.0」と記述されます。
.LP
-¼¡¤Ë doc ¥³¥á¥ó¥È¤ò¼¨¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+たとえば、より小さい (\f2<\fP) およびより大きい (\f2>\fP) という記号は\f2<\fP および \f2>\fP として記述する必要があります。同様に、アンパサンド (\f2&\fP) は、\f2&\fP と記述する必要があります。次の例では、ボールドの HTML タグ \f2<b>\fP を使っています。
+.LP
+.LP
+次に、ドキュメンテーションコメントを示します。
+.LP
.nf
+\f3
+.fl
/**
-* This is a <b>doc</b> comment.
-* @see java.lang.Object
-*/
+.fl
+ * This is a <b>doc</b> comment.
+.fl
+ * @see java.lang.Object
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯ -
-.B javadoc
-¤Ï¡¢doc ¥³¥á¥ó¥È¤ò²òÀϤ¹¤ë¤È¤¤Ë¡¢³Æ¹Ô¤ÎÀèƬ¤Ë¤¢¤ë
-ʸ»ú¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤ò¤¹¤Ù¤ÆÇË´þ¤·
-¤Þ¤¹¡£¤Þ¤¿¡¢ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤è¤êÁ°¤Î¶õÇò¤È
-¥¿¥Ö¤âÇË´þ¤·¤Þ¤¹¡£1.4 ¤«¤é¤Ï¡¢¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤¿¾ì¹ç¡¢¹ÔƬ¤Î¶õÇò¤Ïºï½ü¤µ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢<PRE> ¥¿¥°¤ÎÃæ¤Î doc ¥³¥á¥ó¥È¤Ë¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¥¤¥ó¥Ç¥ó¥È¤ò»Ä¤·¤¿¤Þ¤Þ¤ÇľÀÜ¥Ú¡¼¥¹¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¶õÇò¤Ï°ìÈÌŪ¤Ë¡¢¥¿¥Ö¤è¤ê¤â¶Ñ°ì¤Ë¥Ö¥é¥¦¥¶¤Ç²ò¼á¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Ï¡¢¶èÀÚ¤êʸ»ú /** ¤ä <PRE> ¥¿¥°¤Ç¤Ï¤Ê¤¯¡¢º¸¥Þ¡¼¥¸¥ó¤ËÁêÂÐŪ¤Ç¤¹¡£
-.LP
-ºÇ½é¤Îʸ - ³Æ doc ¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë
-¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´
-¤ÊÀâÌÀ¤ò´Þ¤àÍ×Ìóʸ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Îʸ¤Ï¡¢¶õÇò¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï¹ÔËöµ
-¹æ¤¬Â³¤¤¤Æ¤¤¤ëºÇ½é¤Î¥Ô¥ê¥ª¥É¡¢¤¢¤ë¤¤¤ÏºÇ½é¤Î¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Ç½ªÎ»¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢HTML ¥Ú¡¼¥¸¤ÎºÇ½é¤Ë¤¢¤ë¥á¥ó¥ÐÍ×Ìó¤Ë¡¢¤³¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£
-.LP
-Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À -
-.B java
-¤Ç¤Ï¡¢Ã±°ì¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤¤Þ¤¹¡£
-¤·¤«¤·¡¢¤³¤Îʸ¤Î¥É¥¥å¥á¥ó¥Æ
-¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï 1 ¤Ä¤À¤±¤Ç¡¢¤³¤Î¥³¥á¥ó¥È¤¬
-¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¸Ä¡¹¤Î
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òÉÕ¤±¤¿¤¤¾ì¹ç¤Ï¡¢
-³Æ¥Õ¥£¡¼¥ë¥É¤ò°Û¤Ê¤ëʸ¤ÇÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥¥å¥á¥ó¥Æ¡¼
-¥·¥ç¥ó¥³¥á¥ó¥È¤Ïñ°ì¤ÎÀë¸À¤È¤·¤Æ¤Ï°ÕÌ£¤òÀ®¤µ¤º¡¢
-2 ¤Ä¤ÎÀë¸À¤È¤·¤Æ½èÍý¤¹¤ë¤Ù¤
-¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* The horizontal and vertical distances of point (x,y)
-*/
-public int x, y; // Avoid this
-.fi
-.ft 1
-.RE
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¾åµ¥³¡¼¥É¤«¤é¼¡¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-public int x
-.fi
-.ft 1
-The horizontal and vertical distances of point
-(x,y).
-.ft 3
-.nf
-public int y
-.fi
-.ft 1
-The horizontal and vertical distances of point
-(x,y).
-.RE
-.LP
-¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¤¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¥á¥ó¥ÐÍѤΥɥ¥å¥á¥ó¥È¥³
-¥á¥ó¥È¤ò½ñ¤¯¤È¤¤Ï¡¢
-.B <H1>
-¤ä
-.BR <H2>
-¤Ê¤É¤Î HTML ¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¤¬Á´¥É¥¥å¥á¥ó¥È¤ò¹½Â¤²½¤·¤ÆÀ¸À®¤¹¤ë¤¿¤á¡¢
-¤³¤ì¤é¤Î¹½Â¤²½¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥É¥¥å¥á¥ó¥È¤Î½ñ¼°¤¬Íð¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£
-¤·¤«¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î
-¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ·¤Æ¹½Â¤²½¤ò»Ø¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼
+
.LP
.LP
-Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¡Ö·Ñ¾µ¡×¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤ÓÆþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£
+\f3行頭のアスタリスク\fP \- Javadoc は、ドキュメンテーションコメントを解析するときに、各行の先頭にあるアスタリスク (\f2*\fP) をすべて破棄します。 また、最初のアスタリスク (\f2*\fP) より前の空白とタブも破棄します。バージョン 1.4 からは、行の先頭のアスタリスクを省略しても、先頭の空白文字は削除されなくなりました。このため、コード例を直接ドキュメンテーションコメントの \f2<PRE>\fP タグ内にペーストしても、インデントが保持されます。通常、ブラウザは、空白文字をタブよりも一律に解釈します。インデントは区切り文字 \f2/**\fP または \f2<PRE>\fP タグよりも左寄りになります。
+.LP
+.LP
+\f3最初の文\fP \- 各ドキュメンテーションコメントの最初の文は、宣言されているエンティティーに関する簡潔かつ完全な要約文である必要があります。この「最初の文」は、直後にスペース、タブ、または改行が続く最初のピリオド (ロケールが英語に設定されている場合)、または最初のタグがある位置で終わります。最初の文は、Javadoc ツールによって HTML ページの最初にあるメンバーの概要の部分にコピーされます。
+.LP
+.LP
+\f3複数フィールドの宣言\fP \- Java では、1 つの文で複数のフィールドを宣言できます。 ただし、この文には、1 つのドキュメンテーションコメントしか記述できません。 そのコメントが、すべてのフィールドに対してコピーされます。したがって、フィールドごとにドキュメンテーションコメントを記述する必要がある場合は、各フィールドを別々の文で宣言しなければなりません。たとえば、次のドキュメンテーションコメントは、1 つの宣言として記述すると不適切です。 この場合は、宣言を 2 つに分けることをお勧めします。
.LP
.RS 3
-.TP 2
-o
-\f3¼«Æ°Åª¤Ë¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¡¢¸«¤Ä¤«¤é¤Ê¤¤¥Æ¥¥¹¥È¤òËä¤á¤ë\fP \- ¼çÀâÌÀ¤Þ¤¿¤Ï¡¢\f2@return\fP¡¢\f2@param\fP¡¢\f2@throws\fP ¥¿¥°¤¬¡¢¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Ç¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤¿¥á¥½¥Ã¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤Î¥á¥½¥Ã¥É¤«¤é¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤ª¤è¤Ó¥¿¥°¥³¥á¥ó¥È¤ò¡¢¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£
+
.LP
-¸·Ì©¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î \f2@param\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î \f2@throws\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê\fP¡¢¤½¤Î \f2@throws\fP ¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.LP
-¤³¤ÎÆ°ºî¤Ï¥Ð¡¼¥¸¥ç¥ó 1.3 °ÊÁ°¤ÎÆ°ºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£
-.TP 2
-o
-\f3{@inheritDoc} ¥¿¥°¤ò»ý¤Ä¥³¥á¥ó¥È¤òÌÀ¼¨Åª¤Ë·Ñ¾µ¤¹¤ë\fP \- ¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@inheritDoc}\fP ¤ò¡¢¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¡¢¤Þ¤¿¤Ï \f2@return\fP¡¢\f2@param\fP¡¢\f2@throws\fP ¥¿¥°¥³¥á¥ó¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£·Ñ¾µ¤·¤¿Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤Ï¡¢¤½¤Î²Õ½ê¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
+.nf
+\f3
+.fl
+/**
+.fl
+ * The horizontal and vertical distances of point (x,y)
+.fl
+ */
+.fl
+public int x, y; // Avoid this
+.fl
+\fP
+.fi
.RE
.LP
.LP
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼ÂºÝ¤Ë¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \-sourcepath ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤À¤±¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¡¢¥¯¥é¥¹¤¬ ¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ 1.3.x °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È°Û¤Ê¤ê¤Þ¤¹¡£
+上記のコードからは、次のようなドキュメントが生成されます。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+public int \fP\f3x\fP
+.fl
+.fi
+
+.LP
+.RS 3
+The horizontal and vertical distances of point (x,y)
+.RE
+
+.LP
+.nf
+\f3
+.fl
+public int \fP\f3y\fP
+.fl
+.fi
+
+.LP
+.RS 3
+The horizontal and vertical distances of point (x,y)
+.RE
+
+.LP
+.RE
+.LP
+\f3見出しタグはなるべく使用しない\fP \- メンバーに対してドキュメンテーションコメントを記述するときには、<H1> や <H2> などの HTML 見出しタグは、なるべく使わないでください。 Javadoc ツールは、完全に構造化されたドキュメントを作成するので、このような構造化タグが使われていると、生成ドキュメントの形式が悪影響を受けることがあります。ただし、クラスやパッケージのコメントでは、これらの見出しタグを使って独自の構造を組み立ててかまいません。
+.LP
+.SS
+メソッドコメントの自動コピー
.LP
.LP
-\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ\fP \- ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ë¼¡¤Î 3 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥³¥á¥ó¥È¤Î·Ñ¾µ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。
.LP
.RS 3
.TP 2
o
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë
+\f3自動的にコメントを継承して、見つからないテキストを埋める\fP \- 主説明、または \f2@return\fP タグ、\f2@param\fP タグ、\f2@throws\fP タグが、メソッドコメントで見つからない場合、Javadoc ツールは、オーバーライドしたメソッドまたは実装している場合はそのメソッドから、対応する主説明またはタグコメントを、次のアルゴリズムに従ってコピーします。
+.LP
+厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、その例外が宣言されている場合にかぎり、その \f2@throws\fP タグがコピーされます。
+.LP
+この動作はバージョン 1.3 以前の動作とは対照的です。 これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。
.TP 2
o
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë
-.TP 2
-o
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë
+\f3{@inheritDoc} タグを持つコメントを明示的に継承する\fP \- インラインタグ \f2{@inheritDoc}\fP を、メソッドの主説明、または \f2@return\fP、\f2@param\fP、\f2@throws\fP タグコメントに挿入します。 継承した対応する主説明またはタグコメントは、その箇所にコピーされます。
.RE
.LP
.LP
-ºÇ½é¤Î 2 ¤Ä¤Î¥±¡¼¥¹ (¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥ÈÆâ¤Ë
-¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë
-¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£
+ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスがドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。
.LP
-3 ¤ÄÌܤΥ±¡¼¥¹ (ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¼ÂÁõ¤·¤Æ¤¤¤ë
-¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥ÈÆâ¤Ë¡ÖÄêµÁ¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£
.LP
-¥á¥½¥Ã¥É¤ÎÀâÌÀ¤¬·Ñ¾µ¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à - ¤¢¤ë¥á¥½¥Ã¥É¤Ë
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï {@inheritDoc} ¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆŬÀڤʥ³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£
-¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¤â¤Ã¤È¤âŬÀڤʥɥ¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-¸¡º÷¤Ç¤¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤ª¤ê¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Í¥À褵¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-.TP 4
-1.
-ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢
-¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç implements (¤Þ¤¿¤Ï extends) ¥¡¼¥ï¡¼¥É¤Î¤¢¤È¤Ë
-Åо줹¤ë½ç½ø¤Ç¡¢1 ¤Ä¤º¤ÄÄ´¤Ù¤ë¡£ ¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ
-ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë
-.TP 4
-2.
-¼ê½ç 1 ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-ľÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ¹¤ë (¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç 1 ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤¤Î½ç½ø¤ÈƱ¤¸)
-.TP 4
-3.
-¼ê½ç 2 ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢
-¤³¤Î¥¯¥é¥¹¤¬ Object °Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë (¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¾ì¹ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë½èÍý¤¹¤ë
-.sp 1n
-.nf
-.ft 3
-a. ¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ½Ò¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë
-b. ¼ê½ç 3a ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòŬÍѤ¹¤ë
-.ft 1
-.fi
+\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。
.LP
-.SS "javadoc ¤Î¥¿¥°"
+.RS 3
+.TP 2
+o
+クラスのメソッドがスーパークラスのメソッドをオーバーライドしている
+.TP 2
+o
+インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている
+.TP 2
+o
+クラスのメソッドがインタフェースのメソッドを実装している
+.RE
+
.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B java doc
-¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿Æüì¤Ê¥¿¥°¤ò²òÀϤ·¤Þ¤¹¡£¤³¤ì¤é¤Î
-Æüì¤Ê doc ¥¿¥°¤ò»È¤¦¤È¡¢
-½ñ¼°¤ÎÀ°¤Ã¤¿´°Á´¤Ê API ¥É¥¥å¥á¥ó¥È¤ò¥½¡¼¥¹
-¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤¤Þ¤¹¡£
-¥¿¥°¤Ï¡¢Ã±²Áµ¹æ (\f3@\f1) ¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¾®Ê¸»ú¤¬
-¶èÊ̤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢
-°Ê²¼¤Ë¼¨¤¹¤È¤ª¤ê¤Ë¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤ÆÆþÎϤ¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô
-¤ÎÀèƬ (¤¿¤À¤·Àè¹Ô¤¹¤ë¶õÇò¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Ï½ü¤¯) ¤«¤é
-»Ï¤á¤Ê¤±¤ì¤Ð¤Ê¤ê
-¤Þ¤»¤ó¡£´·½¬¾å¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï 1 ¸Ä½ê¤Ë¤Þ¤È¤á¤Æµ½Ò¤·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.B @see
-¥¿¥°¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ò 1 ¸Ä½ê¤Ë¤Þ¤È¤á¤Æµ½Ò¤·¤Þ¤¹¡£
.LP
-¥¿¥°¤Ï¼¡¤Î 2 ¼ïÎढ¤ê¤Þ¤¹¡£
+最初の 2 つのケース (メソッドがオーバーライドしている場合) では、Javadoc ツールは、そのコメントが継承されているかどうかにかかわらず、オーバーライドしているメソッドのドキュメント内に「オーバーライド」という小見出しを生成し、オーバーライドされているメソッドへのリンクを書き込みます。
.LP
-\(bu
-¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥° - ÀâÌÀ¤Î¤¢¤È¤Î¥¿¥°¥»¥¯¥·¥ç¥ó¤À¤±¤Ë
-ÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤³¤Î¥¿¥°¤Ï¡¢@tag ¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤»¤ó¡£
.LP
-\(bu
-¥¤¥ó¥é¥¤¥ó¥¿¥° - ¥³¥á¥ó¥È¤ÎÀâÌÀÆâ¤Þ¤¿¤Ï¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Î
-¥³¥á¥ó¥ÈÃæ¤ÎǤ°Õ¤Î¾ì½ê¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢{@tag} ¤Î
-¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤¹¡£
+3 つ目のケース (特定のクラスのメソッドがインタフェースのメソッドを実装している場合) では、javadoc ツールは、オーバーライドしているメソッドのドキュメント内に「定義」という小見出しを生成し、実装されているメソッドへのリンクを書き込みます。これは、コメントが継承されているかどうかにかかわりません。
.LP
-º£¸å¤Î¥ê¥ê¡¼¥¹¤ÇƳÆþ¤µ¤ì¤ë¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/proposed\-tags.html
-¤Î
+.LP
+\f3メソッドの説明が継承されるアルゴリズム\fP \- あるメソッドにドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、Javadoc ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。 このアルゴリズムは、もっとも適切なドキュメンテーションコメントを検索できるように設計されており、スーパークラスよりもインタフェースが優先されるようになっています。
+.LP
+.RS 3
+.TP 3
+1.
+直接に実装されている (または、拡張されている) インタフェースを、メソッドの宣言で implements (または extends) キーワードのあとに登場する順序で、1 つずつ調べる。このメソッドについて最初に見つかったドキュメンテーションコメントを採用する
+.TP 3
+2.
+手順 1 でドキュメンテーションコメントが見つからなかった場合は、直接実装されている (または、拡張されている) インタフェースのそれぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ)
+.TP 3
+3.
+手順 2 でドキュメンテーションコメントが見つからなかった場合で、このクラスが Object 以外のクラスである (インタフェースではない) 場合は、次のように処理する
+.RS 3
+.TP 3
+a.
+スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する
+.TP 3
+b.
+手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する
+.RE
+.RE
+
+.LP
+.SH "javadoc タグ"
+.LP
+.LP
+Javadoc ツールは、Java のドキュメンテーションコメント内に埋め込まれた特別なタグを解析します。これらのドキュメンテーションタグを使うと、書式の整った完全な API ドキュメントをソースコードから自動的に生成できます。タグは、単価記号 (\f2@\fP) で始まり、大文字と小文字が区別されます。 これらのタグは、定められたとおりの大文字と小文字を使用して記述する必要があります。タグは、行の先頭 (先行する空白と省略可能なアスタリスクは除く) に置かなければなりません。慣例として、同じ名前のタグは 1 か所にまとめて記述するようにします。たとえば、\f2@see\fP タグが複数ある場合は、すべてを 1 か所にまとめて記述します。
+.LP
+.LP
+タグには 2 つのタイプがあります。
+.LP
+.RS 3
+.TP 2
+o
+\f3ブロックタグ\fP \- 主説明に続くタグセクション内にのみ記述可能。ブロックタグは、\f2@tag\fP の形式をとります。
+.TP 2
+o
+\f3インラインタグ\fP \- コメントの主説明内またはブロックタグのコメント内に記述可能。インラインタグは、\f2{@tag}\fP のように中括弧で囲みます。
+.RE
+
+.LP
+.LP
+今後のリリースで導入されるタグについては、
.na
-¡Ö\f2Proposed Tags\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「Proposed Javadoc Tags」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/proposed\-tags.htmlを参照してください。
.LP
.LP
-¸½»þÅÀ¤Ç͸ú¤Ê¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+現時点で有効なタグは、次のとおりです。
.LP
.RS 3
.LP
.LP
.TS
-center;
-cbp-1 cbp-1
-l l.
-¥¿¥° ƳÆþ¤µ¤ì¤¿ JDK/SDK ¤Î¥Ð¡¼¥¸¥ç¥ó
-@author 1.0
-{@code} 1.5
-{@docRoot} 1.3
-@deprecated} 1.0
-@exception 1.0
-{@inheritDoc} 1.4
-{@link} 1.2
-{@linkplain} 1.4
-{@literal} 1.5
-@param 1.0
-@return 1.0
-@see 1.0
-@serial 1.2
-@serialData 1.2
-@serialField 1.2
-@since 1.1
-@throws 1.2
-{@value} 1.4
-@version 1.0
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f3導入された JDK/SDK のバージョン\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3タグ\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@author\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@code}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@docRoot}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@deprecated\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@exception\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@inheritDoc}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@link}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@linkplain}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@literal}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@param\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@return\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@see\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serial\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serialData\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serialField\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@since\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@throws\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@value}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@version\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.5
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.3
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.5
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.1
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 1125 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3タグ\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 (\n(41u+\n(81u-\n(a-u)/2u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-42
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-44
+
+.LP
+.RE
+.LP
+カスタムタグについては、\-tag オプションを参照してください。
+.LP
+.RS 3
+.TP 3
+@author\ name\-text
+\-author オプションが使われている場合、生成ドキュメントに「著者」の項目を追加し、指定された \f2name\-text\fP を書き込みます。1 つのドキュメンテーションコメントに複数の \f2@author\fP タグを含めることができます。1 つの \f2@author\fP タグに 1 つの名前を指定することも、1 つのタグに複数の名前を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要があるときは、1 つのタグに複数の名前を指定してください。
+.RE
+
+.LP
+.RS 3
.LP
.LP
-¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BI @author " name-text"
-.B \-author
-¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë¡¢»ØÄꤵ¤ì¤¿
-name-text ¤ò»ý¤Ä Author ¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£
-1 ¤Ä¤Î doc ¥³¥á¥ó¥È¤ËÊ£¿ô¤Î
-.B @author
-¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B @author
-¥¿¥°¤´¤È¤Ë 1 ¤Ä¡¢¤Þ¤¿¤Ï¥¿¥°¤´¤È¤ËÊ£¿ô¤Î̾Á°¤ò
-»ØÄê¤Ç¤¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Ì¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f3,\f1) ¤È¥¹¥Ú¡¼¥¹¤òÁÞÆþ¤·¤Þ¤¹¡£
-¸å¼Ô¤Î¾ì¹ç¡¢¥Æ¥¥¹¥ÈÁ´ÂΤ¬
-²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¤À¤±¤Ç¤¹¡£
-¤³¤Î¤¿¤á¡¢¥³¥ó¥Þ°Ê³°
-¤Î¸½ÃÏ»ÅÍͤÎ̾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦¾ì¹ç¤Ï¡¢1 ¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¡×¤ª¤è¤Ó
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author
-¤Î
+詳細については、「タグを使用できる場所」および
.na
-\f2@author ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@author タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@authorを参照してください。
.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@deprecated\ deprecated\-text
.RS 3
.LP
.LP
-Ãí: JDK 5.0 ¤«¤é¡¢@Deprecated Ãí¼á¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-.LP
-¤³¤Î API ¤Ï (Æ°ºî¤Ï¤¹¤ë¤¬) »ÈÍѤ¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò¼¨¤¹
-¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£
-.B javadoc
- ¤Ï¡¢deprecated-text ¤òÀâÌÀ¤ÎÁ°¤Ë°ÜÆ°¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢
-¤½¤ÎÁ°¤Ë¥Ü¡¼¥ë¥É¤Î·Ù¹ð
-¡Ö¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¤¹¤Ù¤Æ¤Î doc ¥³¥á¥ó¥È (³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É) ¤Ç͸ú¤Ç¤¹¡£
-.LP
-.RS
-deprecated-text ¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â¥æ¡¼¥¶¤Ë¤É¤Î¤è¤¦¤Ê¤È¤¤Ë
-¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤¤«¡¢¤ª¤è¤Ó¤½¤ì¤ËÂå¤ï¤ë API ¤òÄ󼨤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B javadoc
-¤Ï¡¢ºÇ½é¤Îʸ¤À¤±¤òÍ×Ì󥻥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
-¤¢¤È¤Ë³¤¯Ê¸¤Ç¡¢¤Ê¤¼¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤¤«¤ò
-ÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Âå¤ï¤ê¤Î API ¤ò
-»Ø¤·¼¨¤¹ {\f3@link\f1} ¥¿¥° (
-.B javadoc
-1.2 °Ê¹ß¤Î¾ì¹ç) ¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated
-¤Î
+注: JDK 5.0 から、
.na
-\f2@deprecated ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.TP 2
-\(bu
-.B javadoc
-1.2 °Ê¹ß¤Ç¤Ï¡¢{\f3@link\f1} ¥¿¥°¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¡¢
-ɬÍפʾì½ê¤Ë¥¤¥ó¥é¥¤¥ó¤Ç
-¥ê¥ó¥¯¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
- * @deprecated As of JDK 1.1, replaced by
- * {@link #setBounds(int,int,int,int)}
- */
+\f2@Deprecated 注釈\fP @
.fi
-.ft 1
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.htmlを使って特定のプログラム要素を非推奨にできるようになりました。
+.LP
.RE
-.LP
-.TP 2
-\(bu
-.B javadoc
-1.1 ¤Ç¤Ï¡¢³Æ
-.B @deprecated
-¥¿¥°¤Ë
-.B @see
-¥¿¥° (¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤¤Ê¤¤) ¤òºîÀ®¤¹¤ë¤Î¤¬É¸½à¤Î·Á¼°¤Ç¤¹¡£
-.LP
-¿ä¾©¤µ¤ì¤Ê¤¤¥¿¥°¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡Ö
-.B @deprecated
-¥¿¥°¡× ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.RE
-.TP
-.B {@code text}
-<code>{@literal}</code> ¤ÈƱÅù¤Ç¤¹¡£
+.RS 3
+
.LP
-¥Æ¥¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï
-Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢
-¥Æ¥¥¹¥È¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê doc ¥³¥á¥ó¥È¤Ç¤Ï¡¢
-¥Ñ¥é¥á¡¼¥¿¤Î¼ïÎà ( <Object> )¡¢ÉÔÅù¹æ ( 3 < 4 )¡¢
-¤Þ¤¿¤ÏÌð°õ ( <- ) ¤Ê¤É¤Ç¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£ ( < ¤ª¤è¤Ó > ) ¤Ç¤Ï¤Ê¤¯¡¢
-Ä̾ï¤Î»³³ç¸Ì (< ¤ª¤è¤Ó >) ¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð doc ¥³¥á¥ó¥È¤Î¥Æ¥¥¹¥È
.LP
-.RS 5
-{@code A<B>C}
-.RE
+この API は動作し続けますが、この API を使用するべきではないことを示すコメントを追加します。Javadoc ツールは、\f2deprecated\-text\fP を主説明の前に移動してイタリックにし、その前にボールドの警告「推奨されません。」を追加します。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
.LP
-¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.RS 5
-A<B>C
-.RE
+\f2deprecated\-text\fP の最初の文では、少なくとも、その API が推奨されなくなった時期と、代替使用するべき API を読者に提示する必要があります。Javadoc ツールは、この最初の文だけを、概要セクションと索引にコピーします。そのあとの文では、その API が推奨されない理由を説明することもできます。また、代わりの API を指し示す \f2{@link}\fP タグ (Javadoc 1.2 以降の場合) を含める必要があります。 次のように記述します。
.LP
-ÃíÌܤ¹¤Ù¤ÅÀ¤È¤·¤Æ¡¢<B> ¤ÏÂÀ»ú¤Ç¤¢¤ë¤È²ò¼á¤µ¤ì¤Þ¤»¤ó¤¬¡¢
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
.LP
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢
-{@literal} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.RE
-.TP
-.B {@docRoot}
-À¸À®¤µ¤ì¤¿Ç¤°Õ¤Î¥Ú¡¼¥¸¤òµ¯ÅÀ¤È¤·¤¿¡¢¥É¥¥å¥á¥ó¥È¤Î (½ÐÎÏÀè)
-¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¥Ú¡¼¥¸
-¤Þ¤¿¤Ï²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë
-¤ò¼è¤ê¹þ¤à¤È¤¤Ë»È¤¤¤Þ¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤«¤éÃøºî¸¢
-¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£
-.RS
-.LP
-¤³¤Î \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¤â¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤â»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£
-.TP 4
-1.
-¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥Ø¥Ã¥À (header)¡¢¥Õ¥Ã¥¿ (footer)¡¢
-¤Þ¤¿¤Ï¥Ú¡¼¥¸¤ÎºÇ²¼Éô (bottom)¤òÄêµÁ¤·¤Þ¤¹¡£
-.sp 1n
-.B javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
-.LP
-Ãí - Makefile ¤ÎÃæ¤Ç {\f3@docRoot\f1}¤ò¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢
-°ìÉô¤Î Makefile ¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ãæ³ç¸Ì { } ʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Inprise MAKE ¥Ð¡¼¥¸¥ç¥ó 5.2 ¤ò
-Windows ¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢{{\f3@docRoot\f1}} ¤Î¤è¤¦¤Ë¡¢
-Ãæ³ç¸Ì¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢\-bottom ¤Ê¤É¤Î
-¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò¡¢Ã±°ì°úÍÑÉä¤Ç¤Ï¤Ê¤¯¡¢
-Æó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£href
-°ú¿ô¤ÎÃͤò°Ï¤à°úÍÑÉä¤Ï¾Êά¤·¤Þ¤¹¡£
-.TP
-2.
-doc ¥³¥á¥ó¥È¤Ë¤Ï¼¡¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡£
-.sp 1n
-.nf
-.ft 3
-/**
-* See the <a href="{@docRoot}/copyright.html">Copyright</a>.
-*/
-.ft 1
+詳細については、
+.na
+\f2@deprecated タグのドキュメント\fP @
.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecatedを参照してください。
.LP
-¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È
-Ʊ¤¸³¬ÁؤΥǥ£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
-.LP
-.ti +5n
-.B <a href="{@docRoot}/copyright.html">
-.LP
-¼¡¤Î¤è¤¦¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£
-.LP
-.ti +5n
-\f3<a href=".\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/Object.java ¤Î¾ì¹ç
-.sp 1n
-¤ª¤è¤Ó
-.sp 1n
-.ti +5n
-\f3<a href=".\|.\|/.\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/ref/Reference.java ¤Î¾ì¹ç
-.RE
-.TP
-.BI @exception " class-name description"
-.B @exception
-¥¿¥°¤Ï¡¢
-.BR @throws
-¤ÈƱµÁ¤Ç¤¹¡£
-.TP
-{\f3@inheritDoc\f1}
-ºÇ¤â¶á¤¤¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¤é¸½ºß¤Î ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¡¢¥É¥¥å¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢¥³¥á¥ó¥È¤Ï·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ë°ÜÆ°¤·¡¢³«È¯¼Ô¤Ï¥³¥Ô¡¼¤·¤¿¥Æ¥¥¹¥È¤Ëµ½Ò¤òÄɲ乤뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¤³¤Î¥¿¥°¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤß͸ú¤Ç¤¹¡£
.RS 3
.TP 2
o
-¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë
+Javadoc 1.2 以降では、\f2{@link}\fP タグを使用します。これにより、必要な場所にインラインでリンクを作成できます。例を示します。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+/**
+.fl
+ * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.RS 3
.TP 2
o
-¥á¥½¥Ã¥É¤Î @return¡¢@param¡¢@throws ¥¿¥°¤Î¥Æ¥¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¥Æ¥¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë
+Javadoc 1.1 では、各 \f2@deprecated\fP タグに対して \f2@see\fP タグ (インラインにはできない) を記述するのが標準の形式です。
.RE
+
.LP
-·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀµ³Î¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¡¢¡Ö¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£
.LP
-.TP 3
-{@link\ package.class#member\ label}
-ɽ¼¨¥Æ¥¥¹¥È label ¤È¤Î¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£\f2label\fP ¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤Î̾Á°¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£
-.LP
-¤³¤Î¥¿¥°¤Ï¡¢
-.B @see
-¥¿¥°¤È¤è¤¯»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤Î¥¿¥°¤â¡¢package.class#member ¤ª¤è¤Ó
-.BI label
-¤Î»²¾È¤Î»ÅÊý¤¬Æ±¤¸¤Ç¡¢Í¸ú¤Ê¹½Ê¸¤â¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£
-Â礤ʰ㤤¤Ï¡¢{\f3@link\f1} ¤Ï¡¢¥ê¥ó¥¯¤ò [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó¤Ë
-ÃÖ¤¯¤Î¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÀ¸À®¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤Þ¤¿¡¢¥¤¥ó¥é¥¤¥ó¥Æ¥¥¹¥È¤Î¤Û¤«¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢
-{\f3@link\f1} ¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ³ç¸Ì¤òµ½Ò¤·¤Þ¤¹¡£
-¥é¥Ù¥ë¤ÎÃæ¤Ç¡Ö}¡×¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢HTML
-¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö}¡×¤ò»È¤¤¤Þ¤¹¡£
-.LP
-1 ¤Ä¤Îʸ¤ÎÃæ¤Ç»ÈÍѤǤ¤ë {@link} ¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤Î¥¿¥°¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï
-.BR @deprecated
-¡¢
-.BR @return
-¡¢
-.BR @param
-¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤Ç»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢
-.B getComponentAt(int, int)
-¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-Use the {\f3@link #getComponentAt(int, int) getComponentAt\f1} method.
-.fi
-.ft 1
-.LP
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¾åµ¤Î¥³¥á¥ó¥È¤«¤é¼¡¤Î HTML ¤¬
-À¸À®¤µ¤ì¤Þ¤¹ (¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£
-.LP
-.ft 3
-.nf
-Use the
-<a href="Component.html#getComponentAt(int, int)">getComponentAt</a>method.
-.fi
-.ft 1
-.LP
-¤³¤Î HTML ¤Ï¡¢Web ¥Ú¡¼¥¸¾å¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-Use the getComponentAt method.
-.fi
-.ft 1
-.LP
-{\f3@link\f1} ¤ò¡¢¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤˤ·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¤Ë¤Þ¤Ç
-³ÈÄ¥¤¹¤ë¤Ë¤Ï¡¢
-.BR \-link
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}
-¤Î
+推奨されないタグについての詳細は、
.na
-\f2{@link} ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-{@linkplain package.class#member label}
-¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤¬¥³¡¼¥É¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Ç
-ɽ¼¨¤µ¤ì¤Æ¤¤¤ëÅÀ°Ê³°¤Ï¡¢
-{\f3@link\f1} ¤ÈƱ¤¸¤Ç¤¹¡£ ¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Ç
-µ½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¼¡¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.ft 3
-.nf
-Refer to {\f3@linkplain\f1 add() the overridden method}.
+\f2@deprecated タグ\fP @
.fi
-.ft 1
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.htmlのドキュメントを参照してください。
.LP
-¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@code\ text}
+\f2<code>{@literal}</code>\fP と同等です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+テキストを HTML マークアップまたは入れ子になった javadoc タグとして解釈せずに、\f2text\fP を \f2code\fP フォントで表示します。これにより doc コメントでは、パラメータの種類 (\f2<Object>\fP)、不等号 (\f23 < 4\fP)、または矢印 (\f2<\-\fP) などで、HTML エンティティー (\f2<\fP および \f2>\fP) ではなく、通常の山括弧 (\f2<\fP および \f2>\fP) を使用できます。たとえば doc コメントのテキスト
+.LP
.nf
-Refer to the overridden method.
+\f3
+.fl
+ \fP\f4{@code A<B>C}\fP\f3
+.fl
+
+.fl
+\fP
.fi
-.ft 1
+
.LP
-.TP
-.B {@literal text}
-¥Æ¥¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï
-Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢
-¥Æ¥¥¹¥È¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê doc ¥³¥á¥ó¥È¤Ç¤Ï¡¢
-¥Ñ¥é¥á¡¼¥¿¤Î¼ïÎà ( <Object> )¡¢ÉÔÅù¹æ ( 3 < 4 )¡¢
-¤Þ¤¿¤ÏÌð°õ ( <- ) ¤Ê¤É¤Ç¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£ ( < ¤ª¤è¤Ó > ) ¤Ç¤Ï¤Ê¤¯¡¢
-Ä̾ï¤Î»³³ç¸Ì (< ¤ª¤è¤Ó >) ¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð doc ¥³¥á¥ó¥È¤Î¥Æ¥¥¹¥È
.LP
-.RS 5
-{@literal A<B>C}
+は、生成された HTML ページで、次のようにそのまま表示されます。
+.LP
+.nf
+\f3
+.fl
+ \fP\f4A<B>C\fP\f3
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注目すべき点として、\f2<B>\fP は太字であると解釈されませんが、コードフォントになります。
+.LP
+.LP
+コードフォントなしで同じ機能を実現するには、\f2{@literal}\fP を使用します。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@docRoot}
+生成されるページから見た、生成ドキュメントの (生成先の) ルートディレクトリへの相対パスを表します。このタグは、著作権のページや会社のロゴなど、生成されるすべてのページから参照するファイルを組み込むときに便利です。通常は、各ページの下部から著作権のページにリンクします。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+この \f2{@docRoot}\fP タグは、コマンド行からも、ドキュメンテーションコメントの中でも使用できます。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.LP
+.RS 3
+.TP 3
+1.
+コマンド行では、ヘッダー、フッター、またはボトムノートは次のように定義します。
+.nf
+\f3
+.fl
+ javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
+.fl
+
+.fl
+\fP
+.fi
+.LP
+\- \f2{@docRoot}\fP をこのように利用する場合、一部の Makefile プログラムでは、中括弧 { } 文字をエスケープする必要があります。たとえば、Inprise MAKE バージョン 5.2 を Windows 上で実行する場合は、「\f2{{@docRoot}}\fP」のように、中括弧を二重にする必要があります。さらに、\f2\-bottom\fP などのオプションに対する引数を、単一引用符ではなく、二重引用符で囲む必要があります。 \f2href\fP 引数の値を囲む引用符は省略します。
+.TP 3
+2.
+ドキュメンテーションコメントの中では、次のように使用します。
+.nf
+\f3
+.fl
+ /**
+.fl
+ * See the <a href="{@docRoot}/copyright.html">Copyright</a>.
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+このタグが必要な理由は、生成ドキュメントが、サブパッケージと同じ深さを持つ階層構造のディレクトリに格納されるからです。次に例を示します。
+.LP
+.nf
+\f3
+.fl
+ <a href="{@docRoot}/copyright.html">
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+次のように解決されます。
+.LP
+.nf
+\f3
+.fl
+ <a href="../../copyright.html"> java/lang/Object.java の場合
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+および
+.LP
+.nf
+\f3
+.fl
+ <a href="../../../copyright.html"> java/lang/ref/Reference.java の場合
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@exception\ class\-name\ description
+\f2@exception\fP タグは、\f2@throws\fP タグと同義です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@inheritDoc}\
+もっとも近い継承可能なクラスまたは実装可能なインタフェースから、このタグの現在のドキュメンテーションコメントに、ドキュメントを継承 (コピー) します。この機能により、より汎用的なコメントを継承ツリーの上位に記述し、コピーしたテキストを使って記述することができます。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+このタグは、ドキュメンテーションコメントの次の位置でのみ有効です。
+.LP
+.RS 3
+.TP 2
+o
+メソッドの主説明ブロック内。この場合、主説明は、上位階層のクラスまたはインタフェースからコピーされる
+.TP 2
+o
+メソッドの @return、@param、@throws タグのテキスト引数内。この場合、タグテキストは、上位階層の対応するタグからコピーされる
+.RE
+
+.LP
+.LP
+継承階層でコメントを見つける方法に関する正確な説明について、「メソッドコメントの自動コピー」を参照してください。このタグが見つからない場合、コメントは、この節で説明するルールに応じて、自動的に継承されるかどうかが決まります。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@link\ \ package.class#member\ \ label}\
+表示テキスト \f2label\fP とのインラインリンクを挿入します。 \f2label\fP は、参照クラスの指定されたパッケージ、クラス、またはメンバーの名前のドキュメンテーションを指し示します。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+このタグは、\f2@see\fP タグとよく似ています。 どちらのタグも、\f2package.class\fP\f2#\fP\f2member\fP および \f2label\fP の参照の仕方が同じで、有効な構文もまったく同じです。大きな違いは、\f2{@link}\fP は、リンクを [関連項目] セクションに置くのではなく、インラインリンクを生成するということです。また、インラインテキストのほかの部分と区別するために、\f2{@link}\fP タグの最初と最後に中括弧を記述します。ラベルの中で「}」を使う必要がある場合は、HTML エンティティーの「}」を使います。
+.LP
+.LP
+1 つの文の中で使用できる \f2{@link}\fP タグの数に制限はありません。このタグは、ドキュメンテーションコメントの主説明部分、または @deprecated、@return、@param などの任意のタグのテキスト部分で使うことができます。
+.LP
+.LP
+たとえば、次のコメントでは \f2getComponentAt(int, int)\fP メソッドを参照しています。
+.LP
+.nf
+\f3
+.fl
+{@link #getComponentAt(int, int) getComponentAt} メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+標準ドックレットでは、上記のコメントから次の HTML が生成されます (このコメントが同じパッケージの別のクラスを参照している場合)。
+.LP
+.nf
+\f3
+.fl
+<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この HTML は、Web ページ上では次のように表示されます。
+.LP
+.nf
+\f3
+.fl
+getComponentAt メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+\f2{@link}\fP を、ドキュメント化の対象にしていないクラスにまで拡張するには、\f2\-link\fP オプションを使用します。
+.LP
+.LP
+詳細については、
+.na
+\f2{@link} タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}を参照してください。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@linkplain\ package.class#member\ label}
+リンクのラベルがコードフォントではなくプレーンテキストで表示される点以外は \f2{@link}\fP と同じです。ラベルがプレーンテキストで記述されていると便利です。例:
+.RE
+
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ {@linkplain add() the overridden method} を参照してください。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+これは以下のように表示されます。
+.LP
+.RS 3
+
+.LP
+.LP
+the overridden method を参照してください。
+.LP
.RE
.LP
-¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ï¥Ö¥é¥¦¥¶¤Ç¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£
+
.LP
-.RS 5
-A<B>C
.RE
+.RS 3
+.TP 3
+{@literal\ text}
+テキストを HTML マークアップまたは入れ子になった javadoc タグとして解釈せずに、\f2text\fP を表示します。これにより doc コメントでは、パラメータの種類 (\f2<Object>\fP)、不等号 (\f23 < 4\fP)、または矢印 (\f2<\-\fP) などで、HTML エンティティー (\f2<\fP および \f2>\fP) ではなく、通常の山括弧 (\f2<\fP および \f2>\fP) を使用できます。たとえば doc コメントのテキスト
+.RE
+
.LP
-ÃíÌܤ¹¤Ù¤ÅÀ¤È¤·¤Æ¡¢<B> ¤ÏÂÀ»ú¤Ç¤¢¤ë¤È²ò¼á¤µ¤ì¡¢
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
+.RS 3
+
.LP
-¥³¡¼¥É¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢
-{@code} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.BI @param " parameter-name description"
-»ØÄꤷ¤¿ parameter-name ¤È»ØÄꤷ¤¿ description ¤ò»ÈÍѤ·¤Æ
-¥Ñ¥é¥á¡¼¥¿¤ò¡ÖParameters¡×¥»¥¯¥·¥ç¥ó¤ËÄɲä·¤Þ¤¹¡£
-doc ¥³¥á¥ó¥È¤òµ½Ò¤¹¤ë¤È¤¤Ï¡¢description ¤òÊ£¿ô¹Ô¤Ë
-³¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢
-¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î
-doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ß͸ú¤Ç¤¹¡£
+.nf
+\f3
+.fl
+ \fP\f4{@literal A<B>C}\fP\f3
+.fl
+
+.fl
+\fP
+.fi
+
.LP
-\f2parameter\-name\fP ¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥¿¥¤¥×¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-»³³ç¸Ì¤Ç¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤à¤È¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò
-»ØÄꤷ¤Þ¤¹¡£
.LP
-¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã:
+は、生成された HTML ページはブラウザで次のようにそのまま表示されます。
+.LP
+.LP
+\f2\ \ \ \ \ \fPA<B>C
+.LP
+.LP
+注目すべき点として、\f2<B>\fP は太字であると解釈されません (コードフォントにならない)。
+.LP
+.LP
+コードフォントで同じ機能を実現するには、\f2{@code}\fP を使用します。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@param\ parameter\-name description
+指定した \f2parameter\-name\fP と指定した \f2description\fP を使用してパラメータを「Parameters」セクションに追加します。doc コメントを記述するときは、\f2description\fP を複数行に続けることができます。このタグは、メソッド、コンストラクタ、またはクラスの doc コメント内でのみ有効です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f2parameter\-name\fP は、メソッドまたはコンストラクタでのパラメータの名前か、クラス、メソッドまたはコンストラクタのタイプパラメータの名前になります。山括弧でパラメータ名を囲むと、型パラメータを使用することを指定します。
+.LP
+.LP
+クラスの型パラメータの例:
+.LP
.nf
\f3
.fl
@@ -1807,10 +1947,15 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+
.LP
-¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã:
+.LP
+メソッドの型パラメータの例:
+.LP
.nf
\f3
.fl
@@ -1830,423 +1975,862 @@
.fl
}
.fl
+
+.fl
\fP
.fi
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@param
-¤Î
-.na
-\f2@param ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+
.LP
+.LP
+詳細については、
+.na
+\f2@param タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@paramを参照してください。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@return\ description
-¡ÖÌá¤êÃ͡ץ»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢\f2description\fP ¤Î¥Æ¥¥¹¥È¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤Î¤ß͸ú¤Ç¤¹¡£
+[戻り値] セクションを追加して、\f2description\fP のテキストを書き込みます。このテキストでは、戻り値の型と、取り得る値の範囲について記述する必要があります。このタグは、メソッドのドキュメンテーションコメントでのみ有効です。
+.RE
+
.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@return
-¤Î
+.RS 3
+
+.LP
+.LP
+詳細については、
.na
-\f2@return ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@return タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@returnを参照してください。
.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
-@see\ reference
-¡Ö´ØÏ¢¹àÌܡ׸«½Ð¤·¤òÄɲä·¡¢\f2reference\fP ¤ò»Ø¤¹¥ê¥ó¥¯¤«¡¢¤Þ¤¿¤Ï¥Æ¥¥¹¥È¥¨¥ó¥È¥ê¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢Ç¤°Õ¤Î¿ô¤Î \f2@see\fP ¥¿¥°¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î \f2@see\fP ¥¿¥°¤ÎÆâÍƤϡ¢Æ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£\f2@see\fP ¥¿¥°¤Ë¤Ï¡¢¼¡¤Î 3 ¼ïÎà¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤â¤è¤¯»È¤ï¤ì¤ë¤Î¤Ï¡¢3 ÈÖÌܤηÁ¼°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òʸÃæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\f2{@link}\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+@see\ \ reference
+[関連項目] 見出しを追加し、\f2reference\fP を指すリンクか、またはテキストエントリを書き込みます。1 つのドキュメンテーションコメントには、任意の数の \f2@see\fP タグを指定できます。 すべての \f2@see\fP タグの内容は、同じの見出しの下にグループ化されます。\f2@see\fP タグには、次の 3 種類の形式があります。 もっともよく使われるのは、3 番目の形式です。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。パッケージ、クラス、またはメンバーに対するインラインリンクを文中に挿入する方法は、\f2{@link}\fP を参照してください。
.RS 3
.TP 3
@see "string"
-string ¤Î¥Æ¥¥¹¥È¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£
-¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£string ¤Ï¡¢½ñÀÒ¡¢¤Þ¤¿¤Ï
-URL ¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬Æó½Å°úÍÑÉä (") ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢
-¾å¤Î 2 ¤Ä¤Î·Á¼°¤È¤³¤Î·Á¼°¤È¤ò¶è
-Ê̤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
- @see "The Java Programming Language"
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥Æ¥¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- "The Java Programming Language"
-.fi
-.ft 1
-.RE
-.TP
-\f3@see <a href="\f2URL#value\f3">\f2label\f3</a>\f1
-.IR URL#value
-¤ÇÄêµÁ¤µ¤ì¤¿¤È¤ª¤ê¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£
-.I URL#value
-¤Ï¡¢ÁêÂÐ URL ¤Þ¤¿¤ÏÀäÂÐ URL ¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤Æ¡¢¾®¤Ê¤ê³ç¸Ì (\f3<\f1) ¤òõ¤¹¤³¤È¤Ç¡¢
-¤³¤Î¥ê¥ó¥¯¤ò¤½¤Î¾¤Î¾ì¹ç¤È¶èÊ̤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
- @see <a href="spec.html#section">Java Spec</a>
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- Java Spec
-.fi
-.ft 1
-.RE
-.TP
-.BI @see " package.class#member label"
-»²¾È¤µ¤ì¤ë Java ¸À¸ì¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥É¥¥å¥á¥ó¥È¤ò»Ø¤¹¡¢
-ɽ¼¨¥Æ¥¥¹¥È label ¤ò»ý¤Ä
-¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£label ¤Ï¾Êά²Äǽ¤Ç¤¹¡£label ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-³ºÅö¤¹¤ë̾Á°¤¬
-ŬÀÚ¤Ëû¤¯¤µ¤ì¤Æ (¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È)¡¢
-ɽ¼¨¥Æ¥¥¹¥È¤È¤·¤ÆÂå¤ï¤ê¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£-noqualifier ¤ò»ÈÍѤ¹¤ë¤È¡¢É½¼¨¥Æ¥¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥¥¹¥È¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢Ì¾Á°¤À¤±¤¬
-HTML ¥¿¥°
-.B <code>
-¤Ë°Ï¤Þ¤ì¤Æ¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.2.2 °Ê¹ß¤Ï¡¢
-.B <code>
-¤Ï¾ï¤Ë¡¢¥é¥Ù¥ë¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-ɽ¼¨²Äǽ¤Ê¥Æ¥¥¹¥È¤ò°Ï¤ß¤Þ¤¹¡£
-.TP 2
-\(bu
-.I package.class#member
-¤Ë¤Ï¡¢Java ¸À¸ì¤Ç͸ú¤ÊǤ°Õ¤Î̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢
-¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹
-¡£¤¿¤À¤·¡¢¥á¥ó¥Ð̾¤ÎÁ°¤Î
-¥É¥Ã¥È¤Ï¡¢¥Ï¥Ã¥·¥åʸ»ú (#) ¤ÇÃÖ¤´¹¤¨¤Þ¤¹¡£
-»ØÄꤷ¤¿Ì¾Á°¤¬¡¢¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹
-¤Ë¤¢¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï³ºÅö¤¹¤ë̾Á°¤Ø¤Î¥ê¥ó¥¯¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£
-³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë
-¤Ë¤Ï¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î
-¥É¥¥å¥á¥ó¥È¤ò»²
-¾È¤¹¤ë¤Ë¤Ï¡¢¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤Î
-.B @see
-¥¿¥°¤ò»È¤¤¤Þ¤¹¡£1 ÈÖÌܤΰú¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö̾Á°¤Î»ØÄê¡× ¤Ç
-¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-.I label
-¤Ï¾Êά²Äǽ¤Ê¥Æ¥¥¹¥È¤Ç¡¢
-¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£label ¤Ë¤Ï¶õÇò¤ò´Þ
-¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£label ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-.I package.class.member
-¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤Æ
-ŬÀÚ¤Ëû¤¯¤µ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-¶õÇòʸ»ú¤Ï
-.I package.class#member
-¤È
-.IR label
-¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ç¤¹¡£³ç¸ÌÆâ¤Î¶õÇòʸ»ú¤Ï¡¢
-¥é¥Ù¥ë¤Î³«»Ï¤ò°ÕÌ£¤·¤Ê¤¤¤¿¤á¡¢
-¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Î¥Ç¥ê¥ß¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-Îã-¤³¤ÎÎã¤Ç¤Ï¡¢Character ¥¯¥é¥¹¤Î
-.B @see
-¥¿¥°¤¬ String ¥¯¥é¥¹¤Î equals ¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
-¥¿¥°¤Ë¤Ï¡¢Ì¾Á° \f3String#equals(Object)\f1 ¤È¥é¥Ù¥ë \f3equals\f1 ¤Î
-ξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- /**
- * @see String#equals(Object) equals
- */
-.fi
-.ft 1
-.LP
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ê HTML ¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- <dl>
- <dt><b>´ØÏ¢¹àÌÜ:</b>
- <dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals</code></a>
- </dl>
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¡¢¥Ö¥é¥¦¥¶¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢
-¥é¥Ù¥ë¤¬¥ê¥ó¥¯¥Æ¥¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- equals
-.fi
-.ft 1
-.LP
-.B ̾Á°¤Î»ØÄê:
-¤³¤Î
-.I package.class#member
-¤Î̾Á°¤Ï¡¢
-.BR java.lang.String#toUpperCase()
-¤Î¤è¤¦¤Ë´°Á´»ØÄꤹ¤ë¤³¤È¤â¡¢
-.B String#toUpperCase()
-¤ä
-.BR #toUpperCase()
-¤Ê¤É¤Î¤è¤¦¤Ë´°Á´»ØÄꤷ¤Ê¤¤¤³¤È¤â²Äǽ¤Ç¤¹¡£
-´°Á´»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Ä̾ï¤Î Java ¥³¥ó¥Ñ¥¤¥é¤Î¸¡º÷½ç½ø¤Ç¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢°Ê²¼¤Î¡Ö
-.BR @see
-¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£»ØÄꤹ¤ë̾Á°¤Ç¤Ï¡¢
-¥á¥½¥Ã¥É¤ÎÊ£¿ô¤Î°ú¿ô¤Î·¿¤Î´Ö¤Ê¤É¡¢
-³ç¸ÌÆâ¤Ë¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-û¤¤Éôʬ½¤¾þ̾¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ë
-ʸ»ú¿ô¤¬¸º¤ë¤³¤È¤È¡¢¥½¡¼¥¹¥³¡¼¥É¤¬
-Æɤߤ䤹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£°Ê²¼¤Îɽ¤Ë¼¨¤¹¤Î¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê
-·Á¼°¤Î̾Á°¤Ç¤¹¡£Class ¤Ë¤Ï
-¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢Type ¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-ÇÛÎ󡢤ޤ¿¤Ï´ðËܥǡ¼¥¿·¿¡¢
-method ¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.LP
-.TS
-box;
-lp-1.
-@see package.class#member ¤Î°ìÈÌŪ¤Ê·Á¼°
-_
-¸½ºß¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¤ò»²¾È¤¹¤ë
-@see #field
-@see #method(Type, Type,...)
-@see #method(Type argname, Type argname,...)
-@see #constructor(Type, Type,...)
-@see #constructor(Type argname, Type argname,...)
-_
-T{
-¸½ºß¤Î¡¢¤Þ¤¿¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤¹¤ë
-T}
-@see Class#field
-@see Class#method(Type, Type,...)
-@see Class#method(Type argname, Type argname,...)
-@see Class#constructor(Type, Type,...)
-T{
-@see Class#constructor(Type argname, Type argname,...)
-T}
-@see Class.NestedClass
-@see Class
-_
-Ê̤Υѥ屡¼¥¸¤ÎÍ×ÁǤò»²¾È¤¹¤ë (´°Á´½¤¾þ)
-@see package.Class#field
-@see package.Class#method(Type, Type,...)
-@see package.Class#method(Type argname, Type argname,...)
-@see package.Class#constructor(Type, Type,...)
-T{
-@see package.Class#constructor(Type argname, Type argname,...)
-T}
-@see package.Class.NestedClass
-@see package.Class
-@see package
-.TE
-.LP
-¾å¤Îɽ¤ËÂФ¹¤ëÃí¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
-.TP 2
-\(bu
-¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò¾Ê¤¤¤¿ºÇ½é¤Î·Á¼°¤Î¥»¥Ã¥È¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥¯¥é¥¹³¬ÁؤÀ¤±¤Ç¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«
-¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î 1 ¤Ä¡¢¤Þ¤¿¤Ï
-¿Æ¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î 1 ¤Ä (¸¡º÷¼ê½ç 1 ¡Á 3) ¤ò¸¡º÷¤·¤Þ¤¹¡£
-¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤Û¤«¤ÎÉôʬ¤ä¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸ (¸¡º÷¼ê½ç 4 ¡Á 5) ¤Ï
-¸¡º÷¤·¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¡¢getValue ¤Î¤è¤¦¤Ë
-³ç¸Ì¤òÉÕ¤±¤º¤Ë̾Á°¤È¤·¤ÆÆþÎϤµ¤ì¡¢
-¤«¤ÄƱ¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤ÏÀµ³Î¤Ë¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¤¬¡¢³ç¸Ì¤È°ú¿ô¤òÄɲ乤ë¤è¤¦¤Ë
-Â¥¤¹·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ
-¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥í¡¼¥É¤·¤¿¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¡¢¸¡º÷¤Ç¸«¤Ä¤«¤Ã¤¿
-ºÇ½é¤Î¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-Æþ¤ì»Ò¤ÎÆâÉô¥¯¥é¥¹¤Ï¡¢¤É¤Î·Á¼°¤Î¾ì¹ç¤Ç¤â¡¢Ã±¤Ë
-.BR inner
-¤È¤¤¤¦·Á¤Ç¤Ï¤Ê¤¯¡¢
-.BR outer.inner
-¤È¤¤¤¦·Á¤Ç»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-¤¹¤Ç¤Ë½Ò¤Ù¤¿¤È¤ª¤ê¡¢¥¯¥é¥¹¤È¥á¥ó¥Ð¤ò¶èÀÚ¤ë¤Î¤Ë¡¢¥É¥Ã¥È (\f3.\f1) ¤Ç¤Ï¤Ê¤¯
-¥Ï¥Ã¥·¥åʸ»ú (\f3#\f1) ¤¬
-»È¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢
-Æþ¤ì»Ò¤Î¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀÚ¤ë¤Î¤Ë¤â»È¤ï¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ç¤Ï°ìÈ̤˵öÍÆÈϰϤ¬¹¤¯¡¢
-¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢¥É¥Ã¥È¤Ç¤âÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£
-
-.LP
-.B @see ¤Î¸¡º÷½ç½ø:
-.B javadoc
-¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f3.java\f1)¡¢¥Ñ¥Ã¥±¡¼¥¸
-¥Õ¥¡¥¤¥ë (\f3package.html\f1 ¤« \f3package\-info.java\f1)¡¢¤Þ¤¿¤Ï
-³µÍ×¥Õ¥¡¥¤¥ë (\f3overview.html\f1) Æâ¤Ç»È¤ï¤ì¤ë
-.B @see
-¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£
-¤¢¤È¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.BR @see
-¤ò»È¤Ã¤Æ»ØÄꤹ¤ë̾Á°¤ò´°Á´½¤¾þ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ̾
-¤ÈÉôʬ½¤¾þ̾¤Î¤É¤Á¤é¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬¡¢´°Á´½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤
-.B .java
-¥Õ¥¡¥¤¥ë¤Ç
-.B @see
-¥¿¥°¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿Ì¾Á°¤ò Java ¥³¥ó¥Ñ¥¤¥é¤È
-Ʊ¤¸½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£¤¿¤À¤·¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÉô¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤Ï¸¡½Ð¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò
-Á°Äó¤È¤·¤ÆÆ°ºî¤¹¤ë¤¿¤á¤Ç¤¹¡£
-¸¡º÷½ç½ø¤Ï¡¢¡ÖJava Language Specification¡×Âè 2 ÈǤÎÂè 6 ¾Ï¡ÖNames¡×¤Ç
-Àµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¸¡º÷¤Ï¼¡¤Î½ç½ø¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-.LP
-.TP 4
-1.
-¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.PD 0
-.TP 4
-2.
-̾Á°¤ò°Ï¤à¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤òºÇ½é¤Ë¸¡º÷
-.TP 4
-3.
-¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤òºÇ½é¤Ë¸¡º÷
-.TP 4
-4.
-¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸
-.TP 4
-5.
-¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£import ʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷
-.PD
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ
-¼ê½ç 1 ¡Á 3 ¤ò·«¤êÊÖ¤·¤Æ¸¡º÷¤ò³¤±
-¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤È¤½¤Î¥¯¥é¥¹¤ò°Ï¤à
-¥¯¥é¥¹ E ¤ò¸¡º÷¤·¤¿¤¢¤È¡¢E ¤Î¥¹¡¼¥Ñ¥¯¥é¥¹¤ò
-¸¡º÷¤·¡¢ºÇ¸å¤Ë E ¤ò°Ï¤à¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£¼ê½ç 4 ¤È 5 ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¸¡º÷¤ò¡¢
-¤Ê¤ó¤é¤«¤Î·è¤Þ¤Ã¤¿½ç
-½ø¤Ç¹Ô¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (¤³¤Î¸¡º÷½ç½ø¤Ï¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Þ¤¹)¡£
-¼ê½ç 5 ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.BR java.lang
-¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-.BR java.lang
-¤¬¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢Javadoc ¥Ä¡¼¥ë¤Î
-¼Â¹ÔÃæ¤Ë¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸
-¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î
-¸¡º÷¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢
-.B @see
-¥¿¥°¤¬
-.B java.awt.event.KeyEvent
-¥¯¥é¥¹¤Ë¤¢¤Ã¤Æ¡¢
-.B java.awt
-¥Ñ¥Ã¥±¡¼¥¸¤Ë¤¢¤ë̾Á°¤ò»²¾È¤¹¤ë¾ì¹ç¡¢
-.B javadoc
-¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬¥¤¥ó¥Ý¡¼¥È¤·¤Ê¤¤¸Â¤ê¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£
-.LP
-.B ̾Á°¤Îɽ¼¨ÊýË¡:
-.I label
-¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-.I package.class.member
-¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Ä̾package.class.member ¤Ï¡¢¸½ºß¤Î
-¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë
-±þ¤¸¤ÆŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¡Öû¤¯¤µ¤ì¤ë¡×¤È¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬É¬Í׺Ǿ®¸Â¤Î̾Á°¤òɽ¼¨¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢String.toUpperCase() ¥á¥½¥Ã¥É¤¬Æ±¤¸
-¥¯¥é¥¹¤Î¥á¥ó¥Ð¤Ø¤Î»²¾È¤È¡¢Ê̤Υ¯¥é¥¹¤Î¥á¥ó¥Ð¤Ø¤Î
-»²¾È¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤Ï¸å¼Ô¤Î¾ì¹ç¤À¤±É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¹°èŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\-noqualifier ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.br
-.LP
-.TP 4
-.TS
-box, center;
-cbp-1 | cbp-1 | cbp-1
-l | l | l .
-»²¾È¤Î¼ïÎà T{
-String.toUppercase() ¤Ç¤ÎÎã
-T} ɽ¼¨
-_
-T{
-@see ¥¿¥°¤¬Æ±¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see String#toLowerCase()
-T} T{
-toLowerCase() (¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤Ï¾Êά)
-T}
-_
-T{
-@see ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see Character#toLowerCase(char)
-T} T{
-Character.toLowerCase(char) (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤à)
-T}
-_
-T{
-@see ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see java.io.File#exists()
-T} T{
-java.io.File.exists() (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥¯¥é¥¹Ì¾¤ò´Þ¤à)
-T}
-.TE
-.LP
-\f3@see ¤ÎÎã\fP
-.br
-±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢\f2@see\fP ¥¿¥°¤¬Ê̤Υѥ屡¼¥¸ (\f2java.applet.Applet\fP ¤Ê¤É) ¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
+\f2string\fP のテキストエントリを追加します。リンクは生成されません。\f2string\fP は、書籍または URL ではアクセスできない情報の参照先です。Javadoc ツールは、最初の文字が二重引用符 (\f2"\fP) かどうかを調べて、この形式をほかの 2 つの形式と区別します。例を示します。
.nf
\f3
.fl
- See also:
+ @see "The Java Programming Language"
+.fl
+
+.fl
+\fP
+.fi
+.LP
+これは次のようなテキストを生成します。
+.RE
+.RS 3
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+関連項目:
+The Java Programming Language
+.RE
+
+.LP
+.RE
+.RE
+.TP 3
+@see <a href="URL#value">label</a>
+\f2URL\fP#\f2value\fP で定義されたとおりにリンクを追加します。\f2URL\fP#\f2value\fP は、相対 URL または絶対 URL です。Javadoc ツールは、最初の文字が「より小さい」記号 (\f2<\fP) かどうかを調べて、この形式をほかの 2 つの形式と区別します。例を示します。
+.nf
+\f3
+.fl
+ @see <a href="spec.html#section">Java Spec</a>
+.fl
+
+.fl
+\fP
+.fi
+.LP
+これは次のようなリンクを生成します。
+.RS 3
+.RS 3
+.TP 3
+関連項目:
+Java Spec
+.RE
+.RE
+.RE
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@see\ package.class#member\ label
+指定された名前を持つ、参照されている Java 言語のメンバーについてのドキュメントを指すリンクを、表示テキスト \f2label\fP とともに追加します。\f2label\fP は省略可能です。 \f2label\fP を省略すると、リンク先のメンバーの名前が適切に短縮されて表示されます。 「名前が表示される方法」を参照してください。\-noqualifier を使用すると、表示テキストからパッケージ名が全体的に削除されます。ラベルは、自動生成される表示テキストとは異なる表示テキストを指定する場合に使います。
+.LP
+バージョン 1.2 だけは、ラベルではなく、名前が <code> HTML タグ内に自動的に表示されます。 1.2.2 からは、ラベルを使用するか、しないかにかかわらず、<code> は常に表示テキストを囲むかたちで、含まれます。
+.LP
+.RS 3
+.TP 2
+o
+\f4package.class\fP\f4#\fP\f4member\fP には、参照されている任意の有効なプログラム要素の名前を指定します。 つまり、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの名前です。 ただし、メンバー名ーの前のドットは、シャープ記号 (\f2#\fP) で置き換えます。\f2class\fP は、任意のトップレベルまたは入れ子にされたクラスまたはインタフェースを表します。\f2member\fP は、任意のコンストラクタ、メソッドまたはフィールド (入れ子にされたクラスまたはインタフェースではない) を表します。指定した名前が、ドキュメント化されているクラスに含まれている場合、Javadoc ツールは、その名前へのリンクを自動的に作成します。外部参照クラスへのリンクを作成するには、\f2\-link\fP オプションを使います。参照クラスに属していない名前のドキュメントを参照するには、ほかの 2 つの形式の \f2@see\fP タグを使います。この引数については、このあとの「名前の指定」で詳しく説明します。
+.TP 2
+o
+\f4label\fP は、省略可能なテキストで、リンクのラベルとして表示されます。\f2label\fP には空白を含めることができます。\f2label\fP を省略すると、\f2package.class.member\fP が、現在のクラスおよびパッケージに応じて適切に短縮されて表示されます。 「名前が表示される方法」を参照してください。
+.TP 2
+o
+空白文字は、\f2package.class\fP\f2#\fP\f2member\fP と \f2label\fP の間の区切り文字です。括弧の内側の空白文字はラベルの先頭とは解釈されないため、メソッドのパラメータ間に空白文字を入れてもかまいません。
+.RE
+.LP
+\f3例\fP \- この例では、\f2Character\fP クラスにある \f2@see\fP タグが、\f2String\fP クラスの \f2equals\fP メソッドを参照しています。タグには、名前 \f2String#equals(Object)\fP とラベル \f2equals\fP の両方の引数が含まれています。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * @see String#equals(Object) equals
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.LP
+標準ドックレットは、次のような HTML を生成します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+<dl>
+.fl
+<dt><b>See also:</b>
+.fl
+<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a>
+.fl
+</dl>
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.LP
+これは、ブラウザでは次のように表示され、ラベルがリンクテキストになります。
+.RS 3
+.RS 3
+.TP 3
+関連項目:
+equals
+.RE
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.LP
+\f3名前の指定\fP \- このタグに指定する \f2package.class\fP\f2#\fP\f2member\fP という名前は、\f2java.lang.String#toUpperCase()\fP のように完全指定することも、\f2String#toUpperCase()\fP や \f2#toUpperCase()\fP のように部分的に指定することもできます。名前が完全指定されていない場合、Javadoc ツールは、Java コンパイラの通常の検索順序でその名前を検索します。詳細は、このあとの「@see の検索順序」を参照してください。名前には、メソッドの複数の引数の間など、括弧の内側であれば空白を含めることができます。
+.LP
+.LP
+「部分的に指定」した短い名前を指定することの利点は、入力する文字数が減ることや、ソースコードが読みやすくなることです。次の表に、さまざまな形式の名前を示します。 この表の中で、\f2Class\fP にはクラスまたはインタフェースを、\f2Type\fP にはクラス、インタフェース、配列、または基本データ型を、そして \f2method\fP にはメソッドまたはコンストラクタを指定できます。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.RS 3
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 の一般的な形式\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3現在のクラスのメンバーを参照する\fP
+.br
+\f2@see\fP\ \f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3現在の、またはインポートされたパッケージの別のクラスを参照する\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2Class.NestedClass\fP
+.br
+\f2@see\fP\ \f2Class\fP
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3別のパッケージの要素を参照する\fP\ (完全修飾)
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2package.Class.NestedClass\fP
+.br
+\f2@see\fP\ \f2package.Class\fP
+.br
+\f2@see\fP\ \f2package\fP
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(c-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 1861 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-58
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+上の表に対する補足事項を次に示します。
+.LP
+.RS 3
+.TP 2
+o
+最初の種類の形式 (パッケージとクラスを省略) の場合、Javadoc ツールは、現在のクラスの階層だけを検索します。つまり、現在のクラスかインタフェース、そのスーパークラスかスーパーインタフェース、または現在のクラスかインタフェースを囲んでいるクラスかインタフェースからメンバーを検索します (このあとの検索手順 1 〜 3)。現在のパッケージのほかの部分や、ほかのパッケージは検索しません (検索手順 4 〜 5)。
+.TP 2
+o
+メソッドまたはコンストラクタを指定するときに括弧を付けずに名前だけ (\f2getValue\fP など) を使用した場合、同じ名前のフィールドが存在しなければ、Javadoc ツールはそのメソッドに対して正しくリンクを作成します。 ただし、括弧と引数を追加するように促す警告メッセージを出力します。このメソッドがオーバーロードされている場合、Javadoc ツールは、検索で最初に見つかったメソッドにリンクします。 結果は前もって特定できません。
+.TP 2
+o
+入れ子にされたクラスは、上記のどの形式の場合も、単に「\f2inner\fP」ではなく、「\f2outer\fP\f2.\fP\f2inner\fP」として指定しなければなりません。
+.TP 2
+o
+すでに述べたとおり、クラスとメンバーを区切るために、ドット (\f2.\fP) ではなくシャープ記号 (\f2#\fP) を使用することに注意してください。このように指定すると、Javadoc ツールは、あいまいさを解決できます。 ドットは、クラス、入れ子にされたクラス、パッケージ、およびサブパッケージを区切るためにも使用されます。ただし、Javadoc ツールでは一般に許容範囲が広く、あいまいさがなければ、ドットでも正しく解析されます。 その場合でも警告は表示されます。
+.RE
+
+.LP
+.LP
+\f3@see の検索順序\fP \- Javadoc ツールは、ソースファイル (.java)、パッケージファイル (package.html または package\-info.java)、または概要ファイル (overview.html) の中に登場する \f2@see\fP タグを処理します。後者の 2 つのファイルでは、完全指定の名前を \f2@see\fP タグに指定しなければなりません。ソースファイルでは、完全指定の名前、または部分指定の名前を指定できます。
+.LP
+.LP
+Javadoc ツールは、\f2.java\fP ファイル内で完全指定でない名前が記述された \f2@see\fP タグを見つけると、Java コンパイラと同じ順序で指定された名前を検索します。 ただし、Javadoc ツールは、特定の名前空間のあいまいさを検出しません。 これは、ソースコードにこれらのエラーが存在していないことを前提としているためです。この検索順序は、Java 言語仕様第 2 版の第 6 章「Names」で正式に定義されています。Javadoc ツールは、関連するクラスとパッケージ、およびインポートされたクラスとパッケージのすべてから名前を検索します。具体的には、次の順序で検索します。
+.LP
+.RS 3
+.TP 3
+1.
+現在のクラスまたはインタフェース
+.TP 3
+2.
+外側を囲んでいるクラスとインタフェース (もっとも近いものから検索)
+.TP 3
+3.
+スーパークラスとスーパーインタフェース (もっとも近いものから検索)
+.TP 3
+4.
+現在のパッケージ
+.TP 3
+5.
+インポートされているパッケージ、クラス、およびインタフェース (import 文の順序に従って検索)
+.RE
+
+.LP
+.LP
+Javadoc ツールは、各クラスについて手順 1 〜 3 を再帰的に適用しながら、一致する名前が見つかるまで検索を続けます。つまり、まず現在のクラスを検索し、次にそのクラスを囲んでいるクラス E を検索し、その次に E のスーパークラスを検索し、さらにその次に E を囲んでいるクラスを検索します。 手順 4 と 5 では、1 つのパッケージ内のクラスまたはインタフェースを検索する順序は決まっていません。 その順序は、個々のコンパイラによって異なります。手順 5 では、Javadoc ツールは、java.lang を検索します。 このパッケージは、すべてのプログラムに自動的にインポートされるからです。
+.LP
+.LP
+Javadoc ツールは、必ずしもサブクラスを検索するとは限りません。 また、javadoc の実行中にほかのパッケージのドキュメントが生成される場合でも、ほかのパッケージを検索しません。たとえば、\f2@see\fP タグが \f2java.awt.event.KeyEvent\fP クラス内にあって、\f2java.awt\fP パッケージにある名前を参照している場合、Javadoc は、そのクラスがインポートしないかぎりそのパッケージを検索しません。
+.LP
+.LP
+\f3名前が表示される方法\fP \- \f2label\fP を省略すると、\f2package.class.member\fP が表示されます。一般に、package.class.member は、現在のクラスおよびパッケージに応じて適切に短縮されます。「短縮される」とは、必要最小限の名前だけが表示されるということです。たとえば、\f2String.toUpperCase()\fP メソッドに、同じクラスのメンバーへの参照とほかのクラスのメンバーへの参照が含まれている場合、クラス名が表示されるのは後者のケースだけです (次の表を参照)。
+.LP
+.LP
+パッケージ名を広域的に削除するには、\-noqualifier を使用します。
+.br
+
+.LP
+.RE
+.RS 3
+.RS 3
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f4String.toUpperCase()\fP\f3 での例\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\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/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2toLowerCase()\fP (クラス名は省略)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP タグが別のクラスのメンバーを参照している
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@see Character#toLowerCase(char)\fP
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 82
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2Character.toLowerCase(char)\fP (パッケージ名は省略し、クラス名を含む)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP タグが別のクラスのメンバーを参照している
+.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/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@see java.io.File#exists()\fP
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 82
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2java.io.File.exists()\fP (パッケージ名とクラス名を含む)
+.br
+.di
+.nr i| \n(dn
+.nr i- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3参照の種類\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(g-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f2@see String#toLowerCase()\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(h-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 82 0
+.nr 38 \w\f3表示される名前\fP
+.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 38 \n(f-
+.if \n(82<\n(38 .nr 82 \n(38
+.nr 38 \n(i-
+.if \n(82<\n(38 .nr 82 \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 TW \n(82
+.if t .if \n(TW>\n(.li .tm Table at line 1959 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3参照の種類\fP\h'|\n(41u'\h'|\n(42u'\f3表示される名前\fP
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.ne \n(c|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.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(31u
+.ne \n(d|u+\n(.Vu
+.ne \n(e|u+\n(.Vu
+.ne \n(f|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.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
+.e+
+.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
+.f+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(g|u+\n(.Vu
+.ne \n(h|u+\n(.Vu
+.ne \n(i|u+\n(.Vu
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.g+
+.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
+.h+
+.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
+.i+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-28
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f3@see の例\fP
+.br
+右側のコメントは、\f2@see\fP タグが別のパッケージ (\f2java.applet.Applet\fP など) のクラス内にある場合に、名前がどのように表示されるかを示しています。
+.LP
+.nf
+\f3
+.fl
+ 関連項目:
.fl
@see java.lang.String // String \fP\f3
.fl
@@ -2266,593 +2850,1381 @@
.fl
@see "The Java Programming Language" // "The Java Programming Language" \fP\f3
.fl
+
+.fl
\fP
.fi
-.I @see
-¤ò¡¢¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤˤ·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¤Ë¤Þ¤Ç³ÈÄ¥¤¹¤ë¤Ë¤Ï¡¢
-.I -link
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
+
.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see
-¤Î
+.LP
+\f2@see\fP を、ドキュメント化の対象にしていないクラスにまで拡張するには、\f2\-link\fP オプションを使用します。
+.LP
+.LP
+詳細については、
.na
-\f2@see ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@see タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@seeを参照してください。
+.LP
.RE
+.LP
+
+.LP
+.RS 3
.TP 3
-.BI @serial " field-description" | include | exclude
-¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£
-.RS
+@serial\ field\-description | include | exclude
+デフォルトの直列化可能フィールドのドキュメンテーションコメントで使用します。
+.RE
+
.LP
-¾Êά²Äǽ¤Ê field-description ¤Ï¡¢
-¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤ò³ÈÄ¥¤·¤Þ¤¹¡£
-¤³¤ÎÀâÌÀ¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤ª¤è¤Ó
-¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ɬÍפʾì¹ç¤Ë¤Ï¡¢Ê£¿ô¤Î¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤ÆÀâÌÀ¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£
+.RS 3
+
.LP
-¥¯¥é¥¹¤òľÎ󲽤·¤¿¤¢¤È¤·¤Ð¤é¤¯¤·¤Æ¤«¤éľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.BR include
-¤È
-.BR exclude
-°ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤Ù¤¤«¡¢
-¤¢¤ë¤¤¤Ï¤³¤ì¤é¤Î°ú¿ô¤ò½ü¤¯¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£
+\f2field\-description\fP (省略可能) では、フィールドの意味を説明し、取り得る値のリストを示す必要があります。必要に応じて、複数の行に渡って説明を記述できます。標準ドックレットは、この情報を、直列化された形式のページに追加します。
.LP
+.LP
+クラスを直列化したあとしばらくしてから直列化可能フィールドをクラスに追加した場合、主説明に、追加したバージョンを識別する文を追加する必要があります。
+.LP
+.LP
+\f2include\fP および \f2exclude\fP 引数は、直列化された形式のページにクラスまたはパッケージを含めるか除外するかを示します。これらの引数には、次のような効果があります。
+.LP
+.RS 3
.TP 2
-\(bu
-.BR Serializable
-¤ò¼ÂÁõ¤¹¤ë public ¥¯¥é¥¹¤Þ¤¿¤Ï protected ¥¯¥é¥¹¤Ï¡¢
-¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê´Þ¤á¤é¤ì¤Þ¤¹¡£
+o
+\f2Serializable\fP を実装している public または protected クラスは、通常はそのページに含められます。 ただし、そのクラスまたはそのクラスが属するパッケージが \f2@serial exclude\fP で指定されていると、そのページから除外されます。
.TP 2
-\(bu
-.BR Serializable
-¤ò¼ÂÁõ¤¹¤ë private ¥¯¥é¥¹¤Þ¤¿¤Ï package\-private ¥¯¥é¥¹¤Ï¡¢
-¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-.BR @serial
-.BR include
-¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê½ü¤«¤ì¤Þ¤¹¡£
+o
+\f2Serializable\fP を実装している private または package private クラスは、通常はそのページから除外されます。 ただし、そのクラスまたはそのクラスが属するパッケージが \f2@serial include\fP で指定されていると、そのページに含められます。
+.RE
+
.LP
-Îã:
-.BR javax.swing
-¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢(package.html ¤Þ¤¿¤Ï \f2package\-info.java\fP Æâ¤Ç)
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£
-public ¥¯¥é¥¹¤Ç¤¢¤ë
-.BR java.sercurity.BasicPermission
-¤Ï¡¢
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£package\-private ¥¯¥é¥¹¤Ç¤¢¤ë
-.BR java.util.PropertyPermissionCollection
-¤Ï¡¢
-.BR @serial
-.BR include
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£
.LP
-¥¯¥é¥¹¥ì¥Ù¥ë¤Î¥¿¥°
-.BR @serial
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Î
-.BR @serial
-¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+例: \f2javax.swing\fP パッケージは、\f2@serial exclude\fP で指定されています (\f2package.html\fP または \f2package\-info.java\fP 内)。public クラス \f2java.security.BasicPermission\fP は、\f2@serial exclude\fP で指定されています。package private クラス \f2java.util.PropertyPermissionCollection\fP は、\f2@serial include\fP で指定されています。
.LP
-¤³¤ì¤é¤Î¥¿¥°¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤È»ÈÍÑÎã¤Ï¡¢¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÎÂè 1.6 Àá¡Ö¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
-.fi
-http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missing
-¤Î
+.LP
+クラスレベルで指定された @serial タグは、パッケージレベルで指定された @serial タグをオーバーライドします。
+.LP
+.LP
+これらのタグの使用法についての詳細と使用例は、「Java オブジェクト直列化仕様」の第 1.6 節
.na
-¡Ö\f2ľÎ󲽤ΠFAQ\fP¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î FAQ ¤Ë¤Ï¡¢¡Ö\-private ¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¤Ç javadoc ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Î¤Ë private ¥Õ¥£¡¼¥ë¥É¤Î @serial ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦ javadoc ¤Î·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë¡×¤Ê¤É¤Î°ìÈÌŪ¤Ê¼ÁÌä¤Ø¤Î²óÅú¤¬µºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä¾Îó²½·Á¼°»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢
+\f2「クラスの直列化可能なフィールドおよびデータの文書化」\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html
-¤Î
+http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.htmlを参照してください。また、
.na
-¡Ö\f2Sun ¤Î»ÅÍÍ\fP¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「直列化の FAQ」\fP @
+.fi
+http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missingも参照してください。 この FAQ には、「\-private スイッチを指定しないで javadoc を実行しているのに private フィールドの @serial タグが見つからないという javadoc の警告が表示される」などの一般的な質問への回答が記載されています。直列化形式仕様にクラスを含める場合には、
+.na
+\f2「Sun の仕様」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.htmlも参照してください。
+.LP
+.LP
+
.LP
.RE
-.TP
-.BI @serialField " field-name field-type field-description"
-Serializable ¥¯¥é¥¹¤Î serialPersistentFields ¥á¥ó¥Ð¤Î ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£³Æ ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÂФ·¤Æ
-.B @serialField
-¥¿¥°¤ò 1 ¤Ä»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI @serialData " data-description"
-.I data-description
-¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤ò
-ÀâÌÀ¤¹¤ë¥Æ¥¥¹¥È¤Ç¤¹¡£ ¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢
-Æäˡ¢writeObject ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê
-¥Ç¡¼¥¿¡¢¤ª¤è¤Ó Externalizable.writeExternal ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ
-½ñ¤¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿ (´ðÄ쥯¥é¥¹¤ò´Þ¤à) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.TP
-.B @serialData
-¥¿¥°¤Ï¡¢writeObject¡¢readObject¡¢writeExternal¡¢¤ª¤è¤Ó readExternal ¤Î³Æ¥á¥½¥Ã¥É¤Î
-doc ¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£
+.RS 3
+.TP 3
+@serialField\ field\-name\ field\-type\ field\-description
+\f2Serializable\fP クラスの \f2serialPersistentFields\fP メンバーの \f2ObjectStreamField\fP コンポーネントをドキュメント化します。各 \f2ObjectStreamField\fP コンポーネントに対して \f2@serialField\fP タグを 1 つ使う必要があります。
+.RE
+
.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@serialData\ data\-description
+\f2data\-description\fP は、直列化された形式でのデータの型と順序を説明するテキストです。このデータには、特に、\f2writeObject\fP メソッドによって書き込まれる省略可能なデータ、および \f2Externalizable.writeExternal\fP メソッドによって書き込まれるすべてのデータ (基底クラスを含む) が含まれます。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f2@serialData\fP タグは、\f2writeObject\fP、\f2readObject\fP、\f2writeExternal\fP、\f2readExternal\fP、\f2writeReplace\fP、および \f2readResolve\fP メソッドのドキュメンテーションコメントで使用できます。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@since\ since\-text
-À¸À®¥É¥¥å¥á¥ó¥È¤Ë¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2since\-text\fP ¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ë¤Ï¡¢ÆÃÊ̤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢\f2since\-text\fP ¤Ë¼¨¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+生成ドキュメントに [導入されたバージョン] 見出しを追加し、指定された \f2since\-text\fP を書き込みます。このテキストには、特別な内部構造はありません。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。このタグは、特定の変更または機能が、\f2since\-text\fP に示されたソフトウェアリリース以降、存在していることを意味します。例を示します。
+.RE
+
+.LP
+.RS 3
+
+.LP
.nf
\f3
.fl
@since 1.5
.fl
+
+.fl
\fP
.fi
-Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¾ì¹ç¡¢¤³¤Î¥¿¥°¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API »ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤½¤ÎÊѹ¹¤äµ¡Ç½¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î @since ¥¿¥°¤ò»ÈÍѤǤ¡¢Ê£¿ô¤Î @author ¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤Î API ¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ¤Þ¤¹¡£
+
+.LP
+.LP
+Java プラットフォームのソースコードの場合、このタグは、Java プラットフォーム API 仕様のバージョンを示します。 その変更や機能がリファレンス実装に追加された時期を示すとは限りません。複数の @since タグを使用でき、複数の @author タグのように扱われます。プログラム要素が複数の API で使用される場合、複数のタグを使用できます。
+.LP
+.LP
+
+.LP
.RE
-.TP
-.BI @throws " class-name description"
-.B @throws
-¥¿¥°¤È
-.B @exception
-¥¿¥°¤ÏƱµÁ¤Ç¤¹¡£À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¡¢
-.I class-name
-¤ª¤è¤Ó
-.I description
-¥Æ¥¥¹¥È¤ò»ý¤Ä [Îã³°] ¾®¸«½Ð¤·¤òÄɲä·¤Þ¤¹¡£
-.I class-name
-¤Ï¡¢³ºÅö¤¹¤ë¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ
-¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢doc ¥³¥á¥ó¥È¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¤ß͸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´
-½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£
-Ʊ¤¸¤Þ¤¿¤Ï°Û¤Ê¤ëÎã³°¤Î doc ¥³¥á¥ó¥È¤Ç¡¢
-Ê£¿ô¤Î @throws ¥¿¥°¤ò»ÈÍѤǤ¤Þ¤¹¡£
+.RS 3
+.TP 3
+@throws\ class\-name\ description\
+\f2@throws\fP タグと \f2@exception\fP タグは同義です。生成ドキュメントに [例外] 小見出しを追加して、\f2class\-name\fP と \f2description\fP テキストを書き込みます。\f2class\-name\fP は、そのメソッドからスローされる可能性のある例外の名前です。このタグは、メソッド、コンストラクタの doc コメント内でのみ有効です。このクラスが完全指定の名前で記述されていない場合、Javadoc ツールは、検索順序に従ってクラスを探します。同じまたは異なる例外の doc コメントで、複数の \f2@throws\fP タグを使用できます。
+.RE
+
.LP
-¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑ¤ßÎã³°¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
-@throws ¥¿¥°¤¬ throws ÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢
-@throws ¥¿¥°¤Î¤¢¤ë¥É¥¥å¥á¥ó¥È¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÎã³°¤¬ HTML ½ÐÎϤËÀâÌÀ¤Ê¤·¤Ç
-¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£
+.RS 3
+
.LP
-¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥á¥½¥Ã¥É¤ÇÌÀ¼¨Åª¤ËÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤Ã¤Æ¡¢
-¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ø
-@throws ¥É¥¥å¥á¥ó¥È¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤â
-ƱÍͤǤ¹¡£{@inheritDoc} ¤ò»ÈÍѤ·¤Æ¡¢·Ñ¾µ¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ
-¶¯À©Åª¤Ë @throws ¤òŬÍѤ¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
.LP
-¾ÜºÙ¤Ï
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exception
-¤Î
+すべてのチェック済み例外がドキュメント化されるようにするために、\f2@throws\fP タグが throws 節内の例外用に存在しない場合は、@throws タグのあるドキュメントであるかのように、Javadoc ツールによって例外が HTML 出力に説明なしで自動的に追加されます。
+.LP
+.LP
+オーバーライドされるメソッド内で例外が明示的に宣言されている場合のみ、\f2@throws\fP ドキュメンテーションをそのメソッドからサブクラスにコピーされます。インタフェースメソッドから実装メソッドにコピーされる場合も同様です。@throws にドキュメンテーションを継承させるには、{@inheritDoc} を使用できます。
+.LP
+.LP
+詳細については、
.na
-\f2@throws ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B {@value package.class#field}
-{@value} ¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç
-°ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-/**
-* The value of this constant is {@value}.
-*/
-public static final String SCRIPT_START = "<script>"
+\f2@throws タグのドキュメント\fP @
.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exceptionを参照してください。
+.LP
+.LP
+
+.LP
.RE
-.LP
-Ǥ°Õ¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô
-.B package.class#field
- ¤¢¤ê¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿Äê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-/**
-* Evaluates the script starting with {@value #SCRIPT_START}.
-*/
-public String evalScript(String script) {
-}
-.fi
+.RS 3
+.TP 3
+{@value\ package.class#field}
+\f2{@value}\fP が静的フィールドの doc コメントで 引数なしで使用されている場合、その定数の値が表示されます。
.RE
+
.LP
-°ú¿ô package.class#field ¤Ï¡¢@see °ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥á¥ó¥Ð¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
+.RS 3
+
.LP
-¤³¤ì¤é¤ÎÄê¿ô¤Ç¤ÎÃͤϡ¢¡ÖÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃ͡ץڡ¼¥¸¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI @version " version-text"
-\-version ¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¡¢À¸À®¥É¥¥å¥á¥ó¥È¤Ë¡Ö¥Ð¡¼¥¸¥ç¥ó¡×¾®¸«½Ð¤·¤òÄɲ䷤ơ¢»ØÄꤵ¤ì¤¿ \f2version\-text\fP ¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤è¤¦¤Ë°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ËÂФ·¡¢@since ¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£\f2version\-text\fP ¤Ë¤Ï¡¢ÆÃÊ̤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@version\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢\f2@version\fP ¥¿¥°¤´¤È¤Ë 1 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢¥¿¥°¤´¤È¤ËÊ£¿ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢Ì¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¥¹¥Ú¡¼¥¹¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.nf
+\f3
+.fl
+ /**
+.fl
+ * The value of this constant is {@value}.
+.fl
+ */
+.fl
+ public static final String SCRIPT_START = "<script>"
+.fl
+
+.fl
+\fP
.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version
-¤Î
+
+.LP
+.LP
+任意の doc コメント内で引数 \f2package.class#field\fP ありで使用されている場合は、指定した定数の値が表示されます。
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * Evaluates the script starting with {@value #SCRIPT_START}.
+.fl
+ */
+.fl
+ public String evalScript(String script) {
+.fl
+ }
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+引数 \f2package.class#field\fP は、@see 引数と同一の形式になります。ただし、メンバーが静的フィールドになければならない点が異なります。
+.LP
+.LP
+これらの定数での値は、
.na
-\f2@version ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS "¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê"
-°Ê²¼¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£@see¡¢@since¡¢@deprecated¡¢{@link}¡¢{@linkplain} ¤ª¤è¤Ó {@docroot} ¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î doc ¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£
-.SS "³µÍץɥ¥å¥á¥ó¥È¥¿¥°"
-³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È (Ä̾ï¤Ï \f3overview.html\f1
-¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë) ¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤Û¤«¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢ÀâÌÀ¤Î¤¢¤È¤Ç»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-Ãí:¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢³µÍץɥ¥å¥á¥ó¥ÈÆâ¤Î {\f3@link\f1} ¥¿¥°¤Ë
-¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥¥¹¥È¤ÏŬÀÚ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¤¬¡¢
-¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£
-¸½ºß¤Î¤È¤³¤í¡¢{\f2@docRoot\f1} ¥¿¥°¤Ï¡¢
-³µÍץɥ¥å¥á¥ó¥ÈÆâ¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-³µÍ×¥¿¥°
-@see
-@since
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-20
-
-.LP
-.SS "¥Ñ¥Ã¥±¡¼¥¸¥É¥¥å¥á¥ó¥È¥¿¥°"
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È (\f3package.html\f1 ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦
-̾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¸ºß) ¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤³¤³¤Ç»ÈÍѤǤ¤ë @serial ¥¿¥°¤Ï¡¢include ¤Þ¤¿¤Ï
-exclude °ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤À¤±¤Ç¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°
-@see
-@since
-@serial
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-22
-
-.LP
-.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤³¤³¤Ç»ÈÍѤǤ¤ë @serial ¥¿¥°¤Ï¡¢
-include ¤Þ¤¿¤Ï exclude °ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤À¤±¤Ç¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¿¥°
-@see
-@since
-@deprecated
-@serial
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-
-.LP
-¼¡¤Ï¡¢¥¯¥é¥¹¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* A class representing a window on the screen.
-* For example:
-* <pre>
-* Window win = new Window(parent);
-* win.show();
-* </pre>
-*
-* @author Sami Shaio
-* @version 1.13, 06/08/06
-* @see java.awt.BaseWindow
-* @see java.awt.Button
-*/
-class Window extends BaseWindow {
-...
-}
+\f2定数フィールド値\fP @
.fi
-.ft 1
-.RE
-.SS "¥Õ¥£¡¼¥ë¥É¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç
-»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
+http://java.sun.com/javase/6/docs/api/constant\-values.htmlページにも表示されます。
.LP
.LP
-.TS
-;
-cbp-1
-l .
-¥Õ¥£¡¼¥ë¥É¥¿¥°
-@see
-@since
-@deprecated
-@serial
-@serialField
-{@link}
-{@linkplain}
-{@docRoot}
-{@value}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-24
.LP
-¼¡¤Ï¡¢¥Õ¥£¡¼¥ë¥É¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* The X-coordinate of the component.
-*
-* @see #getLocation()
-*/
-int x = 1263732;
-.fi
-.ft 1
.RE
-.SS "¥³¥ó¥¹¥È¥é¥¯¥¿¤ª¤è¤Ó¥á¥½¥Ã¥É¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Çɽ¼¨¤Ç¤¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢@return ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ïɽ¼¨¤Ç¤¤º¡¢{@inheritDoc} ¤Ï
-ɽ¼¨¤ËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£@serialData ¥¿¥°¤ÏÆÃÄê¤ÎľÎ󲽥᥽¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¥¿¥°
-@see
-@since
-@deprecated
-@param
-@return
-@throws and @exception
-@serialData
-{@link}
-{@linkplain}
-{@inheritDoc}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-28
+.RS 3
+.TP 3
+@version\ version\-text
+\-version オプションが使われている場合、生成ドキュメントに [バージョン] 小見出しを追加して、指定された \f2version\-text\fP を書き込みます。このタグは、このコードが含まれるソフトウェアの現在のバージョン番号を保持するように意図されています。 これに対し、@since は、このコードが導入されたバージョン番号を保持します。\f2version\-text\fP には、特別な内部構造はありません。バージョンタグを使用できる場所を調べるには、「タグを使用できる場所」を参照してください。
+.RE
.LP
-¼¡¤Ï¥á¥½¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
+.RS 3
+
.LP
-.RS
-.ft 3
-.nf
-/**
-* Returns the character at the specified index. An index
-* ranges from <code>0</code> to <code>length() - 1</code>.
-*
-* @param index the index of the desired character.
-* @return the desired character.
-* @exception StringIndexOutOfRangeException
-* if the index is not in the range <code>0</code>
-* to <code>length()-1</code>.
-* @see java.lang.Character#charValue()
-*/
-public char charAt(int index) {
-...
-}
+.LP
+1 つのドキュメンテーションコメントに複数の \f2@version\fP タグを含めることができます。必要に応じて、\f2@version\fP タグごとに 1 つのバージョン番号を指定することも、タグごとに複数のバージョン番号を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要があるときは、1 つのタグに複数の名前を指定してください。
+.LP
+.LP
+詳細については、
+.na
+\f2@version タグのドキュメント\fP @
.fi
-.ft 1
-.RE
-.SH "¥ª¥×¥·¥ç¥ó"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢
-¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯
-¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ¤ë¥³¥Þ¥ó¥É¹Ô
-¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×
-¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Öjavadoc ¤Î¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³
-¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë
-¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó¡×¤Ç
-ÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó
-̾¤âÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï
-Âçʸ»ú¤È¾®Ê¸»ú¤¬¶è
-Ê̤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@versionを参照してください。
.LP
-¥ª¥×¥·¥ç¥ó¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
+.RE
+.LP
+.SS
+タグを使用できる場所
+.LP
+ここでは、タグを使用できる場所について説明します。\f2@see\fP、\f2@since\fP、\f2@deprecated\fP、\f2{@link}\fP、\f2{@linkplain}\fP および \f2{@docroot}\fP のタグは、すべての doc コメントで使用できます。
+.RS 3
+
+.LP
+.SS
+概要のドキュメンテーションタグ
+.LP
+.LP
+概要タグは、概要ページのドキュメンテーションコメントで使用できるタグです。 このドキュメンテーションコメントは、通常 \f2overview.html\fP という名前ソースファイル内にあります。ほかのドキュメンテーションコメントの場合と同様に、これらのタグは、主説明のあとで使う必要があります。
+.LP
+.LP
+\f3注\fP \- バージョン 1.2 では、概要ドキュメント内の \f2{@link}\fP タグにバグがあります。テキストは正しく表示されますが、リンクが設定されません。現在のところ、\f2{@docRoot}\fP タグは、概要ドキュメント内では動作しません。
.LP
.RS 3
.LP
.LP
.TS
-center;
-li l li
-l li li
-li l li
-l li li
-li l l
-l l li
-li l li
-l l l
-l li l
-l l li
-li l l
-li l l
-l l l
-li l l
-li l l
-l l li
-li l l
-l l l
-l l l
-l li l
-l li l.
--1.1 -header -private
--author -help -protected
--bootclasspath -helpfile -public
--bottom -J -quiet
--breakiterator -keywords -serialwarn
--charset -link -source
--classpath -linkoffline -sourcepath
--d -linksource -splitindex
--docencoding -locale -stylesheetfile
--docfilessubdirs -nocomment -subpackages
--doclet -nodeprecated -tag
--docletpath -nodeprecatedlist -taglet
--doctitle -nohelp -tagletpath
--encoding -noindex -title
--exclude -nonavbar -use
--excludedocfilessubdir -noqualifier -verbose
--extdirs -nosince -version
--footer -notimestamp -windowtitle
--group -notree
- -overview
- -package
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3概要タグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2280 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3概要タグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-20
+
+.LP
+.RE
+.SS
+パッケージドキュメンテーションタグ
+.LP
+.LP
+パッケージタグは、パッケージのドキュメンテーションコメントで使用できるタグです。 このドキュメンテーションコメントは、\f2package.html\fP または \f2package\-info.java\fP という名前のソースファイル内にあります。ここで使用できる \f2@serial\fP タグは、\f2include\fP または \f2exclude\fP 引数を指定したものだけです。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@serial\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3パッケージタグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2316 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3パッケージタグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-22
+
+.LP
+.RE
+.SS
+クラスおよびインタフェースドキュメンテーションタグ
+.LP
+.LP
+次に、クラスまたはインタフェースのドキュメンテーションコメントで使用できるタグを示します。ここで使用できる \f2@serial\fP タグは、\f2include\fP または \f2exclude\fP 引数を指定したものだけです。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3クラスおよびインタフェースタグ\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@serial\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2356 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-26
+
+.LP
+.RE
+\f3次にクラスコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+/**
+.fl
+ * A class representing a window on the screen.
+.fl
+ * For example:
+.fl
+ * <pre>
+.fl
+ * Window win = new Window(parent);
+.fl
+ * win.show();
+.fl
+ * </pre>
+.fl
+ *
+.fl
+ * @author Sami Shaio
+.fl
+ * @version 1.13, 06/08/06
+.fl
+ * @see java.awt.BaseWindow
+.fl
+ * @see java.awt.Button
+.fl
+ */
+.fl
+class Window extends BaseWindow {
+.fl
+ ...
+.fl
+}
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.SS
+フィールドドキュメンテーションタグ
+.LP
+.LP
+次に、フィールドのドキュメンテーションコメントで使用できるタグを示します。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@serial\fP
+.br
+\f2@serialField\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+\f2{@value}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3フィールドタグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2437 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3フィールドタグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-24
+
+.LP
+.RE
+\f3次にフィールドコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * The X\-coordinate of the component.
+.fl
+ *
+.fl
+ * @see #getLocation()
+.fl
+ */
+.fl
+ int x = 1263732;
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.SS
+コンストラクタおよびメソッドドキュメンテーションタグ
+.LP
+.LP
+次に、コンストラクタまたはメソッドのドキュメンテーションコメント内で表示できるタグを示します。 ただし、\f2@return\fP はコンストラクタでは表示できず、\f2{@inheritDoc}\fP は表示に制限があります。\f2@serialData\fP タグは特定の直列化メソッドの doc コメントでのみ使用できます。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3メソッドおよびコンストラクタタグ\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@param\fP
+.br
+\f2@return\fP
+.br
+\f2@throws\fP と \f2@exception\fP
+.br
+\f2@serialData\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@inheritDoc}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2504 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-30
+
+.LP
+.RE
+\f3次にメソッドのドキュメンテーションコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * Returns the character at the specified index. An index
+.fl
+ * ranges from <code>0</code> to <code>length() \- 1</code>.
+.fl
+ *
+.fl
+ * @param index the index of the desired character.
+.fl
+ * @return the desired character.
+.fl
+ * @exception StringIndexOutOfRangeException
+.fl
+ * if the index is not in the range <code>0</code>
+.fl
+ * to <code>length()\-1</code>.
+.fl
+ * @see java.lang.Character#charValue()
+.fl
+ */
+.fl
+ public char charAt(int index) {
+.fl
+ ...
+.fl
+ }
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.SH "オプション"
+.LP
+.LP
+javadoc ツールは、ドックレットを使って出力を決定します。Javadoc ツールは、\-doclet オプションでカスタムドックレットが指定されている場合以外は、デフォルトの標準ドックレットを使います。Javadoc ツールには、任意のドックレットとともに使用できるコマンド行オプションがあります。 これらのオプションについては、このあとの「Javadoc オプション」で説明します。標準ドックレットでは、このほかに、いくつかの追加のコマンド行オプションが提供されます。 これらのオプションについては、そのあとの「標準ドックレットが提供するオプション」で説明します。どのオプション名も、大文字と小文字が区別されません。 ただし、オプションの引数では、大文字と小文字が区別されます。
+.LP
+.LP
+オプションを次に示します。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\-\f21.1\fP
+.br
+\-author
+.br
+\-\f2bootclasspath\fP
+.br
+\-bottom
+.br
+\-\f2breakiterator\fP
+.br
+\-charset
+.br
+\-\f2classpath\fP
+.br
+\-d
+.br
+\-docencoding
+.br
+\-docfilessubdirs
+.br
+\-\f2doclet\fP
+.br
+\-\f2docletpath\fP
+.br
+\-doctitle
+.br
+\-\f2encoding\fP
+.br
+\-\f2exclude\fP
+.br
+\-excludedocfilessubdir
+.br
+\-\f2extdirs\fP
+.br
+\-footer
+.br
+\-group
+.br
+.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/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\-header
+.br
+\-\f2help\fP
+.br
+\-helpfile
+.br
+\-\f2J\fP
+.br
+\-keywords
+.br
+\-link
+.br
+\-linkoffline
+.br
+\-linksource
+.br
+\-\f2locale\fP
+.br
+\-nocomment
+.br
+\-nodeprecated
+.br
+\-nodeprecatedlist
+.br
+\-nohelp
+.br
+\-noindex
+.br
+\-nonavbar
+.br
+\-noqualifier
+.br
+\-nosince
+.br
+\-notimestamp
+.br
+\-notree
+.br
+\-\f2overview\fP
+.br
+\-\f2package\fP
+.br
+.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/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\-\f2private\fP
+.br
+\-\f2protected\fP
+.br
+\-\f2public\fP
+.br
+\-\f2quiet\fP
+.br
+\-serialwarn
+.br
+\-\f2source\fP
+.br
+\-\f2sourcepath\fP
+.br
+\-splitindex
+.br
+\-stylesheetfile
+.br
+\-\f2subpackages\fP
+.br
+\-tag
+.br
+\-taglet
+.br
+\-tagletpath
+.br
+\-title
+.br
+\-use
+.br
+\-\f2verbose\fP
+.br
+\-version
+.br
+\-windowtitle
+.br
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.81
+.rm 81
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 82 0
+.82
+.rm 82
+.nr 38 \n(c-
+.if \n(82<\n(38 .nr 82 \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 TW \n(82
+.if t .if \n(TW>\n(.li .tm Table at line 2681 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
+.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)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-123
.LP
.RE
.LP
-\f2²¼ÀþÉÕ¤\fP¤Ç¼¨¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc ¤Î´ðËÜ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¼«ÂΤϡ¢²¼ÀþÉÕ¤¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Þ¤¹¡£
+\f2イタリック\fPで示されたオプションは、Javadoc の基本オプションであり、Javadoc ツールのフロントエンドによって提供され、すべてのドックレットで使用できます。標準ドックレット自体は、イタリックでないオプションを提供します。
.LP
-.SS "Javadoc ¤Î¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-overview " path/filename"
-.B javadoc
-¤ËÂФ·¤Æ¡¢
-.I path/filename
-¤Ç»ØÄꤵ¤ì¤¿¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é
-³µÍץɥ¥å¥á¥ó¥ÈÍѤΥƥ¥¹¥È
-¤ò¼èÆÀ¤·¡¢³µÍ×¥Ú¡¼¥¸ (\f3overview-summary.html\f1) ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤ò
-»Ø¼¨¤·¤Þ¤¹¡£
-.I path/filename
-¤Ï¡¢
-.BR \-sourcepath
-¤Ø¤ÎÁêÂХѥ¹¤Ç¤¹¡£
+.SS
+Javadoc オプション
.LP
-.RS
-.I filename
-¤È
-.IR path
-¤Ë¤Ï¡¢¤½¤ì¤¾¤ìǤ°Õ¤Î̾Á°¤È¾ì½ê¤ò»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢Ä̾ï¤Ï¡¢
-.B overview.html
-¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¤Î
-¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê
-¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤Ç¤Ï¡¢
-.B \-sourcepath
-¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤ò»Ø¤¹¤Î¤Ç¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò
-¥É¥¥å¥á¥ó¥È²½¤¹¤ëºÝ¤Ë path ¤¬É¬Íפ¢¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢java.lang ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤¬
-.BR /src/classes/java/lang/
-¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò
-.BR /src/classes/overview.html
-¤ËÇÛÃ֤Ǥ¤Þ¤¹¡£¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.RS 3
+.TP 3
+\-overview \ path/filename
+Javadoc に対して、\f2path/filename\fP で指定された「ソース」ファイルから概要ドキュメント用のテキストを取得し、そのテキストを概要ページ (\f2overview\-summary.html\fP) に配置するように指定します。\f2path/filename\fP は、\f2\-sourcepath\fP への相対パスです。
.LP
-.IR path/filename
-¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¡Ö³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2filename\fP と \f2path\fP には、それぞれ任意の名前と場所を指定できますが、通常は、\f2overview.html\fP という名前を付けて、ソースツリー内の最上位のパッケージディレクトリがあるディレクトリに配置します。この場所に配置すると、\f2\-sourcepath\fP によってこのファイルが指し示されるので、パッケージをドキュメント化する際に \f2path\fP が不要になります。たとえば、\f2java.lang\fP パッケージのソースツリーが \f2/src/classes/java/lang/\fP の場合、概要ファイルを \f2/src/classes/overview.html\fP に配置できます。「使用例」を参照してください。
.LP
-³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢
-.B javadoc
-¤Ë 2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£
-¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×
-Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2path/filename\fP で指定するファイルについては、「概要コメントファイル」を参照してください。
.LP
-³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢
-.B \-doctitle
-¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B \-public
-public ¤Ê¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-protected
-protected ¤ª¤è¤Ó public ¤Ê¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤¹¡£
-.TP
-.B \-package
-¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó protected ¤È public ¤Ê
-¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-private
-¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-help
-¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£
-.B javadoc
-¤È¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-doclet " class"
-¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦
-¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-´°Á´»ØÄê¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢½ÐÎϤÎÆâÍƤȷÁ¼°¤òÄêµÁ¤·¤Þ¤¹¡£
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥Ç¥Õ¥©¥ë¥È¤Î HTML ·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¹¤Ë¤Ï¡¢
-start(Root) ¥á¥½¥Ã¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï¡¢
-.B \-docletpath
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£
+概要ページが作成されるのは、Javadoc に複数のパッケージ名を渡した場合だけです。詳細は、「HTML フレーム」を参照してください。
.LP
-¤¿¤È¤¨¤Ð¡¢MIF ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+概要ページのタイトルは、\f2\-doctitle\fP によって設定されます。
.LP
-.RS
-.ft 3
+.TP 3
+\-public
+public クラスおよびメンバーだけを表示します。
+.LP
+.TP 3
+\-protected
+protected および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。
+.LP
+.TP 3
+\-package
+package、protected、および public のクラスとメンバーだけを表示します。
+.LP
+.TP 3
+\-private
+すべてのクラスとメンバーを表示します。
+.LP
+.TP 3
+\-help
+オンラインヘルプを表示します。 Javadoc とドックレットのコマンド行オプションが一覧表示されます。
+.LP
+.TP 3
+\-doclet\ class
+ドキュメントの生成に使うドックレットを起動するためのクラスファイルを指定します。完全指定の名前を指定してください。このドックレットにより、出力の内容と形式が定義されます。\f4\-doclet\fP オプションが使われていない場合、Javadoc は、標準ドックレットを使ってデフォルトの HTML 形式を生成します。このクラスには、\f2start(Root)\fP メソッドが含まれていなければなりません。この起動クラスへのパスは、\f2\-docletpath\fP オプションによって定義されます。
+.LP
+たとえば、MIF ドックレットを呼び出すには、次のように指定します。
.nf
- -doclet com.sun.tools.doclets.mif.MIFDoclet
+\f3
+.fl
+ \-doclet com.sun.tools.doclets.mif.MIFDoclet
+.fl
+\fP
.fi
-.ft 1
.LP
-ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
-¤Î
+特定のドックレットを実行した完全な例については、
.na
-¡Ö\f2Running the MIF Doclet\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.BI \-docletpath " classpathlist"
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢
-¤ª¤è¤Ó¤½¤ì¤Ë°Í¸¤¹¤ë jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-µ¯Æ°¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ jar ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢
-Îã¤Ë½¾¤Ã¤Æ¡¢¤½¤Î jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-ÀäÂХѥ¹¡¢¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.IR classpathlist
-¤Ë¤Ï¡¢Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë
-¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢³Æ¥Ñ¥¹¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë¤ò Solaris ¤Ç¤Ï¥³¥í¥ó (\f3:\f1)¤Ç¡¢Windows ¤Ç¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Î³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
.LP
-¼¡¤ÎÎã¤Î jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Î
-³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-jar ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-docletpath\ classpathlist
+\f2\-doclet\fP オプションで指定されているドックレット開始クラスファイル、およびそれが依存するすべての jar ファイルへのパスを指定します。開始クラスファイルが jar ファイル内にある場合、以下の例のように jar ファイルのパスが指定されます。絶対パスまたは現在のディレクトリからの相対パスを指定できます。\f2classpathlist\fP には、複数のパスまたは JAR ファイルを含めることができます。 その場合、各パスまたは JAR ファイルを、Solaris の場合にはコロン (:)、Windows の場合にはセミコロン (;) で区切ります。目的のドックレット開始クラスがすでに検索パス内にある場合は、このオプションは不要です。
+.LP
+jar ファイルへのパスの例には、ドックレット開始クラスファイルが含まれています。jar ファイル名が含まれている点に注目してください。
.nf
\f3
.fl
@@ -2860,8 +4232,7 @@
.fl
\fP
.fi
-¼¡¤Ï¥É¥Ã¥¯¥ì¥Ã¥È¤Î³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ÎÎã¤Ç¤¹¡£
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ドックレット開始クラスファイルのパスの例。クラスファイル名が省略されている点に注目してください。
.nf
\f3
.fl
@@ -2869,516 +4240,438 @@
.fl
\fP
.fi
-ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
-¤Î
+特定のドックレットを実行した完全な例については、
.na
-¡Ö\f2Running the MIF Doclet\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
.LP
-.TP
-.B \-1.1
-¤³¤Îµ¡Ç½¤Ï¡¢javadoc 1.4 ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ÂåÂؤε¡Ç½¤Ï
-¸ºß¤·¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢javadoc 1.1 ¤ÇÀ¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤Î³°´Ñ¤Èµ¡Ç½ (¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡¢Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥¯¥é¥¹¤ò
-´Þ¤à) ¤òÈ÷¤¨¤¿¥É¥¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¢¤ì¤Ð¡¢Âå¤ï
-¤ê¤Ë javadoc 1.2 ¤Þ¤¿¤Ï 1.3 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-1.1
+\f2この機能は、Javadoc 1.4 では削除されました。代替機能はありません。このオプションは、Javadoc 1.1 によって生成されるのと同じ外見と機能を持つドキュメントを作成するためのものでした。 入れ子のクラスはサポートされていません。このオプションが必要な場合は、Javadoc 1.2 または 1.3 を使用してください。\fP
+.LP
.TP 3
\-source release
-¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤¤Þ¤¹¡£
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
.LP
.TS
-;
-l l.
-1.5 T{
-Javadoc ¤Ï¡¢JDK 1.5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Îµ¡Ç½¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£-source ¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ 1.5 ¤ÎÆ°ºî¤ò¤·¤Þ¤¹¡£
-T}
-1.4 T{
-Javadoc ¤Ï¡¢JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
-T}
-1.3 T{
-Javadoc ¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Îµ¡Ç½¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.5 で導入された総称および他の言語機能を含んだコードを受け付けます。\f3\-source\fP フラグを指定しないと、コンパイラはデフォルトとして 1.5 の動作をします。
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 31 0
+.nr 32 0
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.5\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.4\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.3\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.80
+.rm 80
+.nr 60 \n(31
+.nr 38 \n(60+\n(32
+.if \n(38>\n(80 .nr 80 \n(38
+.if \n(38<\n(80 .nr 60 +(\n(80-\n(38)/2
+.nr 81 0
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \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 60 +\n(40
+.nr 41 \n(80+(3*\n(38)
+.nr 81 +\n(41
+.nr TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 2791 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.5\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.4\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.3\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-14
.LP
-javac ¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¤Ë»ÈÍѤ·¤¿ÃͤËÂбþ¤¹¤ë \f2release\fP ¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£
+javac でコードをコンパイルするときに使用した値に対応する \f2release\fP の値を使用します。
.LP
-.TP
-.BI \-sourcepath " sourcepathlist"
-.B javadoc
-¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï \-subpackages
-¤òÅϤ¹ºÝ¤Ë¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.java) ¸¡º÷ÍѤΥѥ¹¤ò»ØÄꤷ¤Þ¤¹¡£
-.BI sourcepathlist
-¤Ë¤Ï¡¢¥³¥í¥ó (\f3:\f1)
-¤Ç¶èÀڤä¿Ê£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤À¤±¤Ç¤Ê¤¯¡¢
-¤½¤ì¼«ÂΤϥɥ¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢¥É¥¥å¥á¥ó¥È²½
-¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò¤â¤Ä
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤¤Þ¤¹¡£
+.TP 3
+\-sourcepath\ sourcepathlist
+\f2javadoc\fP コマンドにパッケージ名または \f2\-subpackages\fP を渡すときに、ソースファイル (\f2.java\fP) を検索するためのパスを指定します。\f2sourcepathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパス以下のすべてのサブディレクトリを検索します。このオプションを使って、ドキュメント化されるソースファイルの位置だけでなく、それ自体はドキュメント化されないがドキュメント化されるソースファイルから継承されたコメントを持つソースファイルの位置も確認できます。
.LP
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.B javadoc
-¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤹ¤ë¤È¤¤Ë¤À¤±»ÈÍѤǤ¡¢
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë
-.B .java
-¥Õ¥¡¥¤¥ë¤Ï¸¡º÷¤Ç¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.B .java
-¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢
-¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤¹¤ë¤«¡¢
-³Æ¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë¤½¤Î¥Ñ¥¹¤òÉÕ¤±¤Þ¤¹ (¡Ö1 ¤Ä°Ê¾å
-¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½¡×¤ò»²¾È)¡£
-.B \-sourcepath
-¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-.B javadoc
-¤Ï¥¯¥é¥¹¥Ñ¥¹¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹ (
-.B \-classpath
-¤ò»²¾È)¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢
-.B \-sourcepath
-¤Î¥Ç¥Õ¥©¥ë¥È¤Ï
-.B \-classpath
-¤ÎÃͤǤ¹¡£
-.B -classpath
-¤ò¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò
-.BR javadoc
-¤ËÅϤ·¤¿¾ì¹ç¡¢
-.BR javadoc
-¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (¤ª¤è¤Ó¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê) ¤ò
-¸¡º÷¤·¤Þ¤¹¡£
+\f2\-sourcepath\fP オプションは、javadoc コマンドにパッケージ名を渡すときにだけ使用できます。 \f2javadoc\fP コマンドに渡される \f2.java\fP ファイルは、このパスからは検索されません。\f2.java\fP ファイルを検索するには、そのファイルのあるディレクトリに cd によって移動するか、または各ファイルの先頭にパスを含めます (「1 つ以上のクラスのドキュメント化」を参照)。\f2\-sourcepath\fP が省略された場合、Javadoc は、クラスパスを使ってソースファイルを検索します (\-classpath を参照)。したがって、デフォルトの \-sourcepath は、クラスパスの値です。\-classpath も省略してパッケージ名を Javadoc に渡すと、Javadoc は現在のディレクトリおよびそのサブディレクトリからソースファイルを検索します。
.LP
-.RS
-.I sourcepathlist
-¤Ç¤Ï¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î
-¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò
-ÀßÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¼¡¤Î
-¾ì½ê¤Ë¤¢¤ë
-.B com.mypackage
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤È¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+\f2sourcepathlist\fP には、ドキュメント化するパッケージ名のソースツリーのルートディレクトリを設定します。たとえば、\f2com.mypackage\fP というパッケージをドキュメント化する場合に、そのソースファイルが次の場所にあるとします。
.nf
-/home/user/src/com/mypackage/*.java
+\f3
+.fl
+ /home/user/src/com/mypackage/*.java
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥½¡¼¥¹¥Ñ¥¹¤ò
-.BR /home/user/src
-¡¢¤Ä¤Þ¤ê
-.BR com.mypackage
-¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ØÄꤷ¡¢¤½¤ì¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾
-.BR com.mypackage
-¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+この場合、次のようにして \f2sourcepath\fP を \f2/home/user/src\fP、つまり \f2com/mypackage\fP を含むディレクトリに指定し、それからパッケージ名 \f2com.mypackage\fP を指定します。
.nf
-% javadoc \-sourcepath /home/user/src/ com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-¤³¤ì¤Ï¡¢¥½¡¼¥¹¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤ò¤Ä¤Ê¤²¤Æ¡¢
-¥É¥Ã¥È¤ò¥¹¥é¥Ã¥·¥å (/) ¤ËÊѤ¨¤ë¤È¡¢°Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹
-¤Ë¤Ê¤ë¤³¤È¤ËÃíÌܤ¹¤ë¤È³Ð¤¨¤ä¤¹¤¤¤Ç¤·¤ç¤¦¡£
+この方法は、ソースパスの値とパッケージ名を連結して、ドットを (円記号) 「\\」に変えると、パッケージのフルパス (C:\\user\\src\\com\\mypackage) になることを理解すると簡単です。\f2/home/user/src/com/mypackage\fP.
.LP
-.RS
-.ft 3
-.BR /home/user/src/com/mypackage
-.RE
-.LP
-2 ¤Ä¤Î¥½¡¼¥¹¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+2 つのソースパスを設定するには、次のようにします。
.nf
-% javadoc \-sourcepath /home/user/src/:/home/user2/src com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-.RE
-.TP
-.BI \-classpath " classpathlist"
-.B javadoc
-¤¬»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Î¸¡º÷¤ò¹Ô¤¦¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-»²¾È¤µ¤ì¤ë¥¯¥é¥¹ (\f3.class\f1) ¤È¤Ï¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ
-»²¾È¤µ¤ì¤ëǤ°Õ¤Î¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç
-¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-.I classpathlist
-¤Ë¤Ï¡¢¥Ñ¥¹´Ö¤ò¥³¥í¥ó (\f3:\f1) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò
-´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î
-¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£
-.IR classpathlist
-¤Î»ØÄê
-¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
-.RS
-.B \-sourcepath
-¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë (²¼°Ì¸ß´¹ÍÑ) ¤È¤È¤â¤Ë¡¢
-.B \-classpath
-¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢
-°Û¤Ê¤ë¥Ñ¥¹Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì¹ç¤Ï¡¢
-.B \-sourcepath
-¤È
-.BR \-classpath
-¤ÎξÊý¤ò»È¤¤¤Þ¤¹¡£
+.TP 3
+\-classpath\ classpathlist
+Javadoc が参照クラス (\f2.class\fP ファイル) を検索するパスを指定します。 参照クラスとは、ドキュメント化されるクラスとそれらのクラスによって参照されるすべてのクラスのことです。\f2classpathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパスの以下すべてのサブディレクトリを検索します。\f2classpathlist\fP を指定するときは、
+.na
+\f2クラスパス\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#generalのドキュメントにある指示に従ってください。
.LP
-¤¿¤È¤¨¤Ð¡¢
-.BR com.mypackage
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤¿¤¤¾ì¹ç¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤¬¥Ç¥£¥ì¥¯¥È¥ê
-.BR /home/user/src/com/mypackage
-¤Ë¤¢¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬
-.BR /home/user/lib
-Æâ¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤¦¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+\f2\-sourcepath\fP が省略されている場合、Javadoc ツールは、\f2\-classpath\fP を使って、クラスファイルだけでなくソースファイルも検索します (下位互換性のため)。したがって、ソースファイルとクラスファイルを別々のパスから検索する必要がある場合は、\f2\-sourcepath\fP と \f2\-classpath\fP の両方を使います。
.LP
-.RS
-.ft 3
+たとえば、\f2com.mypackage\fP をドキュメント化する場合に、ソースファイルがディレクトリ \f2/home/user/src/com/mypackage\fP にあり、このパッケージが \f2/home/user/lib\fP 内のライブラリを使うのであれば、次のように指定します。
.nf
-% javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
+ほかのツールと同様に、\f2\-classpath\fP が指定されていない場合は、CLASSPATH 環境変数が設定されていれば、Javadoc ツールはこの環境変数を使います。どちらも設定されていない場合、Javadoc ツールは現在のディレクトリからクラスを検索します。
.LP
-¤Û¤«¤Î¥Ä¡¼¥ë¤ÈƱÍͤˡ¢
-.BR \-classpath
-¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢CLASSPATH ´Ä¶ÊÑ¿ô¤¬
-ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î´Ä¶ÊÑ¿ô¤ò»È¤¤¤Þ¤¹¡£
-¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
-¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£
+Javadoc ツールは拡張機能クラスおよびブートストラップクラスに関連しているため、Javadoc ツールが \f2\-classpath\fP を使用してユーザークラスを検索する方法についての詳細は、
+.na
+\f2「クラスの検索方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlをご覧ください。
.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ª¤è¤Ó¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ÈÄÌ¿®¤¹¤ëºÝ¤Ë¡¢
-.B -classpath
-¤ò»È¤Ã¤Æ¥æ¡¼¥¶¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î
-¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
.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 ¥×¥í¥°¥é¥à¤¬Ç§¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+たとえば、ディレクトリ \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
.TP 3
\-subpackages\ \ package1:package2:...
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£³Æ package °ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (java ¤Ê¤É) ¤Þ¤¿¤Ï´°Á´»ØÄê¤Î¥Ñ¥Ã¥±¡¼¥¸ (javax.swing ¤Ê¤É) ¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹ (¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à)¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏÉÔÍפǤ¹ (»ÈÍÑÉÔ²Ä)¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\-sourcepath ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¢¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï°¤·¤Æ¤¤¤Ê¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¤Î¤ÇÌòΩ¤Á¤Þ¤¹¡£
+ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。このオプションは、ソースコードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。各 \f2package\fP 引数は、任意の最上位サブパッケージ (\f2java\fP など) または完全指定のパッケージ (\f2javax.swing\fP など) になります。ソースファイルを含める必要はありません。引数は、コロンで区切られます (すべてのオペレーティングシステム)。ワイルドカードは不要です (使用不可)。パッケージの検索場所を指定するには、\f2\-sourcepath\fP を使用します。このオプションは、「ソースファイルの処理」で説明したとおり、ソースツリーにあるがパッケージには属していないソースファイルを処理しないので役立ちます。
.LP
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP
.fl
.fi
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¡Öjava¡×¤ª¤è¤Ó¡Öjavax.swing¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
+このコマンドは、「java」および「javax.swing」という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。
.LP
-\f2\-exclude\fP ¤È¤È¤â¤Ë \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò½ü³°¤Ç¤¤Þ¤¹¡£
+\f2\-exclude\fP とともに \f2\-subpackages\fP を使用すると、特定のパッケージを除外できます。
.LP
.TP 3
\-exclude\ \ packagename1:packagename2:...
-»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò \f2\-subpackages\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£²áµî¤Î \f2\-subpackages\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¤Þ¤¿¤Ï¾ÍèÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+指定されたパッケージとそのサブパッケージを \f2\-subpackages\fP によって作成されたリストから無条件に除外します。過去の \f2\-subpackages\fP オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP
.fl
.fi
-¤³¤Î¤¦¤Á¡¢\f2java.io\fP¡¢\f2java.util\fP¡¢\f2java.math\fP ¤ÏÁȤ߹þ¤Þ¤ì¤Þ¤¹¤¬¡¢\f2java.net\fP ¤È \f2java.lang\fP °Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP ¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.BI \-bootclasspath " classpathlist"
-¥Ö¡¼¥È¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ö¡¼¥È¥¯¥é¥¹¤È¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£
-.B bootclasspath
-¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë
-»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢
-¡ÖJavac ¤È Javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¡× ¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.I classpathlist
-Æâ¤ÎÊ£¿ô¤Î
-¥¯¥é¥¹¥Ñ¥¹¥ê¥¹¥È¤Ï¡¢¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.TP
-.BI \-extdirs " dirlist"
-³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤Ï¡¢Java ³ÈÄ¥µ¡Ç½
-µ¡¹½¤ò»È¤¦¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê (
-.B extdirs
-) ¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£
-¾ÜºÙ¤Ï¡¢¾å¤Î
-.B \-classpath
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.I dirlist
-Æâ¤ÎÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.TP
-.B \-verbose
-.B javadoc
-¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£¾éĹ¥ª¥×¥·¥ç¥ó¤ò
-»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥¥å¥á¥ó¥È¤Î
-À¸À®»þ (¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë 1 ¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë
-¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¾éĹ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢
-³Æ java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿¥ß¥êÉÿô¤Ê¤É¤Î
-Äɲåá¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.BI \-quiet
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸°Ê³°¡¢¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸°Ê³°¤Î
-¥á¥Ã¥»¡¼¥¸¤ò½ü³°¤·¡¢
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤À¤±¤ò
-ɽ¼¨¤·¤Æ¸«¤Ä¤±¤ä¤¹¤¯¤·¤Þ¤¹¡£
-¤Þ¤¿¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Îɽ¼¨¤âÍÞÀ©¤·¤Þ¤¹¡£
+このうち、\f2java.io\fP、\f2java.util\fP、\f2java.math\fP は組み込まれますが、\f2java.net\fP と \f2java.lang\fP 以下のパッケージは除外されます。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。
+.LP
+.TP 3
+\-bootclasspath\ classpathlist
+ブートクラスが存在するパスを指定します。ブートクラスとは、通常、Java プラットフォームのコアクラスのことです。ブートクラスパスは、Javadoc ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。詳細は、
+.na
+\f2「javac と javadoc がクラスを検索する方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfilesを参照してください。\f2classpathlist\fP 内の複数のディレクトリは、コロン (:) で区切ります。
+.LP
+.TP 3
+\-extdirs\ dirlist
+拡張機能クラスが存在するディレクトリを指定します。拡張機能クラスとは、Java 拡張機能機構を使うすべてのクラスです。extdirs は、Javadoc ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。詳細は、前述の \f2\-classpath\fP を参照してください。\f2dirlist\fP 内の複数のディレクトリは、コロン (:) で区切ります。
+.LP
+.TP 3
+\-verbose
+javadoc の実行中に詳細なメッセージを表示します。verbose オプションを指定しないと、ソースファイルのロード時、ドキュメントの生成時 (ソースファイルごとに 1 つのメッセージ)、およびソート時にメッセージが表示されます。verbose オプションを指定すると、各 Java ソースファイルの解析に要した時間 (ミリ秒単位) など、追加のメッセージが表示されます。
+.LP
+.TP 3
+\-quiet
+エラーメッセージまたは警告メッセージ以外のメッセージを抑制し、警告とエラーだけが表示されるようにして、これらを特定しやすくします。バージョン文字列も抑制します。
.LP
.TP 3
\-breakiterator\
-±Ñ¸ì¸À¸ì¤È¤¤¤¦¥í¥±¡¼¥ë¸ÇͤΥ¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢\f2java.text.BreakIterator\fP ¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶³¦¤ò»ÈÍѤ·¤Æ¡¢±Ñʸ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ·¤Þ¤¹ (¾¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ï¤¹¤Ç¤Ë \f2BreakIterator\fP ¤ò»ÈÍÑ)¡£¡Ö\f2ºÇ½é¤Îʸ\fP¡×¤È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤Î¼çÀâÌÀ¤Ç¤ÎºÇ½é¤Îʸ¤Î¤³¤È¤Ç¤¹¡£¤³¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤ÎÍ×Ìó¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
+英語言語というロケール固有のアルゴリズムではなく、
+.na
+\f2java.text.BreakIterator\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html の国際化された文境界を使用して、英文の最初の文の終わりを判断します (他のすべてのロケールはすでに \f2BreakIterator\fP を使用)。\f2「最初の文」\fPとは、パッケージ、クラス、またはメンバーの主説明での最初の文のことです。この文は、パッケージ、クラス、またはメンバーの要約にコピーされ、アルファベット順のインデックスにコピーされます。
.LP
-JDK 1.2 °Ê¹ß¡¢BreakIterator ¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢1.2 °Ê¹ß¤Ç¤Ï¡¢\f2\-breakiterator\fP ¥ª¥×¥·¥ç¥ó¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆȼ«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£
+JDK 1.2 以降、BreakIterator クラスは、英語を除くすべての言語の文の終わりを判断するために、すでに使用されています。したがって、1.2 以降では、\f2\-breakiterator\fP オプションは英文以外には効果がありません。英文には、次のような独自のデフォルトのアルゴリズムがあります。
.RS 3
.TP 2
o
-±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- ¶õÇò¤Þ¤¿¤Ï HTML ¥Ö¥í¥Ã¥¯¥¿¥° (\f2<P>\fP ¤Ê¤É) ¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë
+英文のデフォルトの文区切りアルゴリズム \- 空白または HTML ブロックタグ (\f2<P>\fP など) が続くピリオドで停止する
.TP 2
o
-breakiterator ʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- °ìÈ̤ˡ¢¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤¹¤ë¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ¤¬½èÍý¤µ¤ì¤ë (¡ÖThe serial no. is valid¡×¤Ï½èÍý¤µ¤ì¤ë¤¬¡ÖMr. Smith¡×¤Ï½èÍý¤µ¤ì¤Ê¤¤)¡£HTML ¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Ê¤¤¡£HTML ¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö../filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë
+breakiterator 文区切りアルゴリズム \- 一般に、次の語が大文字で始まる場合、空白文字が続くピリオド、疑問符、または感嘆符で停止する。このアルゴリズムでは、ほとんどの省略表記が処理される (「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。HTML タグや、数字または記号で始まる文では停止しない。HTML タグに埋め込まれている場合でも、「../filename」の最後のピリオドで停止する
.RE
.RS 3
-.LP
-.LP
-Ãí: 1.5.0 ¤«¤é¤Ï¡¢1.4.x ¤ËÀߤ±¤é¤ì¤Æ¤¤¤¿ breakiterator ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤òÊѹ¹¤·¤Æ¤¤¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢\-breakiterator ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.5.0 ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢¤Þ¤¿¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤Ä¤â¤ê¤â¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¡Ö¼¡¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡×(1.5.0) ¤Ç¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤È¤¤¤¦¡¢°ÊÁ°¤ÎÌÜŪ¤È¤ÏµÕ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢1.4.x ¤Ç¤Î breakiterator ·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢1.5.0 ¤«¤é¤Ï²¿¤â¤¹¤ëɬÍפ¬¤Ê¤¯¡¢·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎµÕÌá¤ê¤ÎÍýͳ¤Ï¡¢breakiterator ¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¥á¥ê¥Ã¥È¤è¤ê¤â¡¢¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤¿¤á¤ËɬÍפȤʤ롢¸ß´¹À¤Î¤Ê¤¤¥½¡¼¥¹¤ÎÊѹ¹¤ÎÊý¤¬Ééô¤¬Â礤«¤Ã¤¿¤¿¤á¤Ç¤¹¡£¤³¤ì¤ËÈñ¤ä¤·¤¿ºî¶È¤äº®Íð¤¬ÌµÂ̤ˤʤê»ÄÇ°¤Ç¤¹¡£
-.LP
-.TP
-.BI \-locale " language_country_variant"
-.B ½ÅÍ×:
-\-locale ¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ä¤½¤Î¾¤Î¥É¥Ã¥¯¥ì¥Ã¥È
-¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤è¤ê¤âÁ°¤Ë (º¸Â¦¤Ë)
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ï
-±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£½ç½ø¤Ë°Í¸¤¹¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î¤ß¤Ç¤¹¡£
-.LP
-.RS
-.B javadoc
-¤¬¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤¤Ë»È¤¦¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-°ú¿ô¤Ë¤Ï¡¢java.util.Locale ¤Î¥É¥¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë
-¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢en_US (±Ñ¸ì¡¢Êƹñ)¡¢en_US_WIN (Windows ¤Ç»È¤ï¤ì¤ë±Ñ¸ì) ¤Ê¤É¤ò
-»ØÄꤷ¤Þ¤¹¡£
-.LP
-¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢
-.B javadoc
-¤Ï»ØÄꤵ¤ì¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÁªÂò¤·¤Æ
-¥á¥Ã¥»¡¼¥¸ (¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢
-¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢
-.BR stylesheet.css
-¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó) ¤Ë
-»È¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢
-¤ª¤è¤ÓºÇ½é¤Îʸ¤ÎËöÈø¤ò·èÄꤹ¤ëʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢
-»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç
-»ØÄꤵ¤ì¤Æ¤¤¤ë doc ¥³¥á¥ó¥È¥Æ¥¥¹¥È¤Î
-¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.RE
-.TP
-.BI \-encoding " name"
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ (EUCJIS/SJIS ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î
-¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£
-.LP
-\-docencoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BI \-J flag
-.BR javadoc
-¤ò¼Â¹Ô¤¹¤ë¼Â¹Ô¥·¥¹¥Æ¥à java ¤Ë flag ¤òľÀÜÅϤ·¤Þ¤¹¡£J ¤È flag ¤Î´Ö¤Ë
-¶õÇò¤òÆþ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢À¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¡¢¥·¥¹¥Æ¥à¤Ç 32M ¥Ð¥¤¥È¤ò
-³ÎÊݤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢Java ¤Î
-.B \-Xmx
-¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\-Xms ¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£½é´ü¥á¥â¥ê¤Î¥µ¥¤¥º¤Î¤ß¤òÀßÄꤹ¤ë¤¿¤á¡¢É¬ÍפʺǾ®¥á¥â¥ê¤òÃΤäƤ¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc \-J\-Xmx32m \-J\-Xms32m com.mypackage
-.fi
-.ft 1
-.RE
-
.LP
-»ÈÍѤ·¤Æ¤¤¤ë javadoc ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë java ¤Î¡Ö-version¡×¥ª¥×¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+注: 1.5.0 からは、1.4.x に設けられていた breakiterator 警告メッセージを削除し、デフォルトの文区切りアルゴリズムを変更していません。つまり、\\\-breakiterator オプションは、1.5.0 ではデフォルトではなくなり、またデフォルトにするつもりもありません。これは、「次のメジャーリリース」(1.5.0) でデフォルトを変更するという、以前の目的とは逆になっています。つまり、ソースコードを変更せず、1.4.x での breakiterator 警告を除去していない場合でも、1.5.0 からは何もする必要がなく、警告は消滅しています。 この逆戻りの理由は、breakiterator をデフォルトにするメリットよりも、デフォルトにするために必要となる、互換性のないソースの変更の方が負担が大きかったためです。この件で皆様に余分の手間をおかけし、混乱を招いたことをお詫びいたします。
+.LP
+.RE
+.TP 3
+\-locale\ language_country_variant
+.RS 3
+.LP
+\f3重要\fP \- \f2\-locale\fP オプションは、標準ドックレットが提供するすべてのオプション、またはその他の任意のドックレットの提供するすべてのオプションより前 (左側) に指定する必要があります。そうしないと、ナビゲーションバーが英語で表示されます。このコマンド行オプションだけは、指定する順序に依存します。
+.LP
+.RE
+.LP
+Javadoc がドキュメントを生成するときに使うロケールを指定します。引数には、java.util.Locale のドキュメントで説明されているロケールの名前を指定します。たとえば、\f2en_US\fP (英語、米国)、\f2en_US_WIN\fP (Windows で使われる英語) などを指定します。
+.LP
+ロケールを指定すると、指定したロケールのリソースファイルが Javadoc によって選択されて、メッセージ (ナビゲーションバー、リストと表の見出し、ヘルプファイルの目次、stylesheet.css のコメントなどの文字列) のために使われます。また、アルファベット順にソートされるリストのソート順、および最初の文の末尾を判別するための文の区切り文字も、指定したロケールによって決まります。ただし、このオプションは、ドキュメント化されるクラスのソースファイル内で指定されているドキュメンテーションコメントのテキストのロケールを決定するものではありません。
+.LP
+.TP 3
+\-encoding\ name
+ソースファイルのエンコーディングの名前 (\f2EUCJIS/SJIS\fP など) を指定します。このオプションが指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。
+.LP
+\-docencoding および \-charset も参照してください。
+.LP
+.TP 3
+\-Jflag
+javadoc を実行する実行時システム java に、\f2flag\fP を直接渡します。\f2J\fP と \f2flag\fP の間に空白を入れてはなりません。たとえば、生成ドキュメントを処理するためにシステムで 32M バイトのメモリーを確保しておく必要がある場合は、Java の \f2\-Xmx\fP オプションを次のように呼び出します。 \f2\-Xms\fP は、省略可能です。 これは、初期メモリーのサイズを設定するだけのオプションで、必要なメモリーの最小サイズがわかっている場合に便利です。
.nf
-% javadoc -J-version
-java version "1.2"
-Classic VM (build JDK-1.2-V, green threads, sunwjit)
+\f3
+.fl
+ % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-(ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£)
-.SS "ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-d " directory"
-À¸À®¤µ¤ì¤¿ HTML ¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò
-»ØÄꤷ¤Þ¤¹ (d ¤Ï¡ÖÀ¸À®Àè (destination)¡×¤Î°ÕÌ£)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-¾Êά¤¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
-ÃÍ
-.I directory
-¤Ë¤Ï¡¢ÀäÂХǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¸½ºß¤Îºî¶È
-¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-1.4 ¤Ç¤Ï¡¢javadoc ¤Î¼Â¹Ô»þ¤Ë
-¼«Æ°Åª¤ËÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-¤¿¤È¤¨¤Ð¡¢
-¼¡¤ÎÎã¤Ï¡¢com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¡¢
-·ë²Ì¤ò
-.B /home/user/doc/
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+使用している javadoc のバージョンを確認するには、次のように java の「\f2\-version\fP」オプションを呼び出します。
.nf
-% javadoc \-d /home/user/doc com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-J\-version\fP
+.fl
+ java version "1.2"
+.fl
+ Classic VM (build JDK\-1.2\-V, green threads, sunwjit)
+.fl
.fi
-.ft 1
+出力ストリームには標準ドックレットのバージョン番号が含まれます。
.RE
-.TP
-.B \-use
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤ò
-´Þ¤á¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Þ¤¿¤Ï
-¥Ñ¥Ã¥±¡¼¥¸¤Î API ¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹
-C ¤ª¤è¤Ó¥¯¥é¥¹ C ¤ò»È¤¦¤â¤Î¤Ï¡¢C ¤Î¥µ¥Ö¥¯¥é¥¹¡¢C ¤È¤·¤Æ
-Àë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¡¢·¿ C ¤Î
-¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¥Ú¡¼¥¸¤Ë´Þ¤Þ
-¤ì¤Þ¤¹¡£
+.SS
+標準ドックレットが提供するオプション
.LP
-.RS
-¤¿¤È¤¨¤Ð¡¢String ¤Ë¤Ä¤¤¤Æ¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Ë²¿¤¬É½¼¨¤µ¤ì¤ë¤«¤ò
-¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£
-.B java.awt.Font
-¥¯¥é¥¹¤Î
-.B getName()
-¥á¥½¥Ã¥É¤Ï¡¢String ·¿¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢
-.B getName()
-¤Ï String ¤ò»È¤¦¤Î¤Ç¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Î String ¤Ç
-¤³¤Î¥á¥½¥Ã¥É¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+.RS 3
+.TP 3
+\-d\ directory
+生成された HTML ファイルを保存する生成先ディレクトリを指定します(「d」は「生成先 (destination)」の意味)。このオプションを省略すると、生成されたファイルは現在のディレクトリに保存されます。値 \f2directory\fP には、絶対ディレクトリ、または現在の作業ディレクトリからの相対ディレクトリを指定できます。バージョン 1.4 では、javadoc を実行すると生成先ディレクトリが自動的に作成されます。
.LP
-¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï API ¤Î»ÈÍѤÀ¤±¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¡¢¼ÂÁõ¤Ï¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Þ¤»¤ó¡£
-¤¢¤ë¥á¥½¥Ã¥É¤¬¼ÂÁõÆâ¤Ë String ¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¢°ú¿ô¤È¤·¤Æ
-ʸ»úÎó¤ò¤È¤Ã¤¿¤ê¡¢Ê¸»úÎó¤òÊÖ¤·¤¿¤ê¤·¤Ê¤¤
-¾ì¹ç¤Ï¡¢String ¤Î¡Ö»ÈÍѡפȤϤߤʤµ¤ì¤Þ¤»¤ó¡£
-.LP
-À¸À®¤µ¤ì¤¿ [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ÌÜŪ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï
-¥Ñ¥Ã¥±¡¼¥¸¤òɽ¼¨¤·¤Æ¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò
-¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
-.RE
-.TP
-.B \-version
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë
-.B @version
-¥Æ¥¥¹¥È¤ò´Þ¤á¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£
-»ÈÍѤ·¤Æ¤¤¤ë javadoc ¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-.B \-J\-version
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.B \-author
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë
-.B @author
-¥Æ¥¥¹¥È¤ò´Þ¤á¤Þ¤¹¡£
-.TP
-.B \-splitindex
-º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢
-ʸ»ú¤´¤È¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îʸ»ú¤Ç»Ï¤Þ¤ë
-º÷°ú¥¨¥ó¥È¥êÍѤΥե¡¥¤¥ë¤ò 1 ¤ÄºîÀ®¤·¤Þ¤¹¡£
-.TP
-.BI \-windowtitle " title"
-HTML ¤Î
-.B <title>
-¥¿¥°¤Ç»È¤¦¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥¿¥¤¥È¥ë¤Ï¡¢
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤È¡¢³ºÅö¤¹¤ë¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î
-¥Ö¥Ã¥¯¥Þ¡¼¥¯ (¤è¤¯¥¢¥¯¥»¥¹¤¹¤ë¾ì½ê) ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¥¿¥¤¥È¥ë¤Ë¤Ï HTML ¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤Ë HTML ¥¿¥°¤¬
-´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Ë¤è¤ë¥¿¥°¤Î²ò¼á¤¬ÉÔŬÀڤˤʤë
-²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.I title
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò
-¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B -windowtitle
-¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë -doctitle ¤ÎÃͤò»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+たとえば、次の例では、\f2com.mypackage\fP パッケージのドキュメントを生成し、結果を \f2/home/user/doc/\fP ディレクトリに保存します。
.nf
-% javadoc -windowtitle "Java 2 Platform" com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.TP
-.BI \-doctitle " title"
-³µÍ×¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¿¥¤¥È¥ë¤ÏÃæ±û·¤¨¤µ¤ì¡¢¥ì¥Ù¥ë 1 ¤Î¸«½Ð¤·¤È¤·¤Æ¾åÉô
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.I title
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç°Ï
-¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I title
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+.TP 3
+\-use
+ドキュメント化されるクラスおよびパッケージごとに 1 つの [使用] ページを組み込みます。このページには、その特定のクラスまたはパッケージの API を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドが記述されます。たとえば、クラス C を例にとると、クラス C を使っているものとしては、C のサブクラス、C として宣言されているフィールド、C を返すメソッド、および、型 C のパラメータを持つメソッドとコンストラクタがあります。
+.LP
+たとえば、String の [使用] ページに何が表示されるかを見てみましょう。\f2java.awt.Font\fP クラスの \f2getName()\fP メソッドは、\f2String\fP 型を返します。したがって、\f2getName()\fP は \f2String\fP を使っているので、\f2String\fP の [使用] ページにはこのメソッドがあります。
+.LP
+ただし、ドキュメント化されるのは API の使用だけであって、実装はドキュメント化されません。あるメソッドが、その実装の中で \f2String\fP を使っていても、引数として文字列をとったり、文字列を返したりしない場合は、\f2String\fP の「使用」とはみなされません。
+.LP
+生成された [使用] ページにアクセスするには、目的のクラスまたはパッケージに移動し、ナビゲーションバーの [使用] リンクをクリックします。
+.TP 3
+\-version
+生成ドキュメントに、@version のテキストを組み込みます。このテキストは、デフォルトでは省略されます。使用している Javadoc ツールのバージョンを確認するには、\f2\-J\-version\fP オプションを使用します。
+.LP
+.TP 3
+\-author
+生成ドキュメントに、@author のテキストを組み込みます。
+.LP
+.TP 3
+\-splitindex
+索引ファイルをアルファベットごとに複数のファイルに分割し、文字ごとに 1 つのファイルと、アルファベット以外の文字で始まる索引エントリ用に 1 つのファイルを作成します。
+.LP
+.TP 3
+\-windowtitle\ title
+HTML の <title> タグに配置するタイトルを指定します。指定したタイトルは、ウィンドウのタイトルや、このページに対して作成されたブラウザのブックマーク (お気に入り) に表示されます。このタイトルには HTML タグを含めないでください。 タイトルに HTML タグが含まれていると、ブラウザがタグを正しく解釈できません。\f2title\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。\-windowtitle が省略されている場合、Javadoc ツールは、このオプションの代わりに \-doctitle の値を使います。
.nf
-% javadoc -doctitle "Java<sup><font size=\"-2\">TM</font></sup>" com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.TP
-.BI \-title " title"
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Ï¸ºß¤·¤Þ¤»¤ó¡£
-.B javadoc
-1.2 ¤Î¥Ù¡¼¥¿ÈǤˤÀ¤±Â¸ºß¤·¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤ò
-ÌÀ³Î¤Ë¤¹¤ë¤¿¤á¡¢
-.BR \-doctitle
-¤Ë̾Á°¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£
-.TP
-.BI \-header " header"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¤Ï¡¢
-¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I header
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç
-°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£header ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò
-¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-doctitle\ title
+概要ファイルの最上部の近くに配置するタイトルを指定します。タイトルは中央揃えになり、レベル 1 の見出しとして、上部ナビゲーションバーのすぐ下に置かれます。\f2title\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2title\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-doctitle "Java (TM)" com.mypackage\fP
+.fl
+.fi
+.TP 3
+\-title\ title
+\f3このオプションは、現在は存在しません。\fPJavadoc 1.2 のベータ版にだけ存在しました。このオプションは、\f2\-doctitle\fP という名前に変更されました。名前を変更した理由は、このオプションが、ウィンドウのタイトルではなくドキュメントのタイトルを定義することを明確にするためです。
+.LP
+.TP 3
+\-header\ header
+各出力ファイルの上端に配置するヘッダーテキストを指定します。ヘッダーは、上部ナビゲーションバーの右側に配置されます。\f2header\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2header\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.nf
\f3
.fl
@@ -3386,495 +4679,219 @@
.fl
.fi
.LP
-.TP
-.BI \-footer " footer"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥Ã¥¿¤Ï¡¢
-²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I footer
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç
-°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I footer
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-bottom " text"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥Æ¥¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î²¼¤Î¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤Ë
-ÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I text
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢
-¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I text
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-link " extdocURL"
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿´û¸¤Î
-³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£
-°ú¿ô¤Ï 1 ¤Ä¤Ç¤¹¡£
-.TP
-\(bu
-.I extdocURL
-¤Ï¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë
-³°Éô¥É¥¥å¥á¥ó¥È¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ ¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë package-list ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ
-¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\-linkoffline ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï package-list ¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆɤ߼è¤ê¡¢¤½¤ì¤ò
-.I extdocURL
-¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-.I extdocURL
-ÃͤϺîÀ®¤µ¤ì¤¿ <A HREF> ¥ê¥ó¥¯¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢
-.I extdocURL
-¤Ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢
-.I extdocURL
-¤Î URL ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-footer\ footer
+各出力ファイルの下端に配置するフッターテキストを指定します。フッターは、下部ナビゲーションバーの右側に配置されます。 \f2footer\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2footer\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.LP
-¥É¥¥å¥á¥ó¥È¤òǤ°Õ¤Î Web ¥µ¥¤¥È¾å¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï
-.I extdocURL
-¤ÎÀäÂÐ¥ê¥ó¥¯¤ò¡¢ÁêÂÐ¥í¥±¡¼¥·¥ç¥ó¤À¤±¤ò»ØÄꤹ¤ë¤Ë¤Ï
-ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\-d ¤Ç»ØÄê) ¤«¤é¤ÎÁêÂХѥ¹¤ò¡¢
-¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-bottom\ text
+各出力ファイルの最下部に配置するテキストを指定します。このテキストは、下部ナビゲーションバーより下の、ページの最下部に配置されます。\f2text\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2text\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.LP
-Ä̾ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢http: ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤¿¤À¤·¡¢Web ¥µ¡¼¥Ð¤ò¤â¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë
-¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢file: ¥ê¥ó¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¡¢À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë
-¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤¹¤ë
-¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¶¦Í¤·¤Æ¤¤¤ë
-¾ì¹ç°Ê³°¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+.TP 3
+\-link\ extdocURL
+javadoc により生成された既存の外部参照クラスのドキュメンテーションへのリンクを作成します。引数を 1 つとります。
.LP
-¤¹¤Ù¤Æ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢ÀäÂÐ URL ¤ÈÁêÂÐ URL¡¢¡Öhttp:¡×¥Ù¡¼¥¹¤È¡Öfile:¡×¥Ù¡¼¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¥¹¥é¥Ã¥·¥å¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹
-.fi
-(http://www.ietf.org/rfc/rfc1738.txt
-¤Î
+.RS 3
+.TP 2
+o
+\f4extdocURL\fP は、リンク先として指定する、javadoc によって生成された外部ドキュメントを含むディレクトリの絶対 URL または相対 URL です。あとで例を示します。このディレクトリ内にパッケージリストファイルが存在していなければなりません。 存在しない場合は、\f2\-linkoffline\fP を使用します。Javadoc ツールは、\f2パッケージリスト\fPファイルからパッケージ名を読み取り、これらのパッケージをその URL にリンクします。Javadoc ツールを実行すると、作成される \f2<A HREF>\fP リンク内に \f2extdocURL\fP の値がそのままコピーされます。したがって、\f2extdocURL\fP はファイルへの URL ではなく「ディレクトリへの URL」でなければなりません。
+.LP
+\f2extdocURL\fP への絶対リンクを使用すると、ユーザーのドキュメントを任意の Web サイト上のドキュメントにリンクできます。 相対位置へリンクするだけでよい場合は相対リンクを使用できます。相対リンクを使用する場合、\f2\-d\fP を使って、生成先ディレクトリからリンクされるパッケージのあるディレクトリの相対パスを指定する必要があります。
+.LP
+通常、絶対リンクを指定する場合は、\f2http:\fPリンクを使用します。Web サーバーを持たないファイルシステムにリンクする場合は、\f2file:\fP リンクを使用できます。ただし、この方法は、すべてのユーザーが生成された同じファイルシステムを共有するドキュメントにアクセスする必要がある場合以外は使用しないでください。
+.LP
+いかなる場合にも、いかなるオペレーティングシステムでも、絶対 URL か相対 URL か、「http:」ベースか「file:」ベースかにかかわらず、スラッシュを区切り文字として使用します (
.na
-\f2URL Memo\fP ¤Ç»ØÄê)¡£
+\f2URL Memo\fP @
+.fi
+http://www.ietf.org/rfc/rfc1738.txt で指定)。
.RS 3
.TP 3
-http: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯:
+http:ベースの絶対リンク:
\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP
.TP 3
-file: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯:
+file:ベースの絶対リンク:
\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP
.TP 3
-ÁêÂÐ¥ê¥ó¥¯:
+相対リンク:
\f2\-link <directory>/<directory>/.../<name>\fP
.RE
.RE
.LP
-javadoc ¼Â¹Ô»þ¤ËÊ£¿ô¤Î \-link ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢
-Ê£¿ô¤Î¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-\-linkoffline ¤Þ¤¿¤Ï \-link ¤ÎÁªÂò
-.LP
-\-link ¤ò»ÈÍѤ¹¤ë¾ì¹ç:
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ·¤Æ¤¤¤ë
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ·¤Æ¤¤¤ë (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢Æɤ߼è¤ê¤ò¹Ô¤¦¤³¤È¤¬
-¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)
-.LP
-\-linkoffline ¤ò»ÈÍѤ¹¤ë¾ì¹ç:
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ·¤Æ¤¤¤ë
-(¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢Æɤ߼è¤ê¤ò¹Ô¤¦¤³¤È¤¬
-¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢
-¥ê¥ó¥¯Àè¤Î¥É¥¥å¥á¥ó¥È¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î
-¸þ¤³¤¦Â¦¤Ë¤¢¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã -
-java.lang¡¢java.io¡¢¤ª¤è¤Ó¾¤Î Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸
-(\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) ¤Ë
-¥ê¥ó¥¯¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤Ä
-com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î
-Object ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹
-(\-sourcepath ¤ä \-d ¤Ê¤É¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
-.LP
-.RS
-.ft 3
-.nf
-% \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
-.fi
-.ft 1
-.RE
-.LP
-³°Éô ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã -
-.B javadoc
-¥Ä¡¼¥ë¤Î°Û¤Ê¤ë¼Â¹Ô¤ÇÀ¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤ò»ý¤Ä
-2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤ì¤é¤¬ÊÌ¡¹¤Î
-ÁêÂХѥ¹¤ò¤â¤Ã¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¡¢2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò
-com.apipackage (API)¡¢com.spipackage
-(SPI - Service Provide Interface) ¤È¤·¤Þ¤¹¡£ ¥É¥¥å¥á¥ó¥È¤ÎÃÖ¤¾ì½ê¤Ï docs/api/com/apipackage ¤ª¤è¤Ó
-docs/spi/com/spipackage ¤Ç¤¹¡£
-API ¥Ñ¥Ã¥±¡¼¥¸¥É¥¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®¤µ¤ì¡¢¥É¥¥å¥á¥ó¥È¤¬¸½ºß¤Î
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
-API ¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤·¤¿ SPI ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d ./spi \-link ../api com.spipackage
-.fi
-.ft 1
-.RE
-.LP
-\-link °ú¿ô¤¬À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁêÂХѥ¹ (docs/spi) ¤Ç
-¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¾ÜºÙ -
-\-link ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢
-Javadoc ¤Î¸½ºß¤Î¼Â¹Ô¤Ç¤Ï¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯
-¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥ê¥ó¥¯¤«¤é͸ú¤Ê¥Ú¡¼¥¸¤Ë
-°ÜÆ°¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î HTML ¥Ú¡¼¥¸¤¬
-¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò
-.I extdocURL
-¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤¿¤È¤¨¤Ð¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥É¥¥å¥á¥ó¥È¤«¤é¡¢
-http://java.sun.com ¤Ë¤¢¤ë java.* ¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-º£²ó¤Î¼Â¹Ô¤Ç
-.B javadoc
-¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥ÈÆâ¤Î
-API ¤À¤±¤òÂоݤ˥ê¥ó¥¯¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢
-\-link ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ \-link ¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢³°Éô»²¾È¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò
-ºîÀ®¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¥É¥¥å¥á¥ó¥È¤¬
-¸ºß¤¹¤ë¤«¤É¤¦¤«¡¢¤¢¤ë¤¤¤Ï¸ºß¤·¤Æ¤¤¤Æ¤â¤É¤³¤Ë
-¸ºß¤·¤Æ¤¤¤ë¤Î¤«¤òȽÊ̤Ǥ¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢À¸À®¥É¥¥å¥á¥ó¥ÈÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë
-¥ê¥ó¥¯¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-¤Þ¤¿¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸·²¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¢¤ë°ì¼°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Ê̤ΰ켰¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¡¢¤³¤ì¤é 2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸·²¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-\f3¥¯¥é¥¹¤Î»²¾ÈÊýË¡\fP - ³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤ò¡¢¥Æ¥¥¹¥È¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯¼ÂºÝ¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤ÎÊýË¡¤Ç¥¯¥é¥¹¤ò»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\f2import\fP ʸ¤Þ¤¿¤ÏÀë¸À¤Ç»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥¯¥é¥¹ \f2java.io.File\fP ¤ò»²¾È¤¹¤ëÊýË¡¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
+javadoc の実行時に複数の \f2\-link\fP オプションを指定して、複数のドキュメントへのリンクを作成することもできます。 \f3\-linkoffline または \-link の選択\fP
+.br
+\f2\-link\fP を使用する場合:
.RS 3
.TP 2
o
-¤¹¤Ù¤Æ¤Î¼ïÎà¤Î \f2import\fP ʸ¤Î¾ì¹ç: ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2java.lang.*\fP ¤ËÂФ¹¤ë¼«Æ°Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤Ð½½Ê¬¤Ç¤¹¡£
+外部 API ドキュメントへの相対パスを使用する場合
+.TP 2
+o
+外部 API ドキュメントへの絶対 URL を使用する場合 (プログラムがその URL に接続し、読み取りを行うことがシェルによって許可されている場合)
+.RE
+次のような場合は、\f2\-linkoffline\fP オプションを使用します。
+.RS 3
+.TP 2
+o
+プログラムがその URL に接続し、読み取りを行うことがシェルによって許可されていない場合に外部 API ドキュメントへの絶対 URL を使用する場合。このような状況は、リンク先のドキュメントがファイアウォールの向こう側にある場合に発生します。
+.RE
+.LP
+\f3外部ドキュメントへの絶対リンクの使用例\fP \-
+.na
+\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/api 内の \f2java.lang\fP、\f2java.io\fP、その他の Java 2 プラットフォームパッケージにリンクしたい場合があります。 次のコマンドは、\f2com.mypackage\fP パッケージのドキュメントと Java 2 プラットフォームパッケージへのリンクを生成します。生成されたドキュメントには、たとえばクラスツリー内の \f2Object\fP クラスへのリンクが含まれています。\f2\-sourcepath\fP や \f2\-d\fP などの他のオプションは表示されません。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
+.fl
+.fi
+\f3外部ドキュメントへの相対リンクの使用例\fP \- 2 つのパッケージがあり、そのドキュメントが Javadoc ツールを複数回実行した結果生成されたものであるとします。 さらに、これらのドキュメントが相対パスで分割されているとします。この例の場合、2 つのパッケージは、API である \f2com.apipackage\fP とSPI (サービスプロバイダインタフェース) である \f2com.spipackage\fP です。ドキュメントの格納先は \f2docs/api/com/apipackage\fP パッケージと \f2docs/spi/com/spipackage\fP パッケージです。API パッケージのドキュメントがすでに生成されていて、現在のディレクトリが \f2docs\fP である場合、次のコマンドを実行することによって、この API ドキュメントへのリンクを持つ SPI パッケージをドキュメント化します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP
+.fl
+.fi
+.LP
+\f2\-link\fP 引数は、生成先ディレクトリ (\f2docs/spi\fP) の相対パスです。
+.LP
+\f3詳細\fP \- \f2\-link\fP オプションを使うと、「コードからは参照されていても、Javadoc の今回の実行ではドキュメント化されない」というクラスにリンクできるようになります。リンクから有効なページに移動できるようにするには、それらの HTML ページがある場所を調べ、その場所を \f2extdocURL\fP に指定する必要があります。このオプションを使うと、たとえば、サードパーティーのドキュメントから、\f2http://java.sun.com\fP にある \f2java.*\fP のドキュメントにリンクすることができます。
+.LP
+今回の実行で Javadoc によって生成されるドキュメント内の API だけを対象にリンクを作成する場合は、\f2\-link\fP オプションを省略します。\f2\-link\fP オプションが指定されていない場合、Javadoc ツールは、外部参照されたドキュメントへのリンクを作成しません。これは、そのドキュメントが存在するかどうか、および存在する場合はその場所を判別できないからです。
+.LP
+このオプションでは、生成ドキュメント内の複数の場所にリンクを作成できます。
+.LP
+また、このオプションを使うと、複数のパッケージ群の間にクロスリンクを作成することもできます。つまり、ある一式のパッケージに対して javadoc を実行したあと、別の一式のパッケージに対して javadoc を実行し、これら 2 つのパッケージ群の間にクロスリンクを作成できます。
+.LP
+\f3クラスの参照方法\fP \- 外部参照クラスへのリンクを、テキストラベルだけではなく実際に表示するには、次の方法でクラスを参照する必要があります。メソッドの本体でクラスを参照するだけでは十分ではありません。\f2import\fP 文または宣言で参照する必要があります。次に、クラス \f2java.io.File\fP を参照する方法の例を示します。
+.RS 3
+.TP 2
+o
+すべての種類の \f2import\fP 文の場合: ワイルドカードによるインポート、名前による明示的なインポート、または \f2java.lang.*\fP に対する自動的なインポート。たとえば、次のようにすれば十分です。
.br
\f2import java.io.*;\fP
.br
-1.3.x ¤ª¤è¤Ó 1.2.x ¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥Èʸ¤â¡¢¼«Æ°¥¤¥ó¥Ý¡¼¥È \f2java.lang.*\fP ¤â»ÈÍѤǤ¤Þ¤»¤ó¡£
+1.3.x および 1.2.x では、名前による明示的なインポートだけです。ワイルドカードによるインポート文も、自動インポート \f2java.lang.*\fP も使用できません。
.TP 2
o
-Àë¸À¤Î¾ì¹ç:
+宣言の場合:
.br
\f2void foo(File f) {}\fP
.br
-¤³¤Î»²¾È¤ò»ÈÍѤ·¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¿¡¼¥ó¥¿¥¤¥×¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¥¿¥¤¥×¤ËÃÖ¤¯¤«¡¢\f2implements\fP¡¢\f2extends\fP¡¢¤Þ¤¿¤Ï \f2throws\fP ʸ¤ËÃÖ¤¤Þ¤¹¡£
+この参照を使用し、メソッド、コンストラクタ、フィールド、クラス、またはインタフェースの戻り値の型またはパラメータの型に置くか、\f2implements\fP、\f2extends\fP、または \f2throws\fP 文に置きます。
.RE
.LP
-¤³¤Î·ë²Ì¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤Æɽ¼¨¤µ¤ì¤Ê¤¤Â¿¤¯¤Î¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥¥¹¥È¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤Î¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ï¾å¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢Åö³º¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£
+この結果、\f2\-link\fP オプションを使用しても、この制限のために誤って表示されない多くのリンクが多数発生する可能性があります。テキストはハイパーテキストリンクが付けられずに表示されます。これらのリンクが表示する警告から、このリンクを認識できます。クラスを正しく参照し、それによってリンクを追加するためのもっとも安全な方法は上で説明したとおり、当該のクラスをインポートすることです。
.LP
-.B ¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È:
-.B \-link
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë URL ¤Ë¸ºß¤·¤Æ¤¤¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.BR package-list
-¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ç¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î
-̾Á°¤Î¥ê¥¹¥È¤ò´Þ¤àñ½ã¤Ê¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-Á°¤ÎÎã¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë¤¢¤ë
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆɤ߹þ¤ó¤Ç¡¢
-¤½¤Î URL ¤Ë¤¢¤ë¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤·¤¿¡£
+\f3パッケージリスト\fP \- \f2\-link\fP オプションは、\f2package\-list\fP という名前のファイルを要求します。 このファイルは、Javadoc ツールによって生成され、\f2\-link\fP によって指定した URL に存在します。\f2package\-list\fP ファイルは、その場所にあるドキュメント化されたパッケージの名前のリストが入った単純なテキストファイルです。前の例では、Javadoc ツールは指定された URL にある \f2package\-list\fP という名前のファイルを探し、パッケージ名を読み込んで、その URL にあるそれらのパッケージへのリンクを作成しました。
.LP
-¤¿¤È¤¨¤Ð¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à v5.0 API ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ï°Ê²¼¤Ë¤¢¤ê¡¢
+たとえば、Java プラットフォーム v5.0 API のパッケージリストは
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP
-.RE
-.LP
-¼¡¤Î¤è¤¦¤ÊÆâÍƤǻϤޤäƤ¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-java.applet
-java.awt
-java.awt.color
-java.awt.datatransfer
-java.awt.dnd
-java.awt.event
-java.awt.font
-¤½¤Î¾ ...
+\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
.fi
-.ft 1
-.RE
-.LP
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë³°Éô»²¾È
-¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò
-¸«¤Ä¤±¤ë¤È¡¢
-.B javadoc
-¤Ï¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤ò»ý¤¿¤Ê¤¤·Á¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿
-.IR extdocURL
-¤Î¾ì½ê¤Ë¤¢¤ë
-.B package-list
-¥Õ¥¡¥¤¥ë¤«¤é¡¢³ºÅö¤¹¤ë̾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤òõ¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬
-¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤Î
-.IR extdocURL
-¤ò̾Á°¤ÎÁ°¤ËÉÕ¤±¤Þ¤¹¡£
-.LP
-¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î
-¥É¥¥å¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤¬¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë
-¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B package-list
-¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤À¤±¤Ç¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë
-ÌÜŪ¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£
-.LP
-.B Ê£¿ô¤Î¥ê¥ó¥¯:
-Ê£¿ô¤Î
-.B \-link
-¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Æ¡¢³°Éô¤ÇÀ¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤ËǤ°Õ¿ô¤Î¥ê¥ó¥¯¤òÀßÄê¤Ç¤¤Þ¤¹¡£Javadoc 1.2 ¤Ë¤Ï¡¢Ê£¿ô¤Î
-.B -link
-¥³¥Þ¥ó¥É¤òÄ󶡤Ǥ¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ð¥°¤Ï¡¢
-1.2.2 ¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£
-.LP
-¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥¥å¥á¥ó¥È¤´¤È¤ËÊ̤Υê¥ó¥¯¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+http://java.sun.com/j2se/1.5.0/docs/api/package\-list にあり、次のような内容で始まっています。
.nf
-% javadoc \-link extdocURL1 \-link extdocURL2 ... \-link extdocURLn com.mypackage
+\f3
+.fl
+ java.applet
+.fl
+ java.awt
+.fl
+ java.awt.color
+.fl
+ java.awt.datatransfer
+.fl
+ java.awt.dnd
+.fl
+ java.awt.event
+.fl
+ java.awt.font
+.fl
+ その他 ...
+.fl
+\fP
.fi
-.ft 1
+.LP
+\f2\-link\fP オプションを指定せずに javadoc を実行した場合、外部参照クラスに属する名前を見つけると、javadoc はその名前をリンクを持たない形で出力します。一方、\f2\-link\fP オプションを指定した場合は、指定した \f2extdocURL\fP にある \f2package\-list\fP ファイルから該当するパッケージ名が検索されます。パッケージ名が見つかると、\f2extdocURL\fP が名前の前に付加されます。
+.LP
+すべてのリンクが正しく機能するためには、外部参照のすべてのドキュメントが、指定した URL に存在していなければなりません。Javadoc ツールは、指定された package\-list が存在するかどうかを調べるだけで、指定された URL に目的のページが存在するかどうかはチェックしません。
+.LP
+\f3複数のリンク\fP \- 複数の \f2\-link\fP オプションを指定すると、生成された任意の数の外部ドキュメントに対してリンクを設定できます。Javadoc 1.2 には、複数の \f2\-link\fP オプションを指定できないというバグがあります。これは 1.2.2 で修正されました。
+.LP
+リンクする外部ドキュメントごとに、次のように別々のリンクオプションを指定します。
+.LP
+\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2...\fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP
+.LP
+\f2extdocURL1\fP、\f2extdocURL2\fP、... \f2extdocURLn\fP は、それぞれ外部ドキュメントのルートを指し、各ルートには \f2package\-list\fP という名前のファイルが入っています。
+.LP
+\f3クロスリンク\fP \- まだ生成されていない 2 つ以上のドキュメントをクロスリンクする場合は、「ブートストラップ」が必要になります。つまり、どのドキュメントについても \f2package\-list\fP が存在していない場合は、最初のドキュメントに対して javadoc ツールを実行する時点で、2 番目のドキュメントの \f2package\-list\fP がまだ存在していません。したがって、外部リンクを作成するには、2 番目のドキュメントを生成したあとで、最初のドキュメントを生成し直す必要があります。
+.LP
+この場合、最初のドキュメント生成の目的は、そのドキュメントの \f2package\-list\fP を作成することです。 パッケージ名をすべて把握している場合は、package\-list を手動で作成することもできます。次に、2 番目のドキュメントとその外部リンクを生成します。必要な外部の \f2package\-list\fP ファイルが存在しない場合、Javadoc ツールは警告を表示します。
+.LP
+.TP 3
+\-linkoffline\ extdocURL\ packagelistLoc
+このオプションは、\f2\-link\fP オプションを変えたものです。 どちらも、javadoc によって生成された外部参照クラスのドキュメントへのリンクを作成します。Javadoc ツール自体がオフラインになっているとき (Web 接続を使ってドキュメントにアクセスできないとき)、Web 上のドキュメントにリンクするには、\f2\-linkoffline\fP オプションを使用します。
+.LP
+厳密には、外部ドキュメントの \f2package\-list\fP ファイルにアクセスできないとき、またはこのファイルが \f2extdocURL\fP で指定された場所とは異なる場所 (通常、\f2packageListLoc\fP で指定可能なローカルな場所) に存在するとき、\f2\-linkoffline\fP を使用します。したがって、\f2extdocURL\fP に WWW 上でしかアクセスできない場合は、\f2\-linkoffline\fP を指定することにより、ドキュメントの生成時に javadoc ツールが Web に接続できなければならないという制約がなくなります。
+.LP
+さらに、ドキュメントを更新するための「ハッキング」としての使用も可能です。パッケージのセット全体に対して javadoc を実行したあと、変更した一部のパッケージだけに対して javadoc を実行します。 こうして、更新されたファイルを、オリジナルのファイルセットに挿入できるようにします。例をあとで示します。
+.LP
+\f2\-linkoffline\fP オプションは引数を 2 つ取ります。 最初の引数は \f2<a href>\fP リンクに組み込まれる文字列を指定する引数、2 番目の引数は \f2package\-list\fP の検索場所を指定する引数です。
+.RS 3
+.TP 2
+o
+\f4extdocURL\fP は、リンク先として指定する、javadoc によって生成された外部ドキュメントを含むディレクトリの絶対 URL または相対 URL です。相対リンクを使用する場合、\f2\-d\fP を使って、生成先ディレクトリからリンクされるパッケージのルートの相対パスを指定する必要があります。詳細は、\f2\-link\fP オプションの \f2extdocURL\fP を参照してください。
+.TP 2
+o
+\f4packagelistLoc\fP には、外部ドキュメントの \f2package\-list\fP ファイルが入っているディレクトリのパスまたは URL を指定します。これは、URL (http: または file:)or file:)とファイルパスのどちらでもかまいません。また、絶対パスと相対パスのどちらでも指定できます。相対パスの場合は、javadoc が実行されるカレントディレクトリからの相対パスとして指定します。\f2package\-list\fP というファイル名は含めないでください。
.RE
.LP
-.BR extdocURL1¡¢
-.BR extdocURL2¡¢...
-.BR extdocURLn
-¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥¥å¥á¥ó¥È¤Î
-¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+javadoc の 1 回の実行で、複数の \f2\-linkoffline\fP オプションを指定できます。1.2.2 より前は、複数のオプションを指定することはできませんでした。
.LP
-¥¯¥í¥¹¥ê¥ó¥¯ - ¤Þ¤ÀÀ¸À®¤µ¤ì¤Æ¤¤¤Ê¤¤ 2 ¤Ä°Ê¾å¤Î¥É¥¥å¥á¥ó¥È¤ò
-¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¡Ö¥Ö¡¼¥È¥¹¥È¥é¥Ã¥Ô¥ó¥°¡×¤¬É¬Íפˤʤ뤳¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¸À¤¤´¹¤¨¤ë¤È¡¢¤É¤Î¥É¥¥å¥á¥ó¥È¤Î
-.B package-list
-¤â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ºÇ½é¤Î¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤¿»þÅÀ¤Ç¤Ï¡¢2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤Î
-.B package-list
-¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢
-2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤ò
-À¸À®¤·¤¿¤¢¤È¡¢ºÇ½é¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·Ä¾¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¤³¤Î¾ì¹ç¡¢ºÇ½é¤Ë¹Ô¤¦¥É¥¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢
-.B package-list
-¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¤¹¤Ù¤ÆÇÄ°®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-.B package-list
-¤ò¼êÆ°¤ÇºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¼¡¤Ë¡¢2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤È
-¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢É¬Íפʳ°Éô¤Î
-.B package-list
-¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢·Ù¹ð¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.BI \-linkoffline " extdocURL packagelistLoc"
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.BR \-link
-¥ª¥×¥·¥ç¥ó¤òÊѤ¨¤¿¤â¤Î¤Ç¤¹¡£¤É¤Á¤é¤â¡¢javadoc ¤Ç
-À¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤¬¡Ö¥ª¥Õ¥é¥¤¥ó¡×¤Ç¡¢Web ¾å¤Î¥É¥¥å¥á¥ó¥È¤Ë
-¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢Web Àܳ·Ðͳ¤Ç¤Ï¥É¥¥å¥á¥ó¥È¤Ë
-¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤¿¤á¡¢
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¸·Ì©¤Ë¤Ï¡¢³°Éô¥É¥¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤È¤¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬ \f2extdocURL\fP ¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤È¤Ï°Û¤Ê¤ë¾ì½ê (Ä̾\f2packageListLoc\fP ¤Ç»ØÄê²Äǽ¤Ê¥í¡¼¥«¥ë¤Ê¾ì½ê) ¤Ë¸ºß¤¹¤ë¤È¤¡¢\f2\-linkoffline\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2extdocURL\fP ¤Ë WWW ¾å¤Ç¤·¤«¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-linkoffline\fP ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë javadoc ¥Ä¡¼¥ë¤¬ Web ¤ËÀܳ¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£
-.LP
-¤µ¤é¤Ë¡¢¥É¥¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î¡Ö¥Ï¥Ã¥¥ó¥°¡×¤È¤·¤Æ¤Î»ÈÍѤâ²Äǽ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤À¤±¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤¦¤·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Îã¤ò¤¢¤È¤Ç¼¨¤·¤Þ¤¹¡£
-.LP
-.BR \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Ë¤Ï 2 ¤Ä¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Ï
-<a href> ¥ê¥ó¥¯¤ËËä¤á¹þ¤àʸ»úÎ󡢤⤦ 1 ¤Ä¤Ï
-.BR package-list:
-¤Î¸¡º÷¾ì½ê¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu
-.I extdocURL
-¤Ï¡¢\f3javadoc\f1 ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë
-³°Éô¥É¥¥å¥á¥ó¥È¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ
-URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢
-À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\-d ¤Ç»ØÄê) ¤«¤é¤ÎÁêÂХѥ¹¤ò¡¢
-¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤ËÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤Î
-.I extdocURL
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-.I packagelistLoc
-¤Ë¤Ï¡¢³°Éô¥É¥¥å¥á¥ó¥È¤Î
-.B package-list
-¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤Þ¤¿¤Ï
-URL ¤ò»ØÄꤷ¤Þ¤¹¡£ URL (http: ¤Þ¤¿¤Ï file:)
-¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¡¢ÀäÂХѥ¹¤ÈÁêÂХѥ¹¤Î¤É¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢javadoc ¤¬¼Â¹Ô¤µ¤ì¤ë¸½ºß¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£
-.BR package-list
-¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤Ï´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-.LP
-.B javadoc
-¤Î 1 ²ó¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-1.2.2 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ê£¿ô¤Î¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
-.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤ò»È¤Ã¤¿Îã -
-.BR java.lang
-¡¢
-.BR java.io
-¡¢¤ª¤è¤Ó¤½¤Î¾¤Î Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ (\f2http://java.sun.com/j2se/1.5.0/docs/api\fP)
-¤Ë¥ê¥ó¥¯¤·¤¿¤¯¤Æ¤â¡¢Web ¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤
-¾ì¹ç¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
-.BR package-list
-¥Õ¥¡¥¤¥ë¤ò¥Ö¥é¥¦¥¶¤Ç³«¤ (\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP)¡¢
-¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢2 ÈÖÌܤΰú¿ô
-.I packagelistLoc
-¤Ç¤½¤Î¥í¡¼¥«¥ë¥³¥Ô¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¤È¤
-¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê
-¡Ö.¡×¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤à¡¢
-com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î
-Object ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹
-(\-sourcepath ¤Ê¤É¤Î¾¤ÎɬÍפʥª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
-.LP
-.RS
-.ft 3
+\f3外部ドキュメントへの絶対リンクを使った例\fP \- \f2http://java.sun.com/j2se/1.5.0/docs/api\fP 内の \f2java.lang\fP、\f2java.io\fP、、およびその他の Java 2 プラットフォームパッケージにリンクしたくても、Web にアクセスできない 場合について考えてみます。この場合は、ブラウザで
+.na
+\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/api/package\-list にある \f2package\-list\fP ファイルを開き、ローカルディレクトリに保存します。 さらに、2 番目の引数 \f2packagelistLoc\fP にこのローカルコピーの場所を指定します。この例では、パッケージリストファイルはカレントディレクトリ "\f2.\fP" に保存されています。次のコマンドは、Java 2 プラットフォーム API へのリンクを含む、\f2com.mypackage\fP パッケージのドキュメントを生成します。生成されたドキュメントには、たとえばクラスツリー内の \f2Object\fP クラスへのリンクが含まれています。\f2\-sourcepath\fP などの他の必要なオプションは表示されません。
.nf
+\f3
+.fl
% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤ò»È¤Ã¤¿Îã -
-.B \-linkoffline
-¤òÁêÂХѥ¹¤Ç»ØÄꤹ¤ë¤Î¤Ï¤¢¤Þ¤ê°ìÈÌŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾ï¤Ï¡¢
-.B \-link
-¤Ç½½Ê¬¤À¤«¤é¤Ç¤¹¡£
-.B \-linkoffline
-¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-.BR package-list
-¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Ç¡¢ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤â¥í¡¼¥«¥ë¤Ç¤¢¤ë¤Î¤¬ÉáÄ̤Ǥ¹¡£
-¤½¤Î¤¿¤á¡¢
-.B \-linkoffline
-¤Ë 2 ¤Ä¤Î°Û¤Ê¤ë°ú¿ô¤Î¥Ñ¥¹¤ò
-Í¿¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ 2 ¤Ä¤Î°ú¿ô¤¬Æ±¤¸¤Ç¤¢¤ë¾ì¹ç¡¢
-.B \-link
-¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.B \-link
-¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3外部ドキュメントへの相対リンクの使用例\fP \- 通常、\f2\-linkoffline\fP に相対パスを指定することはありません。 \f2\-link\fP で同じことができるからです。\f2\-linkoffline\fP を使用する際、\f2package\-list\fP には通常ローカルのファイルを指定します。 相対リンクを使用する際も、リンク先のファイルには通常ローカルのファイルを指定します。したがって、\f2\-linkoffline\fP の 2 つの引数に別々のパスを指定する必要はありません。2 つの引数が同一である場合は、\f2\-link\fP を使用できます。\f2\-link\fP の相対リンクの例を参照してください。
.LP
-package-list ¥Õ¥¡¥¤¥ë¤Î¼êÆ°ºîÀ® -
-.BR package-list
-¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ò¼«Ê¬¤ÇºîÀ®¤·¡¢
-.I packagelistLoc
-¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-com.apipackage ¤¬ºÇ½é¤ËºîÀ®¤µ¤ì¤¿¤È¤¤Ë
-com.spipackage ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¡¢
-°ÊÁ°¤Î¾ì¹ç¤¬¤½¤ÎÎã¤Ç¤¹¡£
-¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢
-¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-¤Þ¤¿¡¢Javadoc 1.0 ¤Þ¤¿¤Ï 1.1 ¤Ç¤Ï package-list ¥Õ¥¡¥¤¥ë¤¬
-À¸À®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤³¤ÎÊýË¡¤Ç¡¢¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç
-À¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î package-list ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-2 ¤Ä¤Î²ñ¼Ò¤¬Ì¤¸ø³«¤Î package-list ¥Õ¥¡¥¤¥ë¤ò
-¶¦Í¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤¿¤á¡¢¥¯¥í¥¹¥ê¥ó¥¯¤òÀßÄꤷ¤¿
-¥É¥¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+\f4package\-list\fP\f3 ファイルを手動で作成\fP \- \f2package\-list\fP ファイルがまだ存在しなくても、ドキュメントのリンク先のパッケージ名がわかっている場合は、このファイルを自分で作成し、\f2packagelistLoc\fP でそのパスを指定することができます。\f2com.apipackage\fP が最初に生成され、\f2com.spipackage\fP のパッケージリストが存在しないという前出の例を参照してください。この方法は、パッケージ名はわかっているものの、まだ公開されていない、新しい外部ドキュメントにリンクするドキュメントを生成する必要がある場合に便利です。また、\f2package\-list\fP ファイルが生成されない Javadoc 1.0 や 1.1 などで生成されたパッケージ向けに \f2package\-list\fP ファイルを作成するときにも、この方法を利用します。同様に、2 つの会社が未公開の \f2package\-list\fP ファイルを共有することもできるため、クロスリンクを設定したドキュメントを同時にリリースすることも可能です。
.LP
-Ê£¿ô¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯ -
-.B \-linkoffline
-¤Ï¡¢»²¾ÈÀè¤ÎÀ¸À®¥É¥¥å¥á¥ó¥È¤´¤È¤Ë 1 ¤Ä¤º¤Ä»ØÄꤷ¤Þ¤¹¡£
-¼¡¤ÎÎã¤Ç¤Ï¡¢¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë
-¥ª¥×¥·¥ç¥ó¤´¤È¤Ë¹Ô¤òʬ¤±¤Æ¤¤¤Þ¤¹¡£
+\f3複数のドキュメントへのリンク\fP \- \f2\-linkoffline\fP は、参照先の生成ドキュメントごとに 1 つずつ指定します。 次の例では、わかりやすくするためにオプションごとに行を分けています。
.LP
-.RS
-.ft 3
+\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP
+.br
+\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP
+.br
+\f2\ \ \ \ \ \ \ \ \ \ ...\fP
+.LP
+\f3ドキュメントの更新\fP \- 前述の \f2\-linkoffline\fP オプションのもうひとつの用途は、プロジェクトに大量のパッケージが含まれていて、すでにツリー全体に対して javadoc の実行が完了している場合に、次の実行では、少量の変更を手早く加えたあと、ソースツリーのごく一部に対してだけ javadoc を再実行する場合に便利です。これは、ドキュメンテーションコメントに対してだけ変更を加え、宣言は変更しない場合にのみ正しく処理されるので、ハッキングのようなものです。ソースコードの宣言を追加、削除、または変更した場合は、索引、パッケージツリー、継承されるメンバーのリスト、[使用] ページなどの場所で、リンクが壊れることがあります。
+.LP
+まず、今回の実行で使用する新しい生成先ディレクトリ (\f2update\fP) を作成します。元の生成先ディレクトリの名前が \f2html\fP だとします。もっとも単純な例では、\f2html\fP ディレクトリの親ディレクトリに移動 (cd) します。\f2\-linkoffline\fP の最初の引数にカレントディレクトリ "." を指定し、2 番目の引数に \f2html\fP への相対パスを指定します。 ここで、\f2package\-list\fP が検索されます。 更新対照のパッケージのパッケージ名だけを指定してください。
.nf
-.ta 18n
-% javadoc \-linkoffline docURL1 packagelistURL1 \\
- \-linkoffline docURL2 packagelistURL2 \\
-.ft 1
- ...
+\f3
+.fl
+ % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP
+.fl
.fi
-.RE
+Javadoc ツールの終了後、\f2update/com/package\fP 内の生成されたクラスのページをコピーし (概要や索引を除く)、\f2html/com/package\fP 内の元のファイルに上書きします。
.LP
-.B ¥É¥¥å¥á¥ó¥È¤Î¹¹¿·:
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Î¤â¤¦ 1 ¤Ä¤ÎÍÑÅӤϡ¢¥×¥í¥¸¥§¥¯¥È¤Ç¿¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤¤¡¢
-¤¹¤Ç¤Ë¥Ä¥ê¡¼Á´ÂΤËÂФ·¤Æ
-.B javadoc
-¤ò¼Â¹Ô¤·¤Æ¤¢¤ë¾ì¹ç¤Ë¡¢¼¡¤Î¼Â¹Ô¤Ç¤Ï¡¢¤¹¤Ð¤ä¤¯ºÙ¤«¤¤
-Êѹ¹¤ò¹Ô¤Ê¤Ã¤Æ¤«¤é¡¢¥½¡¼¥¹
-¥Ä¥ê¡¼¤Î°ìÉô¤ËÂФ·¤Æ¤À¤±
-.B javadoc
-¤ò¼Â¹Ô¤·Ä¾¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤³¤ì¤Ï¡¢
-Êѹ¹¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÂФ·
-¤Æ¤Ç¤¢¤ê¡¢¥·¥°¥Ë¥Á¥ã¤ËÂФ·¤Æ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤À¤±Àµ¾ï¤Ë
-½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¥Ï¥Ã¥¥ó¥°
-¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤ËÂФ·¤Æ¥·¥°¥Ë¥Á¥ã¤òÄɲá¢
-ºï½ü¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¡¢
-·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¤Î¥ê¥¹¥È¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Ê¤É¤Î¾ì½ê
-¤Ç²õ¤ì¤¿¥ê¥ó¥¯¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+.TP 3
+\-linksource\
+各ソースファイル (行番号付き) の HTML バージョンを作成し、標準 HTML ドキュメントからソースファイルへのリンクを追加します。リンクは、ソースファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。デフォルトコンストラクタ、生成されたクラスに対しては作成されません。
.LP
-¤Þ¤º¡¢¿·¤·¤¤¼Â¹Ô¤Î¤¿¤á¡¢¿·µ¬¤Î
-À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (update) ¤òºîÀ®¤·¤Þ¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò html ¤È¤·¤Þ¤¹¡£¤â¤Ã¤È¤â´Êñ¤ÊÎã¤È¤·¤Æ¡¢html ¤Î¿Æ¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-.B \-linkoffline
-¤Î 1 ÈÖÌܤΰú¿ô¤Ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¡Ö.¡×¤ò
-ÀßÄꤷ¡¢2 ÈÖÌܤΰú¿ô¤Ë package-list
-¤ò¸¡º÷¤¹¤ë¾ì½ê¤Ç¤¢¤ë html ¤Ø¤ÎÁêÂХѥ¹¤òÀßÄꤷ¤Þ¤¹¡£¹¹¿·¤·¤¿¤¤¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤òÅϤ·¤Þ¤¹¡£
+\f3このオプションは、\fP\f4\-public\fP\f3、\fP\f4\-package\fP\f3、\fP\f4\-protected\fP\f3、\fP\f4\-private\fP\f3 の各オプションとは関係なく、非公開のクラス、フィールド、非公開のメソッドの本体をはじめとする組み込まれたソースファイル内のすべての非公開実装の詳細を公開します。\fP\f2\-private\fP オプションを指定しないかぎり、非公開のクラスやインタフェースの一部には、リンクを介してアクセスできないことがあります。
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d update \-linkoffline . html com.mypackage
-.fi
-.ft 1
-.RE
-.LP
-.B javadoc
-¤Î¼Â¹Ô¤¬½ªÎ»¤·¤¿¤È¤¡¢
-.B update/com/package
-Æâ¤ËÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹ (³µÍפäº÷°ú¤Ç¤Ï¤Ê¤¤) ¤Ç¡¢
-html/com/package Æâ¤Ë¤¢¤ë¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¥³¥Ô¡¼¤·¤Þ¤¹¡£
-.TP
-\-linksource
-³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë (¹ÔÈÖ¹æÉÕ¤) ¤Î HTML ¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½à HTML ¥É¥¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿¡¢À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fP\f4\-public\fP\f3¡¢\fP\f4\-package\fP\f3¡¢\fP\f4\-protected\fP\f3¡¢\fP\f4\-private\fP\f3 ¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î\fP\f4¤¹¤Ù¤Æ¤Î\fP\f3Èó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fP\f2\-private\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÉô¤Ë¤Ï¡¢¥ê¥ó¥¯¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2Button\fP ¥¯¥é¥¹¤Î¥½¡¼¥¹¥³¡¼¥É¥Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖButton¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
+各リンクは、その宣言内の識別子名の上に作成されます。たとえば、\f2Button\fP クラスのソースコードヘのリンクは、「Button」という語の上に作成されます。
.nf
\f3
.fl
@@ -3886,7 +4903,7 @@
.fl
\fP
.fi
-Button ¥¯¥é¥¹¤Î \f2getLabel()\fP ¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖgetLabel¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
+Button クラスの \f2getLabel()\fP メソッドのソースコードへのリンクは、「getLabel」という語の上に作成されます。
.nf
\f3
.fl
@@ -3895,220 +4912,121 @@
\fP
.fi
.LP
-.TP
-.BI \-group " groupheading packagepattern:packagepattern:..."
-³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄê¤Î¥°¥ë¡¼¥×¤Ëʬ¤±¡¢
-¥°¥ë¡¼¥×ñ°Ì¤Çɽ¤òºîÀ®
-¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Î
-.B \-group
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Ï¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢1 ¤Ä¤Î¥°¥ë¡¼¥×Æâ¤Ç¤Ï
-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤é¤ì¤Þ¤¹¡£³Æ
-.B \-group
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢
-.I packagepattern
-¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë
-¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢¸«½Ð¤·
-.IR groupheading
-¤ò»ý¤Ä 1 ¤Ä¤Îɽ¤Ë¤Þ¤È¤á¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.RS
+.TP 3
+\-group\ groupheading\ packagepattern:packagepattern:...
+概要ページの複数のパッケージを、指定したグループに分けて、グループごとに表を作成します。各グループは、それぞれ別の \f2\-group\fP オプションで指定します。これらのグループは、コマンド行で指定した順序でページに表示されます。 各グループ内では、パッケージがアルファベット順に並べられます。指定した \f2\-group\fP オプションごとに、\f2packagepattern\fP 式のリストと一致するパッケージが、見出し \f2groupheading\fP を持つ 1 つの表にまとめて表示されます。
+.RS 3
.TP 2
-\(bu
-.I groupheading
-¤Ë¤ÏǤ°Õ¤Î¥Æ¥¥¹¥È¤ò»ØÄê¤Ç¤¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-»ØÄꤷ¤¿¥Æ¥¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£
+o
+\f4groupheading\fP には、任意のテキストを指定でき、空白を含めることができます。指定したテキストは、グループの表見出しになります。
.TP 2
-\(bu
-.I packagepattern
-¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤ÏǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèƬÉôʬ¤È¤½¤ì¤Ë³¤¯ 1 ¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (*)¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¡ÖǤ°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤ÆµöÍƤµ¤ì¤ë¤Î¤Ï¡¢¥¢¥¹¥¿¥ê¥¹¥¯¤À¤±¤Ç¤¹¡£1 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢
-¥³¥í¥ó (:) ¤Ç¶èÀڤä¿Ê£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+o
+\f4packagepattern\fP には、任意のパッケージ名、または任意のパッケージ名の先頭部分とそれに続く 1 つのアスタリスク (\f2*\fP) を指定できます。アスタリスクは、「任意の文字に一致する」という意味のワイルドカードです。ワイルドカードとして指定できるのは、アスタリスクだけです。1 つのグループには、コロン (\f2:\fP) で区切って複数のパターンを含めることができます。
+.RE
+.RS 3
+
.LP
-Ãí: ¥Ñ¥¿¡¼¥ó¤ä¥Ñ¥¿¡¼¥ó¥ê¥¹¥ÈÆâ¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò
-»È¤¦¾ì¹ç¤Ï¡¢"java.lang*:java.util"
-¤Î¤è¤¦¤Ë¡¢¥Ñ¥¿¡¼¥ó¥ê¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.B \-group
-¥ª¥×¥·¥ç¥ó¤¬ 1 ¤Ä¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢[¥Ñ¥Ã¥±¡¼¥¸]
-¤È¤¤¤¦¸«½Ð¤·¤ò»ý¤Ä 1 ¤Ä¤Î¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î
-Ãæ¤Ë¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¤É¤Î¥°¥ë¡¼¥×¤Ë¤âÆþ¤é¤Ê¤¤
-¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¤³¤Î¤è¤¦¤Ê
-¥Ñ¥Ã¥±¡¼¥¸¤Ï [¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸] ¤È¤¤¤¦¸«½Ð¤·¤ò
-»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£
+\f3注: パターンやパターンリスト内でアスタリスクを使う場合は、\fP\f4"java.lang*:java.util"\fP\f3 のように、パターンリストを引用符で囲む必要があります。\fP
.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë 4 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢
-¥³¥¢¥Ñ¥Ã¥±¡¼¥¸¡¢³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸¡¢
-¤ª¤è¤Ó¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ëʬ¤«¤ì¤Þ¤¹¡£
-\f3java.lang*\f1 ¤Ç¤Ï¡¢¸å³¤Î¥É¥Ã¥È¤¬¤Ê¤¤¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£\f3java.lang.*\f1 ¤Î¤è¤¦¤Ë¥É¥Ã¥È¤ò
-Æþ¤ì¤ë¤È¡¢
-.B java.lang
-¥Ñ¥Ã¥±¡¼¥¸¤Ï´Þ¤Þ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+.RE
.LP
-.RS
-.ft 3
+\f2\-group\fP オプションが指定されていない場合は、すべてのパッケージが、「パッケージ」という見出しの 1 つのグループに入れられます。ドキュメント化されるパッケージの中に、指定したグループのどのグループにも入らないパッケージがある場合、このようなパッケージは「その他のパッケージ」という見出しを持つ独立したグループに入れられます。
+.LP
+たとえば、次のようにオプションを指定すると、ドキュメント化される 5 つのパッケージは、コアパッケージ、拡張機能パッケージ、およびその他のパッケージに分けられます。「java.lang*」では、最後のドットを指定していないことに注目してください。 「java.lang.*」のようにドットを入れると、java.lang パッケージは除外されることになります。
.nf
-% javadoc \-group "Core Packages" "java.lang*:java.util"
- \-group "Extension Packages" "javax.*"
- java.lang java.lang.reflect java.util javax.servlet java.new
+\f3
+.fl
+ % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util"
+.fl
+ \-group "Extension Packages" "javax.*"
+.fl
+ java.lang java.lang.reflect java.util javax.servlet java.new\fP
+.fl
.fi
-.ft 1
+この結果、次のようなグループ化が行われます。
+.RS 3
+.RS 3
+.TP 3
+コアパッケージ
+\f2java.lang\fP
+\f2java.lang.reflect\fP
+\f2java.util\fP
+.TP 3
+拡張機能パッケージ
+\f2javax.servlet\fP
+.TP 3
+その他のパッケージ
+\f2java.new\fP
+.RE
+
+.LP
.RE
.LP
-¤³¤Î·ë²Ì¡¢¼¡¤Î¤è¤¦¤Ê¥°¥ë¡¼¥×²½¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+.TP 3
+\-nodeprecated
+推奨されない API をドキュメントに生成しないようにします。このオプションを指定すると、\-nodeprecatedlist オプションを指定した場合と同じ効果があることに加えて、ドキュメントのほかの部分全体でも、推奨されない API が生成されません。このオプションは、コードを記述しているとき、推奨されないコードによって気を散らされたくない場合に便利です。
.LP
-.RS
-.ft 3
+.TP 3
+\-nodeprecatedlist
+推奨されない API のリストを含むファイル (deprecated\-list.html)、およびナビゲーションバーのそのページへのリンクが生成されないようにします。ただし、ドキュメントのほかの部分では、推奨されない API が生成されます。このオプションは、推奨されない API がソースコードに含まれておらず、ナビゲーションバーをすっきりと見せたい場合に便利です。
+.LP
+.TP 3
+\-nosince
+生成ドキュメントから、@since タグに対応する「導入されたバージョン」 セクションを省略します。
+.LP
+.TP 3
+\-notree
+生成されるドキュメントからクラスおよびインタフェースの階層ページを省略します。これらのページには、ナビゲーションバーの「ツリー」ボタンからアクセスできます。デフォルトでは、階層が生成されます。
+.LP
+.TP 3
+\-noindex
+生成ドキュメントから、索引を省略します。デフォルトでは、索引が生成されます。
+.LP
+.TP 3
+\-nohelp
+出力の各ページの最上部と最下部にあるナビゲーションバーから [ヘルプ] リンクを省略します。
+.LP
+.TP 3
+\-nonavbar
+生成されるページの最上部と最下部に表示されるナビゲーションバー、ヘッダー、およびフッターを生成しないようにします。このオプションは、bottom オプションには影響を与えません。\f2\-nonavbar\fP オプションは、印刷するためだけにファイルを PostScript または PDF に変換する場合など、内容だけが重要で、ナビゲーションの必要がない場合に便利です。
+.LP
+.TP 3
+\-helpfile\ path/filename
+上部と下部のナビゲーションバーの [ヘルプ] リンクのリンク先となる代替ヘルプファイル \f2path/filename\fP のパスを指定します。このオプションが指定されていない場合、Javadoc ツールは、ハードコードされているヘルプファイル \f2help\-doc.html\fP を自動的に作成します。このオプションを使うと、そのデフォルトの動作をオーバーライドできます。\f2filename\fP にはどんなファイル名でも指定でき、\f2help\-doc.html\fP には限定されません。例を示します。
.nf
-Core Packages
- java.lang
- java.lang.reflect
- java.util
-Extension Packages
- javax.servlet
-Other Packages
- java.new
+\f3
+.fl
+ % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP
+.fl
.fi
-.ft 1
-.RE
-.RE
-.TP
-.B \-nodeprecated
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ò¥É¥¥å¥á¥ó¥È¤ËÀ¸À®¤¹¤ë¤³¤È¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢
-.B \-nodeprecatedlist
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî¤Ë²Ã¤¨¤Æ¡¢
-¥É¥¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤òÄ̤¸¤Æ¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤òÀ¸À®¤·¤Ê¤¤¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ½Ò¤·¤Æ¤¤¤Æ¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤¥³¡¼¥É¤ò̵»ë¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.B \-nodeprecatedlist
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È¤ò´Þ¤à
-¥Õ¥¡¥¤¥ë (\f3deprecated-list.html\f1) ¤ÎÀ¸À®¤ò¶Ø»ß
-¤·¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ËÀ¸À®¤¹¤ë¤³¤È¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥É¥¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤Ç¤Ï¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ÎÀ¸À®¤ò³¹Ô¤·¤Þ¤¹¡£¤³¤Î
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë
-´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ò
-¤¹¤Ã¤¤ê¤È¸«¤»¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.B \-nosince
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤é¡¢
-.BR @since
-¥¿¥°¤Ë´ØÏ¢¤·¤¿¡ÖSince¡×¥»¥¯¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
-.TP
-.B \-notree
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤é¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-³¬Áؤò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ä¥ê¡¼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-noindex
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤éº÷°ú¤ò¾Êά¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-º÷°ú¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-nohelp
-³Æ½ÐÎÏ¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Î
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤«¤é [¥Ø¥ë¥×] ¥ê¥ó¥¯¤ò
-¾Êά¤·¤Þ¤¹¡£
-.TP
-.B \-nonavbar
-À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥Ø¥Ã¥À¡¢
-¤ª¤è¤Ó¥Õ¥Ã¥¿¤ÎÀ¸À®¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢bottom ¥ª¥×¥·¥ç¥ó¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£
-.B \-nonavbar
-¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤À¤±¤Ë
-¥Õ¥¡¥¤¥ë¤ò PostScript ¤Þ¤¿¤Ï PDF ¤ËÊÑ´¹¤¹¤ë
-¾ì¹ç¤Ê¤É¡¢ÆâÍƤÀ¤±¤¬½ÅÍפǥʥӥ²¡¼¥·¥ç¥ó¤Î
-ɬÍ×À¤¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.BI \-helpfile " path/filename"
-¾åÉô¤È²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [¥Ø¥ë¥×] ¥ê¥ó¥¯¤Î
-¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂإإë¥×¥Õ¥¡¥¤¥ë
-.I path/filename
-¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¤Ï¡¢javadoc ¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¥Õ¥¡¥¤¥ë
-.B help-doc.html
-¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤
-¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤Î¤è¤¦¤Ê
-̾Á°¤â»ØÄê¤Ç¤¡¢\f3help-doc.html\f1 ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ
-¤»¤ó¡£
-.B javadoc
-¤Ï¡¢¤½¤ì¤Ë½¾¤Ã¤Æ¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë¤¢¤ë
-¥ê¥ó¥¯¤ËÄ´À°¤ò²Ã¤¨¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.RS
-.ft 3
+.TP 3
+\-stylesheetfile\ path/filename
+代替 HTML スタイルシートファイルのパスを指定します。このオプションが指定されていない場合、Javadoc ツールは、ハードコードされているスタイルシートファイル \f2stylesheet.css\fP を自動的に作成します。このオプションを使うと、そのデフォルトの動作をオーバーライドできます。\f2filename\fP にはどんなファイル名でも指定でき、\f2stylesheet.css\fP には限定されません。例を示します。
.nf
-% javadoc \-helpfile /home/doc/myhelp.html java.awt
+\f3
+.fl
+ % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP
+.fl
.fi
-.RE
-.RE
-.ft 1
-.TP
-.BI \-stylesheetfile " path/filename"
-ÂåÂØ HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤
-¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ÆâÉôŪ¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë
-¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë
-.BR stylesheet.css
-¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤¤Þ¤¹¡£
-filename ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤¡¢
-.BR stylesheet.css
-¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.TP 3
+\-serialwarn
+@serial タグがない場合は、コンパイル時に警告を生成します。デフォルトでは、Javadoc 1.2.2 以降のバージョンでは、直列化の警告は生成されません。1.2.2 より前の初期バージョンでは、警告が生成されます。このオプションを使用すると、直列化の警告が表示されるので、デフォルトの直列化可能フィールドと \f2writeExternal\fP メソッドを適切にドキュメント化するのに役立ちます。
.LP
-.RS
-.RS
-.ft 3
-.nf
-% javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage
-.fi
-.ft 1
-.RE
-.RE
-.TP
-.B \-serialwarn
-.B @serial
-¥¿¥°¤¬¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javadoc
-1.2.2 (¤ª¤è¤Ó¤½¤ì°Ê¹ß) ¤Ï
-.B @serial
-¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤»¤ó¡£
-(¤³¤ì¤Ï¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤ÏµÕ¤Ç¤¹¡£)
-.B @serial
-¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î
-ľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤È writeExternal ¥á¥½¥Ã¥É¤òÀµ¤·¤¯
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£
-.TP
-.BI \-charset " name"
-¤³¤Î¥É¥¥å¥á¥ó¥ÈÍѤΠHTML ʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢
+.TP 3
+\-charset\ name
+このドキュメント用の HTML 文字セットを指定します。この名前は、
.na
-\f2IANA Registry\fP
+\f2IANA Registry\fP @
.fi
-(http://www.iana.org/assignments/character\-sets) ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+http://www.iana.org/assignments/character\-sets で与えられた、推奨される MIME 名でなければなりません。例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP
.fl
.fi
-À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢¼¡¤Î¹Ô¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
+生成されるすべてのページの先頭に、次の行が挿入されます。
.nf
\f3
.fl
@@ -4116,35 +5034,34 @@
.fl
\fP
.fi
-¤³¤Î META ¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2
-¤Î
+この META タグについては、
.na
-\f2HTML ¤Îɸ½à\fP (4197265 ¤ª¤è¤Ó 4137321) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2HTML の標準\fP @
+.fi
+http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 および 4137321) を参照してください。
.LP
-\-encoding ¤È \-docencoding ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\-encoding および \-docencoding も参照してください。
.LP
.TP 3
\-docencoding\ name
-À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢
+生成される HTML ファイルのエンコーディングを指定します。この名前は、
.na
-\f2IANA Registry\fP
+\f2IANA Registry\fP @
.fi
-(http://www.iana.org/assignments/character\-sets) ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Ê¤¬¤é \-encoding ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥É¤Ï¡¢\-encoding ¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+http://www.iana.org/assignments/character\-sets で与えられた、推奨される MIME 名でなければなりません。このオプションを省略しながら \-encoding を使用した場合、生成される HTML ファイルのエンコードは、\-encoding によって決められます。例:
.nf
\f3
.fl
% \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP
.fl
.fi
-\-encoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\-encoding および \-charset も参照してください。
.LP
.TP 3
\-keywords
-HTML ¥á¥¿¥¡¼¥ï¡¼¥É¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥á¥¿¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¿¤¯¤Î¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤Ï¡¢¥Ú¡¼¥¸¤¬¥á¥¿¥¿¥°¤ò¸íÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥á¥¿¥¿¥°¤òÄ´¤Ù¤Þ¤»¤ó¡£°ìÊý¡¢¸¡º÷¤ò¼«¿È¤Î Web ¥µ¥¤¥È¤Ë¸ÂÄꤷ¤Æ¤¤¤ë´ë¶È¤Ç¤Ï¡¢¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥á¥¿¥¿¥°¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥á¥ê¥Ã¥È¤òÆÀ¤é¤ì¤Þ¤¹¡£
+HTML メタキーワードタグを、クラスごとに生成されるファイルに追加します。これらのタグは、メタタグを検索するサーチエンジンがページを見つける場合に役立ちます。インターネット全体を検索する多くのサーチエンジンは、ページがメタタグを誤用しているため、メタタグを調べません。 一方、検索を自身の Web サイトに限定している企業では、サーチエンジンがメタタグを調べることによってメリットを得られます。
.LP
-¥á¥¿¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ String ¤Ï¼¡¤Î¥¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£
+メタタグには、クラスの完全修飾名と、フィールドおよびメソッドの修飾されていない名前が含まれます。コンストラクタは、クラス名と同じであるため含まれません。たとえば、クラス String は次のキーワードで開始します。
.nf
\f3
.fl
@@ -4161,803 +5078,552 @@
.LP
.TP 3
\-tag\ \ tagname:Xaoptcmf:"taghead"
-Javadoc ¥Ä¡¼¥ë¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò 1 ¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¥¿¥° \f2@\fP\f2tagname\fP ¤ò²ò¼á¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Ï¥¿¥°Ì¾¤Î¡Ö¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¡×¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¥¿¥°¤Ë \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤à¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£º£²ó¤Î¼Â¹Ô¤Ç½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢\f2X\fP ¤òÉÕ¤±¤Æ̵¸ú¤Ë¤·¤Þ¤¹¡£
+Javadoc ツールがドキュメンテーションコメント内の引数を 1 つ取る単純なカスタムブロックタグ \f2@\fP\f2tagname\fP を解釈できるようにします。これにより、Javadoc ツールはタグ名の「スペルチェック」を行うことができるので、ソースコード内のすべてのカスタムタグに \f2\-tag\fP オプションを組み込むことをお勧めします。今回の実行で出力されないタグは、\f2X\fP を付けて無効にします。
.LP
-¥³¥í¥ó (\f4:\fP) ¤Ï¾ï¤Ë¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£\f2tagname\fP ¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°Ì¾¤Ç¤Î¥³¥í¥ó¤Î»ÈÍѡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コロン (\f4:\fP) は常に区切り文字になります。\f2tagname\fP でコロンを使用するには、「タグ名でのコロンの使用」を参照してください。
.LP
-\f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·¡Ö\f2taghead\fP¡×¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥¥¹¥È¤¬Â³¤¤Þ¤¹¡£°Ê²¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ö¥í¥Ã¥¯¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò 1 ¤Ä¼è¤ëɸ½à¤Î¥¿¥° (\f2@return\fP¡¢\f2@author\fP ¤Ê¤É) ¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\f2taghead\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2tagname\fP ¤¬¸«½Ð¤·¤È¤·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
+\f2\-tag\fP オプションは、タグの見出し「taghead」を太字で出力します。 その次の行には、このオプションの引数で指定したテキストが続きます。 以下の例を参照してください。ブロックタグと同様、この引数のテキストにはインラインタグを含めることができます。 このインラインタグも解釈されます。出力は、引数を 1 つ取る標準のタグ (\f2@return\fP、\f2@author\fP など) の出力とよく似ています。\f2taghead\fP を省略すると、\f2tagname\fP が見出しとして表示されます。
.LP
-\f3¥¿¥°¤ÎÇÛÃÖ\fP \- °ú¿ô¤Î \f4Xaoptcmf\fP Éôʬ¤Ï¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥¿¥°¤òÇÛÃ֤Ǥ¤ë°ÌÃ֤ȡ¢\f2X\fP ¤ò»È¤Ã¤Æ¤³¤Î¥¿¥°¤ò̵¸ú¤Ë¤Ç¤¤ë¤«¤É¤¦¤«¤òÆÃÄꤷ¤Þ¤¹¡£¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï \f4a\fP ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȤ߹ç¤ï¤»¤â²Äǽ¤Ç¤¹¡£
+\f3タグの配置\fP \- 引数の \f4Xaoptcmf\fP 部分は、ソースコード内のタグを配置できる位置と、\f2X\fP を使ってこのタグを無効にできるかどうかを特定します。タグの配置位置を制限しない場合は \f4a\fP を指定します。 それ以外の文字の組み合わせも可能です。 \f4X\fP (タグの無効化)
.br
-\f4X\fP (¥¿¥°¤Î̵¸ú²½)
+\f4a\fP (すべての位置)
.br
-\f4a\fP (¤¹¤Ù¤Æ¤Î°ÌÃÖ)
+\f4o\fP (概要)
.br
-\f4o\fP (³µÍ×)
+\f4p\fP (パッケージ)
.br
-\f4p\fP (¥Ñ¥Ã¥±¡¼¥¸)
+\f4t\fP (型すなわちクラスおよびインタフェース)
.br
-\f4t\fP (·¿¤¹¤Ê¤ï¤Á¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹)
+\f4c\fP (コンストラクタ)
.br
-\f4c\fP (¥³¥ó¥¹¥È¥é¥¯¥¿)
+\f4m\fP (メソッド)
.br
-\f4m\fP (¥á¥½¥Ã¥É)
-.br
-\f4f\fP (¥Õ¥£¡¼¥ë¥É)
+\f4f\fP (フィールド)
.LP
-¥·¥ó¥°¥ë¥¿¥°¤ÎÎã -
-¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤Î¾ì½ê¤Ç»ÈÍѤǤ¤ë
-¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.TP 3
-\-tag todo:a:"To Do:"
-.RE
-.LP
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤À¤±¤Ç @todo ¤ò
-»ÈÍѤµ¤»¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+\f3シングルタグの例\fP \- ソースコード内の任意の位置で使用で気るタグのタグオプションの例を示します。
.nf
-\-tag todo:cmf:"To Do:"
+\f3
+.fl
+ \-tag todo:a:"To Do:"
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¾åµ¤Ç¤Ï¡¢ËöÈø¤Î¥³¥í¥ó (:) ¤¬¥Ñ¥é¥á¡¼¥¿¤Î
-¶èÀڤ굹æ¤Ç¤Ï¤Ê¤¯¡¢É½¼¨¤Î¤È¤ª¤ê¡¢
-¸«½Ð¤·¥Æ¥¥¹¥È¤Î°ìÉô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¼¡¤Î¤è¤¦¤Ë¡¢@todo ¥¿¥°¤ò´Þ¤à¥½¡¼¥¹¥³¡¼¥É¤Ë
-¤É¤Á¤é¤«¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+@todo をコンストラクタ、メソッド、フィールドのみで使用する場合は、以下のオプションを使用します。
.nf
-@todo The documentation for this method needs work.
+\f3
+.fl
+ \-tag todo:cmf:"To Do:"
+.fl
+\fP
.fi
-.ft 1
-.LP
-¥¿¥°Ì¾¤Ë¥³¥í¥ó¤ò»ÈÍѤ¹¤ë \-
-¥³¥í¥ó (:) ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ë¤È¡¢
-¥³¥í¥ó¤ò¥¿¥°Ì¾¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.RS 5
+上の例の最後のコロン (\f2:\fP) は、パラメータ区切り子ですが、見出しテキストの一部になっています (以下の例を参照)。次の例のように、\f2@todo\fP タグを含むソースコードでは、いずれかのタグオプションを使用します。
.nf
-/**
-* @ejb:bean
-*/
-.RE
+\f3
+.fl
+ @todo The documentation for this method needs work.
+.fl
+\fP
+.fi
+\f3タグ名にコロンを使用する\fP \- コロン (:) をバックスラッシュでエスケープすると、コロンをタグ名に使用することができます。このドキュメンテーションコメントの中では、次のように使用します。
+.nf
+\f3
+.fl
+ /**
+.fl
+ * @ejb:bean
+.fl
+ */
+.fl
+\fP
+.fi
+でこのタグオプションを使用すると、
+.nf
+\f3
+.fl
+ \-tag ejb\\\\:bean:a:"EJB Bean:"
+.fl
+\fP
+.fi
+\f3タグ名のスペルチェック (タグの無効化)\fP \- ソースコード内に配置した一部のカスタムタグの出力を抑制したい場合があります。この場合も、ソースコード内にすべてのタグを配置し、出力を抑制しないタグを有効にし、出力を抑制するタグを無効にします。タグを無効にするには、\f2X\fP を指定します。指定しないと、そのタグは有効になります。 これにより、Javadoc ツールは、検出したタグが入力ミスなどによる未知のタグであるかどうかを特定できます。未知のタグを検出した場合、Javadoc ツールは警告を出力します。
+.LP
+すでに配置されている値に \f2X\fP を追加できます。 こうしておけば、\f2X\fP を削除するだけでタグを有効にすることができます。たとえば、@todo タグの出力を抑制したい場合、次のように指定します。
+.nf
+\f3
+.fl
+ \-tag todo:Xcmf:"To Do:"
+.fl
+\fP
+.fi
+さらに単純な指定方法もあります。
+.nf
+\f3
+.fl
+ \-tag todo:X
+.fl
+\fP
.fi
.LP
-¤Ç¤³¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
+構文 \f2\-tag todo:X\fP は、\f2@todo\fP が taglet で定義されている場合も有効です。
.LP
-.RS 5
+\f3タグの順序\fP \- \f2\-tag\fP (および \f2\-taglet\fP) オプションの順序によって、その出力順序が決定します。カスタムタグと標準タグを組み合わせて使用することもできます。標準タグのタグオプションは、順序を決定するためだけのプレースホルダです。これらは標準タグ名のみを使用します。(標準タグの小見出しは変更できません。)これについては、以下の例で説明します。
+.LP
+\f2\-tag\fP がない場合、\f2\-taglet\fP の位置によってその順序が決定します。タグが両方とも存在する場合、コマンド行の最後にあるほうがその順序を決定します。これは、タグやタグレットがコマンド行に指定された順番に処理されるためです。たとえば、\f2\-taglet\fP と \f2\-tag\fP の両方が todo という名前を持っている場合、コマンド行の最後にあるほうが順序を決定します。
+.LP
+\f3タグの完全セットの例\fP \- この例では、出力の「Parameters」と「Throws」の間に「To Do」を挿入します。X を使用して、@example が、ソースコード内の今回の実行では出力されないタグであることを指定します。@argfile を使用する場合は、次のように、引数ファイル内の別々の行にタグを配置できます。 行の継続を示す文字は不要です。
.nf
-\-tag ejb\\:bean:a:"EJB Bean:"
-.RE
-.LP
-¤È¤Ê¤ê¤Þ¤¹¡£
+\f3
+.fl
+ \-tag param
+.fl
+ \-tag return
+.fl
+ \-tag todo:a:"To Do:"
+.fl
+ \-tag throws
+.fl
+ \-tag see
+.fl
+ \-tag example:X
+.fl
+\fP
.fi
-.ft 1
-.RE
.LP
-¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯ (¥¿¥°¤Î̵¸ú²½) - ³«È¯¼Ô¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤ÎÃæ¤Ç½ÐÎϤǤ¤Ê¤¤¥«¥¹¥¿¥à¥¿¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¥½¡¼¥¹¥¿¥°¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥¿¥°¤ò¥ê¥¹¥È¤·¡¢½ÐÎϤ¹¤ë¥¿¥°¤ò͸ú²½¤·¡¢½ÐÎϤ·¤Ê¤¤¥¿¥°¤ò̵¸ú²½¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ X ¤ò»ÈÍѤ¹¤ë¤È¥¿¥°¤ò̵¸ú²½¤Ç¤¡¢¤³¤ì¤¬¤Ê¤¤¾ì¹ç¤Ï¥¿¥°¤¬Í¸ú¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤Îʸ»ú¤Î¸ºß¤Ë¤è¤Ã¤Æ¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬Ì¤ÃΤΥ¿¥°¤Ç¡¢¤ª¤½¤é¤¯ÄÖ¤ê´Ö°ã¤¤¤Ç¤¢¤ë¤ÈȽÃǤǤ¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+javadoc がドキュメンテーションコメントを解析する際に検出されたタグのうち、標準タグでも \f2\-tag\fP や \f2\-taglet\fP で渡されるタグでもないものは、未知のタグの見なされます。 この場合、警告がスローされます。
.LP
-¤¹¤Ç¤Ë¸ºß¤¹¤ë¡¢ÇÛÃÖ¤ò»ØÄꤹ¤ë°ú¿ô¤ÎÃÍ¤Ë X ¤òÄɲä·¤¿¾ì¹ç¡¢¥¿¥°¤ò͸ú¤Ë¤·¤¿¤¤¤È¤¤Ë X ¤òºï½ü¤Ç¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢@todo ¤¬½ÐÎϤ·¤¿¤¯¤Ê¤¤¥¿¥°¤Î¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+標準タグは、最初、デフォルトの順序でリスト内に内部的に格納されます。\f2\-tag\fP オプションを使用すると、このリストに追加されるタグ、すなわち標準タグの位置がデフォルトの位置から移動します。つまり、標準タグに \f2\-tag\fP オプションを付けなければ、これらはデフォルトの位置に配置されたままになります。
.LP
-.RS
-.ft 3
-.nf
-\-tag todo:Xcmf:"To Do:"
-.fi
-.ft 1
-.RE
+\f3競合の回避\fP \- 固有の名前空間を分割するには、パッケージに使用されている \f2com.mycompany.todo\fP のように、ドット (.) 区切りの命名規則を使用します。Sun は、今後も名前にドットを含まない標準タグを作成します。ユーザーが作成したタグは、Sun が提供する同じ名前のタグの動作をオーバーライドします。つまり、ユーザーが \f2@todo\fP という名前のタグまたはタグレットを作成している場合、Sun があとから同じ名前の標準タグを作成しても、そのタグまたはタグレットは元の動作を保持します。
.LP
-¤Þ¤¿¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤è¤ê´Êñ¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-tag todo:X
-.fi
-.ft 1
-.RE
-.LP
-\-tag todo:X ¤Î¹½Ê¸¤Ï¡¢@todo ¤¬¥¿¥°¥ì¥Ã¥È¤Ç
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤â͸ú¤Ç¤¹¡£
-.LP
-¥¿¥°¤Î½ç½ø -
-\-tag (¤ª¤è¤Ó \-taglet) ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë½¾¤Ã¤Æ
-¥¿¥°¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¥«¥¹¥¿¥à¥¿¥°¤Èɸ½à¥¿¥°¤ò
-º®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ɸ½à¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤Ï¡¢
-½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£
-¤³¤ì¤é¤Ïɸ½à¥¿¥°Ì¾¤À¤±¤ò»ÈÍѤ·¤Þ¤¹
-(ɸ½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó)¡£
-¤³¤ì¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
-\-tag ¤¬¤Ê¤¤¾ì¹ç¡¢\-taglet ¤Î¾ì½ê¤Ë¤è¤Ã¤Æ¤½¤Î½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£
-¤³¤Î 2 ¤Ä¤¬Î¾Êý¤¢¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë»ÈÍѤµ¤ì¤¿Êý¤¬
-½ç½ø¤ò·èÄꤷ¤Þ¤¹ (¤³¤ì¤Ï¡¢¥¿¥°¤È¥¿¥°¥ì¥Ã¥È¤¬¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ç»ÈÍѤµ¤ì¤¿½ç¤Ë½èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹)¡£
-¤¿¤È¤¨¤Ð¡¢\-taglet ¤È \-tag ¤¬Î¾Êý¤È¤â todo ¤È¤¤¤¦
-̾Á°¤Ç¤¢¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ç»ÈÍѤµ¤ì¤¿
-Êý¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£
-.LP
-¥¿¥°¤Î´°Á´¤Ê¥»¥Ã¥È¤ÎÎã -
-¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤΠParameters ¤È Throws ¤Î´Ö¤Ë
-To Do ¤òÁÞÆþ¤·¤Þ¤¹¡£ ¡ÖX¡×¤ò»ÈÍѤ·¤Æ¡¢@example ¤¬
-¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç
-¤¢¤ë¤³¤È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£ @argfile ¤ò»ÈÍѤ¹¤ë¤È¡¢
-¼¡¤Î¤è¤¦¤Ë¹Ô¤Î·Ñ³ʸ»ú¤Ê¤·¤Ç¡¢
-°ú¿ô¥Õ¥¡¥¤¥ë¤Î°Û¤Ê¤ë¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-tag param
-\-tag return
-\-tag todo:a:"To Do:"
-\-tag throws
-\-tag see
-\-tag example:X
-.fi
-.ft 1
-.RE
-.LP
-javadoc ¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¡¢
-¸¡½Ð¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¤Ê¤¯¡¢
-\-tag ¤ä \-taglet ¤ÇÅϤµ¤ì¤ë¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¡¢
-ÉÔÌÀ¤Ê¥¿¥°¤È¤·¤Æǧ¼±¤·¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£
-.LP
-ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç
-¥ê¥¹¥ÈÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-\-tag ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥¿¥°¤¬¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£
-ɸ½à¥¿¥°¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°ÜÆ°¤·¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢É¸½à¥¿¥°¤Ç \-tag ¥ª¥×¥·¥ç¥ó¤¬¾Êά¤µ¤ì¤ë¤È¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-¶¥¹ç¤Î²óÈò -
-¸ÇͤΥ͡¼¥à¥¹¥Ú¡¼¥¹¤òºÙ¤«¤¯Ê¬¤±¤ë¤Ë¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë com.mycompany.todo
-¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È (.) ¤ò¶èÀڤ굹æ¤È¤¹¤ë̾Á°¤ò»È¤¤¤Þ¤¹¡£
-Sun ¤Ïº£¸å¤â¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£
-¥æ¡¼¥¶¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Sun ¤¬ÄêµÁ¤·¤¿Æ±¤¸
-̾Á°¤Î¥¿¥°¤ÎÆ°ºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢¥æ¡¼¥¶¤¬ @todo ¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï
-¥¿¥°¥ì¥Ã¥È¤òºîÀ®¤·¤Æ¤¤¤¿¾ì¹ç¡¢¤½¤Î¤¢¤È¤Ç Sun ¤¬
-Ʊ¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤Æ¤â¡¢¥æ¡¼¥¶¤¬ÄêµÁ¤·¤¿
-Æ°ºî¤Ï¤½¤Î¤Þ¤Þ°Ý»ý¤µ¤ì¤Þ¤¹¡£
-.LP
-\f3Ãí¼á vs. Javadoc ¥¿¥°\fP \- °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤Ï javadoc ¥¿¥°¤Ë¤¹¤Ù¤¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤¹¤Ù¤¤Ç¤¹¡£
+\f3注釈 vs. Javadoc タグ\fP \- 一般に、追加する必要のあるマークアップが、ドキュメンテーションに影響を与えたりドキュメンテーションを生成したりするためのものである場合、そのマークアップは javadoc タグにすべきです。 それ以外の場合は注釈にすべきです。
.na
-¡Ö\f2Comparing Annotations and Javadoc Tags\fP¡×
+\f2「Comparing Annotations and Javadoc Tags」\fP @
.fi
-(http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotations) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotationsを参照してください。
.LP
-\-taglet ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê
-¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤ä¥«¥¹¥¿¥à¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò
-ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP
-\-taglet class
-¥¿¥°¤Î¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥¿¥°¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¥¿¥°¤¬»ý¤Ã¤Æ¤¤¤ë¥Æ¥¥¹¥È°ú¿ô¤Î
-¿ô¤âÄêµÁ¤·¤Þ¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤Ï¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±¼è¤ê¡¢
-½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤ÎÎã¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¥¿¥°¥ì¥Ã¥È¤Î³µÍפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ï¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ë
-»ÈÍѤ¹¤ë¤ÈÊØÍø¤Ç¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤Ç¤ÏǤ°Õ¤Î
-¿ô¤Î°ú¿ô¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¥«¥¹¥¿¥à¤ÎÆ°ºî¤ò¼ÂÁõ¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Æ¥¥¹¥È¤òÂÀ»ú¤Ë¤·¤¿¤ê¡¢²Õ¾ò½ñ¤·Á¼°¤Ë¤·¤¿¤ê¡¢
-¥Æ¥¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤½Ð¤·¤¿¤ê¡¢
-¾¤Î¥×¥í¥»¥¹¤òµ¯Æ°¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¤¹¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¤¹¤ë¤Ê¤É¤ÎÉûºîÍѤÏÆÀ¤é¤ì¤Þ¤¹¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
-.B \-tagletpath
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥Ú¡¼¥¸¤Î Parameters ¤È Throws ¤Î´Ö¤Ë
-To Do ¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-taglet com.sun.tools.doclets.ToDoTaglet
-\-tagletpath /home/taglets
-\-tag return
-\-tag param
-\-tag todo
-\-tag throws
-\-tag see
-.fi
-.ft 1
-.RE
-.LP
-.B \-taglet
-¥ª¥×¥·¥ç¥ó¤ò
-.B \-tag
-¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¤¬¡¢
-¤½¤Î·ë²Ì¡¢Æɤߤˤ¯¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-\-tagletpath tagletpathlist
-taglet ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (.class) ¤òõ¤¹¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-.I tagletpathlist
-¤Ë¤Ï¡¢¥³¥í¥ó (:) ¤Ç
-¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£
-.TP
-\-docfilessubdirs
-doc-files ¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢²¼¤Î³¬Áؤò´Þ¤á¤Æ¥³¥Ô¡¼
-¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤¹¤Ù¤Æ¤Î
-¥³¥ó¥Æ¥ó¥Ä¤¬¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ËºÆµ¢Åª¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.BR doc-files/example/images
-¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÃæ¤Î¥Õ¥¡¥¤¥ë¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£
-.TP
-\-excludedocfilessubdirs name1:name2:...
-doc-files ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢»ØÄꤵ¤ì¤¿
-̾Á°¤Î¤â¤Î¤ò½ü³°¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-SCCS ¤ª¤è¤Ó¤½¤Î¾¤Î¥½¡¼¥¹¥³¡¼¥É´ÉÍý¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£
-.TP
-\-noqualifier all | packagename1:packagename2:...
-½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¡¢½ÐÎϤΥ¯¥é¥¹Ì¾¤ÎÁ°¤«¤éºï½ü¤·¤Þ¤¹¡£
-\-noqualifier ¤Î°ú¿ô¤Ï
-all (¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤òºï½ü)¡¢
-¤Þ¤¿¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Î
-¤¤¤º¤ì¤«¤Ç¡¢½¤¾þ»Ò¤È¤·¤Æºï½ü¤µ¤ì¤Þ¤¹¡£
-¥ï¥¤¥ë¥É¥«¡¼¥É¤â»ÈÍѤǤ¤Þ¤¹¡£
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬
-ɽ¼¨¤µ¤ì¤¿¤È¤³¤í¤«¤éºï½ü¤µ¤ì¤Þ¤¹¡£
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier all
-.fi
-.ft 1
-.RE
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò java.lang
-¤ª¤è¤Ó java.io ¤ò¾Êά¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier java.lang:java.io
-.fi
-.ft 1
-.RE
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢java ¤ª¤è¤Ó com.sun ¤«¤é
-»Ï¤Þ¤ë (javax ¤ò½ü¤¯)
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤òºï½ü¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier java.*:com.sun.*
-.fi
-.ft 1
-.RE
-.LP
-¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾åµ¤ÎÆ°ºî¤Ë½¾¤Ã¤Æɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îµ¬Â§¤Ï¡¢
-\-noqualifier ¤¬
-»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÂ¸ºß¤·¤Þ¤¹¡£
-.TP
-.BI \-notimestamp
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£
-³Æ¥Ú¡¼¥¸ÀèƬ¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿ HTML Æâ¤Î
-HTML ¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£
-.B Javadoc
-¤ò 2 ¤Ä¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤ËÂФ·¤Æ
-diff ¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤Ã¤Æ diff ¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç
-ÊØÍø¤Ç¤¹ (¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢
-³Æ¥Ú¡¼¥¸¤Ç diff ¤Ë¤Ê¤ê¤Þ¤¹)¡£
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï
-.B Javadoc
-¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢
-¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.RS 5
- <!-- Generated by javadoc (build 1.5.0-internal)
- on Tue Jun 22 09:57:24 PDT 2004 -->
-.RE
-.TP
-\-nocomment
-µ½Ò¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥È
-ËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢
-¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤Î¤¿¤á¤Î¥¹¥±¥ë¥È¥ó¤ò
-ºîÀ®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-.SS ¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë
-.BR javadoc
-¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢
-.BR javadoc
-¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\-J ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤¬
-Æþ¤Ã¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à
-¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î
-.BR javadoc
-¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò
-¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¡¢Javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤òµ½Ò¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¶õÇòʸ»ú¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢
-¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢*.java ¤È¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç @ ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢
-Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤Þ¤¿¡¢\-J ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢
-µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-.BR javadoc
-¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤Î
-ÀèƬ¤Ë @ ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£
-.BR javadoc
-¤Ï¡¢@ ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã
-.LP
-argfile ¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤¹¤Ù¤Æ¤Î
-Javadoc °ú¿ô¤ò³ÊǼ¤·¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @argfile
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë
-2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã
-.LP
-Javadoc ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¤Ä¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍѤË
-1 ¤Ä¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
-¼¡¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
-.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à options ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-d docs-filelist
-\-use
-\-splitindex
-\-windowtitle 'Java 2 Platform v1.3 API Specification'
-\-doctitle 'Java<sup><font size="-2">TM</font></sup> 2\\
- Platform 5.0 API Specification'
-\-header '<b>Java 2 Platform </b><br><font size="-1">5.0</font>'
-\-bottom 'Copyright 1993-2000 Sun Microsystems, Inc. All Rights Reserved.'
-\-group "Core Packages" "java.*"
-\-overview /java/pubs/ws/1.5/src/share/classes/overview-core.html
-\-sourcepath /java/pubs/ws/1.5/src/share/classes
-.fi
-.ft 1
-.RE
-.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à packages ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-com.mypackage1
-com.mypackage2
-com.mypackage3
-.fi
-.ft 1
-.RE
-.LP
-¤½¤Î¤¢¤È¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @options @packages
-.fi
-.ft 1
-.RE
-.LP
-¥Ñ¥¹ÉÕ¤¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢path1 ¤ä
-path2 ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @path1/options @path2/packages
-.fi
-.ft 1
-.RE
-.LP
-¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÎÎã
-.LP
-¼¡¤Ë¡¢javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë
-³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢\-bottom ¥ª¥×¥·¥ç¥ó¤ò
-Îã¤Ë¼è¤ê¾å¤²¤Þ¤¹¡£¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢
-¤«¤Ê¤êŤ¤°ú¿ô¤ò»ØÄꤹ¤ë¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
-¤Þ¤º¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î¥Æ¥¥¹¥È°ú¿ô¤Ë¤Ê¤ë
-¼¡¤Î¤è¤¦¤ÊÆâÍƤò´Þ¤à¡¢bottom ¤È¤¤¤¦Ì¾Á°¤Î
-¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-'<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">
-Submit a bug or feature</a><br><br>Java is a
-trademark or registered trademark of
-Sun Microsystems, Inc. in the US and other
-countries.<br>Copyright 1993-2000 Sun
-Microsystems, Inc. 901 San Antonio Road,<br>Palo
-Alto, California, 94303, U.S.A.
-All Rights Reserved.</font>'
-.LP
-¤½¤Î¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+\-taglet オプションを使用して、より複雑なブロックタグやカスタムインラインタグを 作成することができます。
.LP
.TP 3
-% javadoc \-bottom @bottom @packages
-.LP
-¤Þ¤¿¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë
-\-bottom ¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤ó¤Ç¤ª¤±¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @bottom @packages
-.fi
-.ft 1
-.RE
-.TP
-.SH ¼Â¹Ô
-.SS Javadoc ¤Î¼Â¹Ô
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ -
-.LP
-javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï
-.BR javadoc \-J\-version
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç³Îǧ¤Ç¤¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï \-quiet ¥ª¥×¥·¥ç¥ó¤Ç¥ª¥Õ¤Ë¤Ç¤¤Þ¤¹¡£
-.LP
-¥×¥í¥°¥é¥à¤«¤éÍøÍѤǤ¤ë public ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -
-Java ¸À¸ì¤Ç½ñ¤«¤ì¤¿¥×¥í¥°¥é¥àÆ⤫¤é
-.B javadoc
-¥Ä¡¼¥ë¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï
-.BR com.sun.tools.javadoc.Main
-(javadoc ¤ÏºÆÆþ)
-¤Ë¤¢¤ê¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¡×
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f3¥É¥Ã¥¯¥ì¥Ã¥È¤Î¼Â¹Ô\fP \-
-²¼µ¤ÎÀâÌÀ¤Ï¡¢É¸½à HTML ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\-doclet ¤ª¤è¤Ó \-docletpath ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+\-taglet\ \ class
+そのタグのドキュメントの生成に使うドックレットを起動するためのクラスファイルを指定します。クラスの完全指定名を指定してください。このタグレットは、カスタムタグのテキスト引数の数も定義します。タグレットは、これらの引数を受け付け、処理し、出力を生成します。外部ドキュメントとサンプルタグレットについては、以下を参照してください。
+.RS 3
+.TP 2
+o
.na
-¡Ö\f2Running the MIF Doclet\fP¡×
+\f2「タグレットの概要」\fP @
.fi
-(http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html
+.RE
.LP
-.SH "»ÈÍÑÎã"
-.B javadoc
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢
-¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â
-¤Ç¤¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò
-»ý¤Á¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï
-.BR /home/src/java/awt/*java
-¤Ë¤¢¤ê¤Þ¤¹¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï
-.BR /home/html
-¤Ç¤¹¡£
-.SS "1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½"
-¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*\f3.java\f1)
-¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ä¥Ç¥£¥ì¥¯¥È¥ê
-Æâ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Ê£¿ô¤Î¼±Ê̻Ҥǹ½À®¤µ¤ì¤Æ¤¤¤ë
-(java.awt.color ¤Î¤è¤¦¤Ë¡¢³Æ¼±Ê̻ҤϥɥåȤÇ
-¶èÀÚ¤é¤ì¤Æ¤¤¤ë) ¾ì¹ç¤Ï¡¢¸å³¤Î³Æ¼±Ê̻Ҥ¬²¼°Ì¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÂбþ¤·¤Æ
-¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (java/awt/color ¤Ê¤É)¡£
-1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¿¤á¤ÎÊ£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢
-°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ëʬ¤±¤Æ
-³ÊǼ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹
- (
-.BR src1/java/awt/color
-¤È
-.BR src2/java/awt/color
-¤Ê¤É)¡£
-¤¿¤À¤·¡¢¤½¤Î¾ì¹ç¤Ï¡¢\-sourcepath ¤Ë¤è¤Ã¤Æ¡¢
-¤½¤ÎξÊý¤Î¾ì½ê¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+タグレットは、標準タグまたはインラインタグで便利です。タグレットは任意の数の引数をとることができます。 また、テキストを太字にする、箇条書きを作成する、テキストをファイルに書き出す、その他のプロセスを開始するなどのカスタム動作を実装できます。
.LP
-.B javadoc
-¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢cd ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ
-¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¤«¡¢
-¤Þ¤¿¤Ï
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 1 - 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¤Îµ¯Æ°¤òºÆµ¢Åª¤Ë¼Â¹Ô -
-¤³¤ÎÎã¤Ç¤Ï javadoc ¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¡¢
-.BR \-sourcepath
-¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë -subpackages (1.4 ¤Î¿·¥ª¥×¥·¥ç¥ó) ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢java ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (
-.BR java.net
-¤ª¤è¤Ó
-.BR java.lang
-¤ò¥ë¡¼¥È¤È¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò½ü¤¯) ¤ò½èÍý¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ
-.BR java.lang.ref (
-.BR java.lang
-¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-½ü³°¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+タグレットで指定できるのは、タグの配置場所と配置形式のみです。その他のすべての決定は、ドックレットによって行われます。タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガーするなどの副作用は得られます。
.LP
-.RS
-.ft 3
+タグレットのパスを指定するには、\f2\-tagletpath\fP オプションを使用します。以下は、生成されるページの「Parameter」と「Throws」の間に「To Do」タグレットを挿入する例です。
.nf
-% javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java.net:java.lang
+\f3
+.fl
+ \-taglet com.sun.tools.doclets.ToDoTaglet
+.fl
+ \-tagletpath /home/taglets
+.fl
+ \-tag return
+.fl
+ \-tag param
+.fl
+ \-tag todo
+.fl
+ \-tag throws
+.fl
+ \-tag see
+.fl
+\fP
.fi
-.ft 1
-.RE
.LP
-¾¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤ò½èÍý¤¹¤ë¤Ë¤Ï¡¢
-.BR java:javax:org.xml.sax
-¤Î¤è¤¦¤Ë¡¢¤½¤Î̾Á°¤ò
-.BR \-subpackages
-°ú¿ô¤ËÄɲä·¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 2 - ¥ë¡¼¥È¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤«¤éÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ò¼Â¹Ô -
-´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸¤Î
-¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë
-1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+\f2\-tag\fP オプションの代わりに \f2\-taglet\fP オプションを使用することもできますが、読みやすさを考慮するなら、\f2\-tag\fP オプションを使用したほうがよいでしょう。
.LP
-.RS
-.ft 3
+.TP 3
+\-tagletpath\ \ tagletpathlist
+taglet クラスファイル (.class) の検索パスを指定します。\f2tagletpathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパスの以下すべてのサブディレクトリを検索します。
+.LP
+.TP 3
+\-docfilessubdirs\
+\f2doc\-files\fP ディレクトリの深いコピーを有効にします。つまり、コピー先には、サブディレクトリとすべてのコンテンツがコピーされます。たとえば、\f2doc\-files/example/images\fP ディレクトリとその中のファイルがコピーされます。ここでも、サブディレクトリを除外する指定が可能です。
+.LP
+.TP 3
+\-excludedocfilessubdir\ \ name1:name2...
+所定の名前の \f2doc\-files\fP サブディレクトリを除外します。これにより、SCCS とその他のソースコード制御サブディレクトリのコピーを防ぎます。
+.LP
+.TP 3
+\-noqualifier\ \ all\ | \ packagename1:packagename2:...
+出力されるクラス名の先頭のパッケージ名 (パッケージ修飾子) を省略します。\f2\-noqualifier\fP の引数として \f2all\fP を指定した場合、すべてのパッケージ修飾子がすべて省略されます。 削除する複数のパッケージ名をコロンで区切って、ワイルドカードとともに指定することもできます。クラスまたはインタフェース名が表示される位置からパッケージ名が削除されます。
+.LP
+次の例では、すべてのパッケージ修飾子を省略します。
.nf
-% cd /home/src/
-% javadoc \-d /home/html java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier all
+.fl
+\fP
.fi
-.ft 1
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 3 - Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë - ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.B \-sourcepath
-¤Ë»ØÄꤷ¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¡¢
-.B javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+次の例では、パッケージ修飾子 java.lang および java.io を省略します。
.nf
- % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier java.lang:java.io
+.fl
+\fP
.fi
-.ft 1
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 4 - Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë - ¤³¤ì¤Ï¥±¡¼¥¹ 3 ¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¸ºß¤·¤Þ¤¹¡£ ³Æ¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤ò
-.B \-sourcepath
-¤Ë»ØÄꤷ (¥³¥í¥ó¤Ç¶èÀÚ¤ë)¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¡¢javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ 1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¡¢1 ¤Ä¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ñ¥¹¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«ÉÕ¤«¤ì¤Ð½½Ê¬¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
+次の例では、java で始まるパッケージ修飾子と com.sun というサブパッケージ (javax ではない) を省略します。
.nf
-% javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier java.*:com.sun.*
+.fl
+\fP
.fi
-.ft 1
-.RE
+パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短くされます。 詳細は「名前の表示方法」を参照してください。この規則は、\f2\-noqualifier\fP を使用したかどうかにかかわらず有効です。
.LP
-·ë²Ì: ¤É¤Á¤é¤Î¥±¡¼¥¹¤Ç¤â¡¢¥Ñ¥Ã¥±¡¼¥¸
-.B java.awt
-¤È
-.B java.awt.event
-¤Î public ¤ª¤è¤Ó protected
-¤Ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÂоݤˡ¢HTML ·Á¼°¤Î
-¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄê
-¤µ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f3/home/html\f1) ¤Ë HTML ¥Õ¥¡¥¤¥ë¤¬
-Êݸ¤µ¤ì¤Þ¤¹¡£2 ¤Ä
-°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¥É¥¥å¥á¥ó¥È¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢
-¤ª¤è¤Ó¥á¥¤¥ó¥Ú¡¼¥¸¤Î 3 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.SS "1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½"
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë 2 ÈÖÌܤÎÊýË¡¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (
-.B .java
-) ¤òÅϤ¹¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-1 ¤Ä¤Ï¡¢(cd ¤Ë¤è¤Ã¤Æ) ¥Ç¥£¥ì¥¯¥È¥ê¤ò
-Êѹ¹¤¹¤ëÊýË¡¡¢¤â¤¦ 1 ¤Ä¤Ï
-.B .java
-¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£
-ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÅϤ·¤¿¾ì¹ç¡¢
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Î
-¤è¤¦¤Ê¥³¥Þ¥ó¥É¹Ô¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 1 ¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î°ÜÆ°:
-.B .java
-¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+.TP 3
+\-notimestamp\
+タイムスタンプが抑制されます。 各ページ先頭近くにある、生成された HTML 内の HTML コメントでタイムスタンプが隠されます。Javadoc を 2 つのソースベースで実行し、それらに対して diff を実行するときにこのオプションを使用すると、タイムスタンプによって diff が発生しなくなるので便利です (このオプションを使用しないと、各ページで diff になります)。タイムスタンプには Javadoc のバージョン番号が含まれており、次のようになります。
.nf
-% cd /home/src/java/awt
-% javadoc \-d /home/html Button.java Canvas.java Graphics*.java
+\f3
+.fl
+ <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\->
+.fl
+\fP
.fi
-.ft 1
+.LP
+.TP 3
+\-nocomment\
+主説明およびすべてのタグを含むコメント本文全体を抑制し、宣言だけを生成します。このオプションにより、元は異なる目的のためだったソースファイルを再利用し、新しいプロジェクトの早い段階でスケルトン HTML ドキュメントを作成できるようになりました。
.RE
+.SH "コマンド行引数ファイル"
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ Button ¤È Canvas¡¢
-¤ª¤è¤ÓÀèƬ¤¬ Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Î
-HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.BR javadoc
-¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç¡¢
-¥É¥¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È
-¥á¥¤¥ó¥Ú¡¼¥¸¤Î 2 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 2 ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î°ÜÆ°:
-¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥ÈÆâ¤Ë¤¢¤ëÊ£¿ô¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸Ä¡¹¤Ë
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î
-¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò
-¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤Ç»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-% cd /home/src/
-% javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java
-.fi
-.ft 1
-.RE
+\f2javadoc\fP のコマンド行を短くしたり簡潔にしたりするために、\f2javadoc\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) が入った 1 つ以上のファイルを指定することができます。このことを利用すれば、どのオペレーティングシステム上でも、任意の長さの javadoc コマンドを作成できます。
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢Button ¥¯¥é¥¹¤ª¤è¤Ó Applet ¥¯¥é¥¹
-ÍѤΠHTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 3 ¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é:
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë
-.B .java
-¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹¤Þ¤¿¤Ï
-ÁêÂХѥ¹¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java
-.fi
-.ft 1
-.RE
+引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹
-.B Button
-¤ª¤è¤ÓÀèƬ¤¬
-.BR Graphics
-¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Î HTML ·Á¼°
-¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.RE
-.SS "¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½"
-¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë¥É¥¥å¥á¥ó¥È
-²½¤Ç¤¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¾å¤Ë¼¨
-¤·¤¿ 2 ¤Ä¤ÎÎã¤òÁȤ߹ç¤ï¤»¤¿Îã¤Ç¤¹¡£
-.B \-sourcepath
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ¤Þ¤¹¤¬¡¢
-¸Ä¡¹¤Î¥¯¥é¥¹¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍÑ
-¤Ç¤¤Þ¤»¤ó¡£
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java
-.fi
-.ft 1
-.RE
+引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸
-.B java.awt
-¤È¥¯¥é¥¹
-.B Applet
-¤Î HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤¬
-À¸À®¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¤Ï¡¢Applet ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¡¢
-.B Applet.java
-¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÀë¸À (Àë¸À¤¬¤¢¤ë¾ì¹ç) ¤«¤é·èÄꤷ¤Þ¤¹¡£
-.SS "»ÈÍÑÎã"
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢Â¿¤¯¤ÎÊØÍø¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢
-¤½¤ÎÃæ¤Î¤¤¤¯¤Ä¤«¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤è¤ê¤â¤è¤¯
-»È¤ï¤ì¤Þ¤¹¡£°Ê²¼¤Ï¡¢makefile ÊÑ¿ô¤ò»È¤Ã¤Æ Java ¥×¥é¥Ã¥È
-¥Õ¥©¡¼¥à API ¾å¤Ç
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¸ú²ÌŪ¤Ê¥³¥Þ¥ó¥É¤Ç¤¹¡£
-¤³¤³¤Ç¤Ï 180M ¥Ð¥¤¥È¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Æ¡¢
-Java 2 Platform, Standard Edition, v1.2 ¤Ë
-¸ºß¤¹¤ë¡¢Ìó 1500 ¸Ä¤Î public ¤ª¤è¤Ó protected
-¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
.LP
-Ʊ¤¸Îã¤ò 2 ²ó·ÇºÜ¤·¤Þ¤¹¡£ºÇ½é¤ÎÎã¤Ï¥³¥Þ¥ó¥É¹Ô¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¡¢2 ÈÖÌܤÎÎã¤Ï Makefile ¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¤¹¡£ ¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ËÀäÂХѥ¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤³¤Î
-.B javadoc
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.SS ¥³¥Þ¥ó¥É¹Ô¤ÎÎã
-¼¡¤Î¥³¥Þ¥ó¥É¹Ô¤ÎÎã¤Ï 900 ʸ»ú¤òĶ¤¨¤Æ¤¤¤ë¤¿¤á¡¢
-DOS ¤Ê¤É¤Î¥·¥§¥ë¤Ë¤ÏÂ礤¹¤®¤Þ¤¹¡£
-¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òµ½Ò¤·¤Þ¤¹¡£
+javadoc を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javadoc は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.LP
+.SS
+引数ファイルを 1 つ指定する例
+.LP
+.LP
+\f2argfile\fP という名前の引数ファイルにすべての Javadoc 引数を格納し、次のように使用することができます。
.LP
.nf
\f3
.fl
-% javadoc \-sourcepath /java/jdk/src/share/classes \\
+ % \fP\f3javadoc @argfile\fP
.fl
- \-overview /java/jdk/src/share/classes/overview.html \\
+.fi
+
+.LP
+.LP
+この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
+.LP
+.SS
+引数ファイルを 2 つ指定する例
+.LP
+.LP
+Javadoc オプション用に 1 つ、ソースファイル名用に 1 つというように、2 つの引数ファイルを作成し、次のようにして使用することができます。なお、このあとのリストでは、行の継続文字を使用していません。
+.LP
+.LP
+以下の内容を含む \f2options\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
.fl
- \-d /java/jdk/build/api \\
+ \-d docs\-filelist
.fl
- \-use \\
+ \-use
.fl
- \-splitIndex \\
+ \-splitindex
.fl
- \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+ \-windowtitle 'Java 2 Platform v1.3 API Specification'
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\
+ \-doctitle 'Java(TM) 2 Platform 5.0 API Specification'
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
+ \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>'
+.fl
+ \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.'
+.fl
+ \-group "Core Packages" "java.*"
+.fl
+ \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html
+.fl
+ \-sourcepath /java/pubs/ws/1.5/src/share/classes
+.fl
+\fP
+.fi
+
+.LP
+.LP
+以下の内容を含む \f2packages\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+ com.mypackage1
+.fl
+ com.mypackage2
+.fl
+ com.mypackage3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+そのあと、次のコマンドを使用して javadoc を実行します。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @options @packages\fP
+.fl
+.fi
+
+.LP
+.SS
+パス付きの引数ファイルの例
+.LP
+.LP
+引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @path1/options @path2/packages\fP
+.fl
+.fi
+
+.LP
+.SS
+オプションの引数の例
+.LP
+.LP
+次に、Javadoc オプションに対する引数だけを引数ファイルに格納する例を示します。ここでは、\f2\-bottom\fP を例に取り上げます。 そのオプションには、かなり長い引数を指定することがあるからです。まず、このオプションのテキスト引数になる次のような内容を含む、\f2bottom\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+'<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit a
+.fl
+bug or feature</a><br><br>Java is a trademark or registered trademark of
+.fl
+Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993\-2000 Sun
+.fl
+Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.
+.fl
+All Rights Reserved.</font>'
+.fl
+\fP
+.fi
+
+.LP
+.LP
+そのあと、次のようにして Javadoc ツールを実行します。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-bottom @bottom @packages\fP
+.fl
+.fi
+
+.LP
+.LP
+また、引数ファイルの先頭に \f2\-bottom\fP オプションを組み込んでおけば、次のようにして実行できます。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @bottom @packages\fP
+.fl
+.fi
+.SH "名前"
+実行
+.SH "Javadoc の実行"
+.LP
+.LP
+\f3バージョン番号\fP \- javadoc のバージョン番号を判別するには、\f3javadoc \-J\-version\fP を使用します。出力ストリームには標準ドックレットのバージョン番号が含まれます。\f2\-quiet\fP で無効にできます。
+.LP
+.LP
+\f3公開プログラムインタフェース\fP \- Java 言語で記述されたプログラムから Javadoc ツールを起動するとき使用します。このインタフェースは \f2com.sun.tools.javadoc.Main\fP にあります (javadoc は再入可能)。詳細は、
+.na
+\f2「標準ドックレット」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammaticallyを参照してください。
+.LP
+.LP
+\f3ドックレットの実行\fP \- 下記の説明は、標準 HTML ドックレットを呼び出すためのものです。カスタムドックレットを呼び出すには、\-doclet および \-docletpath オプションを使用します。特定のドックレットを実行した完全な例については、
+.na
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
+.LP
+.SH "簡単な例"
+.LP
+.LP
+javadoc は、パッケージ全体に対して実行することも、個々のソースファイルに対して実行することもできます。各パッケージ名は、それぞれのパッケージ名に対応するディレクトリ名を持ちます。次の例では、ソースファイルは \f2/home/src/java/awt/*.java\fP にあります。生成先ディレクトリは \f2/home/html\fP です。
+.LP
+.SS
+1 つ以上のパッケージのドキュメント化
+.LP
+.LP
+パッケージをドキュメント化するには、そのパッケージのソースファイル (\f2*.java\fP) が、パッケージと同じ名前を持つディレクトリ内に存在していなければなりません。パッケージ名が複数の識別子で構成されている (\f2java.awt.color\fP のように、各識別子はドットで区切られている) 場合は、後続の各識別子が下位のサブディレクトリに対応していなければなりません (\f2java/awt/color\fP など)。1 つのパッケージのための複数のソースファイルを、異なる場所にある 2 つのディレクトリツリーに分けて格納することも可能です (\f2src1/java/awt/color\fP と \f2src2/java/awt/color\fP など)。 ただし、その場合は、\f2\-sourcepath\fP によって、その両方の場所を指定しなければなりません。
+.LP
+.LP
+javadoc を実行するには、\f2cd\fP コマンドを使ってディレクトリを変更するか、または \f2\-sourcepath\fP オプションを使用します。以下の例では、両方の方法について説明します。
+.LP
+.RS 3
+.TP 2
+o
+\f3ケース 1 \- 1 つ以上のパッケージからの起動を再帰的に実行\fP \- この例では javadoc が任意のディレクトリから実行できるように、\-sourcepath を使用し、再帰的処理のために \-subpackages (1.4 の新オプション) を使用します。これは、\f2java\fP のサブパッケージ (\f2java.net\fP および \f2java.lang\fP をルートとするパッケージを除く) を処理します。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP
+.fl
+.fi
+.LP
+その他のパッケージツリーを巡回するには、\f2java:javax:org.xml.sax\fP のように、\f2\-subpackages\fP 引数にその名前を追加します。
+.TP 2
+o
+\f3ケース 2 \- ルートソースディレクトリに移ってから明示的なパッケージに対して実行\fP \- 完全指定のパッケージ名の親ディレクトリに移ります。次に、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/\fP
+.fl
+ % \f3javadoc \-d /home/html java.awt java.awt.event\fP
+.fl
+.fi
+.TP 2
+o
+\f3ケース 3 \- 任意のディレクトリから実行。 ソースファイルは 1 つのディレクトリツリー内にある\fP \- このケースでは、現在のディレクトリがどこであってもかまいません。最上位パッケージの親ディレクトリを \f2\-sourcepath\fP に指定し、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP
+.fl
+.fi
+.TP 2
+o
+\f3ケース 4 \- 任意のディレクトリから実行。 ソースファイルは複数のディレクトリツリー内にある\fP \- これはケース 3 と似ていますが、パッケージが複数のディレクトリツリーに存在します。それぞれのツリーのルートへのパスを \f2\-sourcepath\fP に指定し (コロンで区切る)、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。1 つのパッケージのすべてのソースファイルが、1 つのルートディレクトリの下に存在しなければならない、ということはありません。 ソースパスとして指定された場所のどこかで見つかれば十分です。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP
+.fl
+.fi
+.RE
+
+.LP
+.LP
+結果: 上記のどのケースでも、\f2java.awt\fP と \f2java.awt.event\fP パッケージ内の public および protected クラスとインタフェースについて、HTML 形式のドキュメントが生成され、指定された生成先ディレクトリ (\f2/home/html\fP) に HTML ファイルが保存されます。2 つ以上のパッケージが生成されているので、ドキュメントは、パッケージのリスト、クラスのリスト、およびメインのクラスページという 3 つのフレームを持つことになります。
+.LP
+.SS
+1 つ以上のクラスのドキュメント化
+.LP
+.LP
+また、1 つ以上のソースファイル (\f2.java\fP) を渡して、Javadoc ツールを実行することもできます。javadoc は、次の 2 つのどちらかの方法で実行できます。 1 つは、\f2cd\fP コマンドでディレクトリを変更する方法、もう 1 つは \f2.java\fP ファイルへのパスを完全指定する方法です。相対パスは、現在のディレクトリを起点とします。ソースファイル名を渡すときは、\f2\-sourcepath\fP オプションは無視されます。アスタリスク (*) のようなコマンド行ワイルドカードを使用すると、クラスのグループを指定できます。
+.LP
+.RS 3
+.TP 2
+o
+\f3ケース 1 \- ソースディレクトリに移る\fP \- \f2.java\fP ファイルのあるディレクトリに移ります。次に、ドキュメント化する 1 つ以上のソースファイルの名前を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/java/awt\fP
+.fl
+ % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP
+.fl
+.fi
+この例では、クラス \f2Button\fP と \f2Canvas\fP、および名前が \f2Graphics\fP で始まるクラスについて、HTML 形式のドキュメントが生成されます。パッケージ名ではなくソースファイルが javadoc に引数として渡されているので、ドキュメントは、クラスのリストとメインページという 2 つのフレームを持つことになります。
+.TP 2
+o
+\f3ケース 2 \- パッケージのルートディレクトリに移る\fP \- これは、同じルート内にある複数のサブパッケージの個々のソースファイルをドキュメント化する場合に便利です。パッケージのルートディレクトリに移り、各ソースファイルを、ルートからのパスとともに指定します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/\fP
+.fl
+ % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP
+.fl
+.fi
+この例では、\f2Button\fP クラスおよび \f2Applet\fP クラスについて、HTML 形式のドキュメントが生成されます。
+.TP 2
+o
+\f3ケース 3 \- 任意のディレクトリから\fP \- このケースでは、現在のディレクトリがどこであってもかまいません。ドキュメント化する \f2.java\fP ファイルへの絶対パス (または、現在のディレクトリからの相対パス) を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP
+.fl
+.fi
+この例では、クラス \f2Button\fP と、名前が \f2Graphics\fP で始まるクラスについて、HTML 形式のドキュメントが生成されます。
+.RE
+
+.LP
+.SS
+パッケージとクラスのドキュメント化
+.LP
+.LP
+パッケージ全体と個々のクラスを同時に指定してドキュメント化することもできます。次に前述の 2 つの例を組み合わせた例を示します。\f2\-sourcepath\fP は、パッケージへのパスに対しては使用できますが、個々のクラスのパスに対しては使用できません。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP
+.fl
+.fi
+
+.LP
+.LP
+この例では、パッケージ \f2java.awt\fP と、クラス \f2Applet\fP について、HTML 形式のドキュメントが生成されます。Javadoc ツールは、\f2Applet\fP のパッケージ名を、\f2Applet.java\fP ソースファイル内のパッケージ宣言 (その宣言がある場合) から判別します。
+.LP
+.SH "使用例"
+.LP
+.LP
+Javadoc ツールには多くの便利なオプションがあり、その中にはほかのオプションよりも頻繁に使われるものがあります。ここで紹介するのは、Java プラットフォーム API に対して Javadoc ツールを実行するときに使用する実際のコマンドです。Java 2 Platform, Standard Edition, v1.2 に存在する、約 1500 個の public および protected クラスについてドキュメントを生成するために、180M バイトのメモリーを使用しました。
+.LP
+.LP
+同じ例を 2 回掲載します。 最初の例はコマンド行から実行するもので、2 番目の例は Makefile から実行するものです。オプションの引数に絶対パスを使用しているため、任意のディレクトリからこの \f2javadoc\fP コマンドを実行できます。
+.LP
+.SS
+コマンド行の例
+.LP
+.LP
+次のコマンド行の例は 900 文字を超えているため、DOS などのシェルには大きすぎます。この制限を回避するには、コマンド行引数ファイルを使用します。 または、シェルスクリプトを記述します。
+.LP
+.nf
+\f3
+.fl
+% javadoc \-sourcepath /java/jdk/src/share/classes \\
+.fl
+ \-overview /java/jdk/src/share/classes/overview.html \\
+.fl
+ \-d /java/jdk/build/api \\
+.fl
+ \-use \\
+.fl
+ \-splitIndex \\
+.fl
+ \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+.fl
+ \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' \\
+.fl
+ \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
.fl
\-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -4967,9 +5633,9 @@
.fl
901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\
.fl
- \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
+ \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
.fl
- \-group "Extension Packages" "javax.*" \\
+ \-group "Extension Packages" "javax.*" \\
.fl
\-J\-Xmx180m \\
.fl
@@ -4980,24 +5646,17 @@
.LP
.LP
-¾åµ¤Î¥³¥Þ¥ó¥É¤Ç¡¢packages ¤Ï¡¢
-½èÍýÂоݤΥѥ屡¼¥¸Ì¾ (
-.BR java.applett
-.BR java.lang ¤Ê¤É) ¤¬
-Æþ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£ ³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢
-ñ°ì°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆ⦤ˤϡ¢
-²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢
-¤³¤ÎÎã¤ò¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢
-.B \-bottom
-¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤µ¤é¤Ë¡¢¤³¤Î¤¢¤È¤Î¡ÖÃí¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS Makefile ¤ÎÎã
-¤³¤³¤Ç¤Ï¡¢GNU Makefile ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-Windows ¤Î Makefile ¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+上記のコマンドで、\f2packages\fP は、処理対象のパッケージ名 (\f2java.applet java.lang\fP など) が入っているファイルの名前です。各オプションの、単一引用符で囲まれた引数の内側には、改行文字を挿入できません。たとえば、この例をコピー&ペーストする場合は、\f2\-bottom\fP オプションから改行文字を削除してください。さらに、このあとの「注」も参照してください。
+.LP
+.SS
+Makefile の例
+.LP
+.LP
+ここでは、GNU Makefile の例を示します。Windows の Makefile の例については、
.na
-¡Ö\f2creating a makefile for Windows\fP¡×
+\f2Windows の Makefile の作成方法\fP @
.fi
-(http://java.sun.com/j2se/javadoc/faq/index.html#makefiles) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/j2se/javadoc/faq/index.html#makefilesを参照してください。
.LP
.nf
\f3
@@ -5028,7 +5687,7 @@
.fl
java.lang java.lang.reflect \\ /* Sets packages to document */
.fl
- java.util java.io java.net \\
+ java.util java.io java.net \\
.fl
java.applet
.fl
@@ -5036,7 +5695,7 @@
.fl
WINDOWTITLE = 'Java 2 Platform v1.2 API Specification'
.fl
-DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification'
+DOCTITLE = 'Java(TM) 2 Platform v1.2 API Specification'
.fl
HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>'
.fl
@@ -5061,138 +5720,116 @@
.LP
.LP
-Makefile ¤Î°ú¿ô¤Ï¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£
-.SS Ãí
-.TP 2
-\(bu
-.B \-windowtitle
-¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥É¥¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤¬
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.B \-windowtitle
-¤Î¥Æ¥¥¹¥È¤Ï¡¢´ðËÜŪ¤Ë
-.B \-doctitle
-¤ÈƱ¤¸¤Ç¤¹¡£¤¿¤À¤·¡¢HTML ¥¿¥°¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
-HTML ¥¿¥°¤Ï¡¢¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¤½¤Î¤Þ¤Þ¤Î
-¥Æ¥¥¹¥È¤È¤·¤Æɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¤³¤ÎÎã¤Î¤è¤¦¤Ë
-.B \-footer
-¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¥Æ¥¥¹¥È¤¬
-¥Õ¥Ã¥¿¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.TP 2
-\(bu
-¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢
-.B \-classpath
-¤ª¤è¤Ó
-.BR \-link
-¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£
-
+Makefile の引数は、単一引用符で囲みます。
.LP
-.SH ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°
-.SS °ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°
-.TP 2
-\(bu
-Javadoc FAQ - ¤è¤¯ÌäÂê¤È¤Ê¤ë¥Ð¥°¤ä
-¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î
-¥Ò¥ó¥È¤Ï
-.na
-¡Ö\f2Javadoc FAQ\fP¡×
-.fi
-(http://java.sun.com/j2se/javadoc/faq/index.html#B) ¤Ë¤¢¤ê¤Þ¤¹¡£
-.TP 2
-\(bu
-¥Ð¥°¤ª¤è¤ÓÀ©¸Â»ö¹à - ¤Þ¤¿¡¢¥Ð¥°¤Î°ìÉô¤Ï¡¢
-.na
-¡Ö\f2Important Bug Fixes and Changes\fP¡×
-.fi
-(http://java.sun.com/j2se/1.5.0/fixedbugs/index.html) ¤Ç¤â»²¾È¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ - ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-͸ú¤Ê¥¯¥é¥¹¤À¤±¤ò¥É¥¥å¥á¥ó¥È²½ -
-javadoc ¤¬¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤È¤¡¢
-͸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤À¤±¤ò
-Æɤ߹þ¤à¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó (-) ¤Ê¤É¤ò´Þ¤á¤ë¤³¤È¤Ç¡¢
-javadoc ¤¬¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¤Ê¤¤¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£
-.SS ¥¨¥é¡¼¤È·Ù¹ð
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢
-¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô¤ËÂФ¹¤ë¹ÔÈֹ椬
-´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢doc ¥³¥á¥ó¥È¤ÎÆÃÄê¤Î
-¹Ô¤ËÂФ¹¤ë¹ÔÈÖ¹æ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-"error: cannot read: Class1.java" -
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.BR Class1.java
-¥¯¥é¥¹¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
-¥¯¥é¥¹Ì¾¤Ï¡¢ÀäÂХѥ¹¤Þ¤¿¤ÏÁêÂХѥ¹¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢./Class1.java ¤ÈƱ¤¸¤Ç¤¹¡£
.LP
-.SH "´Ä¶"
-.TP 20
-.SB CLASSPATH
-´Ä¶ÊÑ¿ô¤Ï¡¢
-.B javadoc
-¤¬¥æ¡¼¥¶¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë»È¤¦¡¢¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£´Ä¶ÊÑ¿ô¤Ï¡¢
-.B \-classpath
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï
-¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.RS 15
-.sp 1n
-.B .:/home/classes:/usr/local/java/classes
-.RE
-.br
-.ne 11
-.SH "´ØÏ¢¹àÌÜ"
+\f3注\fP
.LP
.RS 3
.TP 2
o
-javac
+\f2\-windowtitle\fP オプションを省略すると、Javadoc ツールによって、ドキュメントタイトルがウィンドウタイトルにコピーされます。\f2\-windowtitle\fP のテキストは、基本的に \f2\-doctitle\fP と同じです。 ただし、HTML タグは使用しません。 HTML タグは、ウィンドウタイトルにそのままのテキストとして表示されてしまいます。
.TP 2
o
-java
+この例のように \f2\-footer\fP オプションを省略すると、Javadoc ツールによって、ヘッダーテキストがフッターにコピーされます。
.TP 2
o
-jdb
+この例では必要ありませんが、\-\f2classpath\fP および \-\f2link\fP も重要なオプションです。
+.RE
+
+.LP
+.SH "トラブルシューティング"
+.LP
+.SS
+一般的なトラブルシューティング
+.LP
+.RS 3
.TP 2
o
-javah
+\f3Javadoc FAQ\fP \- 一般的なバグおよびトラブルシューティングのヒントは、
+.na
+\f2「Javadoc FAQ」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/faq/index.html#B で参照できます。
.TP 2
o
-javap
+\f3バグおよび制限事項\fP \- バグの一部は、「Important Bug Fixes and Changes」 でも参照できます。
.TP 2
o
+\f3バージョン番号\fP \- 「バージョン番号」を参照してください。
+.TP 2
+o
+\f3有効なクラスだけをドキュメント化\fP \- パッケージをドキュメント化するとき、Javadoc は、有効なクラス名で構成されているファイルのみを読み込みます。たとえば、ファイル名にハイフン「\-」を含めることで、javadoc によるファイルの解析を防ぐことができます。
+.RE
+
+.LP
+.SS
+エラーと警告
+.LP
+.LP
+エラーおよび警告メッセージには、ファイル名と宣言行 (ドキュメンテーションコメント内の特定の行ではない) の行番号が含まれます。
+.LP
+.RS 3
+.TP 2
+o
+\f2"error:cannot read:Class1.java"\fP Javadoc ツールはカレントディレクトリに Class1.java クラスをロードしようとしています。絶対パスまたは相対パスとともに表示されるクラス名は、この例の場合 \f2./Class1.java\fP と同じです。
+.RE
+
+.LP
+.SH "環境"
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+Javadoc がユーザークラスのファイルを探すときに使うパスを指定する環境変数です。この環境変数は、\f2\-classpath\fP オプションによってオーバーライドされます。ディレクトリは、次のようにコロンで区切ります。
+.:/home/classes:/usr/local/java/classes
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+javac(1)
+.TP 2
+o
+java(1)
+.TP 2
+o
+jdb(1)
+.TP 2
+o
+javah(1)
+.TP 2
+o
+javap(1)
+.TP 2
+o
+.na
+\f2Javadoc のホームページ\fP @
.fi
http://java.sun.com/j2se/javadoc/index.jsp
-¤Î
-.na
-¡Ö\f2Javadoc Home Page\fP¡×
.TP 2
o
+.na
+\f2How to Write Doc Comments for Javadoc\fP @
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
-¤Î
+.TP 2
+o
.na
-¡Ö\f2How to Write Doc Comments for Javadoc\fP¡×
+\f2クラスパスの設定\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general
.TP 2
o
-¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê
-.TP 2
-o
-javac ¤È javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡ (tools.jar)
+.na
+\f2javac と javadoc がクラスを検索する方法\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar)
.RE
.LP
.LP
-Javadoc ¤Ï¡¢Sun Microsystems, Inc ¤Î¾¦É¸¤Ç¤¹ (\f2javadoc\fP ¥³¥Þ¥ó¥É¼«ÂΤˤϾ¦É¸¥·¥ó¥Ü¥ë¤ÏÉÔÍ×)¡£
+javadoc は、Sun Microsystems, Inc の商標です (\f2javadoc\fP コマンド自体には商標シンボルは不要)。
diff --git a/jdk/src/linux/doc/man/ja/javah.1 b/jdk/src/linux/doc/man/ja/javah.1
index b78f9f5..94d076d 100644
--- a/jdk/src/linux/doc/man/ja/javah.1
+++ b/jdk/src/linux/doc/man/ja/javah.1
@@ -1,227 +1,160 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-'\"macro stdmacro
-.TH javah 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-javah \- C ¸À¸ì¤Î¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Î¥¸¥§¥Í¥ì¡¼¥¿
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javah 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+javah \- C ヘッダーとスタブファイルジェネレータ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3javah\fP は、Java クラスから C ヘッダーファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
+.fl
+javah_g [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
.LP
.LP
.LP
-\f3javah\fP ¤Ï¡¢Java ¥¯¥é¥¹¤«¤é C ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤È C ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤È¡¢C ¤Ê¤É¤Î¤½¤Î¾¤Î¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤òÀܳ¤·¡¢¥³¡¼¥É¤¬Áê¸ß¤ËºîÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+\f3javah\fP は、ネイティブメソッドを実装するために必要な C ヘッダーとソースファイルを生成します。作成されたヘッダーとソースファイルは、ネイティブソースコードからオブジェクトのインスタンス変数を参照するために C プログラムによって使用されます。.h ファイルは、対応するクラスと一致する配置を持つ構造体定義を含みます。構造体のフィールドは、クラスのインスタンス変数に対応します。
.LP
-.SH "·Á¼°"
-.B javah
-[
-.B options
-]
-.I fully-qualified-classname . . .
-.br
-.B javah_g
-[
-.B options
-]
-.I fully-qualified-classname . . .
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP"
-.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP"
-.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator"
-.B javah
-¥³¥Þ¥ó¥É¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤Î¤ËɬÍפÊ
-C
-¸À¸ì¤Î¥Ø¥Ã¥À¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-C
-¤Î¥×¥í¥°¥é¥à¤Ï¡¢
-À¸À®¤µ¤ì¤¿¥Ø¥Ã¥À¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢
-¥Í¥¤¥Æ¥£¥Ö¥½¡¼¥¹¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹
-ÊÑ¿ô¤ò»²¾È¤Ç¤¤Þ¤¹¡£
-.B .h
-¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤Ë¹ç¤Ã¤¿¥ì¥¤¥¢¥¦¥È¤Î
-¹½Â¤ÂÎÄêµÁ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-¹½Â¤ÂΤ˴ޤޤì¤ë¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹Æâ¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë
-Âбþ¤·¤Æ¤¤¤Þ¤¹¡£
.LP
-¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë̾¤ª¤è¤Ó¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÃæ¤ÇÄêµÁ¤µ¤ì¤ë¹½Â¤ÂÎ̾¤Ï¡¢
-¥¯¥é¥¹Ì¾¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£
-.B javah
-¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸ÆâÉô¤Ë¤¢¤ì¤Ð¡¢
-¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¥Õ¥¡¥¤¥ë̾¤ª¤è¤Ó¹½Â¤ÂÎ̾¤ÎÀèƬ¤ËÉղ䵤ì¤Þ¤¹¡£
-̾Á°¤Î´Ö¤Ï²¼Àþ
-(_)
-¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£
+ヘッダーファイルとその中で宣言される構造体の名前はクラスの名前から派生します。\f3javah\fP に渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダーファイル名と構造体名の両方に付加されます。下線 (_) が名前の区切り文字として使用されます。
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javah
-¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¸Ä¡¹¤Î¥¯¥é¥¹¤ËÂФ·¤Æ
-¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ÐÎϤ·¤Þ¤¹¡£
-.B \-stubs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.B \-o
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿Á´¥¯¥é¥¹¤ËÂФ¹¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë
-¤òÏ¢·ë¤·¤Æ
-1
-¸Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£
.LP
-¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-Java Native Interface (JNI)
-¤Ï¡¢¥Ø¥Ã¥À¾ðÊó¤ä¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£
-¤¿¤À¤·
-.B javah
-¥³¥Þ¥ó¥É¤Ï¸½ºß¤â JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ËɬÍפÊ
-¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-.B javah
-¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç JNI ·Á¼°¤Ç½ÐÎϤ·¡¢¤½¤Î·ë²Ì¤ò
-.B .h
-¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£
+デフォルトでは \f3javah\fP は、コマンド行にリストされる各クラスのヘッダーファイルを作成し、現在のディレクトリにファイルを置きます。ソースファイルを作成するには、\f2\-stubs\fP オプションを使用してください。1 つのファイルの中に、リストされたすべてのクラスの結果を連結するには、\f2\-o\fP オプションを使用してください。
.LP
-.B javah_g
-¤ÏÈóºÇŬ²½¥Ð¡¼¥¸¥ç¥ó¤Î
-.B javah
-¤Ç¡¢
-.B jdb
-¤Ê¤É¤Î¥Ç¥Ð¥Ã¥¬ÍѤλÈÍѤËŬ¤·¤Æ¤¤¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP 15
-.BI \-o " outputfile"
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ¹¤ë·ë²Ì¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¡¢
-.BR outputfile
-¤Ë³ÊǼ¤·¤Þ¤¹¡£
-.B \-o
-¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï
-.B \-d
-¥ª¥×¥·¥ç¥ó¤À¤±¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.TP 15
-.BI \-d " directory"
-.B javah
-¤¬¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤ò½ñ¤½Ð¤¹
-¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.B \-stubs
-Java ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é C ¸À¸ì¤ÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£
-.TP 15
-.B \-verbose
-¾ÜºÙ¾ðÊó¤Î½ÐÎϤòÍ׵ᤷ¤Þ¤¹¡£
-.B javah
-¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò
-.B stdout
-¤Ë½ñ¤½Ð¤·¤Þ¤¹¡£
-.TP 15
-.B \-help
-.B javah
-¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 15
-.B \-version
-javah ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 15
-.B \-jni
-JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¤Ê¥á¥½¥Ã¥É´Ø¿ô¤Î¥×¥í¥È¥¿¥¤¥×¤¬Æþ¤Ã¤¿½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò
-ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ÐÎϤǤ¢¤ë¤¿¤á¡¢
--B \-jni
-¤Ï¾Êά²Äǽ¤Ç¤¹¡£
-.TP 15
-.BI \-classpath " path"
-.B javah
-¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤¿¤á¤ËÍѤ¤¤ë¥Ñ¥¹¤ò
-.I path
-¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄêÃͤϡ¢¥Ç¥Õ¥©¥ë¥È¤ª¤è¤Ó
-.B CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄêÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ
-.I path
-¤ÎÄ̾ï¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.RS 20
-.sp 1n
.LP
-.BI .:< your_path >
-.sp 1n
-.RE
-.RS 15
+新しいネイティブメソッドインタフェースである Java Native Interface (JNI) は、ヘッダー情報またはスタブファイルを必要としません。 現在では、\f3javah\fP は、JNI 形式のネイティブメソッドに必要なネイティブメソッド機能プロトタイプを生成します。 デフォルトでは、\f3javah\fP は JNI 形式で出力され、その結果は .h ファイルに格納されます。
.LP
-¥Ñ¥¹¤Î»ØÄêÎ㡧
-.RE
-.RS 20
-.sp 1n
.LP
-.B .:/home/avh/classes:/usr/local/java/classes
-.sp 1n
-.RE
+\f3javah_g\fP は、jdb(1) のようなデバッガに適した、\f3javah\fP の最適化されていないバージョンです。
.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-o outputfile
+コマンド行にリストされたすべてのクラスに対して、結果のヘッダーまたはソースファイルを連結して \f2outputfile\fP に格納します。\f3\-o\fP または \f3\-d\fP のどちらか一方だけが使われます。
+.TP 3
+\-d directory
+\f3javah\fP がヘッダーファイルまたはスタブファイルを保存する、ディレクトリを設定します。\f3\-d\fP または \f3\-o\fP のどちらか一方だけが使われます。
+.TP 3
+\-stubs
+\f3javah\fP が、Java オブジェクトファイルから C 宣言を生成します。
+.TP 3
+\-verbose
+詳細出力を指定し、作成ファイルの状態に関するメッセージを、\f3javah\fP が標準出力に出力します。
+.TP 3
+\-help
+\f3javah\fP の使用法についてのヘルプメッセージを出力します。
+.TP 3
+\-version
+\f3javah\fP のバージョン情報を出力します。
+.TP 3
+\-jni
+JNI 形式のネイティブファイル機能プロトタイプを含む出力ファイルを、\f3javah\fP が作成します。これは標準出力であるため、\f3\-jni\fP の使用はオプションです。
+.TP 3
+\-classpath path
+クラスを探すために \f3javah\fP が使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
+.nf
+\f3
+.fl
+ .:<your_path>
+.fl
+\fP
+.fi
+例を示します。
+.nf
+\f3
+.fl
+ .:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
.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 ¥×¥í¥°¥é¥à¤Ïǧ¼±¤·¤Þ¤»¤ó¡£
-.TP 15
-.BI \-bootclasspath " path"
-bootstrap ¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢bootstrap
-¥¯¥é¥¹¤Ï¥³¥¢¤È¤Ê¤ë Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¡¢
-.B jre/lib/rt.jar
-¤ª¤è¤Ó¾¤Î½ÅÍ×¤Ê jar ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP 15
-.B \-old
-¸Å¤¤ JDK 1.0 ·Á¼°¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-.TP 15
-.B \-force
-¾ï¤Ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë½ñ¤¹þ¤à¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î»²¾È¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH "´Ä¶ÊÑ¿ô"
-.TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS 10
-.sp 1n
-.LP
-.B .:/home/avh/classes:/usr/local/java/classes
+たとえば、ディレクトリ \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 プログラムが展開されていないワイルドカードを認識することはありません。
+.TP 3
+\-bootclasspath path
+ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。
+.TP 3
+\-old
+古い JDK1.0 形式のヘッダーファイルを生成するように指定します。
+.TP 3
+\-force
+出力ファイルが常に書き込まれるように指定します。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割されています。
+.nf
+\f3
+.fl
+.:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-javac¡¢java¡¢jdb¡¢javap¡¢javadoc
+javac(1)、java(1)、jdb(1)、javap(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/javap.1 b/jdk/src/linux/doc/man/ja/javap.1
index 20bc5ab..0a888b5 100644
--- a/jdk/src/linux/doc/man/ja/javap.1
+++ b/jdk/src/linux/doc/man/ja/javap.1
@@ -1,117 +1,137 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-'\"macro stdmacro
-.TH javap 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-javap \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
+.SH "名前"
+javap \- Java クラスファイル逆アセンブラ
+.LP
+.RS 3
.LP
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£
+クラスファイルを逆アセンブルします。
.LP
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B javap
-[
-.B options
-]
-.IR class .\|.\|.
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java class file disassembler" "" "Java class file disassembler \(em \fLjavap\fP"
-.IX "javap" "" "\fLjavap\fP \(em Java class file disassembler"
-.B javap
-¥³¥Þ¥ó¥É¤Ï¡¢
-Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£
-½ÐÎÏÆâÍƤϥª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤ò
-1
-¤Ä¤â»ØÄꤷ¤Ê¤¤¤È¡¢
-.B javap
-¤ÏÅϤµ¤ì¤¿¥¯¥é¥¹¤Î
-.BR package¡¢
-.BR protected¡¢
-¤ª¤è¤Ó
-.B public
-¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£
-.B javap
-¥³¥Þ¥ó¥É¤Î½ÐÎÏÀè¤Ï
-.B stdout
-¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥¯¥é¥¹Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-.RS
+.RE
+.SH "形式"
+.LP
+
+.LP
.nf
\f3
+.fl
+javap [ \fP\f3options\fP\f3 ] class. . .
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3javap\fP コマンドは、クラスファイルを逆アセンブルします。その出力は指定するオプションにより異なります。オプションを指定しない場合、\f3javap\fP は、そのパッケージ、渡されたクラスの protected および public のフィールドとメソッドを出力します。 \f3javap\fP はその出力を標準出力に表示します。たとえば、次のクラス宣言をコンパイルするとします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
import java.awt.*;
+.fl
import java.applet.*;
+.fl
+.fl
public class DocFooter extends Applet {
- String date;
- String email;
+.fl
+ String date;
+.fl
+ String email;
+.fl
- public void init() {
- resize(500,100);
- date = getParameter("LAST_UPDATED");
- email = getParameter("EMAIL");
- }
+.fl
+ public void init() {
+.fl
+ resize(500,100);
+.fl
+ date = getParameter("LAST_UPDATED");
+.fl
+ email = getParameter("EMAIL");
+.fl
+ }
+.fl
- public void paint(Graphics g) {
- g.drawString(date + " by ",100, 15);
- g.drawString(email,290,15);
- }
+.fl
+ public void paint(Graphics g) {
+.fl
+ g.drawString(date + " by ",100, 15);
+.fl
+ g.drawString(email,290,15);
+.fl
+ }
+.fl
}
-\f1
+.fl
+\fP
.fi
.RE
+
.LP
-¤³¤Î¾ì¹ç¡¢
-.B javap DocFooter
-¤ò¼Â¹Ô¤¹¤ë¤È°Ê²¼¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤Þ¤¹¡£
-.RS
-\f3
+.LP
+\f3javap DocFooter\fP がもたらす出力は次のようになります。
+.LP
+.RS 3
+
+.LP
.nf
+\f3
+.fl
Compiled from DocFooter.java
+.fl
public class DocFooter extends java.applet.Applet {
- java.lang.String date;
- java.lang.String email;
- public void init();
- public void paint(java.awt.Graphics);
- public DocFooter();
+.fl
+ java.lang.String date;
+.fl
+ java.lang.String email;
+.fl
+ public DocFooter();
+.fl
+ public void init();
+.fl
+ public void paint(java.awt.Graphics);
+.fl
}
-\f1
+.fl
+\fP
.fi
+.RE
+
.LP
-\f3javap \-c DocFooter\fP ¤ò¼Â¹Ô¤¹¤ë¤È°Ê²¼¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤Þ¤¹¡£
+.LP
+\f3javap \-c DocFooter\fP がもたらす出力は次のようになります。
.LP
.RS 3
@@ -228,34 +248,35 @@
.RE
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
+.RS 3
.TP 3
\-help
-\f3javap\fP ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
+\f3javap\fP のヘルプメッセージを出力します。
.TP 3
\-l
-¹ÔÈÖ¹æ¤È¶É½êÊÑ¿ô¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹¡£
+行番号と局所変数テーブルを表示します。
.TP 3
\-b
-JDK 1.1 ¤Î \f3javap\fP ¤È¤Î²¼°Ì¸ß´¹À¤òÊݾڤ·¤Þ¤¹¡£
+JDK 1.1 の \f3javap\fP との下位互換性を保証します。
.TP 3
\-public
-public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
+public クラスおよびメンバーだけを表示します。
.TP 3
\-protected
-protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
+protected および public のクラスとメンバーだけを表示します。
.TP 3
\-package
-package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤¹¡£
+package、protected、および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。
.TP 3
\-private
-¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤òɽ¼¨¤·¤Þ¤¹¡£
+すべてのクラスとメンバーを表示します。
.TP 3
\-Jflag
-¥é¥ó¥¿¥¤¥à¥·¥¹¥Æ¥à¤ËľÀÜ \f2flag\fP ¤òÅϤ·¤Þ¤¹¡£»ÈÍÑÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+ランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。
.RS 3
.LP
@@ -271,21 +292,20 @@
.RE
.TP 3
\-s
-ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£
+内部の型シグニチャーを出力します。
.TP 3
\-c
-¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤Á Java ¥Ð¥¤¥È¥³¡¼¥É¤«¤éÀ®¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï
-.fi
-http://java.sun.com/docs/books/vmspec/
-¤Î
+クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは
.na
-¡Ö\f2Java Virtual Machine Specification\fP¡×¤Ë¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f2「Java Virtual Machine Specification」\fP @
+.fi
+http://java.sun.com/docs/books/vmspec/にドキュメント化されています。
.TP 3
\-verbose
-¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¡¢¤ª¤è¤Ó \f2locals\fP ¤È \f2args\fP ¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
+メソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。
.TP 3
\-classpath path
-\f3javap\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶ÊÑ¿ôÀßÄê¤ò¾å½ñ¤¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+\f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
.nf
\f3
.fl
@@ -293,7 +313,7 @@
.fl
\fP
.fi
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+例を示します。
.nf
\f3
.fl
@@ -303,27 +323,41 @@
.fi
.TP 3
\-bootclasspath path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
+ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。
.TP 3
\-extdirs dirs
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2java.ext.dirs\fP ¤Ë¤¢¤ê¤Þ¤¹¡£
-.LP
-.SH "´Ä¶ÊÑ¿ô"
-.TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.RS 10
-.B .:/home/avh/classes:/usr/local/java/classes
+インストールされた拡張機能を検索する場所をオーバーライドします。The default location for extensions is the value of \f2java.ext.dirs\fP.
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。 次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.RE
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-javac¡¢java¡¢jdb¡¢javah¡¢javadoc
+javac(1)、 java(1)、jdb(1)、javah(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/javaws.1 b/jdk/src/linux/doc/man/ja/javaws.1
index 2cf233b..b0a6250 100644
--- a/jdk/src/linux/doc/man/ja/javaws.1
+++ b/jdk/src/linux/doc/man/ja/javaws.1
@@ -1,31 +1,51 @@
-'\" t
-.\"
-.\" Copyright 2003-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH javaws 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-\fBjavaws \fP- Java Web Start µ¯Æ°¥³¥Þ¥ó¥É
-\fB
-.SH ·Á¼°
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javaws 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+
+.LP
+.SH "名前"
+\f2javaws\fP コマンド行
+.LP
+
+.LP
+.LP
+\
+.LP
+.SS
+NAME
+.LP
+.RS 3
+
+.LP
+.LP
+\f2javaws\fP \- Java Web Start 起動コマンド
+.LP
+.RE
+.SS
+形式
+.LP
.RS 3
.LP
@@ -36,21 +56,20 @@
\f2javaws [control\-options]\fP
.LP
.RE
-.SS
-¥Ñ¥é¥á¡¼¥¿
+.SS
+パラメータ
.LP
.RS 3
.LP
.LP
-[run\-options]
+\f2[run\-options]\fP
.LP
.RS 3
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¼Â¹Ô¥ª¥×¥·¥ç¥ó¡£
-¼Â¹Ô¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£¸Ä¡¹¤Î¼Â¹Ô¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¼Â¹Ô¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コマンド行実行オプション。 実行オプションは任意の順序で指定できます。各種オプションについては、下の 「実行オプション」を参照してください。
.LP
.RE
.LP
@@ -60,7 +79,7 @@
.LP
.LP
-¥Ñ¥¹¤Þ¤¿¤Ï JNLP (Java Network Launching Protocol) ¥Õ¥¡¥¤¥ë¤Î URL (Uniform Resource Locater) ¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+JNLP (Java Network Launching Protocol) ファイルのパスまたは URL (Uniform Resource Locator) のどちらかです。
.LP
.RE
.LP
@@ -70,28 +89,28 @@
.LP
.LP
-¥³¥Þ¥ó¥É¹ÔÀ©¸æ¥ª¥×¥·¥ç¥ó¡£À©¸æ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£¸Ä¡¹¤ÎÀ©¸æ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÀ©¸æ¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コマンド行制御オプション。 制御オプションは任意の順序で指定できます。各種オプションについては、下の 「制御オプション」を参照してください。
.LP
.RE
.RE
-.SS
-µ¡Ç½ÀâÌÀ
+.SS
+説明
.LP
.RS 3
.LP
.LP
-\fBjavaws\fP ¥³¥Þ¥ó¥É¤Ë¤è¤ê JNLP (Java Network Launching Protocol) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤¢¤ë Java Web Start ¤òµ¯Æ°¤Ç¤¤Þ¤¹¡£Java Web Start ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ËÃÖ¤«¤ì¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£
+\f2javaws\fP コマンドは、JNLP (Java Network Launching Protocol) のリファレンス実装である Java Web Start を起動します。Java Web Start は、ネットワーク上で動作する Java アプリケーションまたはアプレットを起動します。
.LP
.LP
-JNLP ¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤È¡¢\fBjavaws\fP ¤Ï JNLP ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£
+JNLP ファイルを指定すると、\f2javaws\fP は JNLP ファイルに指定された Java アプリケーションまたはアプレットを起動します。
.LP
.LP
-¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë \f2javaws\fP µ¯Æ°¥Ä¡¼¥ë¤Î°ìÏ¢¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f2javaws\fP 起動ツールには、現在のリリースでサポートされている 1 組のオプションがあります。ただし、これらのオプションは将来のリリースでは削除される可能性があります。
.LP
.RE
-.SS
-¼Â¹Ô¥ª¥×¥·¥ç¥ó
+.SS
+実行オプション
.LP
.RS 3
@@ -103,7 +122,7 @@
.LP
.LP
-Java Web Start ¤ò¥ª¥Õ¥é¥¤¥ó¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
+Java Web Start をオフラインモードで実行します。
.LP
.RE
.LP
@@ -113,7 +132,7 @@
.LP
.LP
-½é´ü¥¹¥×¥é¥Ã¥·¥å²èÌ̤Îɽ¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
+最初のスプラッシュ画面の表示を無効にします。
.LP
.RE
.LP
@@ -123,8 +142,7 @@
.LP
.LP
-jnlp ¥Õ¥¡¥¤¥ë¤Î°ú¿ô¤ò \f2\-open <arguments> ¤ÈÃÖ¤´¹¤¨¤Þ¤¹¡£
-\fP.
+このオプションを指定すると、JNLP ファイル内の引数が \f2\-open <arguments>\fP に置き換わります。
.LP
.RE
.LP
@@ -134,7 +152,7 @@
.LP
.LP
-jnlp ¥Õ¥¡¥¤¥ë¤Î°ú¿ô¤ò \f2\-print <arguments>\fP ¤ÈÃÖ¤´¹¤¨¤Þ¤¹¡£
+このオプションを指定すると、JNLP ファイル内の引数が \f2\-print <arguments>\fP に置き換わります。
.LP
.RE
.LP
@@ -144,7 +162,7 @@
.LP
.LP
-¥ª¥ó¥é¥¤¥ó¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî)¡£
+オンラインモードで実行します (デフォルトの動作)。
.LP
.RE
.LP
@@ -154,7 +172,7 @@
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤Þ¤Ç \f2javaws\fP ¥×¥í¥»¥¹¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£
+このオプションを指定すると、アプリケーションが終了するまで \f2javaws\fP プロセスは終了しません。
.LP
.RE
.LP
@@ -164,7 +182,7 @@
.LP
.LP
-ÄɲäνÐÎϤòɽ¼¨¤·¤Þ¤¹¡£
+追加の出力を表示します。
.LP
.RE
.LP
@@ -174,7 +192,7 @@
.LP
.LP
-vm ¤Ë¥ª¥×¥·¥ç¥ó¤òÊ䤤¤Þ¤¹¡£
+vm にオプションを補います。
.LP
.RE
.LP
@@ -184,12 +202,12 @@
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¤«¤é¤Î¤ß¼Â¹Ô¤·¤Þ¤¹¡£
+アプリケーションをシステムキャッシュからのみ実行します。
.LP
.RE
.RE
-.SS
-À©¸æ¥ª¥×¥·¥ç¥ó
+.SS
+制御オプション
.LP
.RS 3
@@ -201,7 +219,7 @@
.LP
.LP
-Java ¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ç¥¥ã¥Ã¥·¥å¥Ó¥å¡¼¥¢¤òɽ¼¨¤·¤Þ¤¹¡£
+Java コントロールパネルでキャッシュビューアを表示します。
.LP
.RE
.LP
@@ -211,7 +229,7 @@
.LP
.LP
-»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
+指定された配備プロパティーをクリアします。
.LP
.RE
.LP
@@ -221,7 +239,7 @@
.LP
.LP
-»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£
+指定された配備プロパティーを指定された値に設定します。
.LP
.RE
.LP
@@ -231,7 +249,7 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤«¤é¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
+キャッシュからすべてのアプリケーションを削除します。
.LP
.RE
.LP
@@ -241,7 +259,7 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤«¤é¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
+キャッシュからアプリケーションを削除します。
.LP
.RE
.LP
@@ -251,10 +269,10 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+キャッシュにアプリケーションをインポートします。
.LP
.RE
-¥¤¥ó¥Ý¡¼¥È¥ª¥×¥·¥ç¥ó
+\f3インポートオプション\fP
.LP
.LP
\f2\-silent\fP
@@ -263,7 +281,7 @@
.LP
.LP
-¥µ¥¤¥ì¥ó¥È¥â¡¼¥É¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹ (UI ¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
+サイレントモードでインポートします (UI は表示されません)。
.LP
.RE
.LP
@@ -273,7 +291,7 @@
.LP
.LP
-¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+システムキャッシュにアプリケーションをインポートします。
.LP
.RE
.LP
@@ -283,7 +301,7 @@
.LP
.LP
-Ǥ°Õ¤Î codebase ¤«¤é¥ê¥½¡¼¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
+任意の codebase からリソースを取得します。
.LP
.RE
.LP
@@ -293,7 +311,7 @@
.LP
.LP
-¥æ¡¼¥¶µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£
+ユーザー許容プロンプトのようにショートカットをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。
.LP
.RE
.LP
@@ -303,20 +321,43 @@
.LP
.LP
-¥æ¡¼¥¶µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë´ØÏ¢ÉÕ¤±¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£
+ユーザー許容プロンプトのように関連付けをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。
.LP
.RE
.RE
-.SS
-.SH ¥Õ¥¡¥¤¥ë
+.SS
+ファイル
.LP
-¥æ¡¼¥¶¥¥ã¥Ã¥·¥å¡¢¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¡¢¤ª¤è¤Ó deployment.properties ¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢
+.RS 3
+
+.LP
+.LP
+ユーザーキャッシュ、システムキャッシュ、および deployment.properties ファイルについては、
.na
-¡Ö\f2System\- and User\-Level Properties\fP¡×
+\f2システムレベルおよびユーザーレベルのプロパティー\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH ¾ÜºÙ¾ðÊó
-Java Web Start ¤Î¾ÜºÙ¤Ï¡¢
-http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.htmlを参照してください。
+.LP
+.RE
+.SS
+詳細情報
+.LP
+.RS 3
+
+.LP
+.LP
+Java Web Start の詳細は、
+.na
+\f2「Java Web Start」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.htmlを参照してください。
+.LP
+.RS 3
+
+.LP
+.LP
+\
+.LP
+.RE
+.RE
+
diff --git a/jdk/src/linux/doc/man/ja/jconsole.1 b/jdk/src/linux/doc/man/ja/jconsole.1
index 7aa75e9..9b10de5 100644
--- a/jdk/src/linux/doc/man/ja/jconsole.1
+++ b/jdk/src/linux/doc/man/ja/jconsole.1
@@ -1,31 +1,51 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH "jconsole" 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jconsole \- Java ´Æ»ë/´ÉÍý¥³¥ó¥½¡¼¥ë
-.SH ·Á¼°
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jconsole 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jconsole \- Java 監視および管理コンソール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -39,49 +59,63 @@
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
+.RS 3
.TP 3
-options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
+options
+オプションを使用する場合、コマンド名の直後に記述してください。
+.br
+.TP 3
connection = pid | host:port | jmxUrl
-.LP
-\f2pid\fP\ \ \ ¥í¡¼¥«¥ë¤Î Java VM ¤Î¥×¥í¥»¥¹ ID¡£¤³¤Î Java VM ¤Ï¡¢jconsole ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶ ID ¤ÈƱ¤¸¥æ¡¼¥¶ ID ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.RS 3
+\f2pid\fP\ \ \ ローカルの Java VM のプロセス ID。Java VM は、jconsole を実行しているユーザー ID と同じユーザー ID を使用して実行する必要があります。詳細については、
.na
-¡Ö\f2JMX Monitoring and Management\fP¡×
+\f2「JMX 監視および管理」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2host\fP:\f2port\fP\ \ Java VM ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢¤½¤Î Java VM ¤Îµ¯Æ°»þ¤Ë¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£ \f2com.sun.management.jmxremote.port\fP ¤Ë»ØÄꤵ¤ì¤¿¥Ý¡¼¥ÈÈֹ档¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlを参照してください。
+.br
+\f2host\fP:\f2port\fP\ \ Java VM が実行しているホストシステムの名前と、JVM を起動したときにシステムプロパティー \f2com.sun.management.jmxremote.port\fP で指定したポート番号。詳細については、
.na
-¡Ö\f2JMX Monitoring and Management\fP¡×
+\f2「JMX 監視および管理」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2jmxUrl\fP\ \ ÀܳÀè¤Î JMX ¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlを参照してください。
+.br
+\f2jmxUrl\fP 接続先の JMX エージェントのアドレス。 これについては、
.na
-¡Ö\f2JMXServiceURL\fP¡×
+\f2JMXServiceURL\fP @
.fi
-(http://java.sun.com/javase/6/docs/api/javax/management/remote/jmxserviceurl.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH µ¡Ç½ÀâÌÀ
+http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html を参照してください。
+.RE
+.RE
-.B jconsole
-¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤ò´Æ»ë¤ª¤è¤Ó´ÉÍý¤¹¤ë¤¿¤á¤Î¥°¥é¥Õ¥£¥«¥ë¥³¥ó¥½¡¼¥ë¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-.SH ¥ª¥×¥·¥ç¥ó
-.TP 15
-.B \-interval=n
-¹¹¿·´Ö³Ö¤ò n ÉäËÀßÄꤷ¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È¤Ï 4 ÉÃ)
-.TP
-.B \-notile
-½é´ü¾õÂ֤ǥ¦¥£¥ó¥É¥¦¤òʤ٤Æɽ¼¨¤·¤Þ¤»¤ó¡£(Àܳ¤¬ 2 ¤Ä°Ê¾å¤¢¤ë¾ì¹ç)
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jconsole\fP コマンドは、ローカルマシンまたはリモートマシン上の Java アプリケーションと仮想マシンの監視と管理を行うグラフィカルコンソールツールを起動します。
+.LP
+.LP
+Windows 上では、\f3jconsole\fP はコンソールウィンドウと関連付けられていません。ただし、なんらかの理由で \f3jconsole\fP コマンドが失敗すると、エラー情報を示すダイアログボックスが表示されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-interval=n
+更新間隔を \f2n\fP 秒に設定します (デフォルトは 4 秒)。
+.TP 3
+\-notile\
+最初にウィンドウをタイリングしません (複数の接続のため)。
.TP 3
\-pluginpath\ plugins
-JConsole ¥×¥é¥°¥¤¥ó¤Î¸¡º÷Àè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\f2plugins\fP ¥Ñ¥¹¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
+JConsole プラグインの検索先となるディレクトリまたは JAR ファイルのリストを指定します。\f2plugins\fP パスには、次の名前のプロバイダ構成ファイルを含めてください。
.br
.nf
\f3
@@ -91,38 +125,38 @@
\fP
.fi
.LP
-¤³¤ì¤Ë¤Ï¡¢
+これには、
.na
-\f2com.sun.tools.jconsole.JConsolePlugin\fP
+\f2com.sun.tools.jconsole.JConsolePlugin\fP @
.fi
-(http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/jconsoleplugin.html) ¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë¹Ô¤¬¡¢¥×¥é¥°¥¤¥ó¤´¤È¤Ë 1 ¹Ô¤º¤Ä´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP
-.B \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.TP
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html クラスを実装するクラスの完全修飾クラス名を指定する行が、プラグインごとに 1 行ずつ含まれています。
+.TP 3
+\-version\
+バージョン情報を出力して終了します。
+.TP 3
+\-help\
+ヘルプメッセージを出力して終了します。
.TP 3
\-J<flag>\
-jconsole ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£
+jconsole が実行されている Java 仮想マシンに <flag> を渡します。
+.RE
+
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
+o
+.na
+\f2jconsole の使用\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
-¤Î
-.na
-¡Ö\f2Using JConsole\fP¡×
.TP 2
-*
+o
+.na
+\f2「Java プラットフォームの監視および管理」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/management/index.html
-¤Î
-.na
-¡Ö\f2Monitoring and Management for Java Platform\fP¡×
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jdb.1 b/jdk/src/linux/doc/man/ja/jdb.1
index c22215c..53fe7f6 100644
--- a/jdk/src/linux/doc/man/ja/jdb.1
+++ b/jdk/src/linux/doc/man/ja/jdb.1
@@ -1,109 +1,101 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.4/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.TH jdb 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jdb \- Java ¥Ç¥Ð¥Ã¥¬
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jdb 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jdb \- Java デバッガ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3jdb\fP は、Java 言語プログラムのバグを見つけて修正するために使用するツールです。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jdb\fP [ options ] [ class ] [ arguments ]
+.fl
+.fi
+
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+次に示すコマンド行オプション
+.TP 3
+class
+デバッグを開始するクラスの名前
+.TP 3
+arguments
+\f2class\fP の \f2main()\fP メソッドに渡す引数
+.RE
+
+.LP
+.RE
+.SH " 説明"
.LP
.LP
.LP
-\f3jdb\fP ¤Ï¡¢Java ¸À¸ì¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò¸«¤Ä¤±¤Æ½¤Àµ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£
-.LP
-.SH "·Á¼°"
-.B jdb
-[
-.I options
-] [
-.I class
-] [
-.I arguments
-]
-.LP
-.TP 15
-.I options
-°Ê²¼¤Ë»ØÄꤹ¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
-.TP
-.I class
-¥Ç¥Ð¥Ã¥°¤ò³«»Ï¤¹¤ë¥¯¥é¥¹Ì¾
-.TP
-.I arguments
-¥¯¥é¥¹¤Î
-.B main(\|)
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java debugger" "" "Java debugger \(em \fLjdb\fP"
-.IX "jdb" "" "\fLjdb\fP \(em Java debugger"
-Java ¥Ç¥Ð¥Ã¥¬¤Î
-.BR jdb
-¤Ï¡¢
-Java
-¥¯¥é¥¹ÍѤÎñ½ã¤Ê¥³¥Þ¥ó¥É¹Ô¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£
+Java デバッガ \f3jdb\fP は、Java クラス用の簡単なコマンド行デバッガです。
.na
-¡Ö\f2Java Platform Debugger Architecture\fP¡×
+\f2Java Platform Debugger Architecture\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html)
-¤ò²èÌ̤Ëɽ¼¨¤·¤Ê¤¬¤é¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó
-¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.SS "jdb ¥»¥Ã¥·¥ç¥ó¤Î³«»Ï"
-.IX "jdb" "Starting a jdb Session" "\fLjdb\fP \(em Java debugger"
-jdb ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤Ã¤È¤âÉÑÈˤ˻È
-¤ï¤ì¤ë¤Î¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤ò¥Ç¥Ð¥Ã¥°¤·¤Æ¡¢
-.B jdb
-¤«¤é¿·¤·¤¯ Java ²¾ÁÛ¥Þ¥·¥ó (VM) ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¹Ô¤Ç¡¢
-.BR java (1)
-¤ÎÂå¤ï¤ê¤Ë
-.B jdb
-¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤¬
-.BR MyClass
-¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ jdb ´Ä¶¤Ç¥Ç¥Ð¥Ã¥°¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html を視覚的に実行し、ローカルまたはリモートの Java Virtual Machine の検査とデバッグを行うことができます。
.LP
-.RS
-.B % jdb MyClass
-.RE
+.SS
+jdb セッションの開始
.LP
-¤³¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤¹¤ë¤È¡¢
-.B jdb
-¤Ï 2 ¤ÄÌܤΠJava VM ¤ò¸Æ¤Ó½Ð¤·¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤òÅϤ·¡¢
-»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤½¤Î¤¢¤È¡¢
-¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë VM ¤òÄä»ß¤µ¤»¤Þ¤¹¡£
+.RS 3
+
.LP
-.B jdb
-¤Î¤â¤¦ 1 ¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë Java VM ¤Ë
-.B jdb
-¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£
-jdb ¤¬Àܳ¤¹¤ë VM ¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£
+.LP
+jdb セッションを開始するにはさまざまな方法があります。もっとも頻繁に使われるのは、デバッグするアプリケーションのメインクラスを使用して、\f3jdb\fP から新しい Java 仮想マシン (VM) を起動する方法です。コマンド行で、 \f3java\fP の代わりに \f3jdb\fP コマンドを入力します。たとえば、アプリケーションのメインクラスが MyClass の場合は、JDB 環境でデバッグするときに次のコマンドを使用します。
+.LP
+.nf
+\f3
+.fl
+ % jdb MyClass
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この方法で起動すると、\f3jdb\fP は、指定されたパラメータを使って 2 つ目の Java VM を呼び出します。 次に、指定されたクラスをロードして、クラスの最初の命令を実行する前に VM を停止させます。
+.LP
+.LP
+\f3jdb\fP のもう 1 つの使用方法は、すでに起動している Java VM に jdb を接続することです。jdb が接続する VM を、その実行中に起動するための構文を次に示します。これは、インプロセスデバッグ用ライブラリをロードし、接続の種類を指定します。
.LP
.nf
\f3
@@ -115,11 +107,7 @@
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï
-.B MyClass
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¡¢¸å¤Ç
-.B jdb
-¤òÀܳ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+たとえば、次のコマンドは、MyClass アプリケーションを実行して、\f3jdb\fP があとでそのアプリケーションに接続できるようにします。
.LP
.nf
\f3
@@ -131,375 +119,250 @@
.LP
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤Ç
-.B jdb
-¤ò VM ¤ËÀܳ¤Ç¤¤Þ¤¹¡£
+次のコマンドを使用して、\f3jdb\fP を VM に接続できます。
.LP
-.RS
-.B % jdb \-attach 8000
-.RE
-.LP
-¤³¤Î¤È¤¡¢
-.B jdb
-¤Ï¿·¤·¤¤ VM ¤òµ¯Æ°¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢´û¸¤Î VM ¤ËÀܳ¤¹¤ë¤Î¤Ç¡¢
-.B jdb
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.B MyClass
-¤ò»ØÄꤷ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¤³¤ì°Ê³°¤Ë¤â¥Ç¥Ð¥Ã¥¬ (jdb) ¤ò VM ¤ËÀܳ¤¹¤ëÊýË¡¤Ï¤¿¤¯¤µ¤ó¤¢¤ê¡¢
-.BR jdb
-¤Ï¤½¤Î¤¹¤Ù¤Æ¤ÎÊýË¡¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤ÊÀܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.nf
+\f3
+.fl
+ % jdb \-attach 8000
+.fl
+\fP
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html
-¤Ç Java Platform Debugger Architecture ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-\f3jdb\fP ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë J2SE 1.4.2 °ÊÁ°¤Î VM ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html
-¤Î 1.4.2 ¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS " jdb ´ðËÜ¥³¥Þ¥ó¥É"
-.IX "jdb" "Basic jdb Commands" "\fLjdb\fP \(em Java debugger"
-°Ê²¼¤Ë
-.B jdb
-´ðËÜ¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£
-Java
-¥Ç¥Ð¥Ã¥¬¤Ç»ÈÍѲÄǽ¤Ê¤½¤Î¾¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.B help
-¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤¤Þ¤¹¡£
-.TP 15
-.B help ¤Þ¤¿¤Ï ?
-.BR jdb
-¤Î¥³¥Þ¥ó¥É¤ÎÃæ¤Ç¤â¤Ã¤È¤â½ÅÍפʤΤ¬¡¢¤³¤Î
-.B help
-¥³¥Þ¥ó¥É¤Ç¤¹¡£ÍøÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¡¢
-³Æ¥³¥Þ¥ó¥É¤Î´Êñ¤ÊÀâÌÀ¤Ä¤¤Çɽ¼¨¤·¤Þ¤¹¡£
-.TP 15
-.B run
-.BR jdb
-¤òµ¯Æ°¤·¤ÆɬÍפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-.B jdb
-¤«¤éµ¯Æ°¤¹¤ë¤È¤¤Ë¤À¤±»ÈÍѤǤ¤Þ¤¹¡£
-´û¸¤Î VM ¤ËÀܳ¤¹¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B cont
-¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¤¢¤È¤Ç¡¢¥Ç¥Ð¥Ã¥°Ãæ¤Î
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£
-.TP 15
-.B print
-Java ¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£ ¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô
-¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤò½ÐÎϤ·¤Þ¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç
-¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤ò½ÐÎϤ·¤Þ¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê¹ß¤Î
-.B dump
-¥³¥Þ¥ó¥É¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.sp 1n
-.LP
-Ãí: ¶É½ê
-(¥¹¥¿¥Ã¥¯)
-ÊÑ¿ô¤ò¥Ö¥é¥¦¥º¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬
-.B javac \-g
-¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.sp 1n
-.LP
-.B print
-¤Ï¡¢¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¿¿ô¤Î´Êñ¤Ê Java ¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS
-.TP 3
-\(bu
-.B print MyClass.myStaticField
-.PD 0
-.TP
-\(bu
-.B print myObj.myInstanceField
-.TP
-\(bu
-\f3print\f1 \f2i\f1 \f3+\f1 \f2j\f1 \f3+\f1 \f2k\f1 (
-.IR i¡¢
-.IR j ¡¢
-¤ª¤è¤Ó
-.I k
-¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤Ç¤¢¤ê¡¢¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï¶É½êÊÑ¿ô¤Î¤¤¤º¤ì¤«)
-.TP
-\(bu
-\f3print myObj.myMethod(\|)\f1 (
-.B myMethod
-¤¬ null °Ê³°¤òÊÖ¤¹¾ì¹ç)
-.TP
-\(bu
-.B print new java.lang.String("Hello").length(\|)
-.RE
-.PD
-.TP
-.B dump
-¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï
-.BR print
-¤ÈƱ¤¸¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë
-³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤò½ÐÎϤ·¤Þ¤¹¡£ static ¥Õ¥£¡¼¥ë¥É¤È instance
-¥Õ¥£¡¼¥ë¥É¤ò½ÐÎϤ·¤Þ¤¹¡£
-.sp 1n
-.LP
-.B dump
-¥³¥Þ¥ó¥É¤Ï¡¢
-.B print
-¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.TP
-.B threads
-¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢
-¤ª¤è¤Ó¤Û¤«¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò
-¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.RS 20
-.LP
-.B 4. (java.lang.Thread)0x1 main running
-.RE
-.RS
-.sp 1n
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï
-.BR 4
-¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï
-.BR java.lang.Thread
-¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¹¡£¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï¡Ö
-.BR main
-¡×¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£
-.RE
-.TP 15
-.B thread
-¸½ºß¤Î¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£ ¿¤¯¤Î
-.B jdb
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï¡¢
-.B threads
-¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤¹¤ë¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.B where
-°ú¿ô¤Î¤Ê¤¤
-.B where
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É
-(
-.B thread
-¥³¥Þ¥ó¥É¤ÇÀßÄê)
-¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.B where all
-¤È»ØÄꤹ¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¥°¥ë¡¼¥×¤Ë¤¢¤ëÁ´¥¹¥ì¥Ã¥É¤Î
-¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.BI where " threadindex"
-¤È»ØÄꤹ¤ë¤È¡¢
-.I threadindex
-¤¬¼¨¤¹¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤À¤±¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.sp 1n
-.LP
-¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬ (¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ê¤É¤Î¥¤¥Ù¥ó¥È¤ä
-.B suspend
-¥³¥Þ¥ó¥É¤Ç) ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-.B print
-¥³¥Þ¥ó¥É¤ä
-.B dump
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢¶É½êÊÑ¿ô¤ä¥Õ¥£¡¼¥ë¥É¤òɽ¼¨¤Ç¤¤Þ¤¹¡£
-¤É¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤ò¸½ºß¤Î¥Õ¥ì¡¼¥à¤Ë¤¹¤ë¤«¤Ï¡¢
-.B up
-¤ª¤è¤Ó
-.B down
-¥³¥Þ¥ó¥É¤ÇÁªÂò¤Ç¤¤Þ¤¹¡£
-.SS "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥ÈÍÑ¥³¥Þ¥ó¥É"
-.IX "jdb" "Breakpoints" "\fLjdb\fP \(em Java debugger"
-.B jdb
-¤Ç¤Ï¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ò¹ÔÈÖ¹æ¤Ç¡¢
-¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤Ç
-ÀßÄê¤Ç¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.TP 25
-.B stop at MyClass:22
-.BR MyClass
-¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î
-.B 22
-¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë
-.TP
-.B stop in java.lang.String.length
-.BR java.lang.String.length
-¥á¥½¥Ã¥É¤ÎºÇ½é¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë
-.TP
-.BI "stop in MyClass." init
-.I init
-¤Ï
-.B MyClass
-¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¼±Ê̤¹¤ë
-.TP
-.BI "stop in MyClass." clinit
-.I clinit
-¤Ï
-.BR MyClass
-¤ÎÀÅŪ¤Ê½é´ü²½¥³¡¼¥É¤ò¼±Ê̤¹¤ë
-.LP
-¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢
-¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆŬÀڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»
-¤ó¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS 15
-.B MyClass.myMethod(int,java.lang.String)
-.RE
-.LP
-¤Þ¤¿¤Ï
-.LP
-.RS 15
-.B MyClass.myMethod()
-.RE
-.LP
-.B clear
-¥³¥Þ¥ó¥É¤Ï¡¢¡Ö
-.BR clear MyClass:45
-¡×¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£
-°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç
-.B clear
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤
-¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.B cont
-¥³¥Þ¥ó¥É¤Ç¼Â¹Ô¤¬·Ñ³¤·¤Þ¤¹¡£
-.SS "¥³¥Þ¥ó¥É¤Î¥¹¥Æ¥Ã¥×¼Â¹Ô"
-.IX "jdb" "Stepping" "\fLjdb\fP \(em Java debugger"
-.B step
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢
-¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.B next
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò
-¼Â¹Ô¤·¤Þ¤¹¡£
-.SS "Îã³°½èÍýÍÑ¥³¥Þ¥ó¥É"
-.IX "jdb" "Exceptions" "\fLjdb\fP \(em Java debugger"
-¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â catch ʸ¤¬¤Ê¤¤¤è¤¦¤Ê
-Îã³°¤¬È¯À¸¤¹¤ë¤È¡¢VM ¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢
-.BR jdb
-´Ä¶¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤è¤¦¤ÊÎã³°¤¬È¯À¸¤¹¤ë¤È
-.B jdb
-¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£ ¼¡¤Ë¡¢
-.BR jdb
-¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£
-.TP 15
-.B catch
-¥Ç¥Ð¥Ã¥°Ãæ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¾¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤³¤í¤ÇÄä»ß¤·¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 20
-.B catch java.io.FileNotFoundException
-.RE
-.sp 1n
-.RS 15
-¤Þ¤¿¤Ï
-.RE
-.LP
-.RS 20
-.B catch mypackage.BigTroubleException
-.RE
-.sp 1n
-.RS 15
-Îã³°¤¬»ØÄꤷ¤¿¥¯¥é¥¹ (¤Þ¤¿¤Ï¡¢¥µ¥Ö¥¯¥é¥¹) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥¹¥í¡¼¤µ¤ì¤¿¤È¤³¤í¤ÇÄä»ß¤·¤Þ¤¹¡£
-.RE
-.TP 15
-.B ignore
-°ÊÁ°¤Î
-.B catch
-¥³¥Þ¥ó¥É¤Î¸ú²Ì¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î»ØÄê¤Ë¤è¤Ã¤ÆÎã³°¤ò̵»ë¤¹¤ë¤Î¤Ï
-¥Ç¥Ð¥Ã¥¬¤À¤±¤Ç¤¢¤ê¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿ VM ¤Ï̵»ë¤·¤Þ¤»¤ó¡£
-.SH "¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó"
-¥³¥Þ¥ó¥É¹Ô¤Ç Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ÎÂå¤ï¤ê¤Ë
-.B jdb
-¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-.B jdb
-¤Ï¡¢
-.BR \-D¡¢
-.BR \-classpath¡¢
-.BI \-X option\f1
-¤Ê¤É¡¢
-.BR java (1)
-¥³¥Þ¥ó¥É¤ÈƱ¤¸¥ª¥×¥·¥ç¥ó¤ò¿¿ô»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-.B jdb
-¤Ï¡¢¤½¤Î¤Û¤«¤Ë¼¡¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤǤ¤Þ¤¹¡£
-.TP 3
-.BI \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-.BI \-sourcepath " dir1\f1:\f2dir2\f1:..."
-»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Î¡Ö.¡×¤ò¸¡º÷¤·¤Þ¤¹¡£
-.TP
-.BI \-attach " address"
-¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤Î VM ¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ
-¤·¤Þ¤¹¡£
-.TP
-.BI \-listen " address"
-¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£
-.TP
-.BI \-listenany
-¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤ÆÍøÍѲÄǽ¤ÊǤ°Õ¤Î¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£
-.TP
-.B \-launch
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-.BR jdb
-¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-.B run
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢
-µ¯Æ°¸å¡¢ºÇ½é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£
-¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-¼Â¹Ô¤ò·Ñ³¤¹¤ë¤Ë¤Ï
-.B cont
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP 3
-\-listconnectors
-¤³¤Î VM ¤ÇÍøÍѤǤ¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-\-connect
-<connector\-name>:<name1>=<value1>,...
-°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È VM ¤ËÀܳ¤·¤Þ¤¹¡£
-.TP 3
-\-dbgtrace [flags]
-jdb ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 3
-\-tclient
-Java HotSpot(tm) VM (¥¯¥é¥¤¥¢¥ó¥È) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.TP 3
-\-tserver
-Java HotSpot(tm) VM (¥µ¡¼¥Ð) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.TP
-.BI \-J "option"
-jdb ¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Java ²¾ÁÛ¥Þ¥·¥ó¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3run\fP ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¡£)
-¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-
.LP
-¤³¤ì°Ê³°¤Ë¤â¡¢¥Ç¥Ð¥Ã¥¬¤ò¥Ç¥Ð¥Ã¥°¤µ¤ì¤ë VM ¤ËÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂص¡¹½
-ÍѤΥª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤ÊÀܳ¤ÎÂåÂص¡¹½¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.LP
+この場合、\f3jdb\fP は新しい VM を起動する代わりに既存の VM に接続されるため、\f3jdb\fP コマンド行には「MyClass」は指定しません。
+.LP
+.LP
+デバッガを VM に接続するにはほかにもさまざまな方法があり、すべて \f3jdb\fP でサポートされています。接続オプションについては、Java Platform Debugger Architecture の
+.na
+\f2ドキュメント\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html
-¤Î Java Platform Debugger Architecture ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlを参照してください。\f3jdb\fP で使用するために J2SE 1.4.2 以前の VM を起動する方法については、
+.na
+\f21.4.2 のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.htmlを参照してください。
.LP
.SS
-¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó
+基本 jdb コマンド
.LP
-.TP 3
-\-v \-verbose[:class|gc|jni]
-¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£
-.TP 3
-\-D<name>=<value>
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 3
-\-classpath <directories separated by
-":">
-¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-\-X<option>
-Èóɸ½à¥¿¡¼¥²¥Ã¥È VM ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
.LP
-.SH "´ØÏ¢¹àÌÜ"
+基本的な \f3jdb\fP コマンドの一覧を示します。Java デバッガがサポートするコマンドはこれ以外にもあり、それらは \f3jdb\fP の \f2help\fP コマンドを使用して表示できます。
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+help または ?
+もっとも重要な \f3jdb\fP コマンド \f2help\fP は、認識されたコマンドのリストに簡潔な説明を付けて表示します。
+.TP 3
+run
+\f3jdb\fP を起動して必要なブレークポイントを設定したあとに、このコマンドを使用して、デバッグするアプリケーションの実行を開始できます。このコマンドは、既存の VM に接続している場合とは異なり、デバッグするアプリケーションが \f3jdb\fP から起動したときにだけ使用できます。
+.TP 3
+cont
+ブレークポイント、例外、またはステップ実行のあとで、デバッグするアプリケーションの実行を継続します。
+.TP 3
+print
+Java オブジェクトおよびプリミティブ値を表示します。プリミティブ型の変数またはフィールドの場合には、実際の値が出力されます。オブジェクトの場合には、短い説明が出力されます。オブジェクトについては、以降の \f2dump\fP コマンドの説明を参照してください。
+.LP
+\f2注:局所変数を表示するには、その変数を含むクラスが \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP オプションでコンパイルされていなければなりません。
+.LP
+\f2print\fP では、メソッドの呼び出しを含む多数の簡単な Java 式がサポートされています。 次に例を示します。
+.RS 3
+.TP 2
+o
+\f2print MyClass.myStaticField\fP
+.TP 2
+o
+\f2print myObj.myInstanceField\fP
+.TP 2
+o
+\f2print i + j + k\fP (i、j、および k はプリミティブであり、フィールドまたは局所変数のいずれか)
+.TP 2
+o
+\f2print myObj.myMethod()\fP (myMethod が null 以外を返す場合)
+.TP 2
+o
+\f2print new java.lang.String("Hello").length()\fP
+.RE
+.TP 3
+dump
+プリミティブ値の場合には、このコマンドは \f2print\fP と同じです。オブジェクトの場合には、オブジェクト内に定義されている各フィールドの現在の値が出力されます。static フィールドと instance フィールドが出力されます。
+.LP
+\f2dump\fP コマンドでは、\f2print\fP コマンドと同じ式がサポートされます。
+.TP 3
+threads
+現在実行中のスレッドを一覧表示します。スレッドごとに、名前と現在の状態、およびほかのコマンドに使用できるインデックスが出力されます。 次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+4. (java.lang.Thread)0x1 main running
+.fl
+\fP
+.fi
+.RE
+この例では、スレッドインデックスは 4 であり、スレッドは java.lang.Thread のインスタンスです。 スレッドの名前は「main」であり、現在実行中です。
+.TP 3
+thread
+現在のスレッドにするスレッドを選択します。多くの \f3jdb\fP コマンドは、現在のスレッドの設定に基づいて実行されます。スレッドは、\f2threads\fP コマンドで説明したスレッドインデックスとともに指定します。
+.TP 3
+where
+引数を指定しないで \f2where\fP を実行すると、現在のスレッドのスタックがダンプされます。 \f2where all\fP コマンドは、現在のスレッドグループにあるスレッドのスタックを、すべてダンプします。 \f2where\fP \f2threadindex\fP は、指定されたスレッドのスタックをダンプします。
+.LP
+現在のスレッドが (ブレークポイントか \f2suspend\fP コマンドによって) 中断している場合は、局所変数とフィールドは \f2print\fP コマンドと \f2dump\fP コマンドで表示できます。\f2up\fP コマンドと \f2down\fP コマンドで、どのスタックフレームをカレントにするかを選ぶことができます。
+.RE
+
+.LP
+.RE
+.SS
+ブレークポイント
+.LP
+.RS 3
+
+.LP
+.LP
+ブレークポイントは、行番号またはメソッドの最初の命令で \f3jdb\fP に設定できます。 次に例を示します。
+.LP
+.RS 3
+.TP 2
+o
+\f2stop at MyClass:22\fP (MyClass が含まれるソースファイルの 22 行目の最初の命令にブレークポイントを設定)
+.TP 2
+o
+\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP メソッドの最初にブレークポイントを設定)
+.TP 2
+o
+\f2stop in MyClass.<init>\fP (<init> は MyClass コンストラクタを識別)
+.TP 2
+o
+\f2stop in MyClass.<clinit>\fP (<clinit> は MyClass の静的初期化コードを識別)
+.RE
+
+.LP
+.LP
+メソッドがオーバーロードされている場合には、メソッドの引数の型も指定して、ブレークポイントに対して適切なメソッドが選択されるようにしなければなりません。たとえば、「\f2MyClass.myMethod(int,java.lang.String)\fP」または「\f2MyClass.myMethod()\fP」と指定します。
+.LP
+.LP
+\f2clear\fP コマンドは、「\f2clear\ MyClass:45\fP」のような構文を使用してブレークポイントを削除します。\f2clear\fP を使用するか、引数を指定しないでコマンドを使用すると、現在設定されているすべてのブレークポイントが表示されます。\f2cont\fP コマンドは実行を継続します。
+.LP
+.RE
+.SS
+ステップ実行
+.LP
+.RS 3
+
+.LP
+.LP
+\f2step\fP コマンドは、現在のスタックフレームまたは呼び出されたメソッド内で、次の行を実行します。\f2next\fP コマンドは、現在のスタックフレームの次の行を実行します。
+.LP
+.RE
+.SS
+例外
+.LP
+.RS 3
+
+.LP
+.LP
+スローしているスレッドの呼び出しスタック上のどこにも catch 文がない場合に例外が発生すると、VM は通常、例外トレースを出力して終了します。ただし、\f3jdb\fP 環境で実行している場合は、例外が発生すると \f3jdb\fP に制御が戻ります。次に、\f3jdb\fP を使用して例外の原因を診断します。
+.LP
+.LP
+たとえば、「\f2catch java.io.FileNotFoundException\fP」または「\f2catch mypackage.BigTroubleException\fP」のように \f2catch\fP コマンドを使用すると、デバッグされたアプリケーションは、ほかの例外がスローされたときに停止します。例外が特定のクラス (またはサブクラス) のインスタンスの場合は、アプリケーションは例外がスローされた場所で停止します。
+.LP
+.LP
+\f2ignore\fP コマンドを使うと、以前の \f2catch\fP コマンドの効果が無効になります。
+.LP
+.LP
+\f2注:\fP\f2ignore\fP コマンドでは、デバッグされる VM は例外を無視せず、デバッガだけが例外を無視します。
+.LP
+.RE
+.RE
+.SH "コマンド行オプション"
.LP
.LP
.LP
-javac¡¢java¡¢javah¡¢javap¡¢javadoc
+コマンド行で Java アプリケーション起動ツールの代わりに \f3jdb\fP を使用する場合、\f3jdb\fP は、\f2\-D\fP、\f2\-classpath\fP、\f2\-X<option>\fP など、java コマンドと同じ数のオプションを受け入れます。
+.LP
+.LP
+\f3jdb\fP は、そのほかに次のオプションを受け入れます。
+.LP
+.RS 3
+.TP 3
+\-help
+ヘルプメッセージを表示します。
+.TP 3
+\-sourcepath <dir1:dir2:...>
+指定されたパスを使用して、ソースファイルを検索します。このオプションが指定されていない場合は、デフォルトパスの「.」が使われます。
+.TP 3
+\-attach <address>
+デフォルトの接続機構を使用して、すでに実行中の VM にデバッガを接続します。
+.TP 3
+\-listen <address>
+実行中の VM が標準のコネクタを使って指定されたアドレスに接続するのを待機します。
+.TP 3
+\-listenany
+実行中の VM が標準のコネクタを使って利用可能な任意のアドレスに接続するのを待機します。
+.TP 3
+\-launch
+デバッグするアプリケーションを jdb の起動後ただちに起動します。このオプションによって、\f2run\fP コマンドを使用する必要がなくなります。デバッグするアプリケーションは、起動後、初期アプリケーションクラスがロードされる直前に停止します。その時点で、必要なブレークポイントを設定し、\f2cont\fP を使用して実行を継続できます。
+.TP 3
+\-listconnectors
+この VM で利用できるコネクタを一覧表示します。
+.TP 3
+\-connect <connector\-name>:<name1>=<value1>,...
+一覧表示された引数の値と指定のコネクタを使ってターゲット VM に接続します。
+.TP 3
+\-dbgtrace [flags]
+jdb のデバッグ情報を出力します。
+.TP 3
+\-tclient
+Java HotSpot(tm) VM (クライアント) 内でアプリケーションを実行します。
+.TP 3
+\-tserver
+Java HotSpot(tm) VM (サーバー) 内でアプリケーションを実行します。
+.TP 3
+\-Joption
+jdb の実行に使用される Java 仮想マシンに \f2option\fP を渡します。(アプリケーション Java 仮想マシンに対するオプションは、\f3run\fP コマンドに渡される)。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+.LP
+デバッガとデバッグを行う VM を接続するための代替機構に対して、その他のオプションがサポートされています。その他の接続オプションについては、Java Platform Debugger Architecture の
+.na
+\f2ドキュメント\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlを参照してください。
+.LP
+.SS
+デバッグ対象のプロセスに転送されるオプション
+.LP
+.RS 3
+.TP 3
+\-v \-verbose[:class|gc|jni]
+冗長モードにします。
+.TP 3
+\-D<name>=<value>
+システムプロパティーを設定します。
+.TP 3
+\-classpath <directories separated by ":">
+クラスを検索するディレクトリを一覧表示します。
+.TP 3
+\-X<option>
+非標準ターゲット VM オプションです。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+javac(1)、java(1)、javah(1)、javap(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/jhat.1 b/jdk/src/linux/doc/man/ja/jhat.1
index 0042414..881ade9 100644
--- a/jdk/src/linux/doc/man/ja/jhat.1
+++ b/jdk/src/linux/doc/man/ja/jhat.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,16 +18,34 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH jhat 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH jhat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-jhat \- Java ¥Ò¡¼¥×²òÀϥġ¼¥ë
+.SH "名前"
+jhat \- Java ヒープ解析ツール
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -43,107 +59,101 @@
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
+.RS 3
.TP 3
options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
+オプションを使用する場合、コマンド名の直後に記述してください。
+.br
.TP 3
heap\-dump\-file
-¥Ö¥é¥¦¥ºÂоݤȤʤë Java ¥Ð¥¤¥Ê¥ê¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¡Öfoo.hprof#3¡×¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë¡Ö#<number>¡×¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.SH "ÀâÌÀ"
-.LP
-
+ブラウズ対象となる Java バイナリヒープダンプファイル。複数のヒープダンプを含むダンプファイルの場合、「foo.hprof#3」のようにファイル名の後に「#<number>」を付加することで、ファイル内の特定のダンプを指定できます。
+.SH "説明"
.LP
.LP
-\f3jhat\fP ¥³¥Þ¥ó¥É¤Ï¡¢java ¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£jhat ¤ò»È¤¨¤Ð¡¢¤ª¹¥¤ß¤Î Web ¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¥Ò¡¼¥×¥À¥ó¥×¤ò¥Ö¥é¥¦¥º¤Ç¤¤Þ¤¹¡£jhat ¤Ï¡¢¡Ö¤¢¤ë´ûÃΤΥ¯¥é¥¹¡ÖFoo¡×¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¡×¤È¤¤¤Ã¤¿¡¢»öÁ°¤ËÀ߷פµ¤ì¤¿¥¯¥¨¥ê¤Î¤Û¤«¡¢\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) ¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£\f3OQL\fP ¤Ï¡¢¥Ò¡¼¥×¥À¥ó¥×¤ËÂФ¹¤ë¥¯¥¨¥ê¤ò¹Ô¤¦¤¿¤á¤Î¡¢SQL ¤Ë»÷¤¿¥¯¥¨¥ê¸À¸ì¤Ç¤¹¡£OQL ¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢jhat ¤Ë¤è¤Ã¤Æɽ¼¨¤µ¤ì¤ë OQL ¥Ø¥ë¥×¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL ¤Î¥Ø¥ë¥×¤Ï http://localhost:7000/oqlhelp/ ¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
+\f3jhat\fP コマンドは、java ヒープダンプファイルを解析し、Web サーバーを起動します。 jhat を使えば、お好みの Web ブラウザを使ってヒープダンプをブラウズできます。 jhat は、「ある既知のクラス「Foo」のすべてのインスタンスを表示する」といった、事前に設計されたクエリのほか、\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) もサポートします。OQL のヘルプには、jhat によって表示される OQL ヘルプページからアクセスできます。デフォルトポートを使用する場合、OQL のヘルプは http://localhost:7000/oqlhelp/ で利用可能です。
.LP
.LP
-Java ¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
+Java のヒープダンプを生成するには、いくつかの方法があります。
.LP
.RS 3
.TP 2
-*
-jmap ¤Î \-dump ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£
+o
+jmap(1) の \-dump オプションを使って実行時にヒープダンプを取得する。
.TP 2
-*
-jconsole ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ
+o
+jconsole(1) のオプションを使って
.na
-\f2HotSpotDiagnosticMXBean\fP
+\f2HotSpotDiagnosticMXBean\fP @
.fi
-(http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html) ·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£
+http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html 経由で実行時にヒープダンプを取得する。
.TP 2
-*
-\-XX:+HeapDumpOnOutOfMemoryError VM ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢OutOfMemoryError ¤Î¥¹¥í¡¼»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤¬À¸À®¤µ¤ì¤ë¡£
+o
+\-XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemoryError のスロー時にヒープダンプが生成される。
.TP 2
-*
-
+o
.na
-\f2hprof\fP
+\f2hprof\fP @
.fi
-(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) ¤ò»ÈÍѤ¹¤ë¡£
+http://java.sun.com/developer/technicalArticles/Programming/HPROF.html を使用する。
.RE
.LP
.LP
-\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¢¤ê¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f3注:\fP このツールは\f3試験的なもの\fPであり、将来の JDK のバージョンでは\f3利用できなくなる\fP可能性があります。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
+.SH "オプション"
+.RS 3
.TP 3
\-stack false/true
-¥ª¥Ö¥¸¥§¥¯¥È³ä¤êÅö¤Æ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×Æâ¤Ç³ä¤êÅö¤Æ¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò false ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£
+オブジェクト割り当て呼び出しスタックの追跡を無効にします。ヒープダンプ内で割り当てサイト情報が使用できない場合、このフラグを false に設定する必要があります。デフォルトは true です。
.TP 3
\-refs false/true
-¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿ (»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£¤Ä¤Þ¤ê¡¢»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È) ¤¬·×»»¤µ¤ì¤Þ¤¹¡£
+オブジェクトへの参照の追跡を無効にします。デフォルトは true です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バックポインタ (指定されたオブジェクトをポイントしているオブジェクト。 参照者または受信参照とも呼ばれる) が計算されます。
.TP 3
\-port port\-number
-jhat ¤Î HTTP ¥µ¡¼¥Ð¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï 7000 ¤Ç¤¹¡£
+jhat の HTTP サーバーのポートを設定します。デフォルトは 7000 です。
.TP 3
\-exclude exclude\-file
-¡ÖÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¡×¤Î¥¯¥¨¥ê¤«¤é½ü³°¤¹¤Ù¤¥Ç¡¼¥¿¥á¥ó¥Ð¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë \f2java.lang.String.value\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¡Öo¡×¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\f2java.lang.String.value\fP ¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
+「到達可能なオブジェクト」のクエリから除外すべきデータメンバーの一覧を含むファイルを指定します。たとえば、このファイルに \f2java.lang.String.value\fP が含まれていた場合、特定のオブジェクト「o」から到達可能なオブジェクトのリストを計算する際に、\f2java.lang.String.value\fP フィールドに関連する参照パスが考慮されなくなります。
.TP 3
\-baseline baseline\-dump\-file
-¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È ID ¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¤Ç¤Ï¤Ê¤¤¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤½¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë 2 ¤Ä¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£
+ベースラインとなるヒープダンプを指定します。両方のヒープダンプ内で同じオブジェクト ID を持つオブジェクトは「新規ではない」としてマークされます。その他のオブジェクトは「新規」としてマークされます。これは、異なる 2 つのヒープダンプを比較する際に役立ちます。
.TP 3
\-debug int
-¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£0 ¤Ï¡Ö¥Ç¥Ð¥Ã¥°½ÐÎϤʤ·¡×¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
+このツールのデバッグレベルを設定します。0 は「デバッグ出力なし」を意味します。より大きな値を設定すると、より冗長なモードになります。
.TP 3
\-version\
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊó¹ð¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+バージョン番号を報告したあと、終了します。
.TP 3
\-h\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+ヘルプメッセージを出力して終了します。
.TP 3
\-help\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+ヘルプメッセージを出力して終了します。
.TP 3
\-J<flag>\
-jhat ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M ¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\-J\-Xmx512m ¤È¤·¤Þ¤¹¡£
-.LP
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-.RS 3
-.TP 2
-*
-jmap \- Java ¥á¥â¥ê¥Þ¥Ã¥×
-.TP 2
-*
-jconsole \- Java ´Æ»ë¤ª¤è¤Ó´ÉÍý¥³¥ó¥½¡¼¥ë
-.TP 2
-*
-.na
-\f2hprof \- ¥Ò¡¼¥×¤ª¤è¤Ó CPU ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë\fP
-.fi
-(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html)
+jhat が実行されている Java 仮想マシンに <flag> を渡します。たとえば、512M バイトの最大ヒープサイズを使用するには、\-J\-Xmx512m とします。
.RE
.LP
-
-.LP
+.SH "関連項目"
+.RS 3
+.TP 2
+o
+jmap(1)
+.TP 2
+o
+jconsole(1)
+.TP 2
+o
+.na
+\f2hprof \- ヒープおよび CPU プロファイリングツール\fP @
+.fi
+http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
+.RE
+.RE
diff --git a/jdk/src/linux/doc/man/ja/jinfo.1 b/jdk/src/linux/doc/man/ja/jinfo.1
index f6e70a9..589abc1 100644
--- a/jdk/src/linux/doc/man/ja/jinfo.1
+++ b/jdk/src/linux/doc/man/ja/jinfo.1
@@ -1,72 +1,108 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jinfo 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jinfo \- ¹½À®¾ðÊó
-.\"
-.SH ·Á¼°
-.B jinfo
-.BI [ option ] " pid"
-.br
-.B jinfo
-.BI [ option ] " executable core"
-.br
-.B jinfo
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jinfo 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH ¥Ñ¥é¥á¡¼¥¿
+.SH "名前"
+jinfo \- 構成情報
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.nf
+\f3
+.fl
+\fP\f3jinfo\fP [ option ] pid
+.fl
+\f3jinfo\fP [ option ] executable core
+.fl
+\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
.TP 3
-option
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+option
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。
+.RS 3
.TP 3
-pid
-¹½À®¾ðÊó¤ò½ÐÎϤ¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
+pid
+出力する構成情報のプロセス ID。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
+.RE
+.RS 3
.TP 3
executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
+コアダンプの作成元の Java 実行可能ファイルです。
+.RE
+.RS 3
.TP 3
core
-¹½À®¾ðÊó¤ò½ÐÎϤ¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
+出力する構成情報のコアファイル。
+.RE
+.RS 3
.TP 3
remote\-hostname\-or\-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.RE
+.RS 3
.TP 3
server\-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.RE
+.RE
+
.LP
-.SH µ¡Ç½ÀâÌÀ
-.B jinfo
-¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤Î Java ¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ë¤Ï¡¢Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤È Java ²¾ÁÛ¥Þ¥·¥ó¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jinfo\fP は、指定された Java プロセスやコアファイルまたはリモートデバッグサーバーの Java 構成情報を出力します。構成情報は、Java システムプロパティーと Java 仮想マシンのコマンド行フラグから構成されます。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.br
.LP
@@ -76,51 +112,55 @@
jinfo \-J\-d64 \-sysprops pid
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-Windows ¾å¤Î jinfo ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Î \-flag ¥ª¥×¥·¥ç¥ó¤À¤±¤Ç¤¹¡£
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。Windows 上の jinfo でサポートされているのは、実行中のプロセスの \-flag オプションだけです。\fP
.LP
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.B " <no option>"
-¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤È¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ÈÃͤΥڥ¢¤ÎξÊý¤ò½ÐÎϤ·¤Þ¤¹¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+<オプションなし>
+コマンド行フラグを、システムプロパティー名と値のペアとともに出力します。
.br
.TP 3
\-flag name
-»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£
+指定されたコマンド行フラグの名前と値を出力します。
.br
.TP 3
\-flag [+|\-]name
-»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò͸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£
+指定されたブール型のコマンド行フラグを有効または無効にします。
.br
.TP 3
\-flag name=value
-»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-flags
-JVM ¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¥Ú¥¢¤Ç½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-sysprops
-Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+指定されたコマンド行フラグを指定された値に設定します。
+.br
+.TP 3
+\-flags
+JVM に渡されるコマンド行フラグをペアで出力します。
+.br
+.TP 3
+\-sysprops
+Java システムプロパティーを名前と値のペアとして出力します。
+.br
+.TP 3
+\-h
+ヘルプメッセージを出力します。
+.TP 3
+\-help
+ヘルプメッセージを出力します。
+.RE
+
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jmap.1 b/jdk/src/linux/doc/man/ja/jmap.1
index 001f176..6f3a27a 100644
--- a/jdk/src/linux/doc/man/ja/jmap.1
+++ b/jdk/src/linux/doc/man/ja/jmap.1
@@ -1,73 +1,103 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jmap 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jmap \- ¥á¥â¥ê¥Þ¥Ã¥×
-.\"
-.SH ·Á¼°
-.B jmap
-.BI [ option ] " pid"
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jmap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jmap \- メモリーマップ
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jmap\fP [ option ] pid
+.fl
+\f3jmap\fP [ option ] executable core
+.fl
+\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+option
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。
+.TP 3
+pid
+印刷するメモリーマップのプロセス ID。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
.br
-.B jmap
-.BI [ option ] " executable core"
+.TP 3
+executable
+コアダンプの作成元の Java 実行可能ファイルです。
.br
-.B jmap
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.BI option
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥á¥â¥ê¥Þ¥Ã¥×¤òɽ¼¨¤¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥á¥â¥ê¥Þ¥Ã¥×¤òɽ¼¨¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I remote-hostname-or-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jmap
-¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤Î¡¢¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥á¥â¥ê¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¥á¥â¥ê¤Î¾ÜºÙ¤òɽ¼¨¤·¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.TP 3
+core
+印刷するメモリーマップのコアファイル。
+.br
+.TP 3
+remote\-hostname\-or\-IP
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.br
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.br
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jmap\fP は、指定されたプロセスやコアファイルまたはリモートデバッグサーバーの、共用オブジェクトメモリーマップまたはヒープメモリーの詳細を印刷します。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.LP
.RS 3
@@ -82,82 +112,87 @@
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。\fP
.br
.LP
-Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç»ÈÍѲÄǽ¤ÊÍ£°ì¤Î jmap ·Á¼°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+Windows プラットフォーム上で使用可能な唯一の jmap 形式は、次のとおりです。
.RS 3
.LP
jmap \-dump:<\f2dump\-options\fP> pid
.RE
-¤ª¤è¤Ó
+および
.RS 3
.LP
jmap \-histo[:live] pid
.RE
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI " <no option>"
-¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jmap
-¤Ï¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Þ¥Ã¥Ô¥ó¥°¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È VM ¤ËÆɤ߹þ¤Þ¤ì¤¿³Æ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Solaris ¤Î
-.B pmap
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈƱÍͤǤ¹¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+<オプションなし>
+オプションを使用しない場合、\f3jmap\fP は共用オブジェクトマッピングを印刷します。ターゲット VM にロードされた共用オブジェクトごとに、開始アドレス、マッピングのサイズ、および共用オブジェクトファイルのフルパスが印刷されます。これは、Solaris \f3pmap\fP ユーティリティーと類似しています。
+.br
.TP 3
\-dump:[live,]format=b,file=<filename>
-Java ¥Ò¡¼¥×¤ò hprof ¥Ð¥¤¥Ê¥ê·Á¼°¤Ç filename ¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤ÇÀ¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò jhat (Java Heap Analysis Tool) ¤ò»È¤Ã¤ÆÆɤ߼è¤ê¤Þ¤¹¡£
+Java ヒープを hprof バイナリ形式で filename にダンプします。\f2live\fP サブオプションは省略可能です。これが指定された場合、ヒープ内で生存中のオブジェクトのみがダンプされます。ヒープダンプを参照するには、生成されたファイルを jhat(1) (Java Heap Analysis Tool) を使って読み取ります。
+.br
.TP 3
\-finalizerinfo
-¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-heap
-¥Ò¡¼¥×¤Î¥µ¥Þ¥ê¤òɽ¼¨¤·¤Þ¤¹¡£»ÈÍѤµ¤ì¤¿ GC ¥¢¥ë¥´¥ê¥º¥à¡¢¥Ò¡¼¥×¹½À®¡¢¤ª¤è¤ÓÀ¸À®µ¬ÌϤΥҡ¼¥×»ÈÍÑΨ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-histo[:live]
-¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤òɽ¼¨¤·¤Þ¤¹¡£³Æ Java ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥È¿ô¡¢¥á¥â¥ê¥µ¥¤¥º¡Ê¥Ð¥¤¥È¿ô¡Ë¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£VM ÆâÉô¥¯¥é¥¹Ì¾¤ÎÁ°¤Ë¤Ï '*' ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢À¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-permstat
-Java ¥Ò¡¼¥×¤Î±Ê³ŪÀ¸À®¤Î¥¯¥é¥¹¥í¡¼¥Àµ¬ÌϤÎÅý·×¤òɽ¼¨¤·¤Þ¤¹¡£³Æ¥¯¥é¥¹¥í¡¼¥À¤Ë¤Ä¤¤¤Æ¡¢Ì¾Á°¡¢³èÆ°À¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¥í¡¼¥À¡¢¤ª¤è¤ÓÆɤ߹þ¤Þ¤ì¤¿¥¯¥é¥¹¤Î¥µ¥¤¥º¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-¤µ¤é¤Ë¡¢intern ¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£
+ファイナライズを待っているオブジェクトに関する情報を出力します。
+.br
+.TP 3
+\-heap
+ヒープサマリーを印刷します。使用される GC アルゴリズム、ヒープ構成、および世代ごとのヒープ使用率が印刷されます。
+.br
+.TP 3
+\-histo[:live]
+ヒープのヒストグラムを印刷します。Java クラスごとに、オブジェクトの数、バイト単位でのメモリーサイズ、および完全修飾クラス名が印刷されます。VM 内部クラス名は、「*」の接頭辞を付けて印刷されます。\f2live\fP サブオプションが指定された場合、生存中のオブジェクトのみがカウントされます。
+.br
+.TP 3
+\-permstat
+Permanent 世代の Java ヒープの、クラスローダー関連の統計データを印刷します。クラスローダーごとに、その名前、状態、アドレス、親クラスローダー、およびクラスローダーがロードしたクラスの数とサイズが印刷されます。さらに、intern された文字列の数とサイズも出力されます。
+.br
.TP 3
\-F
-¶¯À© (Force)¡£pid ¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¡¢jmap \-dump ¤Þ¤¿¤Ï jmap \-histo ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.B \-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
+強制 (Force)。pid が応答しない場合に、jmap \-dump または jmap \-histo オプションとともに使用します。このモードでは、\f2live\fP サブオプションはサポートされません。
+.br
+.TP 3
+\-h
+ヘルプメッセージを印刷します。
+.br
+.br
+.TP 3
+\-help
+ヘルプメッセージを印刷します。
+.br
.br
.TP 3
\-J<flag>
-jmap ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£
+jmap が実行されている Java 仮想マシンに <flag> を渡します。
+.br
+.RE
.LP
-.SH ´ØÏ¢¹àÌÜ
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
+o
pmap (1)
.TP 2
-*
-jhat
+o
+jhat(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jps.1 b/jdk/src/linux/doc/man/ja/jps.1
index e437fb6..09fd4a9 100644
--- a/jdk/src/linux/doc/man/ja/jps.1
+++ b/jdk/src/linux/doc/man/ja/jps.1
@@ -1,204 +1,294 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jps 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
-.\"
-.SH ·Á¼°
-.B jps
-.BI [ options ]
-.BI [ hostid ]
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jps 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.if t .TP 20
-.if n .TP 15
-.I hostid
-¥×¥í¥»¥¹¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¥Û¥¹¥È¼±Ê̻ҡ£
-.I hostid
-¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¤½¤Î¾¸ÇͤμÂÁõ¥Ç¡¼¥¿¤ò¼¨¤¹¥ª¥×¥·¥ç¥ó¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jps
-¥Ä¡¼¥ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Î·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤¬¤¢¤ë JVM ¾å¤Î¾ðÊó¤À¤±¤òÊó¹ð¤·¤Þ¤¹¡£
-.LP
-¥Û¥¹¥È ID ¤ò»ØÄꤻ¤º¤Ë
-.B jps
-¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤òõ¤·¤Þ¤¹¡£¥Û¥¹¥È ID ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤Î JVM ¤ò¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æõ¤·¤Þ¤¹¡£
-.B jstatd
-¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¾å¤Ç²ÔÆ°¤·¤Æ¤¤¤ë¤³¤È¤¬Á°Äó¤È¤Ê¤ê¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿·×¬µ¡¹½ÉÕ¤ JVM ¤Î¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ë VM ¼±ÊÌ»Ò (lvmid) ¤òÊó¹ð¤·¤Þ¤¹¡£lvmid ¤Ï¡¢°ìÈ̤ˡ¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î JVM ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jps
-¤Ï³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î lvmid ¤Î¸å¤Ëû¤¤·Á¼°¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë̾¤ò³¤±¤Æ¥ê¥¹¥È¤·¤Þ¤¹¡£Ã»¤¤·Á¼°¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤ä JAR ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¾ðÊó¤Ï¾Ê¤«¤ì¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ï java µ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹Ì¾¤È main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤òõ¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤¬¥«¥¹¥¿¥àµ¯Æ°¥Ä¡¼¥ë¤Çµ¯Æ°¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ÏÆþ¼ê¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤È main ¥á¥½¥Ã¥É¤Î°ú¿ô¤È¤·¤Æ¡¢Unknown ¤È¤¤¤¦Ê¸»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë JVM ¤Î¥ê¥¹¥È¤Ï¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¼çÂΤ˵ö²Ä¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢¤Ë¤è¤Ã¤ÆÀ©¸Â¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¸ÇͤΥ¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë½¾¤Ã¤Æ¡¢¼çÂΤ¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë JVM ¤À¤±¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É½ÐÎϤòÊѹ¹¤¹¤ë¿¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¾Íè¡¢Êѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-q
-¥¯¥é¥¹Ì¾¡¢JAR ¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¤Æ¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҤΥꥹ¥È¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-m
-main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£Ëä¤á¹þ¤ß JVM ¤Î¾ì¹ç¡¢½ÐÎÏ¤Ï NULL ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-l
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î main ¥¯¥é¥¹¤Î¥Õ¥ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-v
-JVM ¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-V
-¥Õ¥é¥°¥Õ¥¡¥¤¥ë (.hotspotrc ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï -XX:Flags=<filename> °ú¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë) ¤òÄ̤¸¤Æ JVM ¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-J "option"
-.B jps
-¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿ java µ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢-J-Xms48m ¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£Java ¤ÇºîÀ®¤µ¤ì¤¿²¼ÁؤΠVM ¼Â¹Ô¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤Î¤¬¡¢\-J ¤Î°ìÈÌŪµ¬Â§¤Ç¤¹¡£
-.SH ¥Û¥¹¥È¼±ÊÌ»Ò
-¥Û¥¹¥È¼±ÊÌ»Ò (hostid) ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£hostid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-[protocol:][[//]hostname][:port][/servername]
-.fi
-.ft 1
-.RE
-.if t .TP 20
-.if n .TP 15
-.B protocol
-ÄÌ¿®¥×¥í¥È¥³¥ë¡£protocol ¤¬¾Ê¤«¤ì¡¢hostname ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¸ÇͤκÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ç¤¹¡£protocol ¤¬¾Ê¤«¤ì¡¢hostname ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï rmi ¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I hostname
-¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£hostname ¤¬¾Ê¤«¤ì¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I port
-¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¡£hostname ¤¬¾Ê¤«¤ì¤ë¤«¡¢protocol ¤¬ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢port ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢port ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¸ÇͤǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢port ¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£port ¤¬¾Ê¤«¤ì¡¢protocol ¤¬ rmi ¤ò¼¨¤¹¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I servername
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î¼è¤ê°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤¹Ê¸»úÎó¤Ç¤¹¡£
-.B jstatd
-¥³¥Þ¥ó¥É¤Î \-n ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH ½ÐÎÏ·Á¼°
-jps ¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
-.fi
-.ft 1
-.RE
-.LP
-½ÐÎϥȡ¼¥¯¥ó¤Ï¤¹¤Ù¤Æ¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Ëä¤á¹þ¤Þ¤ì¤¿¶õÇò¤ò´Þ¤à arg ¤¬¤¢¤ë¤È¡¢°ú¿ô¤ò¼ÂºÝ¤Î°ÌÃ֥ѥé¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤¹¤ë¤È¤¤Ë¤¢¤¤¤Þ¤¤¤µ¤¬À¸¤¸¤Þ¤¹¡£
-.LP
-Ãí - ¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç·Á¼°¤¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
-.B jps
-¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤Ï½ñ¤«¤Ê¤¤Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£jps ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï½¤Àµ¤¬É¬Íפˤʤ뤳¤È¤òͽÁÛ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-.SH »ÈÍÑÎã
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢
-.B jps
-¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-.RS
-.ft 3
-.nf
-jps
-18027 Java2Demo.JAR
-18032 jps
-18005 jstat
-.fi
-.ft 1
-.RE
-.TP
-¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢jstat ¥µ¡¼¥Ð¡¼¤È¤½¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤Ï¸ÄÊ̤γ°Éô rmiregistry ¥×¥í¥»¥¹¤¬¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ÎŬÀڤʥ¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎÎã¤Ë¤Ï¡¢Ä¹¤¤·Á¼°¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤ò½ÐÎϤ¹¤ë¤¿¤á¤Î -l ¥ª¥×¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jps -l remote.domain
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
-2857 sun.tools.jstatd.jstatd
-.fi
-.ft 1
-.RE
-.LP
-RMI ¥ì¥¸¥¹¥È¥êÍѤ˥ǥե©¥ë¥È°Ê³°¤Î¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ Java ²¾ÁÛ¥Þ¥·¥ó¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢jstatd ¥µ¡¼¥Ð¡¼¤¬¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤Æ¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È 2002 ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥ê¥¹¥È¤µ¤ì¤ë³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ò´Þ¤á¤ë¤¿¤á¤Ë¡¢-m ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jps -m remote.domain:2002
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
-3102 sun.tools.jstatd.jstatd -p 2002
-.fi
-.ft 1
-.RE
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jps \- Java 仮想マシンプロセスステータスツール
.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+o
+形式
.TP 2
-*
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
+o
+パラメータ
.TP 2
-*
-jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó
+o
+説明
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+オプション
+.TP 2
+o
+ホスト識別子
+.TP 2
+o
+出力形式
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ]
+.br
+
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+options
+コマンド行オプション。
+.TP 3
+hostid
+プロセスレポートを生成するホストのホスト識別子。\f2hostid\fP には、通信プロトコル、ポート番号、実装に固有な他のデータを指定したオプションコンポーネントを含めることができます。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jps\fP ツールは、ターゲットシステム上で計測された HotSpot Java 仮想マシン (JVM) を一覧表示します。このツールで表示できるレポート情報は、アクセス権を持った JVM に関するものに限定されます。
+.LP
+.LP
+\f2hostid\fP を指定せずに \f3jps\fP を実行した場合、ローカルホストで計測された JVM が検索されます。\f2hostid\fP を指定して起動した場合、指定されたプロトコルとポートを使用して、指定されたホスト上の JVM を検索します。\f3jstatd\fP プロセスがターゲットホスト上で実行されていると想定されます。
+.LP
+.LP
+\f3jps\fP コマンドは、ターゲットシステムで計測された各 JVM について、ローカル VM 識別子、つまり \f2lvmid\fP をレポートします。\f3lvmid\fP は、必須ではありませんが、一般的には JVM プロセスに対するオペレーティングシステムのプロセス識別子です。オプションを指定しない場合、\f3jps\fP によって、各 Java アプリケーションの \f2lvmid\fP が一覧表示され、それぞれにアプリケーションのクラス名または JAR ファイル名が簡単な形式で示されます。この簡単な形式のクラス名と JAR ファイル名では、クラスのパッケージ情報または JAR ファイルパス情報が省略されています。
+.LP
+.LP
+\f3jps\fP コマンドは、\f3Java\fP 起動ツールを使用して、\f2main\fP メソッドに渡されるクラス名と引数を検索します。独自の起動ツールを使用してターゲット JVM を起動した場合は、\f2main\fP メソッドに渡されるクラス名 (または JAR ファイル名) と引数は利用できません。この場合、\f3jps\fP コマンドは、main メソッドへ渡されるクラス名 (または JAR ファイル名) と引数に対して、文字列 \f2Unknown\fP を出力します。
+.LP
+.LP
+\f3jps\fP コマンドで生成される JVM のリストは、このコマンドを実行する主体に与えられたアクセス権に基づき、制限される場合があります。このコマンドは、オペレーティングシステム独自のアクセス制御機構による決定に基づいて、主体にアクセス権が与えられている JVM だけを一覧表示します。
+.LP
+.LP
+\f3注:\fP このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jps\fP コマンドでは、コマンドの出力を変更するオプションが多数サポートされています。将来、これらのオプションは、変更または廃止される可能性があります。
+.LP
+.RS 3
+.TP 3
+\-q
+ローカル VM 識別子のリストだけを生成するように、\f2main\fP メソッドに渡されるクラス名、JAR ファイル名、および引数の出力を制御します。
+.TP 3
+\-m
+main メソッドに渡される引数を出力します。この出力は、組み込まれている JVM に対して null になることもあります。
+.TP 3
+\-l
+アプリケーションの主要なクラスのフルパッケージ名、またはアプリケーションの JAR ファイルへのフルパス名を出力します。
+.TP 3
+\-v
+JVM に渡される引数を出力します。
+.TP 3
+\-V
+フラグファイル (.hotspotrc ファイルまたは \-XX:Flags=<\f2filename\fP> の引数で指定されたファイル) を通じて JVM に渡される引数を出力します。
+.TP 3
+\-Joption
+\f3jps\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
+.RE
+
+.LP
+.SS
+ホスト識別子
+.LP
+.RS 3
+
+.LP
+.LP
+ホスト識別子、つまり \f2hostid\fP は、ターゲットシステムを示す文字列です。\f2hostid\fP 文字列の構文の大部分は、URI の構文に対応しています。
+.LP
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.RS 3
+.TP 3
+protocol
+通信プロトコルです。\f2protocol\fP が省略され、\f2hostname\fP が指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカルプロトコルになります。\f2protocol\fP が省略され、\f2hostname\fP が指定されている場合は、デフォルトプロトコルは \f3rmi\fP になります。
+.TP 3
+hostname
+ターゲットホストを示すホスト名または IP アドレスです。\f2hostname\fP が省略されている場合は、ターゲットホストはローカルホストになります。
+.TP 3
+port
+リモートサーバーと通信するためのデフォルトポートです。\f2hostname\fP が省略されているか、\f2protocol\fP で最適化されたローカルプロトコルが指定されている場合、\f2port\fP は無視されます。そうでなければ、\f2port\fP パラメータの扱いは、実装によって異なります。デフォルトの \f3rmi\fP プロトコルの場合、\f2port\fP は、リモートホスト上の rmiregistry のポート番号を示します。\f2port\fP が省略され、\f2protocol\fP で \f3rmi\fP が指定されている場合、デフォルトの rmiregistry ポート (1099) が使用されます。
+.TP 3
+servername
+このパラメータの扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。\f3rmi\fP プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を示す文字列になります。jstatd(1) コマンドについては、\f3\-n\fP オプションを参照してください。
+.RE
+
+.LP
+.RE
+.SH "出力形式"
+.LP
+
+.LP
+.LP
+\f3jps\fP コマンドの出力は、次のパターンに従います。
+.LP
+.nf
+\f3
+.fl
+\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+すべての出力トークンは空白で区切ります。\f2arg\fP の中で空白を使用すると、実際の定位置パラメータに引数をマッピングしようとするときに、あいまいになります。
+.br
+.br
+\f3注\fP: 将来のリリースでこの形式は変更される可能性があるため、\f3jps\fP 出力を解析するスクリプトは作成しないことをお勧めします。\f3jps\fP 出力を解析するスクリプトを作成すると、このツールの将来のリリースで、作成したスクリプトを変更する必要が予測されます。
+.br
+
+.LP
+.SH "例"
+.LP
+
+.LP
+.LP
+この節では、\f3jps\fP コマンドの例を示します。
+.LP
+.LP
+ローカルホスト上で計測された JVM を一覧表示する場合:
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps\fP
+.br
+
+.fl
+18027 Java2Demo.JAR
+.br
+
+.fl
+18032 jps
+.br
+
+.fl
+18005 jstat
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+リモートホスト上で計測された JVM を一覧表示する場合:
+.LP
+.LP
+この例では、\f3jstat\fP サーバーと、その内部 RMI レジストリまたは別の外部 \f3rmiregistry\fP プロセスのいずれかとが、リモートホストのデフォルトポート (ポート 1099) で実行されていると想定しています。また、ローカルホストが、リモートホストへの有効なアクセス権を持っていることも想定しています。この例には、\f2\-l\fP オプションも含まれ、クラス名または JAR ファイル名を詳細な形式で出力します。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps \-l remote.domain\fP
+.br
+
+.fl
+3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+.br
+
+.fl
+2857 sun.tools.jstatd.jstatd
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+RMI レジストリにデフォルトではないポートを使用して、リモートホスト上で計測された JVM を一覧表示する場合:
+.LP
+.LP
+この例では、内部 RMI レジストリがポート 2002 にバインドされた \f3jstatd\fP サーバーが、リモートホスト上で実行していると想定しています。また、\f2\-m\fP オプションを使用して、一覧表示されたそれぞれの Java アプリケーションの \f2main\fP メソッドに渡される引数を組み込んでいます。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps \-m remote.domain:2002\fP
+.br
+
+.fl
+3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+.br
+
+.fl
+3102 sun.tools.jstatd.jstatd \-p 2002
+.fl
+.fi
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+「java(1) \- Java アプリケーション起動ツール」
+.TP 2
+o
+「jstat(1) \- Java 仮想マシン統計データ監視ツール」
+.TP 2
+o
+「jstatd(1) \- 仮想マシン jstat デーモン」
+.TP 2
+o
+「rmiregistry(1) \- Java リモートオブジェクトレジストリ」
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jrunscript.1 b/jdk/src/linux/doc/man/ja/jrunscript.1
index bde1208..f2fbd26 100644
--- a/jdk/src/linux/doc/man/ja/jrunscript.1
+++ b/jdk/src/linux/doc/man/ja/jrunscript.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -21,15 +19,39 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jrunscript 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+.TH jrunscript 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-jrunscript \- ¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë
+.SH "名前"
+jrunscript \- コマンド行スクリプトシェル
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+引数
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -38,148 +60,166 @@
.fl
\fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ]
.fl
-
-.fl
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
-.TP 3
-options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 3
-arguments
-°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH "ÀâÌÀ"
-.LP
-
-.LP
-.LP
-\f3jrunscript\fP ¤Ï¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë¤Ç¤¹¡£jrunscript ¤Ï¡¢ÂÐÏ÷¿ (Æɤ߼è¤ê \- ɾ²Á \- ½ÐÎÏ) ¥â¡¼¥É¤È¥Ð¥Ã¥Á (\-f ¥ª¥×¥·¥ç¥ó) ¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤Ï¥¹¥¯¥ê¥×¥È¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥·¥§¥ë¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤Ï JavaScript ¤Ç¤¹¤¬¡¢\-l ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤Û¤«¤Î¸À¸ì¤â»ØÄê¤Ç¤¤Þ¤¹¡£jrunscript ¤Ï¡¢Java ¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤Ë¤è¤Ã¤Æ¡ÖõµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡×¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.LP
-.LP
-\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¢¤ê¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
-.TP 3
-\-classpath path
-¥¹¥¯¥ê¥×¥È¤«¤é¤Î¥¢¥¯¥»¥¹ÂоݤȤʤë¥æ¡¼¥¶¤Î .class ¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-\-cp path
-\-classpath \f2path\fP ¤ÈƱµÁ¤Ç¤¹¡£
-.TP 3
-\-Dname=value
-Java ¤Î¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 3
-\-J<flag>
-jrunscript ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë¡¢Ä¾ÀÜ <flag> ¤òÅϤ·¤Þ¤¹¡£
-.TP 3
-\-l language
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï JavaScript ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤Û¤«¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ë¤Ï¡¢\-cp¡¢\-classpath ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP 3
-\-e script
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿¡Ö1 ¹Ô¡×¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.TP 3
-\-encoding encoding
-¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-\-f script\-file
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤·¤Þ¤¹ (¥Ð¥Ã¥Á¥â¡¼¥É)¡£
-.TP 3
-\-f \-
-ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆɤ߼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹ (ÂÐÏ÷¿¥â¡¼¥É)¡£
-.TP 3
-\-help\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-\-?\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-\-q\
-ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.LP
-.SH "°ú¿ô"
-.LP
-.LP
-[arguments...] ¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..] ¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î [arguments..] ¤¬¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..]¡¢\f3\-e\fP¡¢\f3\-f\fP ¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Öarguments¡×¤È¤¤¤¦Ì¾Á°¤Î String ÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-.SH "Îã"
-.LP
-\f3¥¤¥ó¥é¥¤¥ó¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript \-e "print('hello world')"
-.fl
- jrunscript \-e "cat('http://java.sun.com')"
-.fl
-\fP
-.fi
-
-.LP
-\f3»ØÄꤵ¤ì¤¿¸À¸ì¤ò»ÈÍѤ·¡¢»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤¹¤ë\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript \-l js \-f test.js
-.fl
-\fP
-.fi
-
-.LP
-\f3ÂÐÏ÷¿¥â¡¼¥É\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript
-.fl
- js>print('hello world');
-.fl
- hello world
-.fl
- js>34 + 55
-.fl
- 89
-.fl
- js> thread(function() { print('hello world'); }
-.fl
- hello world
-.fl
- js>
-.fl
-\fP
-.fi
-
-.LP
-\f3¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤Æ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript test.js arg1 arg2 arg3
-.fl
-\fP
-.fi
-
-.LP
-test.js ¤¬¼Â¹ÔÂоݤȤʤ륹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢arg1¡¢arg2¡¢¤ª¤è¤Ó arg3 ¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤Ï¡Öarguments¡×ÇÛÎó¤ò»È¤Ã¤Æ¤³¤ì¤é¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-.LP
-JavaScript ¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢jrunscript ¤Ï¡¢ºÇ½é¤Î¥æ¡¼¥¶ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤äÁȤ߹þ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤Î JavaScript ÁȤ߹þ¤ßµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¢jsdocs ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
.RS 3
+.TP 3
+options
+オプションを使用する場合、コマンド名の直後に記述してください。
+.TP 3
+arguments
+引数を使用する場合、オプションまたはコマンド名の直後に記述してください。
.RE
.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jrunscript\fP はコマンド行スクリプトシェルです。 jrunscript は、対話型 (読み取り \- 評価 \- 出力) モードとバッチ (\-f オプション) モードの両方のスクリプト実行をサポートします。これはスクリプト言語に依存しないシェルです。デフォルトの使用言語は JavaScript ですが、\-l オプションを使えばほかの言語も指定できます。jrunscript は、Java とスクリプト言語との通信によって「探求的なプログラミング」スタイルをサポートします。
+.LP
+.LP
+\f3注:\fP このツールは\f3試験的なもの\fPであり、将来の JDK のバージョンでは\f3利用できなくなる\fP可能性があります。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-classpath path
+スクリプトからのアクセス対象となるユーザーの .class ファイルの検索場所を指定します。
+.TP 3
+\-cp path
+\-classpath \f2path\fP と同義です。
+.TP 3
+\-Dname=value
+Java のシステムプロパティーを設定します。
+.TP 3
+\-J<flag>
+jrunscript が実行されている Java 仮想マシンに <flag> を渡します。
+.TP 3
+\-l language
+指定されたスクリプト言語を使用します。デフォルトでは JavaScript が使用されます。ほかのスクリプト言語を使用するには、対応するスクリプトエンジンの JAR ファイルも指定する必要があります。 それには、\-cp、\-classpath のいずれかのオプションを使用します。
+.TP 3
+\-e script
+指定されたスクリプトを評価します。このオプションを使えば、コマンド行にすべてが指定された「1 行」スクリプトを実行できます。
+.TP 3
+\-encoding encoding
+スクリプトファイルの読み取り時に使用する文字エンコーディングを指定します。
+.TP 3
+\-f script\-file
+指定されたスクリプトファイルを評価します (バッチモード)。
+.TP 3
+\-f \-
+標準入力からスクリプトを読み取り、それを評価します (対話型モード)。
+.TP 3
+\-help\
+ヘルプメッセージを出力して終了します。
+.TP 3
+\-?\
+ヘルプメッセージを出力して終了します。
+.TP 3
+\-q\
+利用可能なすべてのスクリプトエンジンを一覧表示したあと、終了します。
+.RE
+
+.LP
+.SH "引数"
+.LP
+.LP
+[arguments...] が存在していて、かつ \f3\-e\fP、\f3\-f\fP のいずれのオプションも使用されなかった場合、最初の引数がスクリプトファイルとなり、他の引数が存在する場合はスクリプト引数として渡されます。[arguments..] が使用され、かつ \f3\-e\fP、\f3\-f\fP のいずれかのオプションが使用された場合、すべての [arguments..] がスクリプト引数として渡されます。[arguments..]、\f3\-e\fP、\f3\-f\fP がどれも存在しなかった場合は、対話型モードが使用されます。スクリプトからスクリプト引数を使用するには、「arguments」という名前の String 配列型のエンジン変数を使用します。
+.LP
+.SH "例"
+.LP
+\f3インラインスクリプトの実行\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript \-e "print('hello world')"
+.fl
+jrunscript \-e "cat('http://java.sun.com')"
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3指定された言語を使用し、指定されたスクリプトファイルを評価する\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript \-l js \-f test.js
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3対話型モード\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript
+.fl
+js>print('hello world');
+.fl
+hello world
+.fl
+js>34 + 55
+.fl
+89
+.fl
+js> thread(function() { print('hello world'); }
+.fl
+hello world
+.fl
+js>
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3スクリプト引数を指定してスクリプトファイルを実行する\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript test.js arg1 arg2 arg3
+.fl
+\fP
+.fi
+.RE
+
+.LP
+test.js が実行対象となるスクリプトファイルであり、arg1、arg2、および arg3 はスクリプト引数としてスクリプトに渡されます。スクリプトは「arguments」配列を使ってこれらにアクセスできます。
+.SH "関連項目"
+.LP
+.LP
+JavaScript が使用される場合、jrunscript は、最初のユーザー定義スクリプトを評価する前に、いくつかの組み込み関数や組み込みオブジェクトを初期化します。これらの JavaScript 組み込み機能については、jsdocs を参照してください。
+.LP
+
+.LP
diff --git a/jdk/src/linux/doc/man/ja/jsadebugd.1 b/jdk/src/linux/doc/man/ja/jsadebugd.1
index 3e6a637..980e1d9 100644
--- a/jdk/src/linux/doc/man/ja/jsadebugd.1
+++ b/jdk/src/linux/doc/man/ja/jsadebugd.1
@@ -1,107 +1,149 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jsadebugd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jsadebugd \- ¥µ¡¼¥Ó¥¹¥¨¡¼¥¸¥§¥ó¥È¥Ç¥Ð¥Ã¥°¥Ç¡¼¥â¥ó
-.\"
-.SH ·Á¼°
-.B jsadebugd
-.I pid [ server-id ]
-.br
-.B jsadebugd
-.I executable core [ server-id ]
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¥¢¥¿¥Ã¥Á¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£1 ¤Ä¤Î¥×¥í¥»¥¹¤Ë¥¢¥¿¥Ã¥Á¤Ç¤¤ë¤Î¤Ï¡¢1 ¤Ä¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤À¤±¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¥¢¥¿¥Ã¥Á¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥Þ¥·¥ó¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¾ì¹ç¤ËɬÍפʡ¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤¹¤ëÆÃÄê¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤ò¼±Ê̤¹¤ë¤Ë¤Ï¡¢¤³¤Î ID ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Î¥Þ¥·¥óÆâ¤Ç¡¢¤³¤Î ID ¤Ï°ì°Õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jsadebugd
-¤Ï¡¢Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£
-.B jstack
-¡¢
-.B jmap
-¡¢
-.B jinfo
-¤Ê¤É¤Î¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¤Ë¥¢¥¿¥Ã¥Á¤Ç¤¤Þ¤¹¡£
-.B jsadebugd
-¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Æ
-.B rmiregistry
-¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jsadebugd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
-.ft 3
-.nf
-rmiregistry -J-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar
-.fi
-.ft 1
-.RE
-.LP
-$JAVA_HOME ¤Ï¡¢JDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
-.B rmiregistry
-¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jsadebugd
-¤Ïɸ½à (1099) ¥Ý¡¼¥È¤ÇÆâÉôŪ¤Ë
-.B rmiregistry
-¤òµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢SIGINT ¤òÁ÷¿®¤·¤Þ¤¹ (Ctrl-C ¤ò²¡¤¹) ¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.B jsadebugd
-¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¡¢Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jsadebugd \- サービスアビリティーエージェントデバッグデーモン
.LP
.RS 3
.TP 2
-*
-jinfo
+o
+形式
.TP 2
-*
-jmap
+o
+パラメータ
.TP 2
-*
-jps
+o
+説明
.TP 2
-*
-jstack
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jsadebugd\fP pid [ server\-id ]
+.fl
+\f3jsadebugd\fP executable core [ server\-id ]
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+pid
+デバッグサーバーが接続するプロセスのプロセス ID です。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。単一のプロセスに接続できるデバッグサーバーのインスタンスは、1 つに制限されます。
+.RE
+
+.LP
+.RS 3
+.TP 3
+executable
+.RE
+
+.LP
+.RS 3
+.TP 3
+コアダンプの作成元になる Java 実行可能ファイルです。
+.RE
+
+.LP
+.RS 3
+.TP 3
+core
+デバッグサーバーを接続するコアファイルです。
+.RE
+
+.LP
+.RS 3
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のマシン上で実行している場合に必要になる、オプション固有の ID です。この ID は、リモートクライアントが、接続先のデバッグサーバーを特定するために使用する必要があります。この ID は、単一のマシン内で一意でなければなりません。
+.RE
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jsadebugd\fP は、Java プロセスまたはコアファイルに接続し、デバッグサーバーとして機能します。jstack(1)、jmap(1)、および jinfo(1) などのリモートクライアントは、Java Remote Method Invocation (RMI) を使用しているサーバーに接続できます。\f2jsadebugd\fP を起動する前に、次のように指定して
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi を起動する必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+ここで、\f2$JAVA_HOME\fP は、JDK のインストールディレクトリです。rmiregistry が起動していない場合、jsadebugd は標準 (1099) ポートの rmiregistry を内部で起動します。デバッグサーバーは、SIGINT を送信する (Ctrl+C を押す) ことにより停止できます。
+.LP
+.LP
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。 jsadebugd は、現時点では、Windows プラットフォームでは使用できません。\fP
+.LP
+.SH "関連項目"
+.LP
+.RS 3
.TP 2
-*
-rmiregistry
+o
+jinfo(1)
+.TP 2
+o
+jmap(1)
+.TP 2
+o
+jps(1)
+.TP 2
+o
+jstack(1)
+.TP 2
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/jstack.1 b/jdk/src/linux/doc/man/ja/jstack.1
index 86b2d1c..12f53b3 100644
--- a/jdk/src/linux/doc/man/ja/jstack.1
+++ b/jdk/src/linux/doc/man/ja/jstack.1
@@ -1,75 +1,112 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jstack 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstack \- ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹
-.\"
-.SH ·Á¼°
-.B jstack
-.BI [ option ] " pid"
-.br
-.B jstack
-.BI [ option ] " executable core"
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstack 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jstack \- スタックトレース
.br
-.B jstack
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
-.SH ¥Ñ¥é¥á¡¼¥¿
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.BI remote-hostname-or-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstack
-¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î Java ¥¹¥ì¥Ã¥É¤Î Java ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î Java ¥Õ¥ì¡¼¥à¤Ë¤Ä¤¤¤Æ¡¢´°Á´¤Ê¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢'bci' (¥Ð¥¤¥È¥³¡¼¥É¥¤¥ó¥Ç¥Ã¥¯¥¹) ¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ (Æþ¼ê²Äǽ¤Ê¾ì¹ç) ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
-.B \-m
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
-.B jstack
-¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤Î Java ¤È¥Í¥¤¥Æ¥£¥Ö¤ÎξÊý¤Î¥Õ¥ì¡¼¥à¤ò 'pc' (¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿) ¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤Ë¤Ä¤¤¤Æ¡¢'pc' ¤ËºÇ¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¥·¥ó¥Ü¥ë (Æþ¼ê²Äǽ¤Ê¾ì¹ç) ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£C++ ¤ÎÉä¹æ²½¤µ¤ì¤¿ (mangled) ̾Á°¤ÏÉü¹æ²½ (demangled) ¤µ¤ì¤Þ¤»¤ó¡£C++ ̾¤òÉü¹æ²½¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò c++filt ¤Ë¥Ñ¥¤¥×¤ÇÅϤ·¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.br
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.TP 2
+o
+既知のバグ
+.br
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstack\fP [ option ] pid
+.fl
+\f3jstack\fP [ option ] executable core
+.fl
+\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.LP
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。オプションを参照してください。
+.LP
+.RS 3
+.TP 3
+pid
+印刷するスタックトレースのプロセス ID です。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
+.RE
+
+.LP
+.RS 3
+.TP 3
+executable
+コアダンプの作成元の Java 実行可能ファイルです。
+.br
+.TP 3
+core
+印刷するスタックトレースのコアファイルです。
+.br
+.TP 3
+remote\-hostname\-or\-IP
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.br
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.RE
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jstack\fP は、指定された Java プロセスやコアファイルまたはリモートデバッグサーバーに対する Java スレッドの Java スタックトレースを印刷します。Java フレームごとに、フルクラス名、メソッド名、「bci」(バイトコードインデックス)、および行番号 (利用可能な場合) が印刷されます。\-m オプションを使用すると、jstack は、すべてのスレッドの Java フレームとネイティブフレームの両方を、「pc」(プログラムカウンタ) とともに印刷します。ネイティブフレームごとに、「pc」にもっとも近いネイティブシンボル (利用可能な場合) が印刷されます。C++ 分解名は分解解除されません。C++ 名を分解解除するには、このコマンドの出力を \f3c++filt\fP にパイプします。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.br
.LP
@@ -86,57 +123,72 @@
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç»ÈÍѲÄǽ¤ÊÍ£°ì¤Î jstack ·Á¼°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+.LP
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。\fP
.LP
.nf
\f3
.fl
-\fP\f3 jstack pid \fP
+\fP\f3 jstack [\-l] pid \fP
.fl
.fi
.LP
-.SH ¥ª¥×¥·¥ç¥ó
+.SH "オプション"
.LP
.LP
-.TP 3
-\-F
-¡Öjstack pid¡×¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£
-.TP 3
-\-m
-º®¹ç¥â¡¼¥É (Java ¤È¥Í¥¤¥Æ¥£¥Ö¤ÎξÊý¤Î C/C++ ¥Õ¥ì¡¼¥à) ¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 3
-\-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.br
-.br
-.TP 3
-\-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.br
-
-.LP
-.SH ´ØÏ¢¹àÌÜ
-.LP
.RS 3
-.TP 2
-*
-pstack(1)
-.TP 2
-*
-c++filt(1)
-.TP 2
-*
-jps
-.TP 2
-*
-jsadebugd
+.TP 3
+\-F
+「jstack [\-l] pid」が応答しない場合にスタックダンプを強制します。
+.TP 3
+\-l
+長形式のリスト。所有 java.util.concurrent の
+.na
+\f2所有できるシンクロナイザ\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.htmlの一覧など、ロックについての追加情報を印刷します。
+.TP 3
+\-m
+混合モード (Java およびネイティブ C/C++ フレームの両方) のスタックトレースを印刷します。
+.TP 3
+\-h
+ヘルプメッセージを印刷します。
+.br
+.br
+.TP 3
+\-help
+ヘルプメッセージを印刷します。
+.br
.RE
.LP
-.SH ´ûÃΤÎÌäÂê
-º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ (
-.B \-m
-¥ª¥×¥·¥ç¥ó) ¤Ï¡¢¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+pstack(1)
+.TP 2
+o
+c++filt(1)
+.TP 2
+o
+jps(1)
+.TP 2
+o
+jsadebugd(1)
+.RE
+
+.LP
+.SH "既知のバグ"
+.LP
+
+.LP
+.LP
+混合モードのスタックトレース (\-m オプション使用) は、リモートデバッグサーバーでは機能しません。
+.LP
+
+.LP
+
diff --git a/jdk/src/linux/doc/man/ja/jstat.1 b/jdk/src/linux/doc/man/ja/jstat.1
index 819b19a..1682dd7 100644
--- a/jdk/src/linux/doc/man/ja/jstat.1
+++ b/jdk/src/linux/doc/man/ja/jstat.1
@@ -1,667 +1,5467 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jstat 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
-.\"
-.SH ·Á¼°
-.nf
-\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
-.fl
-.fi
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I generalOption
-ñ°ì¤ÎÈÆÍÑ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó (
-.B \-help
-¡¢
-.B \-options
-¡¢¤Þ¤¿¤Ï
-.B \-version
-)
-.if t .TP 20
-.if n .TP 15
-.I outputOptions
-1 ¤Ä°Ê¾å¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¡£1 ¤Ä¤Î statOption ¤È
-.B \-t
-¡¢
-.B \-h
-¡¢¤ª¤è¤Ó
-.B \-J
-¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I vmid
-²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ£¥¿¡¼¥²¥Ã¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¼¨¤¹Ê¸»úÎó¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
-.ft 3
-.nf
-[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
-.fi
-.ft 1
-.RE
+.SH "名前"
+jstat \- Java 仮想マシン統計データ監視ツール
.LP
-vmid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£vmid ¤Ï¡¢¥í¡¼¥«¥ë JVM ¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¤½¤Î¾¤Î¼ÂÁõ¸ÇͤÎÃͤò»ØÄꤹ¤ëÊ£»¨¤Ê¹½Â¤¤Þ¤Ç¤µ¤Þ¤¶¤Þ¤Ç¤¹¡£¾Ü¤·¤¯¤Ï¡¢°Ê²¼¤Î¡Ö²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I interval[s|ms]
-»ØÄꤵ¤ì¤¿Ã±°Ì (Éà (s) ¤Þ¤¿¤Ï¥ß¥êÉà (ms) ) ¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.B jstat
-¤Ï
-.I interval
-¤´¤È¤Ë½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I count
-ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¡£¥Ç¥Õ¥©¥ë¥È¤ÎÃÍ¤Ï infinity ¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢
-.B jstat
-¤Ï¥¿¡¼¥²¥Ã¥È JVM ¤¬½ªÎ»¤¹¤ë¤«
-.B jstat
-¥³¥Þ¥ó¥É¤¬½ªÎ»¤µ¤ì¤ë¤Þ¤ÇÅý·×¤òɽ¼¨¤·¤Þ¤¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstat
-¥Ä¡¼¥ë¤Ï¡¢·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ¢¤¹¤Ê¤ï¤Á¡¢°Ê²¼¤Î
-.I vmid
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½»þÅÀ¤Ç¤Ï¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SS ²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò
-vmid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-[protocol:][//]lvmid[@hostname][:port][/servername]
-.fi
-.ft 1
-.RE
-.if t .TP 20
-.if n .TP 15
-.I protocol
-ÄÌ¿®¥×¥í¥È¥³¥ë¡£
-.I protocol
-¤¬¾Ê¤«¤ì¡¢
-.I hostname
-¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¸ÇͤκÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ç¤¹¡£
-.I protocol
-¤¬¾Ê¤«¤ì¡¢
-.I hostname
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï rmi ¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I lvmid
-¥¿¡¼¥²¥Ã¥È JVM ¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ£
-.I lvmid
-¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇͤÎÃͤǤ¢¤ê¡¢¥·¥¹¥Æ¥à¾å¤Î JVM ¤ò°ì°Õ¤Ë¼±Ê̤·¤Þ¤¹¡£
-.I lvmid
-¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿Ü¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¤¹¡£
-.I lvmid
-¤Ï¡¢°ìÈ̤ˡ¢¥¿¡¼¥²¥Ã¥È JVM ¥×¥í¥»¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
-.B jps
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢
-.I lvmid
-¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢UNIX ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï
-.B ps
-¥³¥Þ¥ó¥É¤Ç¡¢Windows ¤Ç¤Ï¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ç
-.I lvmid
-¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I hostname
-¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.I hostname
-¤¬¾Ê¤«¤ì¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B port
-¥ê¥â¡¼¥È¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¡£
-.I hostname
-¤¬¾Ê¤«¤ì¤ë¤«¡¢
-.I protocol
-¤¬ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢
-.B port
-¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢
-.B port
-¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¸ÇͤǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢
-.B port
-¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î
-.B rmiregistry
-¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£
-.B port
-¤¬¾Ê¤«¤ì¡¢
-.I protocol
-¤¬ rmi ¤ò¼¨¤¹¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I servername
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î¼è¤ê°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤·¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jstat
-¥³¥Þ¥ó¥É¤Ï¡¢ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î 2 ¼ïÎà¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-.B jstat
-¤Ï´Êñ¤Ê»ÈÍÑË¡¤È¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢Åý·×½ÐÎϤÎÆâÍƤȷÁ¼°¤¬·è¤Þ¤ê¤Þ¤¹¡£
-.LP
-Ãí - ¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤ì¤é¤Îµ¡Ç½¤Ï¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.SS ÈÆÍÑ¥ª¥×¥·¥ç¥ó
-ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-options
-Åý·×¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£¼¡¤Î¡Ö½ÐÎÏ¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS ½ÐÎÏ¥ª¥×¥·¥ç¥ó
-ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.B jstat
-¤Î½ÐÎϤÎÆâÍƤȷÁ¼°¤ò·è¤á¡¢1 ¤Ä¤Î statOption ¤È¾¤Î¥ª¥×¥·¥ç¥ó (
-.B \-h
-¡¢
-.B \-t
-¡¢¤ª¤è¤Ó
-.B \-J
-) ¤Î¤¤¤º¤ì¤«¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£statOption ¤ÏºÇ½é¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-½ÐÎϤϡ¢Î󤬶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿É½¤È¤·¤Æ½ñ¼°²½¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ÎÉÕ¤¤¤¿¸«½Ð¤·¹Ô¤¬Îó¤ÎÆâÍƤòɽ¤·¤Þ¤¹¡£
-.B \-h
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸«½Ð¤·¤òɽ¼¨¤¹¤ëÉÑÅÙ¤òÀßÄê¤Ç¤¤Þ¤¹¡£Î󸫽Ф·¤Î̾Á°¤Ï¡¢°ìÈ̤˥ª¥×¥·¥ç¥ó´Ö¤ÇÀ°¹çÀ¤¬¼è¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇÎó¤Î̾Á°¤¬Æ±¤¸¤Ë¤Ê¤ë¾ì¹ç¡¢2 ¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¥½¡¼¥¹¤ÏƱ¤¸¤Ç¤¹¡£
-.LP
-.B \-t
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢½ÐÎϤκǽé¤ÎÎó¤Ë Timestamp ¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Timestamp Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Îʬ²òǽ¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢¹âÉé²Ù¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Ãٱ䥹¥ì¥Ã¥É¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ë¤è¤Ã¤ÆÊÑÆ°¤¬À¸¤¸¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.I interval
-¤ª¤è¤Ó
-.I count
-¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¤½¤ì¤¾¤ì
-.B jstat
-¤¬½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò·è¤á¤Þ¤¹¡£
-.LP
-Ãí - ¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç·Á¼°¤¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
-.B jstat
-¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤Ï½ñ¤«¤Ê¤¤Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-.B jstat
-½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï½¤Àµ¤¬É¬Íפˤʤ뤳¤È¤òÁÛÄꤷ¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-statOption
-.B jstat ¤¬É½¼¨¤¹¤ëÅý·×¾ðÊó¤ò·è¤á¤Þ¤¹¡£¼¡¤Îɽ¤Ë¡¢»ÈÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\-options ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Î¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.sp 1n
-.TS
-box;
-cbp-1 | cbp-1
-l | l .
-¥ª¥×¥·¥ç¥ó ɽ¼¨¤µ¤ì¤ë¾ðÊó
-_
-class ¥¯¥é¥¹¥í¡¼¥À¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-compiler T{
-HotSpot Just-In-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-T}
-gc T{
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-T}
-gccapacity À¤Âå¤ÎÍÆÎ̤Ȥ½¤ì¤é¤ËÂбþ¤¹¤ë¶õ´Ö¤ÎÅý·×
-gccause T{
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó ( \-gcutil ¤ÈƱ¤¸) ¤È¡¢
-Á°²ó¤ª¤è¤Ó¸½ºß (³ºÅö¤¹¤ë¾ì¹ç) ¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó
-¥¤¥Ù¥ó¥È¤Î¸¶°ø
-T}
-gcnew ¿·¤·¤¤À¤Âå¤ÎÆ°ºî¤ÎÅý·×
-gcnewcapacity ¿·¤·¤¤À¤Âå¤È¤½¤ì¤é¤ËÂбþ¤¹¤ë¶õ´Ö¤Î¥µ¥¤¥º¤ÎÅý·×
-gcold T{
-¸Å¤¤±Ê³ŪÀ¤Âå¤ÎÆ°ºî¤ÎÅý·×
-T}
-gcoldcapacity ¸Å¤¤À¤Âå¤Î¥µ¥¤¥º¤ÎÅý·×
-gcpermcapacity ±Ê³ŪÀ¤Âå¤Î¥µ¥¤¥º¤ÎÅý·×
-gcutil ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-printcompilation ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-.TE
-.if t .TP 20
-.if n .TP 15
-.BI \-h " n"
-.I n
-¸Ä¤Î¥µ¥ó¥×¥ë (½ÐÎϹÔ
-.I n
-¹Ô) ¤´¤È¤ËÎ󸫽Ф·¤òɽ¼¨¤·¤Þ¤¹¡£
-.I n
-¤ÏÀµ¤ÎÀ°¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 0 ¤Ç¤¢¤ê¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎ󸫽Ф·¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP
-.if n .TP
-.BI \-t " n"
-½ÐÎϤκǽé¤ÎÎó¤È¤·¤Æ¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤¬µ¯Æ°¤·¤Æ¤«¤é¤Î»þ´Ö¤Ç¤¹¡£
-.if t .TP
-.if n .TP
-.BI \-J javaOption
-.I javaOption
-¤ò Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.BI \-J \-Xms48m
-¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.RS 3
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë (Solaris) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html
+o
+形式
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë(Linux) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html
+o
+パラメータ
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë (Windows) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html
+o
+説明
+.TP 2
+o
+仮想マシン識別子
+.TP 2
+o
+オプション
+.br
+\ \ \- 一般的なオプション
+.br
+\ \ \- 出力オプション
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
.RE
-.SS statOption ¤È½ÐÎÏ
-¼¡¤Îɽ¤Ë¡¢³Æ
-.I statOption
-¤ËÂФ·¤Æ
-.B jstat
-¤¬½ÐÎϤ¹¤ëÎó¤ÎÍ×Ìó¤ò¼¨¤·¤Þ¤¹¡£
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+generalOption
+単独で使用する一般的なコマンド行オプションです (\-help、\-options、または \-version)。
+.TP 3
+outputOptions
+単一の \f2statOption\fP と、\-t、\-h、および \-J オプションのいずれかを組み合わせた、1 つまたは複数の出力オプションです。
+.TP 3
+vmid
+ターゲットの Java 仮想マシン (JVM) を示す文字列である仮想マシン識別子です。一般的な構文は次のようになります。
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
+.fl
+.fi
+vmid 文字列の構文の大部分は、URI の構文に対応しています。\f2vmid\fP は、ローカル JVM を表す単純な整数から、通信プロトコル、ポート番号、および他の実装固有の値を示す複雑な構造まで、さまざまに異なります。詳細は、「仮想マシン識別子」を参照してください。
+.TP 3
+interval[s|ms]
+秒 (s) またはミリ秒 (ms) のうち指定した単位でのサンプリング間隔です。デフォルトの単位はミリ秒です。\ 正の整数でなければなりません。\ これが指定された場合、\f3jstat\fP は interval ごとに出力を生成します。
+.TP 3
+count
+表示するサンプル数です。デフォルト値は無限です。 つまり、\f3jstat\fP は、ターゲット JVM が終了するまで、または \f3jstat\fP コマンドが終了するまで、統計データを表示します。 正の整数値を使用する必要があります。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jstat\fP ツールは、設置されている HotSpot Java 仮想マシン (JVM) のパフォーマンス統計データを表示します。ターゲット JVM は、仮想マシン識別子、つまり下記の \f2vmid\fP オプションによって識別されます。
+.LP
+.LP
+\f3注\fP: このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
.br
-.SS
-\-class ¥ª¥×¥·¥ç¥ó
+
+.LP
+.SS
+仮想マシン識別子
+.LP
+.RS 3
+
+.LP
+.LP
+\f2vmid\fP 文字列の構文の大部分は、URI の構文に対応しています。
+.LP
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP]
+.fl
+.fi
+
+.LP
+.RS 3
+.TP 3
+protocol
+通信プロトコルです。\f2protocol\fP が省略され、\f2hostname\fP が指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカルプロトコルになります。\f2protocol\fP が省略され、\f2hostname\fP が指定されている場合は、デフォルトプロトコルは \f3rmi\fP になります。
+.TP 3
+lvmid
+ターゲット JVM のローカル仮想マシン識別子です。\f2lvmid\fP は、システム上の JVM を一意に識別するプラットフォーム固有の値です。\f2lvmid\fP は、仮想マシン識別子の唯一の必須要素です。\f2lvmid\fP は、絶対というわけではありませんが、一般的にはターゲット JVM プロセスに対するオペレーティングシステムのプロセス識別子です。jps(1) コマンドを使用して、\f2lvmid\fP を指定できます。また、Unix プラットフォームでは\f3ps\fP コマンドを使用して、Windows では Windows タスクマネージャーを使用して、\f2lvmid\fP を指定できます。
+.TP 3
+hostname
+ターゲットホストを示すホスト名または IP アドレスです。\f2hostname\fP が省略されている場合は、ターゲットホストはローカルホストになります。
+.TP 3
+port
+リモートサーバーと通信するためのデフォルトポートです。\f2hostname\fP が省略されているか、\f2protocol\fP で最適化されたローカルプロトコルが指定されている場合、\f2port\fP は無視されます。そうでなければ、\f2port\fP パラメータの扱いは、実装によって異なります。デフォルトの \f3rmi\fP プロトコルの場合、\f2port\fP は、リモートホスト上の rmiregistry のポート番号を示します。\f2port\fP が省略され、\f2protocol\fP で \f3rmi\fP が指定されている場合、デフォルトの rmiregistry ポート (1099) が使用されます。
+.TP 3
+servername
+このパラメータの扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。\f3rmi\fP プロトコルの場合は、このパラメータは、リモートホスト上の RMI リソースオブジェクトの名前を示します。
+.RE
+
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jstat\fP コマンドは、一般的なオプションと出力オプションの 2 つのタイプのオプションをサポートしています。一般的なオプションを使用した場合、\f3jstat\fP は簡単な使用率およびバージョン情報を表示します。出力オプションでは、統計データ出力の内容と形式を指定します。
.br
-¥¯¥é¥¹¥í¡¼¥ÀÅý·×
+
+.LP
+.LP
+\f3注\fP: すべてのオプションとその機能は、将来のリリースで変更または廃止される可能性があります。
+.LP
+.SS
+一般的なオプション
+.LP
+.LP
+いずれかの一般的なオプションを指定した場合、他のオプションまたはパラメータは一切指定できません。
+.LP
+.RS 3
+.TP 3
+\-help
+ヘルプメッセージを表示します。
+.TP 3
+\-version
+バージョン情報を表示します。
+.TP 3
+\-options
+統計データオプションを一覧表示します。下記の「出力オプション」の節を参照してください。
+.RE
+
+.LP
+.SS
+出力オプション
+.LP
+.RS 3
+
+.LP
+.LP
+一般的なオプションを指定しない場合に、出力オプションを指定できます。出力オプションは、\f3jstat\fP の出力の内容および形式を指定し、単一の \f2statOption\fP と、他のいずれかの出力オプション (\-h、\-t、および \-J) とで構成されます。\ \f2statOption\fP は最初に記述する必要があります。
+.LP
+.LP
+出力は、各列が空白で区切られたテーブルの形式で構成されます。タイトルを記したヘッダー行に、各列の説明が記されます。 \f3\-h\fP オプションを使用して、ヘッダーを表示する頻度を設定します。\ 通常、列のヘッダー名はオプションが異なっている場合でも一貫しています。一般に、2 つのオプションで同じ名前の列が使用されていれば、2 つの列のデータソースは同じになります。
+.LP
+.LP
+\f3\-t\fP オプションを使用すると、\f2Timestamp\fP というラベルの付いたタイムスタンプの列が、出力の最初の列として表示されます。\f2Timestamp\fP 列には、ターゲット JVM の起動からの経過時間が、秒単位で表示されます。タイムスタンプの精度は、さまざまな要因によって異なり、大量の負荷のかかったシステムでのスレッドスケジュールの遅延により変動します。
+.LP
+.LP
+\f2interval\fP および \f2count\fP パラメータを使用して、\f3jstat\fP がその出力を表示する頻度と回数をそれぞれ指定します。
+.LP
+.LP
+\f3注\fP: 将来のリリースでこの形式は変更される可能性があるため、\f3jstat\fP の出力を解析するスクリプトは作成しないことをお勧めします。\f3jstat\fP 出力を解析するスクリプトを作成する場合は、このツールの将来のリリースで、そのスクリプトを変更しなければならないことに留意してください。
+.LP
+.RS 3
+.TP 3
+\-statOption
+\f3jstat\fP が表示する統計データ情報を指定します。次の表には、利用可能なオプションが一覧表示されています。 特定のプラットフォームのインストールについて、オプションを一覧表示するには、一般的なオプションの \f3\-options\fP を使用します。
+.br
.br
.LP
-.sp 1n
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Loaded ¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô
-Bytes ¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô
-Unloaded ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô
-Bytes ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô
-Time ¥¯¥é¥¹¤Î¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥ÉÁàºî¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+クラスローダーの動作に関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HotSpot Just\-in\-Time コンパイラの動作に関する統計データ
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクトされたヒープの動作に関する統計データ
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+世代ごとの容量と対応する領域に関する統計データ
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション統計データの概要 (\f3\-gcutil\fP と同じ) と、直前および現在 (適用可能な場合) のガベージコレクションイベントの原因
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の動作に関する統計データ
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代のサイズと対応する領域に関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代および Permanent 世代の動作に関する統計データ
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代のサイズに関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代のサイズに関する統計データ
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション統計データの概要
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HotSpot コンパイル方法の統計データ
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wclass
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wcompiler
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgc
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgccapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgccause
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcnew
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcnewcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcold
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcoldcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcpermcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcutil
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wprintcompilation
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3表示内容\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 260 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3表示内容\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'class\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'compiler\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gc\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gccapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gccause\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcnew\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcnewcapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcold\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcoldcapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcpermcapacity\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcutil\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'printcompilation\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.l+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-52
+.TP 3
+\-h n
+\f2n\fP サンプル (出力行) ごとに列ヘッダーを表示。 ただし、\f2n\fP は正の整数値。デフォルト値は 0。 このとき、データの最初の行の上に列ヘッダーが表示される
+.TP 3
+\-t n
+タイムスタンプ列を出力の最初の列として表示。タイムスタンプは、ターゲット JVM の起動時からの経過時間
+.TP 3
+\-J javaOption
+\f2javaOption\fP を \f3java\fP アプリケーション起動ツールへ渡す。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。オプションの完全なリストについては、「java(1)」のドキュメントを参照してください。
+.RE
+
+.LP
+.RE
.SS
-\-compiler
-¥ª¥×¥·¥ç¥ó
+statOption と出力
+.LP
+.RS 3
+
+.LP
+.LP
+以降の表では、\f3jstat\fP が \f2statOption\fP ごとに出力する列について概要を示します。
.br
-HotSpot Just-In-Time ¥³¥ó¥Ñ¥¤¥éÅý·×
-.br
-.sp 1n
+
+.LP
+.SS
+\-class オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Compiled ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Failed ¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Invalid ̵¸ú²½¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Time ¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö
-FailedType Á°²ó¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥×
-FailedMethod Á°²ó¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ロードされたクラスの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ロードされた K バイト数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+アンロードされたクラスの数
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+アンロードされた K バイト数
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+クラスのロードやアンロード処理に要した時間
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wクラスローダーの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wLoaded
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBytes
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wUnloaded
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBytes
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTime
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 314 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'クラスローダーの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Loaded\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Bytes\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Unloaded\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Bytes\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Time\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-25
+
+.LP
+.SS
+\-compiler オプション
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+実行されたコンパイルタスクの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+失敗したコンパイルタスクの数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+無効にされたコンパイルタスクの数
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイルタスクの実行に要した時間
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後に失敗したコンパイルのコンパイルタイプ
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後に失敗したコンパイルのクラス名とメソッド
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wHotSpot Just\-In\-Time コンパイラの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wCompiled
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailed
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wInvalid
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTime
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailedType
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailedMethod
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 350 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'HotSpot Just\-In\-Time コンパイラの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Compiled\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Failed\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Invalid\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Time\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FailedType\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FailedMethod\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.f+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-29
+
+.LP
.SS
-\-gc ¥ª¥×¥·¥ç¥ó
-.br
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×
-.br
+\-gc オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-SOC ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-S1U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EU ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OU ¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-PC ¸½ºß¤Î±Ê³Ū¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PU ±Ê³Ū¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (KB)
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代のガベージコレクション時間
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wガベージコレクトされたヒープの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 420 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ガベージコレクトされたヒープの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OU\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PU\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.l+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(m|u+\n(.Vu
+.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.n+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.rm n+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
+
+.LP
.SS
-\-gccapacity ¥ª¥×¥·¥ç¥ó
-.br
-¥á¥â¥ê¥×¡¼¥ëÀ¤Âå¤È¥¹¥Ú¡¼¥¹ÍÆÎÌ
-.br
+\-gccapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-NGCMN ¿·À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-NGCMX ¿·À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-NGC ¿·À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMN µìÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMX µìÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-OGC µìÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMN ±Ê³ŪÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMX ±Ê³ŪÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-PGC ±Ê³ŪÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PC ±Ê³Ū¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最大容量 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最小容量 (KB)
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最大容量 (KB)
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の現在の容量 (KB)
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di o+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr o| \n(dn
+.nr o- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wメモリープール世代および領域容量
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(o-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 494 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'メモリープール世代および領域容量\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMX\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.n+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(o|u+\n(.Vu
+.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.o+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.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+
+.rm n+
+.rm o+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-67
-.SS
-\-gccause
-¥ª¥×¥·¥ç¥ó
+
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤È (ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï) ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f3\-gcutil\fP ¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¾¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£
+.SS
+\-gccause オプション
+.LP
+.LP
+このオプションは、\f3\-gcutil\fP オプションと同じガベージコレクション統計データの概要を表示しますが、最後のガベージコレクションイベントと (適用可能な場合は) 現在のガベージコレクションイベントの原因が含まれます。\f3\-gcutil\fP で一覧表示される列の他に、このオプションでは次の列が追加されます。
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-LGCC Á°²ó¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø
-GCC ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後のガベージコレクションの原因
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+現在のガベージコレクションの原因
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wGC イベントを含むガベージコレクション統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wLGCC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCC
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 517 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GC イベントを含むガベージコレクション統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'LGCC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-13
+
+.LP
.SS
-\-gcnew ¥ª¥×¥·¥ç¥ó
-.br
-¿·À¤ÂåÅý·×
-.br
+\-gcnew オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-SOC ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-S1U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-TT ÊÝͤ·¤¤¤ÃÍ
-MTT ºÇÂçÊÝͤ·¤¤¤ÃÍ
-DSS ÌÜɸ¥µ¥Ð¥¤¥Ð¡¼¥µ¥¤¥º (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EU ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最大殿堂入りしきい値
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+適切な Survivor サイズ (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代のガベージコレクション時間
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wNew 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wMTT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wDSS
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.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(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 571 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'New 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.d+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'TT\h'|\n(41u'殿堂入りしきい値
+.ne \n(e|u+\n(.Vu
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'MTT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'DSS\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EU\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.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(31u
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-47
+
+.LP
.SS
-\-gcnewcapacity ¥ª¥×¥·¥ç¥ó
-.br
-¿·À¤Âå¤Î¥¹¥Ú¡¼¥¹¥µ¥¤¥ºÅý·×
-.br
+\-gcnewcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-NGCMN ¿·À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-NGCMX ¿·À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-NGC ¸½ºß¤Î¿·À¤ÂåÍÆÎÌ (K ¥Ð¥¤¥È)
-S0CMX ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-S0C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1CMX ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-ECMX ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+NGCMN\ \ \ \ \ \ \ \ \ T}~T{
+New 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の最大容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の最大容量 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の最大容量 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wNew 世代領域サイズの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMX \ \ \
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGC \ \ \
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0CMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1CMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wECMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.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\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.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(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 627 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'New 世代領域サイズの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMX \ \ \\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGC \ \ \\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0CMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1CMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ECMX\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.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(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-49
+
+.LP
.SS
-\-gcold ¥ª¥×¥·¥ç¥ó
-.br
-µì¤ª¤è¤Ó±Ê³À¤ÂåÅý·×
-.br
+\-gcold オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-PC ¸½ºß¤Î±Ê³¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PU ±Ê³¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OU ¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wOld および Permanent 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 669 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Old および Permanent 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcoldcapacity ¥ª¥×¥·¥ç¥ó
-.br
-µìÀ¤ÂåÅý·×
-.br
+\-gcoldcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-OGCMN µìÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMV µìÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-OGC µìÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wOld 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 711 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Old 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcpermcapacity ¥ª¥×¥·¥ç¥ó
-.br
-±Ê³À¤ÂåÅý·×
-.br
+\-gcpermcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-PGCMN ±Ê³À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMX ±Ê³À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-PGC ±Ê³À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PC ±Ê³¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wPermanent 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 753 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Permanent 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcutil
-¥ª¥×¥·¥ç¥ó
-.br
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-.br
+\-gcutil オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-S0 T{
-¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-S1 T{
-¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-E T{
-¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-O T{
-¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-P T{
-±Ê³¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (現在の容量に対するパーセンテージ)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr i| \n(dn
+.nr i- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wガベージコレクション統計データの概要
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wE
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wO
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 803 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ガベージコレクション統計データの概要\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'E\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'O\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'P\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(h|u+\n(.Vu
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.i+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-43
+
+.LP
.SS
-\-printcompilation ¥ª¥×¥·¥ç¥ó
-.br
-HotSpot ¥³¥ó¥Ñ¥¤¥é¥á¥½¥Ã¥ÉÅý·×
-.br
+\-printcompilation オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Compiled ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Size ¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô
-Type ¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥×
-Method T{
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤ò¼±Ê̤¹¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¥»¥Ñ¥ì¡¼¥¿¤È¤·¤Æ "." ¤ÎÂå¤ï¤ê¤Ë "/" ¤ò»ÈÍѤ·¤Þ¤¹¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤Î 2 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢
-"HotSpot \- XX:+PrintComplation"
-¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¡£
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+実行されたコンパイルタスクの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+メソッドのバイトコードのバイト数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイル方法を特定するクラス名とメソッド名。クラス名では、名前空間の区切り文字として、「.」ではなく「/」が使用される。メソッド名は、指定されたクラス内のメソッドである。これらの 2 つのフィールドの形式は、HotSpot \- \f3XX:+PrintComplation\fP オプションと対応している
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wHotSpot コンパイル方法の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wCompiled
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wサイズ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w型
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wメソッド
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.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(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 829 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'HotSpot コンパイル方法の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Compiled\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'サイズ\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'型\h'|\n(41u'コンパイルタイプ
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'メソッド\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-19
+
+.LP
.SS
-.SH
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢lvmid ¤¬ 21891 ¤Ç¤¢¤ë¥í¡¼¥«¥ë JVM ¤Î´Æ»ëÎã¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£
-.SS gcutil ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 7 ¤Ä¤Î¥µ¥ó¥×¥ë¤òºÎ¼è¤·¡¢
-.B \-gcutil
-¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£
+
.LP
-.ft 3
-.nf
-jstat -gcutil 21891 250 7
- S0 S1 E O P YGC YGCT FGC FGCT GCT
- 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
- 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
- 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
- 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
-.fi
-.ft 1
+.SH ""
.LP
-¤³¤ÎÎã¤Î½ÐÎϤϡ¢3 ÈÖÌÜ¤È 4 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬È¯À¸¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Î½êÍ×»þ´Ö¤Ï 0.001 ÉäǤ¢¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹ (E) ¤«¤é¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹ (O) ¤Ë¾º³Ê¤µ¤ì¤¿¤¿¤á¡¢¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ¤¬ 9.49% ¤«¤é 9.51% ¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤ÎÁ°¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ¤Ï 12.44% ¤Ç¤·¤¿¤¬¡¢¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Î¸å¤Î»ÈÍÑΨ¤Ï¡¢¤ï¤º¤« 7.74% ¤Ç¤¹¡£
-.SS Î󸫽Ф·Ê¸»úÎó¤Î·«¤êÊÖ¤·
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤òºÎ¼è¤·¡¢
-.B \-gcutil
-¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-.B \-h3
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢3 ¹Ô¤Î¥Ç¡¼¥¿¤´¤È¤ËÎ󸫽Ф·¤ò½ÐÎϤ·¤Þ¤¹¡£
.LP
-.ft 3
-.nf
-jstat -gcnew -h3 21891 250
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203
- 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204
- 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
-.fi
-.ft 1
+この項では、21891 の \f2lvmid\fP を持つローカル JVM を監視する例を示します。
.LP
-¸«½Ð¤·Ê¸»úÎó¤Î·«¤êÊÖ¤·¤ò¼¨¤·¤Æ¤¤¤ë¤Û¤«¤Ë¡¢¤³¤ÎÎã¤Ï¡¢2 ÈÖÌÜ¤È 3 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¼ã¤¤À¤Âå¤Î GC ¤¬È¯À¸¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î½êÍ×»þ´Ö¤Ï 0.001 ÉäǤ·¤¿¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (S0U) ¤¬ÌÜɸ¥µ¥Ð¥¤¥Ð¡¼¥µ¥¤¥º (DSS) ¤òĶ¤¨¤ë½½Ê¬¤Ê¥é¥¤¥Ö¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿¡£·ë²Ì¤È¤·¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ÏµìÀ¤Âå¤Ë¾º³Ê¤µ¤ì (¤³¤Î½ÐÎϤˤϼ¨¤µ¤ì¤Æ¤¤¤Ê¤¤)¡¢ÊÝͤ·¤¤¤ÃÍ (TT) ¤¬ 31 ¤«¤é 2 ¤Ë²¼¤¬¤Ã¤Æ¤¤¤Þ¤¹¡£
-.LP
-5 ÈÖÌÜ¤È 6 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¤â¤¦ 1 ¤Ä¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬È¯À¸¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¤´¤¯¤ï¤º¤«¤Î¥µ¥Ð¥¤¥Ð¡¼¤¬¸«¤Ä¤«¤ê¡¢ÊÝͤ·¤¤¤Ãͤ¬ 31 ¤ËÌá¤Ã¤Æ¤¤¤Þ¤¹¡£
-.SS ³Æ¥µ¥ó¥×¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Îɽ¼¨
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 3 ¤Ä¤Î¥µ¥ó¥×¥ë¤òºÎ¼è¤·¤Þ¤¹¡£
-.B \-t
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë³Æ¥µ¥ó¥×¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jstat \-gcoldcapacity \-t 21891 250 3
-Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT
-150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799
-150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
-150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
-.br
-.fi
-.LP
-\f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-gcoldcapacity\fP ½ÐÎϤǤϡ¢³ä¤êÅö¤ÆÍ×µá¤Þ¤¿¤Ï¾º³ÊÍ׵ᤢ¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤´¤È¤Ë¡¢Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤È Old Îΰè¤ÎÍÆÎÌ (OC) ¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤Ï¡¢81 ÈÖÌܤΥեë GC (FGC) ¸å¤Ë¡¢11696 KB ¤«¤é 13820 KB ¤ØÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Old À¤Âå (¤ª¤è¤ÓÎΰè) ¤ÎºÇÂçÍÆÎ̤ϡ¢60544 KB (OGCMX) ¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
.SS
-¥ê¥â¡¼¥È JVM ¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë
+gcutil オプションの使用
.LP
-¤³¤ÎÎã¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\f2remote.domain\fP ¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Î \f2lvmid\fP 40496 ¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
+.LP
+この例は、\f2lvmid\fP 21891 に接続して、250 ミリ秒間隔で 7 つのサンプルを取得し、\f3\-gcutil\fP オプションでの指定に従って出力を表示します。
+.LP
.nf
-\f3jstat \-gcutil 40496@remote.domain 1000\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 21891 250 7\fP
.br
.fl
-... \f2½ÐÎϾÊά\fP
+ S0 S1 E O P YGC YGCT FGC FGCT GCT
.br
+
+.fl
+ 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
+.br
+
+.fl
.fi
+
.LP
-\f2lvmid\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\f240496@remote.domain\fP ¤Î \f2vmid\fP ¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Î \f2vmid\fP ¤Ï¡¢\f3rmi\fP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î \f3jstatd\fP ¥µ¡¼¥Ð¤ÈÄÌ¿®¤·¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¤Ï¡¢\f3rmiregistry\fP ¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f3rmiregistry\fP ¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f2remote.domain\fP ¤ËÇÛÃÖ¤µ¤ì¤ì¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+.LP
+この例の出力は、若い世代のコレクションが 3 番目と 4 番目のサンプル間で行われたことを示しています。コレクションには 0.001 秒かかっており、オブジェクトが Eden 領域 (E) から Old 領域 (O) に昇格したため、Old 領域の使用率は 9.49% から 9.51% に増加しています。Survivor 領域は、コレクション前は 12.44% が使用されていましたが、コレクション後は 7.74% しか使用されていません。
+.LP
+.SS
+列ヘッダー文字列の繰り返し
+.LP
+.LP
+この例は、\f2lvmid\fP 21891 に接続して、250 ミリ秒間隔でサンプルを取得し、\f3\-gcutil\fP オプションでの指定に従って出力を表示します。さらに、\f3\-h3\fP オプションを使用して、データが 3 行表示されるごとに列ヘッダーを出力します。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcnew \-h3 21891 250\fP
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203
+.br
+
+.fl
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204
+.br
+
+.fl
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+この例では、ヘッダー文字列の繰り返しが見られるほかにも、2 番目と 3 番目のサンプル間で Young GC が行われたことがわかります。この継続時間は 0.001 秒でした。このコレクションでは、Survivor 領域 0 の使用率 (S0U) が適切な Survivor サイズ (DSS) を超過することになるライブデータが検出されました。この結果、オブジェクトは、Old 世代 (この出力には非表示) へ昇格され、殿堂入りしきい値 (TT) が、31 から 2 へ降格されました。
+.LP
+.LP
+別のコレクションが、5 番目と 6 番目のサンプル間で行われています。このコレクションでは、Survivor がほとんど見られず、殿堂入りしきい値を 31 に戻しました。
+.LP
+.SS
+サンプルごとのタイムスタンプの挿入
+.LP
+.LP
+この例は、\f2lvmid\fP 21891 へ接続し、250 ミリ秒間隔で 3 つのサンプルを取得しています。\f3\-t\fP オプションを使用して、最初の列にサンプルごとのタイムスタンプを表示しています。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
+.br
+
+.fl
+Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT
+.br
+
+.fl
+ 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799
+.br
+
+.fl
+ 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+.br
+
+.fl
+ 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+\f2Timestamp\fP 列には、ターゲット JVM の起動時からの経過時間が、秒単位でレポートされています。さらに、\f3\-gcoldcapacity\fP 出力では、割り当て要求または昇格要求あるいはその両方を満たすためにヒープが拡張するごとに、Old 世代の容量 (OGC) と Old 領域の容量 (OC) とが増加していることがわかります。Old 世代の容量 (OGC) は、81 番目のフル GC (FGC) 後に、11696 KB から 13820 KB へ増加しています。Old 世代 (および領域) の最大容量は、60544 KB (OGCMX) なので、まだ拡張できる余裕が残されています。
+.LP
+.SS
+リモート JVM のインストゥルメンテーションの監視
+.LP
+.LP
+この例は、\f3\-gcutil\fP オプションを使用して、\f2remote.domain\fP というシステム上の \f2lvmid\fP 40496 に接続し、サンプルを秒単位で無期限に取得しています。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP
+.br
+
+.fl
+... \f2output omitted\fP
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+\f2lvmid\fP は、リモートホストの名前と結合されて、\f240496@remote.domain\fP の \f2vmid\fP を構成しています。結果として、この \f2vmid\fP は、\f3rmi\fP プロトコルを使用して、リモートホスト上のデフォルトの \f3jstatd\fP サーバーと通信します。\f3jstatd\fP サーバーは、\f3rmiregistry\fP を使用して、デフォルトの \f3rmiregistry\fP ポート (ポート 1099) にバインドされた \f2remote.domain\fP に配置されれます。
+.LP
+.RE
+.SH "関連項目"
+.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë
+o
+「java(1) \- Java アプリケーション起動ツール」
.TP 2
-*
-jps \- Java ¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
+o
+「jps(1) \- Java 仮想マシンプロセスステータスツール」
.TP 2
-*
-jstatd \- jvmstat ¥Ç¡¼¥â¥ó
+o
+「jstatd(1) \- 仮想マシン jstat デーモン」
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+「rmiregistry(1) \- Java リモートオブジェクトレジストリ」
.RE
+
+.LP
+
+.LP
diff --git a/jdk/src/linux/doc/man/ja/jstatd.1 b/jdk/src/linux/doc/man/ja/jstatd.1
index 1942583..87db3ec 100644
--- a/jdk/src/linux/doc/man/ja/jstatd.1
+++ b/jdk/src/linux/doc/man/ja/jstatd.1
@@ -1,248 +1,300 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH jstatd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó
-.\"
-.SH ·Á¼°
-.B jstatd
-.BI [ options ]
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.BI options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£¾éĹ¤Þ¤¿¤ÏÌ·½â¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢ºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstatd
-¥Ä¡¼¥ë¤Ï¡¢·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ÎºîÀ®¤È½ªÎ»¤ò´Æ»ë¤¹¤ë RMI ¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥ê¥â¡¼¥È´Æ»ë¥Ä¡¼¥ë¤¬¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë JVM ¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
-.LP
-jstatd ¥µ¡¼¥Ð¡¼¤¬µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£jstatd ¥µ¡¼¥Ð¡¼¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Þ¤¿¤Ï
-.BI \-p " port"
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤¿¥Ý¡¼¥È¾å¤Î RMI ¥ì¥¸¥¹¥È¥ê¤Ø¤Î¥¢¥¿¥Ã¥Á¤ò»î¤ß¤Þ¤¹¡£RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-.BI \-p " port"
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤¿¥Ý¡¼¥È¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ jstatd ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤ÇºîÀ®¤µ¤ì¡¢
-.BI \-p " port"
-¤¬¾Ê¤«¤ì¤¿¾ì¹ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ jstatd ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢
-.B \-nr
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶Ø»ß¤Ç¤¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½»þÅÀ¤Ç¤Ï¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jstatd
-¥³¥Þ¥ó¥É¤Ï¡¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-nr
-´û¸¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤Ë¡¢
-.B jstatd
-¥×¥í¥»¥¹Æâ¤Ç¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤ò»î¤ß¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-p " port"
-RMI ¥ì¥¸¥¹¥È¥ê¤òõ¤¹¥Ý¡¼¥ÈÈֹ档¤Þ¤¿¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤º¡¢
-.B \-nr
-¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤ë¥Ý¡¼¥ÈÈֹ档
-.if t .TP 20
-.if n .TP 15
-.BI \-n " rminame"
-RMI ¥ì¥¸¥¹¥È¥ê¤Ç¥ê¥â¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¡£¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ï¡¢JStatRemoteHost ¤Ç¤¹¡£Æ±¤¸¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î
-.B jstatd
-¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò°ì°Õ¤Ë¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¤¿¤á¤Ë¤Ï¡¢´Æ»ë¥¯¥é¥¤¥¢¥ó¥È¤Î hostid ¤ª¤è¤Ó vmid ʸ»úÎó¤Ë°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-J option
-.I option
-¤ò
-.B javac
-¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿ java µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B \-J-Xms48m
-¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£Java ¤ÇºîÀ®¤µ¤ì¤¿²¼ÁؤΠVM ¼Â¹Ô¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤Î¤¬¡¢
-.B \-J
-¤Î°ìÈÌŪµ¬Â§¤Ç¤¹¡£
-.SH ¥»¥¥å¥ê¥Æ¥£
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstatd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¡¢Å¬Àڤʥͥ¤¥Æ¥£¥Ö¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë JVM ¤À¤±¤ò´Æ»ë¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢jstatd ¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-UNIX(TM) ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Î root ¥æ¡¼¥¶¡¼¤Ê¤É¡¢°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ë¤Ï¡¢
-¤½¤Î¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿·×¬µ¡¹½¤Ø¤Î
-¥¢¥¯¥»¥¹¸¢¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹ÔÃæ¤Î jstatd ¥×¥í¥»¥¹¤Ï¡¢¤½¤Î¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤ò´Æ»ë¤Ç¤¤Þ¤¹¤¬¡¢
-¤³¤ì¤Ëȼ¤¦¥»¥¥å¥ê¥Æ¥£¾å¤ÎÌäÂê¤â¹Íθ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-jstatd ¥µ¡¼¥Ð¡¼¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
-¤Ä¤Þ¤ê¡¢jstatd ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-jstatd ¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î JVM ¤«¤é
-¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë·×¬µ¡¹½¤¬¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÎǤ°Õ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤µ¤ì¤Þ¤¹¡£
-·×¬µ¡¹½¤¬¸ø³«¤µ¤ì¤ë¤È¡¢´Ä¶¤Ë¤è¤Ã¤Æ¤Ï˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-Æä˱¿ÍѴĶ¤ä°ÂÁ´À¤ÎÄ㤤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢
-jstatd ¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëÁ°¤Ë
-¥í¡¼¥«¥ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Ë¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢RMISecurityPolicy ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¡¢¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼¼ÂÁõ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¹½Ê¸
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html)
-¤Ë½¾¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¼¡¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¥»¥¥å¥ê¥Æ¥£Îã³°¤òµ¯¤³¤µ¤º¤Ë¼Â¹Ô¤Ç¤¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢
-¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥Ù¡¼¥¹¤Ø¤Î¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹¸¢¤òµö²Ä¤¹¤ë¤è¤ê¤Ï¼«Í³ÅÙ¤¬Ä㤤¤Ç¤¹¤¬¡¢
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Î¼Â¹Ô¤ËɬÍפʺǾ®¸ÂÅ٤Υ¢¥¯¥»¥¹¸¢¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¤è¤ê¤Ï¼«Í³ÅÙ¤¬¹â¤¤¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-grant codebase "file:${java.home}/../lib/tools.jar" {
- permission java.security.AllPermission;
-};
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥Ý¥ê¥·¡¼¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥Æ¥¥¹¥È¤ò jstatd.all.policy ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤¿¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ
-.B jstatd
-¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=jstatd.all.policy
-.fi
-.ft 1
-.RE
-.LP
-¤è¤ê¸·³Ê¤Ê¥»¥¥å¥ê¥Æ¥£¤òºÎÍѤ·¤Æ¤¤¤ë¥µ¥¤¥È¤Ç¤Ï¡¢
-¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë
-¥¢¥¯¥»¥¹¤òÀ©¸Â¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤ò»ÈÍѤ·¤Æ¤â¡¢
-IP ¥¢¥É¥ì¥¹¤Î¥¹¥×¡¼¥Õ¥£¥ó¥°¹¶·â¤Ë¤µ¤é¤µ¤ì¤Þ¤¹¡£
-¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¥»¥¥å¥ê¥Æ¥£¤ÎÌäÂê¤ËÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
-jstatd ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢
-jstat ¤ª¤è¤Ó jps ¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤Î¤¬ºÇ¤â°ÂÁ´¤Ç¤¹¡£
-.SH ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.B jstatd
-¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ç¤¢¤ê¡¢Êѹ¹¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë½ñ¤¹þ¤Þ¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH »ÈÍÑÎã
-.B jstatd
-¤Îµ¯Æ°Îã¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Î
-.B jstatd
-¥¹¥¯¥ê¥×¥È¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ë¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£
-.SS ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy
-.fi
-.ft 1
-.RE
-.SS ³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ï¡¢³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry&
-jstatd -J-Djava.security.policy=all.policy
-.fi
-.ft 1
-.RE
-.LP
-¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¾å¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¥µ¡¼¥Ð¡¼¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry 2020&
-jstatd -J-Djava.security.policy=all.policy -p 2020
-.fi
-.ft 1
-.RE
-.LP
-¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¾å¤Î¡¢AlternateJstatdServerName ¤È¤¤¤¦Ì¾Á°¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry 2020&
-jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName
-.fi
-.ft 1
-.RE
-.SS ¥×¥í¥»¥¹Æâ RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Î¶Ø»ß
-¤³¤ÎÎã¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤â RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë
-.B jstatd
-¤òµ¯Æ°¤¹¤ëÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI ¤¬¤¹¤Ç¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¼Â¹Ô¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Å¬Àڤʥ¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy -nr
-.fi
-.ft 1
-.RE
-.SS RMI ¥í¥®¥ó¥°µ¡Ç½¤Î͸ú²½
-¤³¤ÎÎã¤Ï¡¢RMI ¥í¥®¥ó¥°µ¡Ç½¤ò͸ú¤Ë¤·¤Æ
-.B jstatd
-¤òµ¯Æ°¤¹¤ëÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¾ã³²ÄÉÀפ䥵¡¼¥Ð¡¼³èÆ°¤Î´Æ»ë¤ËÌòΩ¤Á¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true
-.fi
-.ft 1
-.RE
-.LP
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jstatd \- 仮想マシン jstat デーモン
.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+o
+形式
.TP 2
-*
-jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
+o
+パラメータ
.TP 2
-*
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
+o
+説明
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+オプション
+.TP 2
+o
+セキュリティー
+.TP 2
+o
+リモートインタフェース
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+jstatd [ \fP\f4options\fP\f3 ]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+options
+コマンド行オプション。オプションは任意の順序で指定できます。重複または矛盾するオプションがある場合、最後に指定したオプションが優先されます。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP ツールは、計測された HotSpot Java 仮想マシン (JVM) の作成と終了を監視し、ローカルシステム上で実行している Java 仮想マシンに、リモート監視ツールが接続できるようにするためのインタフェースを提供する RMI サーバーアプリケーションです。
+.LP
+.LP
+\f3jstatd\fP サーバーでは、ローカルホストに RMI レジストリが存在することが必要になります。\f3jstatd\fP サーバーは、デフォルトポートまたは \f2\-p port\fP オプションで指定されたポート上の RMI レジストリに接続しようとします。RMI レジストリが見つからない場合、\f2\-p port\fP オプションで指定されたポート、または \f2\-p port\fP が省略されている場合は、デフォルト RMI レジストリにバインドされた \f3jstatd\fP アプリケーション内に、1 つの RMI レジストリが作成されます。内部 RMI レジストリの作成は、\f2\-nr\fP オプションを指定することによって禁止することができます。
+.LP
+.LP
+\f3注:\fP このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP コマンドは次のオプションをサポートしています。
+.LP
+.RS 3
+.TP 3
+\-nr
+既存の RMI レジストリが見つからない場合、\f2jstatd\fP プロセス内に内部 RMI レジストリを作成しないようにします。
+.TP 3
+\-p\ port
+RMI レジストリがあると予想されるポート番号です。 見つからない場合は、\f2\-nr\fP が指定されていなければ作成されます。
+.TP 3
+\-n\ rminame
+RMI レジストリにおいて、リモート RMI オブジェクトがバインドされる名前です。デフォルト名は \f2JStatRemoteHost\fP です。複数の \f3jstatd\fP サーバーが同じホスト上で起動している場合、各サーバーのエクスポートした RMI オブジェクトの名前は、このオプションを指定することによって、一意の名前にすることができます。ただし、このオプションを使用する場合、監視クライアントの \f2hostid\fP および \f2vmid\fP 文字列に、その一意のサーバー名を含める必要があります。
+.TP 3
+\-Joption
+\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
+.RE
+
+.LP
+.SH "セキュリティー"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP サーバーは、有効なネイティブアクセス権を持つ JVM だけを監視できます。したがって、\f3jstatd\fP プロセスは、ターゲット JVM と同じユーザー資格で実行している必要があります。一部のユーザー資格は、Unix(TM) ベースのシステムにおける \f2root\fP ユーザーのように、システム上の任意の JVM によってエクスポートされたインストゥルメンテーションへのアクセス権を持っています。このような資格で実行している \f3jstatd\fP プロセスは、システム上のすべての JVM を監視できますが、セキュリティー上の別の問題が起こります。
+.LP
+.LP
+\f3jstatd\fP サーバーは、リモートクライアントの認証を一切与えません。そのため、\f3jstatd\fP サーバープロセスを実行すると、\f3jstatd\fP プロセスがアクセス権を持つすべての JVM によるインストゥルメンテーションのエクスポートを、ネットワーク上のすべてのユーザーに公開することになります。この無防備な状態は、環境的に望ましくない場合があります。 特に実稼働環境または安全でないネットワークでは、\f3jstatd\fP プロセスを起動する前に、ローカルセキュリティーポリシーを検討する必要があります。
+.LP
+.LP
+\f3jstatd\fP サーバーは、他のセキュリティーマネージャーがインストールされていない場合には、RMISecurityPolicy のインスタンスをインストールします。 そのため、セキュリティーポリシーファイルを指定する必要があります。ポリシーファイルは、デフォルトポリシー実装の
+.na
+\f2ポリシーファイルの構文\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.htmlに準拠する必要があります。
+.LP
+.LP
+次のポリシーファイルの場合、\f3jstatd\fP サーバーは一切のセキュリティー例外を使用せずに実行できます。このポリシーは、すべてのコードベースへのあらゆるアクセス権を認めるポリシーよりも自由度は低いですが、\f3jstatd\fP サーバーを実行するために最低限必要なアクセス権しか認めないポリシーよりも自由度は高くなっています。
+.LP
+.nf
+\f3
+.fl
+grant codebase "file:${java.home}/../lib/tools.jar" {\fP
+.br
+\f3
+.fl
+ permission java.security.AllPermission;\fP
+.br
+\f3
+.fl
+};\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+このポリシーを使用するには、このテキストを \f2jstatd.all.policy\fP というファイルにコピーし、次のように \f3jstatd\fP サーバーを実行します。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+より厳しいセキュリティーを実施するサイトの場合、カスタムポリシーファイルを使用して、特定の信頼できるホストまたはネットワークにアクセスを制限することができます。 ただし、このような方法は、IP アドレスの盗聴攻撃を受けやすくなります。セキュリティーの問題について、カスタマイズしたポリシーファイルでも対処できない場合は、\f3jstatd\fP サーバーを実行せずに、\f3jstat\fP と \f3jps\fP ツールをローカルで使用することがもっとも安全な方法になります。
+.LP
+.SH "リモートインタフェース"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP プロセスがエクスポートするインタフェースは、独自に開発したものであり変更される予定です。ユーザーおよび開発者は、このインタフェースへの書き込みを行わないでください。
+.LP
+.SH "例"
+.LP
+
+.LP
+.LP
+次に \f3jstatd\fP を起動する例を紹介します。\f3jstatd\fP スクリプトによって、サーバーはバックグラウンドで自動的に起動します。
+.LP
+.SS
+内部 RMI レジストリの使用
+.LP
+.LP
+この例は、内部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。この例では、デフォルトの RMI レジストリポート (ポート 1099) には、他のサーバーはバインドされていないと想定しています。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy
+.fl
+\fP
+.fi
+
+.LP
+.SS
+外部 RMI レジストリの使用
+.LP
+.LP
+この例は、外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この例は、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry 2020&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-p 2020
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この例は、AlternateJstatdServerName の名前にバインドされた、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry 2020&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName
+.fl
+\fP
+.fi
+
+.LP
+.SS
+インプロセス RMI レジストリの作成の禁止
+.LP
+.LP
+この例は、RMI レジストリが見つからない場合に RMI レジストリを作成しない \f3jstatd\fP の起動を表しています。この例では、RMI レジストリがすでに実行していると想定しています。実行していない場合は、該当するエラーメッセージが表示されます。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-nr
+.fl
+\fP
+.fi
+
+.LP
+.SS
+RMI ログ機能の有効化
+.LP
+.LP
+この例は、RMI ログ機能を有効にした \f3jstatd\fP の起動を表しています。この方法は、トラブルシューティングまたはサーバー活動の監視に役立ちます。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true
+.fl
+\fP
+.fi
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+「java(1) \- Java アプリケーション起動ツール」
+.TP 2
+o
+「jps(1) \- Java 仮想マシンプロセスステータスツール」
+.TP 2
+o
+「jstat(1) \- Java 仮想マシン統計データ監視ツール」
+.TP 2
+o
+「
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java リモートオブジェクトレジストリ」
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/keytool.1 b/jdk/src/linux/doc/man/ja/keytool.1
index fae960a..fd2e085 100644
--- a/jdk/src/linux/doc/man/ja/keytool.1
+++ b/jdk/src/linux/doc/man/ja/keytool.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -21,20 +19,19 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH keytool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+.TH keytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-keytool \- ¸°¤È¾ÚÌÀ½ñ¤Î´ÉÍý¥Ä¡¼¥ë
+.SH "名前"
+keytool \- 鍵と証明書の管理ツール
.LP
.RS 3
.LP
-°Å¹æ²½¸°¡¢X.509 ¾ÚÌÀÏ¢º¿¡¢¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥¡¼¥¹¥È¥¢ (¥Ç¡¼¥¿¥Ù¡¼¥¹) ¤ò´ÉÍý¤·¤Þ¤¹¡£
+暗号化鍵、X.509 証明書チェーン、および信頼できる証明書を含むキーストア (データベース) を管理します。
.RE
-.SH "·Á¼°"
+.SH "形式"
.LP
.LP
@@ -47,48 +44,48 @@
.LP
.LP
-Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡ÖÊѹ¹ÅÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£°ÊÁ°¤ËÄêµÁ¤µ¤ì¤¿¥³¥Þ¥ó¥É¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+Java SE 6 で keytool のコマンドインタフェースが変更されました。 詳細については「変更点」の節を参照してください。以前に定義されたコマンドも引き続きサポートされています。
.LP
-.SH "ÀâÌÀ"
+.SH "説明"
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£\f3keytool\fP ¤ò»È¤¦¤È¡¢¼«Ê¬¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»È¤Ã¤¿¼«¸Êǧ¾Ú (¤Û¤«¤Î¥æ¡¼¥¶¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È) ¤ä¡¢¥Ç¡¼¥¿¤Î´°Á´À¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢ÄÌ¿®Áê¼ê¤Î¸ø³«¸°¤ò (¾ÚÌÀ½ñ¤Î·Á¤Ç) ¥¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP は、鍵と証明書を管理するためのユーティリティーです。keytool を使うと、自分の公開鍵と非公開鍵のペア、および関連する証明書を管理し、デジタル署名を使った自己認証 (ほかのユーザーまたはサービスに対して自分自身を認証すること) や、データの整合性と証明書に関するサービスを利用することができます。keytool では、通信相手の公開鍵を (証明書の形で) キャッシュすることもできます。
.LP
-¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¿Íʪ¡¢²ñ¼Ò¤Ê¤É) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹(¡Ö¾ÚÌÀ½ñ¡×¤ò»²¾È)¡£¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤Î´°Á´À¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¡Ö´°Á´À¡×¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬¡ÖËÜʪ¤Ç¤¢¤ë¡×¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤é¼ÂºÝ¤ËÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+「証明書」とは、あるエンティティー (人物、会社など) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティーの公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています(「証明書」を参照)。データにデジタル署名が付いている場合は、デジタル署名を検証することで、データの整合性およびデータが本物であることをチェックできます。データの「整合性」とは、データが変更されたり、改変されたりしていないことを意味します。 また、データが「本物である」とは、そのデータが、データを作成して署名したと称する人物から実際に渡されたデータであることを意味します。
.LP
.LP
-¤Þ¤¿¡¢\f3keytool\fP ¤ò»È¤¨¤Ð¡¢DES ¤Ê¤É¤ÎÂоΰŹ沽/Éü¹æ²½¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+また、\f3keytool\fP を使えば、DES などの対称暗号化/復号化で使用される秘密鍵を管理することもできます。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f3keytool\fP は、鍵と証明書を\f2「キーストア」\fPに格納します。
.LP
-.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí°Õ"
+.SH "コマンドとオプションに関する注"
.LP
.LP
.LP
-°Ê²¼¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤ÎÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+以下では、コマンドとそのオプションについて説明します。注:
.LP
.RS 3
.TP 2
o
-¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèƬ¤Ë¥Þ¥¤¥Ê¥¹µ¹æ (\-) ¤¬ÉÕ¤¯
+どのコマンド名およびオプション名にも先頭にマイナス記号 (\-) が付く
.TP 2
o
-³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤ë
+各コマンドのオプションは任意の順序で指定できる
.TP 2
o
-¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ³ç¸Ì¤«³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ë
+イタリック体になっていないすべての項目、または中括弧か角括弧で囲まれているすべての項目は、そのとおりに指定する必要がある
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ³ç¸Ì¤Ï¡¢°ìÈ̤ˡ¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢´ûÄêÃͤ¬»È¤ï¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£Ãæ³ç¸Ì¤Ï¡¢\f2\-v\fP¡¢\f2\-rfc\fP¡¢¤ª¤è¤Ó \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤Î¤Ë¤â»È¤ï¤ì¤ë¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Ä (¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¼«ÂΤò»ØÄꤷ¤Ê¤¤¤³¤È°Ê³°¤Ë¡Ö´ûÄêÃ͡פϸºß¤·¤Ê¤¤)
+オプションを囲む中括弧は、一般に、そのオプションをコマンド行で指定しなかった場合に、デフォルト値が使われることを意味する。中括弧は、\f2\-v\fP、\f2\-rfc\fP、および \f2\-J\fP オプションを囲むのにも使われるが、これらのオプションはコマンド行で指定された場合にのみ意味を持つ (つまり、これらのオプションには、オプション自体を指定しないこと以外に「デフォルト値」は存在しない)
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ³ç¸Ì¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃͤÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£¤¿¤À¤·¡¢\f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f3keytool\fP ¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤«¤éÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤ë¡£¥æ¡¼¥¶¤Ï¡¢¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ËÈó¸ø³«/ÈëÌ©¸°¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë
+オプションを囲む角括弧は、そのオプションをコマンド行で指定しなかった場合に、値の入力を求められることを意味する。ただし、\f2\-keypass\fP オプションをコマンド行で指定しなかった場合は、\f3keytool\fP がキーストアのパスワードから非公開/秘密鍵の復元を試みる。 ユーザーは、この試みが失敗した場合に非公開/秘密鍵の入力を求められる
.TP 2
o
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢\f2\-printcert\fP ¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë
+イタリック体の項目の実際の値 (オプションの値) は、ユーザーが指定する必要がある。たとえば、\f2\-printcert\fP コマンドの形式は次のとおりである
.nf
\f3
.fl
@@ -97,7 +94,7 @@
\fP
.fi
.LP
-\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢\f2cert_file\fP ¤ÎÂå¤ï¤ê¤Ë¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£ ¼¡¤ËÎã¤ò¼¨¤¹
+\f2\-printcert\fP コマンドを指定するときは、\f2cert_file\fP の代わりに実際のファイル名を指定する。次に例を示す
.nf
\f3
.fl
@@ -107,10 +104,10 @@
.fi
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò (¥¹¥Ú¡¼¥¹) ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë
+オプションの値に空白 (スペース) が含まれている場合は、値を引用符で囲む必要がある
.TP 2
o
-\f2\-help\fP ¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¹Ô¤ò»ØÄꤷ¤¿¤È¤¹¤ë
+\f2\-help\fP コマンドはデフォルトのコマンドである。たとえば、次のようにコマンド行を指定したとする
.nf
\f3
.fl
@@ -118,7 +115,7 @@
.fl
\fP
.fi
-¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¢¤ë
+これは、次のように指定することと同じである
.nf
\f3
.fl
@@ -130,12 +127,12 @@
.LP
.SS
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ
+オプションのデフォルト値
.LP
.RS 3
.LP
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃͤϡ¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+オプションのデフォルト値は、次のとおりです。
.nf
\f3
.fl
@@ -145,19 +142,19 @@
.fl
\-keyalg
.fl
- "DSA" (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ "DSA" (\fP\f3\-genkeypair\fP\f3 を使用している場合)
.fl
- "DES" (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ "DES" (\fP\f3\-genseckey\fP\f3 を使用している場合)
.fl
.fl
\-keysize
.fl
- 1024 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ 1024 (\fP\f3\-genkeypair\fP\f3 を使用している場合)
.fl
- 56 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DES" ¤Î¾ì¹ç)
+ 56 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DES" の場合)
.fl
- 168 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DESede" ¤Î¾ì¹ç)
+ 168 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DESede" の場合)
.fl
.fl
@@ -165,15 +162,17 @@
.fl
.fl
-\-keystore ¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .keystore ¤È¤¤¤¦¥Õ¥¡¥¤¥ë
+\-keystore \fP\f4ユーザーのホームディレクトリの \fP\f4.keystore\fP\f3 というファイル\fP\f3
.fl
.fl
-\-storetype ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Î¡Ökeystore.type¡×¥×¥í¥Ñ¥Æ¥£¤ÎÃͤǡ¢ java.security.KeyStore ¤ÎÀÅŪ¤Ê getDefaultType ¥á¥½¥Ã¥É¤«¤éÊÖ¤µ¤ì¤ë
+\-storetype \fP\f4セキュリティープロパティーファイルの「keystore.type」プロパティーの値で、
+.fl
+ \fP\f4java.security.KeyStore\fP\f3 の静的な \fP\f4getDefaultType\fP\f3 メソッドから返される\fP\f3
.fl
.fl
-\-file Æɤ߹þ¤ß¤Î¾ì¹ç¤Ïɸ½àÆþÎÏ¡¢½ñ¤¹þ¤ß¤Î¾ì¹ç¤Ïɸ½à½ÐÎÏ
+\-file \fP\f4読み込みの場合は標準入力、書き込みの場合は標準出力\fP\f3
.fl
.fl
@@ -185,293 +184,265 @@
.fi
.LP
-Èó¸ø³«/ÈëÌ©¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à (\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó) ¤Ï¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ DSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ¤Ï SHA1withDSA ¤Ë¤Ê¤ê¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ RSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ¤Ï MD5withRSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ÁªÂò²Äǽ¤Ê \f2\-keyalg\fP ¤ª¤è¤Ó \f2\-sigalg\fP ¤Î´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA
-¤Î
+公開/非公開鍵ペアの生成において、署名アルゴリズム (\f2\-sigalg\fP オプション) は、基になる非公開鍵のアルゴリズムから派生します。基になる非公開鍵が DSA タイプである場合、\f2\-sigalg\fP オプションのデフォルト値は SHA1withDSA になり、基になる非公開鍵が RSA タイプである場合は、\f2\-sigalg\fP オプションのデフォルト値は MD5withRSA になります。選択可能な \f2\-keyalg\fP および \f2\-sigalg\fP の完全な一覧については、
.na
-¡Ö\f2Java Cryptography Architecture API Specification & Reference\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「Java Cryptography Architecture API Specification & Reference」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。
.RE
.SS
-°ìÈÌ¥ª¥×¥·¥ç¥ó
+一般オプション
.LP
.RS 3
.LP
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-help\fP ¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-v\fP オプションは、\f2\-help\fP コマンドを除くすべてのコマンドで使用できます。このオプションを指定した場合、コマンドは「冗長」モードで実行され、詳細な証明書情報が出力されます。
.LP
-¤Þ¤¿¡¢\f2\-J\fP\f2javaoption\fP ¥ª¥×¥·¥ç¥ó¤â¡¢Ç¤°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤¬ Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶¤Þ¤¿¤Ï¥á¥â¥ê»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤¤ë¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
+また、\f2\-J\fP\f2javaoption\fP オプションも、任意のコマンドで使用できます。このオプションを指定した場合、指定された \f2javaoption\fP 文字列が Java インタプリタに直接渡されます。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。
.LP
.LP
-¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£
+次のオプションは、キーストアに対する操作を行うすべてのコマンドで指定できます。
.LP
.RS 3
.TP 3
\-storetype storetype
-¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
+この修飾子は、インスタンスを生成するキーストアのタイプを指定します。
.TP 3
\-keystore keystore
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
+キーストアの場所を指定します。
.LP
-ÆÃÄê¤Î \f3keytool\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS ¥¹¥È¥¢¥¿¥¤¥×¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2keytool \-genkeypair\fP ¤Î¼Â¹Ô»þ¤Ë \f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2.keystore\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢\f2\-keystore \fP\f2ks_file\fP ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Î \f2ks_file\fP ¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+特定の \f3keytool\fP コマンドを実行する際に、JKS ストアタイプが使用され、かつキーストアファイルがまだ存在していなかった場合、新しいキーストアファイルが作成されます。たとえば、\f2keytool \-genkeypair\fP の実行時に \f2\-keystore\fP オプションが指定されなかった場合、\f2.keystore\fP という名前のデフォルトキーストアファイルがユーザーのホームディレクトリ内にまだ存在していなければ、そこに作成されます。同様に、\f2\-keystore \fP\f2ks_file\fP というオプションが指定されてもその \f2ks_file\fP が存在しなかった場合、そのファイルが作成されます。
.LP
-\f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\f2NONE\fP ¤¬ URL ¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢null ¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ê¤¤¾ì¹ç (¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É)¡¢\f2NONE\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f2\-keystore\fP オプションからの入力ストリームは、\f2KeyStore.load\fP メソッドに渡されます。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP は、\f2KeyStore\fP がファイルベースではなく、たとえば、ハードウェアトークンデバイスに置かれている場合に指定します。
.TP 3
\-storepass storepass
-¥¡¼¥¹¥È¥¢¤Î´°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£
+キーストアの整合性を保護するために使うパスワードを指定します。
.LP
-\f2storepass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥¡¼¥¹¥È¥¢¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2storepass\fP は、6 文字以上にする必要があります。指定したパスワードは、キーストアの内容にアクセスするすべてのコマンドで使われます。この種のコマンドを実行するときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。
.LP
-¥¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤Ç¤¤Þ¤¹¡£ ¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤¹¤ë¤È¡¢¼è¤ê½Ð¤¹¾ðÊó¤Î´°Á´À¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Ê¤¤¤Î¤Ç¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+キーストアから情報を取り出す場合は、パスワードを省略できます。 パスワードを省略すると、取り出す情報の整合性をチェックできないので、警告が表示されます。
.TP 3
\-providerName provider_name
-¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
+セキュリティープロパティーファイル内に含まれる暗号化サービスプロバイダ名を特定するために使用されます。
.TP 3
\-providerClass provider_class_name
-°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤¤Ë»È¤ï¤ì¤Þ¤¹¡£
+暗号化サービスプロバイダがセキュリティープロパティーファイルに指定されていないときは、そのマスタークラスファイルの名前を指定するときに使われます。
.TP 3
\-providerArg provider_arg
-\f2\-providerClass\fP ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£\f2provider_class_name\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ë¾Êά²Äǽ¤Êʸ»úÎóÆþÎÏ°ú¿ô¤òɽ¤·¤Þ¤¹¡£
+\f2\-providerClass\fP と組み合わせて使用します。\f2provider_class_name\fP のコンストラクタに対する省略可能な文字列入力引数を表します。
.TP 3
\-protected
-\f2true\fP¡¢\f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f2true\fP または \f2false\fP のいずれか。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
.RE
.LP
.RE
-.SH "¥³¥Þ¥ó¥É"
+.SH "コマンド"
.LP
.LP
.SS
-¥¡¼¥¹¥È¥¢¤Ø¤Î¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤ÓÄɲÃ
+キーストアへのデータの作成または追加
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-genkeypair {\-alias alias}
-{\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¸°¤Î¥Ú¥¢ (¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈó¸ø³«¸°) ¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤Ï X.509 v3 ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀÏ¢º¿¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀÏ¢º¿¤ÈÈó¸ø³«¸°¤Ï¡¢\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+鍵のペア (公開鍵および関連する非公開鍵) を生成します。公開鍵は X.509 v3 自己署名証明書でラップされます。 証明書は、単一の要素を持つ証明書チェーンとして格納されます。この証明書チェーンと非公開鍵は、\f2alias\fP で特定される新しいキーストアエントリに格納されます。
.LP
-\f2keyalg\fP ¤Ë¤Ï¡¢¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ë¤Î¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¡¢\f2keysize\fP ¤Ë¤Ï¡¢À¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£\f2sigalg\fP ¤Ë¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2keyalg\fP ¤È¸ß´¹À¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2keyalg\fP には、鍵のペアを生成するのに使うアルゴリズムを指定し、\f2keysize\fP には、生成する各鍵のサイズを指定します。 \f2sigalg\fP には、自己署名証明書に署名を付けるときに使うアルゴリズムを指定します。このアルゴリズムは、\f2keyalg\fP と互換性のあるものでなければなりません。
.LP
-\f2dname\fP ¤Ë¤Ï¡¢\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Î \f2issuer\fP ¥Õ¥£¡¼¥ë¥É¤È \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»È¤¦ X.500 ¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2dname\fP には、\f2alias\fP に関連付け、自己署名証明書の \f2issuer\fP フィールドと \f2subject\fP フィールドとして使う X.500 識別名を指定します。コマンド行で識別名を指定しなかった場合は、識別名の入力を求められます。
.LP
-\f2keypass\fP ¤Ë¤Ï¡¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢Èó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤¡¢Return ¥¡¼¤ò²¡¤¹¤È¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2keypass\fP には、生成される鍵のペアのうち、非公開鍵を保護するのに使うパスワードを指定します。パスワードを指定しなかった場合、ユーザーはその入力求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。 \f2keypass\fP は、6 文字以上でなければなりません。
.LP
-\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î͸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2valDays\fP には、証明書の有効日数を指定します。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-genkey\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-genkeypair\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-genkey\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-genkeypair\fP を使用することをお勧めします。
.TP 3
-\-genseckey {\-alias alias}
-{\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò \f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤ \f2KeyStore.SecretKeyEntry\fP Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+秘密鍵を生成し、それを \f2alias\fP で特定される新しい \f2KeyStore.SecretKeyEntry\fP 内に格納します。
.LP
-\f2keyalg\fP ¤ÏÈëÌ©¸°¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2keypass\fP ¤ÏÈëÌ©¸°¤ÎÊݸî¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¤½¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤¬¥×¥í¥ó¥×¥È¤Ç RETURN ¥¡¼¤ò²¡¤·¤¿¾ì¹ç¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥¡¼¥¹¥È¥¢¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤ÎŤµ¤Ï 6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
+\f2keyalg\fP は秘密鍵の生成に使用するアルゴリズムを、\f2keysize\fP は生成する鍵のサイズを、それぞれ指定します。\f2keypass\fP は秘密鍵の保護に使用するパスワードです。パスワードを指定しなかった場合、ユーザーはその入力求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。 \f2keypass\fP は、6 文字以上でなければなりません。
.TP 3
-\-importcert {\-alias alias}
-{\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿ (¾ÚÌÀÏ¢º¿¤Î¾ì¹ç¤Ï¡¢PKCS#7 ·Á¼°¤Î±þÅú¤ÇÄ󶡤µ¤ì¤ë¤â¤Î) ¤òÆɤ߹þ¤ß¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï PKCS#7 ±þÅú¤òÆɤ߹þ¤ß¤Þ¤¹¡£
+ファイル \f2cert_file\fP から証明書または証明書チェーン (証明書チェーンの場合は、PKCS#7 形式の応答で提供されるもの) を読み込み、\f2alias\fP によって特定されるキーストアエントリに格納します。ファイルが指定されていない場合は、標準入力から証明書または PKCS#7 応答を読み込みます。
.LP
-\f3keytool\fP ¤Ç¤Ï¡¢X.509 v1¡¢v2¡¢v3 ¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó¡¢PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë PKCS#7 ·Á¼°¤Î¾ÚÌÀÏ¢º¿¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉä¹æ²½Êý¼° (Base64 Éä¹æ²½¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉä¹æ²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡Ö\-\-\-\-\-BEGIN¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢¡Ö\-\-\-\-\-END¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f3keytool\fP では、X.509 v1、v2、v3 の証明書、および、PKCS#7 形式の証明書から構成されている PKCS#7 形式の証明書チェーンをインポートできます。インポートするデータは、バイナリ符号化方式、または出力可能符号化方式 (Base64 符号化とも呼ばれる) のどちらかで提供する必要があります。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。この符号化方式の場合、証明書は「\-\-\-\-\-BEGIN」で始まる文字列で開始され、「\-\-\-\-\-END」で始まる文字列で終了しなければなりません。
.LP
-¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£
+証明書のインポートには、次の 2 つの目的があります。
.RS 3
.TP 3
1.
-¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ë
+信頼できる証明書のリストに証明書を追加する
.TP 3
2.
-CA ¤Ë¾ÚÌÀ½ñ½ð̾Í×µá (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È) ¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤Æ¡¢CA ¤«¤é¼õ¤±¼è¤Ã¤¿¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë
+CA に証明書署名要求 (\-certreq コマンドを参照) を送信した結果として、CA から受け取った証明応答をインポートする
.RE
.LP
-¥æ¡¼¥¶¤¬¤É¤Î¥¿¥¤¥×¤Î¥¤¥ó¥Ý¡¼¥È¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¤«¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2\-alias\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ¼¨¤µ¤ì¤Þ¤¹¡£
+どちらの種類のインポートを行うかは、\f2\-alias\fP オプションの値によって指定します。
.RS 3
.TP 3
1.
-\f3ÊÌ̾¤¬ÆÃÄê¤Î¸°¥¨¥ó¥È¥ê¤ò»Ø¤·¤Æ¤¤¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤½¤ÎÊÌ̾¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¤½¤ÎÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\f3keytool\fP ¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+\f3別名がキーエントリをポイントしない場合\fP、\f3keytool\fP はユーザーが信頼できる証明書エントリを追加しようとしているものと見なします。この場合、別名がキーストア内にすでに存在していてはいけません。別名がすでに存在している場合、その別名の信頼できる証明書がすでに存在することになるので、\f3keytool\fP はエラーを出力し、証明書のインポートを行いません。
.TP 3
2.
-\f3ÊÌ̾¤¬ÆÃÄê¤Î¸°¥¨¥ó¥È¥ê¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£
+\f3別名がキーエントリをポイントしない場合\fP、\f3keytool\fP はユーザーが信頼できる証明書エントリを追加しようとしているものと見なします。
.RE
-.LP
-\f3¿·¤·¤¤¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È\fP
+\f3新しい信頼できる証明書のインポート\fP
.RS 3
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¥¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤ÎÏ¢º¿¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£
+\f3keytool\fP は、キーストアに証明書を追加する前に、キーストア内にすでに存在する信頼できる証明書を使って、インポートする証明書から (ルート CA の) 自己署名証明書に至るまでの信頼のチェーンの構築を試みます。
.LP
.LP
-\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤¤ë¡¢¤¹¤Ê¤ï¤Á cacerts ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤ÎÏ¢º¿¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
+\f2\-trustcacerts\fP オプションを指定した場合、追加の証明書は信頼できるすなわち cacerts という名前のファイルに含まれる証明書のチェーンと見なされます。
.LP
.LP
-\f3keytool\fP ¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥¡¼¥¹¥È¥¢¤Þ¤¿¤Ï cacerts ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ) ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î²¿¤é¤«¤Î (¿®Íê¤Ç¤¤ë) ¾ðÊó¸» (¾ÚÌÀ½ñ¤Î½êͼÔËܿͤʤÉ) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¾ÚÌÀ½ñ¤¬Í¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+\f3keytool\fP が、インポートする証明書から自己署名証明書 (キーストアまたは cacerts ファイルに含まれている自己署名証明書) に至るまでの信頼のパスの構築に失敗した場合は、インポートする証明書の情報を表示し、ユーザーに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかのなんらかの (信頼できる) 情報源 (証明書の所有者本人など) から入手したフィンガープリントとを比較します。「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。詳細は、「信頼できる証明書のインポートに関する注意事項」を参照してください。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.LP
.RE
-\f3¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È\fP
+\f3証明応答のインポート\fP
.RS 3
.LP
-¡Ö¾ÚÌÀ±þÅú¡×¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó (\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¾ÚÌÀ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£
+「証明応答」をインポートするときは、キーストア内の信頼できる証明書、および (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイルで構成された証明書を使って証明応答が検査されます。
.LP
.LP
-¾ÚÌÀ±þÅú¤¬¿®Íê¤Ç¤¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+証明応答が信頼できるかどうかを決定する方法は次のとおりです。
.LP
.RS 3
.TP 2
o
-\f3¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¾ÚÌÀ±þÅú¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®ÍêÏ¢º¿¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ±þÅú¤È¡¢¾ÚÌÀ±þÅú¤Îǧ¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢\f2alias\fP ¤Î¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®ÍêÏ¢º¿¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3keytool\fP ¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¤¬¾ÚÌÀ±þÅú¤Î¿®ÍêÀ¤òȽÃǤ¹¤ë¤Î¤Ï¡¢ÉÔ²Äǽ¤Ç¤Ï¤Ê¤¯¤Æ¤âÈó¾ï¤Ëº¤Æñ¤À¤«¤é¤Ç¤¹¡£
+\f3証明応答が単一の X.509 証明書である場合\fP、\f3keytool\fP は、証明応答から (ルート CA の) 自己署名証明書に至るまでの信頼チェーンの確立を試みます。証明応答と、証明応答の認証に使われる証明書の階層構造は、\f2alias\fP の新しい証明書チェーンを形成します。信頼チェーンが確立されない場合、証明応答はインポートされません。この場合、\f3keytool\fP は証明書を出力せず、ユーザーに検証を求めるプロンプトを表示します。 ユーザーが証明応答の信頼性を判断するのは、不可能ではなくても非常に困難だからです。
.TP 2
o
-\f3¾ÚÌÀ±þÅú¤¬ PKCS#7 ·Á¼°¤Î¾ÚÌÀÏ¢º¿¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¤Þ¤ºÏ¢º¿¤òʤÙÂؤ¨¤Æ¡¢¥æ¡¼¥¶¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢¥ë¡¼¥È CA ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤¬ºÇ¸å¤Ë¤¯¤ë¤è¤¦¤Ë¤·¤¿¤¢¤È¡¢¾ÚÌÀ±þÅú¤Ë´Þ¤Þ¤ì¤ë¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤È¡¢¥¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï (\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤ò¤¹¤Ù¤ÆÈæ³Ó¤·¡¢°ìÃפ¹¤ë¤â¤Î¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î²¿¤é¤«¤Î (¿®Íê¤Ç¤¤ë) ¾ðÊó¸» (¥ë¡¼¥È CA ¼«¿È¤Ê¤É) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+\f3証明応答が PKCS#7 形式の証明書チェーンである場合\fP、\f3keytool\fP は、まずチェーンを並べ替えて、ユーザーの証明書が最初に、ルート CA の自己署名証明書が最後にくるようにしたあと、証明応答に含まれるルート CA の証明書と、キーストア内または (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイル内の信頼できる証明書とをすべて比較し、一致するものがあるかどうかを調べます。一致するものが見つからなかった場合は、ルート CA の証明書の情報を表示し、ユーザーに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかのなんらかの (信頼できる) 情報源 (ルート CA 自身など) から入手したフィンガープリントとを比較します。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.RE
.LP
.LP
-¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬ \f2alias\fP ¤Î²¼¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀÏ¢º¿¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤¹¡£
-°ÊÁ°¤Î¾ÚÌÀÏ¢º¿¤ò¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ï¡¢Í¸ú¤Ê \f2keypass\fP¡¢¤Ä¤Þ¤ê³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+証明書応答内の公開鍵が \f2alias\fP の下にすでに格納されているユーザーの公開鍵に一致した場合、古い証明書チェーンが応答内の新しい証明書チェーンで置き換えられます。以前の証明書チェーンを新しい証明書チェーンで置き換えることができるのは、有効な \f2keypass\fP、つまり該当するエントリの非公開鍵を保護するためのパスワードを指定した場合だけです。パスワードを指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。
.LP
.RE
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-import\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-importcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-import\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-importcert\fP を使用することをお勧めします。
.TP 3
-\-importkeystore \-srckeystore srckeystore
-\-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¥½¡¼¥¹¥¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+ソースキーストアからターゲットキーストアへ、単一のエントリまたはすべてのエントリをインポートします。
.LP
-\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\f2destalias\fP ·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2srcalias\fP ¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srckeypass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srckeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï \f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï \f2destkeypass\fP ¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\f2destkeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+\f2srcalias\fP オプションが指定された場合、このコマンドは、その別名で特定される単一のエントリをターゲットキーストアにインポートします。\f2destalias\fP 経由でターゲット別名が指定されなかった場合、\f2srcalias\fP がターゲット別名として使用されます。ソースのエントリがパスワードで保護されていた場合、\f2srckeypass\fP を使ってそのエントリが回復されます。\f2srckeypass\fP が指定されなかった場合、\f3keytool\fP は \f2srcstorepass\fP を使ってそのエントリを回復しようとします。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザーはパスワードの入力を求められます。ターゲットエントリは \f2destkeypass\fP によって保護されます。\f2destkeypass\fP が指定されなかった場合、ターゲットエントリはソースエントリのパスワードによって保護されます。
.LP
-\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+\f2srcalias\fP オプションが指定されなかった場合、ソースキーストア内のすべてのエントリがターゲットキーストア内にインポートされます。各ターゲットエントリは対応するソースエントリの別名の下に格納されます。ソースのエントリがパスワードで保護されていた場合、\f2srcstorepass\fP を使ってそのエントリが回復されます。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザーはパスワードの入力を求められます。ソースキーストア内のあるエントリタイプがターゲットキーストアでサポートされていない場合や、あるエントリをターゲットキーストアに格納する際にエラーが発生した場合、ユーザーはそのエントリをスキップして処理を続行するか、あるいは処理を中断するかの選択を求められます。ターゲットエントリはソースエントリのパスワードによって保護されます。
.LP
-¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£
+ターゲット別名がターゲットキーストア内にすでに存在していた場合、ユーザーは、そのエントリを上書きするか、あるいは異なる別名の下で新しいエントリを作成するかの選択を求められます。
.LP
-\f2\-noprompt\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤Ï¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¼«Æ°Åª¤Ë¾å½ñ¤¤µ¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¼«Æ°Åª¤Ë¥¹¥¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-noprompt\fP を指定した場合、ユーザーは新しいターゲット別名の入力を求められません。既存のエントリはそのターゲット別名で自動的に上書きされます。最後に、インポートできないエントリは自動的にスキップされ、警告が出力されます。
.RE
.RE
.SS
-¥Ç¡¼¥¿¤Î¥¨¥¯¥¹¥Ý¡¼¥È
+データのエクスポート
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-certreq {\-alias alias}
-{\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-certreq {\-alias alias} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-PKCS#10 ·Á¼°¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£
+PKCS#10 形式を使って証明書署名要求 (CSR) を生成します。
.LP
-CSR ¤Ï¡¢Ç§¾Ú¶É (CA) ¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA ¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£ ¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀÏ¢º¿ (ºÇ½é¤Ï 1 ¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë) ¤ËÃÖ¤´¹¤¨¤Æ»È¤¤¤Þ¤¹¡£
+CSR は、証明書発行局 (CA) に送信することを目的としたものです。CA は、証明書要求者を (通常はオフラインで) 認証し、証明書または証明書チェーンを送り返します。 この証明書または証明書チェーンは、キーストア内の既存の証明書チェーン (最初は 1 つの自己署名証明書から構成される) に置き換えて使います。
.LP
-\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤È X.500 ¼±ÊÌ̾¤Ï¡¢PKCS#10 ¾ÚÌÀ½ñÍ×µá¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¥¡¼¥¹¥È¥¢Æâ¤Ç¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥѥ¹¥ï¡¼¥É¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç \f2keypass\fP ¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2alias\fP に関連付けられた非公開鍵と X.500 識別名は、PKCS#10 証明書要求を作成するのに使われます。非公開鍵はキーストア内ではパスワードによって保護されているので、非公開鍵にアクセスするには、適切なパスワードを提供する必要があります。コマンド行で \f2keypass\fP を指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。
.LP
-\f2sigalg\fP ¤Ë¤Ï¡¢CSR ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2sigalg\fP には、CSR に署名を付けるときに使うアルゴリズムを指定します。
.LP
-CSR ¤Ï¡¢¥Õ¥¡¥¤¥ë \f2certreq_file\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎÏ¤Ë CSR ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+CSR は、ファイル \f2certreq_file\fP に格納されます。ファイルが指定されていない場合は、標準出力に CSR が出力されます。
.LP
-CA ¤«¤é¤Î±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\f2importcert\fP ¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£
+CA からの応答をインポートするには、\f2importcert\fP コマンドを使います。
.TP 3
-\-exportcert {\-alias alias}
-{\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}
+\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}
.LP
-\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò (¥¡¼¥¹¥È¥¢¤«¤é) Æɤ߹þ¤ß¡¢¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f2alias\fP に関連付けられた証明書を (キーストアから) 読み込み、ファイル \f2cert_file\fP に格納します。
.LP
-¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤ˾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+ファイルが指定されていない場合は、標準出力に証明書が出力されます。
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+デフォルトでは、バイナリ符号化方式の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-\f2alias\fP ¤¬¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\f2alias\fP ¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀÏ¢º¿¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Ï¢º¿Æâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\f2alias\fP ¤Ë¤è¤Ã¤Æɽ¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£
+\f2alias\fP が、信頼できる証明書を参照している場合は、該当する証明書が出力されます。それ以外の場合、\f2alias\fP は、関連付けられた証明書チェーンを持つ鍵エントリを参照します。この場合は、チェーン内の最初の証明書が返されます。この証明書は、\f2alias\fP によって表されるエンティティーの公開鍵を認証する証明書です。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-export\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-exportcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-export\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-exportcert\fP を使用することをお勧めします。
.RE
.LP
.RE
.SS
-¥Ç¡¼¥¿¤Îɽ¼¨
+データの表示
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-list {\-alias alias}
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}
+\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}
.LP
-\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÆâÍƤò (ɸ½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ÊÌ̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¡¼¥¹¥È¥¢Á´ÂΤÎÆâÍƤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+\f2alias\fP で特定されるキーストアエントリの内容を (標準出力に) 出力します。別名が指定されていない場合は、キーストア全体の内容が表示されます。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤Î MD5 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êͼԡ¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
--rfc ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍƤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+このコマンドは、デフォルトでは証明書の MD5 フィンガープリントを表示します。\f2\-v\fP オプションが指定されている場合は、所有者、発行者、シリアル番号、拡張機能などの付加的な情報とともに、人間が読むことのできる形式で証明書が表示されます。\f2\-rfc\fP オプションが指定されている場合は、出力可能符号化方式で証明書の内容が表示されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤È¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+\f2\-v\fP オプションと \f2\-rfc\fP オプションとを同時に指定することはできません。
.TP 3
\-printcert {\-file cert_file} {\-v} {\-Jjavaoption}
.LP
+ファイル
.LP
-\f2cert_file\fP ¥Õ¥¡¥¤¥ë¤«¤é¾ÚÌÀ½ñ¤òÆɤ߹þ¤ß¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆɤ߹þ¤ß¤Þ¤¹¡£
+インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Çɽ¼¨¤Ç¤¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï¥¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯Æ°ºî¤·¤Þ¤¹¡£
+注:このコマンドはキーストアとは関係なく動作します。
.RE
.LP
.RE
.SS
-¥¡¼¥¹¥È¥¢¤Î´ÉÍý
+キーストアの管理
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-storepasswd [\-new new_storepass]
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
+\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
.LP
-¥¡¼¥¹¥È¥¢¤ÎÆâÍƤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\f2new_storepass\fP ¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\f2new_storepass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+キーストアの内容の整合性を保護するために使うパスワードを変更します。\f2new_storepass\fP には、新しいパスワードを指定します。 \f2new_storepass\fP は、6 文字以上でなければなりません。
.TP 3
-\-keypasswd {\-alias alias}
-[\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
+\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
.LP
-.I
-alias
-¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢
-.I old_keypass
-¤«¤é
-.I new_keypass
-¤ËÊѹ¹¤·¤Þ¤¹¡£
-.I new_keypass
-¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2alias\fP によって特定される非公開/秘密鍵を保護するためのパスワードを、\f2old_keypass\fP から \f2new_keypass\fP に変更します。 \f2new_keypass\fP は、6 文字以上でなければなりません。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+コマンド行で \f2\-keypass\fP オプションを指定しておらず、鍵のパスワードがキーストアのパスワードと異なる場合は、鍵のパスワードの入力を求められます。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-new\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+コマンド行で \f2\-new\fP オプションを指定しなかった場合は、新しいパスワードの入力を求められます。
.TP 3
-\-delete [\-alias alias]
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-.I alias
-¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2alias\fP によって特定されるエントリをキーストアから削除します。コマンド行で別名を指定しなかった場合は、別名の入力を求められます。
.TP 3
-\-changealias {\-alias alias}
-[\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-»ØÄꤵ¤ì¤¿ \f2alias\fP ¤«¤é¿·¤·¤¤ÊÌ̾ \f2destalias\fP ¤Ø¡¢´û¸¤Î¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ò°ÜÆ°¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤½¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¡Ö-keypass¡×¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2storepass\fP (»ØÄꤵ¤ì¤¿¾ì¹ç) ¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+指定された \f2alias\fP から新しい別名 \f2destalias\fP へ、既存のキーストアエントリを移動します。ターゲット別名が指定されなかった場合、このコマンドはその入力を求めます。元のエントリがエントリパスワードで保護されていた場合、「\-keypass」オプション経由でそのパスワードを指定できます。鍵パスワードが指定されなかった場合、\f2storepass\fP (指定された場合) がまず試みられます。その試みが失敗すると、ユーザーはパスワードの入力を求められます。
.RE
.LP
.RE
.SS
-¥Ø¥ë¥×¤Îɽ¼¨
+ヘルプの表示
.LP
.RS 3
@@ -480,26 +451,26 @@
.TP 3
\-help
.LP
-´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
+基本的なコマンドとそのオプションの一覧を表示します。
.RE
.LP
.RE
-.SH "Îã"
+.SH "例"
.LP
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢¼«Ê¬¤Î¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤òÎã¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£
+ここでは、自分の鍵のペアおよび信頼できるエンティティーからの証明書を管理するためのキーストアを作成する場合を例として示します。
.LP
.SS
-¸°¤Î¥Ú¥¢¤ÎÀ¸À®
+鍵のペアの生成
.LP
.RS 3
.LP
.LP
-¤Þ¤º¡¢¥¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£
+まず、キーストアを作成して鍵のペアを生成する必要があります。次に示すのは、実行するコマンドの例です。
.LP
.nf
\f3
@@ -515,16 +486,16 @@
.LP
.LP
-Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï 1 ¹Ô¤ËÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Îã¤ÇÊ£¿ô¹Ô¤ËÆþÎϤ·¤Æ¤¤¤ë¤Î¤ÏÆɤߤ䤹¤¯¤¹¤ë¤¿¤á¤Ç¤¹¡£
+注:このコマンドは 1 行に入力しなければなりません。例で複数行に入力しているのは読みやすくするためです。
.LP
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë mykeystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤òºîÀ®¤· (¥¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äꤹ¤ë)¡¢ºîÀ®¤·¤¿¥¡¼¥¹¥È¥¢¤Ë¥Ñ¥¹¥ï¡¼¥É ab987c ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬¡ÖMark Jones¡×¡¢ÁÈ¿¥Ã±°Ì¤¬¡ÖJavaSoft¡×¡¢ÁÈ¿¥¤¬¡ÖSun¡×¡¢2 ʸ»ú¤Î¹ñÈֹ椬¡ÖUS¡×¤Ç¤¹¡£¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â 1024 ¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î DSA ¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£
+この例では、working ディレクトリに mykeystore という名前のキーストアを作成し (キーストアはまだ存在していないと仮定する)、作成したキーストアにパスワード ab987c を割り当てます。生成する公開鍵と非公開鍵のペアに対応するエンティティーの「識別名」は、通称が「Mark Jones」、組織単位が「JavaSoft」、組織が「Sun」、2 文字の国番号が「US」です。公開鍵と非公開鍵のサイズはどちらも 1024 ビットで、鍵の作成にはデフォルトの DSA 鍵生成アルゴリズムを使用します。
.LP
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥Ç¥Õ¥©¥ë¥È¤Î SHA1withDSA ½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍÑ) ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î͸ú´ü´Ö¤Ï 180 Æü¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾¡Öbusiness¡×¤ÇÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥êÆâ¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¡Ökpi135¡×¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
+このコマンドは、公開鍵と識別名情報を含む自己署名証明書 (デフォルトの SHA1withDSA 署名アルゴリズムを使用) を作成します。証明書の有効期間は 180 日です。 証明書は、別名「business」で特定されるキーストアエントリ内の非公開鍵に関連付けられます。非公開鍵にはパスワード「kpi135」が割り当てられます。
.LP
.LP
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃͤò»È¤¦¾ì¹ç¤Ï¡¢¾å¤Ë¼¨¤·¤¿¥³¥Þ¥ó¥É¤òÂçÉý¤Ëû¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤻ¤º¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£´ûÄêÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð´ûÄêÃͤ¬»È¤ï¤ì¡¢É¬ÍפÊÃͤˤĤ¤¤Æ¤ÏÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±¤Ë¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+オプションのデフォルト値を使う場合は、上に示したコマンドを大幅に短くすることができます。実際には、オプションを 1 つも指定せずにコマンドを実行することも可能です。 デフォルト値を持つオプションでは、オプションを指定しなければデフォルト値が使われ、必要な値については入力を求められます。たとえば、単に次のように入力することもできます。
.LP
.nf
\f3
@@ -535,19 +506,19 @@
.fi
.LP
-¤³¤Î¾ì¹ç¤Ï¡¢mykey ¤È¤¤¤¦ÊÌ̾¤Ç¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó 90 Æü´Ö͸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥¡¼¥¹¥È¥¢¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¡¢¤ª¤è¤ÓÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+この場合は、mykey という別名でキーストアエントリが作成され、新しく生成された鍵のペア、および 90 日間有効な証明書がこのエントリに格納されます。このエントリは、ホームディレクトリ内の .keystore という名前のキーストアに置かれます。このキーストアがまだ存在していない場合は、作成されます。識別名情報、キーストアのパスワード、および非公開鍵のパスワードについては、入力を求められます。
.LP
-°Ê²¼¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ ¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï kpi135 ¤È»ØÄê)¡£
+以下では、オプションを指定しないで \f2\-genkeypair\fP コマンドを実行したものとして例を示します。 情報の入力を求められた場合は、最初に示した \f2\-genkeypair\fP コマンドの値を入力したものとします (たとえば、非公開鍵のパスワードには kpi135 と指定)。
.LP
.RE
.SS
-ǧ¾Ú¶É¤ËÂФ¹¤ë½ð̾ÉÕ¤¾ÚÌÀ½ñ¤ÎÍ×µá
+証明書発行局に対する署名付き証明書の要求
.LP
.RS 3
.LP
.LP
-¸½»þÅÀ¤Ç¼ê¸µ¤Ë¤¢¤ë¤Î¤Ï¡¢1 Ä̤μ«¸Ê½ð̾¾ÚÌÀ½ñ¤À¤±¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ëǧ¾Ú¶É (CA) ¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢¤Û¤«¤Î¥æ¡¼¥¶¤«¤é¾ÚÌÀ½ñ¤¬¿®Íê¤Ç¤¤ë²ÄǽÀ¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA ¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+現時点で手元にあるのは、1 通の自己署名証明書だけです。証明書に証明書発行局 (CA) の署名が付いていれば、ほかのユーザーから証明書が信頼できる可能性も高くなります。CA の署名を取得するには、まず、証明書署名要求 (CSR) を生成します。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -558,43 +529,41 @@
.fi
.LP
-CSR (¥Ç¥Õ¥©¥ë¥ÈÊÌ̾¡Ömykey¡×¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î CSR) ¤¬ºîÀ®¤µ¤ì¡¢MarkJ.csr ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢VeriSign ¤Ê¤É¤Î CA ¤ËÄó½Ð¤·¤Þ¤¹¡£ CA ¤ÏÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤ÎÏ¢º¿¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÏ¢º¿¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
-
+CSR (デフォルト別名「mykey」によって特定されるエンティティーの CSR) が作成され、MarkJ.csr という名前のファイルに置かれます。このファイルは、VeriSign などの CA に提出します。 CA は要求者を (通常はオフラインで) 認証し、要求者の公開鍵を認証した署名付きの証明書を送り返します。場合によっては、CA が証明書のチェーンを返すこともあります。 証明書のチェーンでは、各証明書がチェーン内のその前の署名者の公開鍵を認証します。
+.RE
.SS
-CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È
+CA からの証明書のインポート
.LP
.RS 3
.LP
.LP
-ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¾ÚÌÀÏ¢º¿¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA ¤òµ¯ÅÀ¤È¤¹¤ëÏ¢º¿Æâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
+作成した自己署名証明書は、証明書チェーンで置き換える必要があります。 証明書チェーンでは、各証明書が、「ルート」CA を起点とするチェーン内の次の証明書の署名者の公開鍵を認証します。
.LP
.LP
-CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢¤«¡¢(importcert ¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë) \f2cacerts\fP ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+CA からの証明応答をインポートするには、キーストアか、(importcert コマンド で説明しているように) \f2cacerts\fP キーストアファイル内に 1 つ以上の「信頼できる証明書」がある必要があります。
.LP
.RS 3
.TP 2
o
-¾ÚÌÀ±þÅú¤¬¾ÚÌÀÏ¢º¿¤Î¾ì¹ç¤Ï¡¢Ï¢º¿¤Î¥È¥Ã¥×¤Î¾ÚÌÀ½ñ (¤½¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ) ¤À¤±¤òɬÍפȤ¹¤ë
+証明応答が証明書チェーンの場合は、チェーンのトップの証明書 (その CA の公開鍵を認証する「ルート」CA の証明書) だけを必要とする
.TP 2
o
-¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤·¤¿ CA ¤Îȯ¹ÔÍѤξÚÌÀ½ñ¤¬É¬Íפǡ¢¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¤µ¤é¤Ë¤½¤Î¾ÚÌÀ½ñ¤Î½ð̾¼ÔÍѤξÚÌÀ½ñ¤òɬÍפȤ¹¤ë¡£ ¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¤µ¤ì¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ¤Þ¤Ç¤½¤ì¤¾¤ì¾ÚÌÀ½ñ¤òɬÍפȤ¹¤ë
+証明応答が単一の証明書の場合は、証明書に署名した CA の発行用の証明書が必要で、その証明書が自己署名されない場合は、さらにその証明書の署名者用の証明書を必要とする。 このようにして自己署名される「ルート」CA の証明書までそれぞれ証明書を必要とする
.RE
.LP
.LP
-cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢5 ¤Ä¤Î VeriSign ¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign ¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Û¤«¤Î CA ¤ËÂФ·¤Æ½ð̾ÉÕ¤¾ÚÌÀ½ñ¤òÍ׵ᤷ¤Æ¤¤¤Æ¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢cacerts ¤Ë¤Þ¤ÀÄɲ䵤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë CA ¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+cacerts キーストアファイルは、5 つの VeriSign ルート CA 証明書を含んだ状態で出荷されているので、VeriSign の証明書を、信頼できる証明書としてキーストア内にインポートする必要はないかもしれません。ただし、ほかの CA に対して署名付き証明書を要求していて、この CA の公開鍵を認証する証明書が、cacerts にまだ追加されていない場合は、該当する CA からの証明書を、「信頼できる証明書」としてインポートする必要があります。
.LP
.LP
-Ä̾CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¤Û¤«¤Î CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹ (¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¤Û¤«¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤âɬÍ×)¡£¤¿¤È¤¨¤Ð¡¢ABC ¤È¤¤¤¦´ë¶È¤¬ CA ¤À¤È¤·¤Þ¤¹¡£ ¤³¤Î¤È¤¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¹Í¤¨¤é¤ì¤ë ABCCA.cer ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¡¢ABC ¤«¤éÆþ¼ê¤·¤¿¤È¤·¤Þ¤¹¡£
+通常、CA からの証明書は、自己署名証明書、またはほかの CA によって署名された証明書です (後者の場合は、該当するほかの CA の公開鍵を認証する証明書も必要)。たとえば、ABC という企業が CA だとします。 このとき、この CA の公開鍵を認証する自己署名証明書と考えられる ABCCA.cer という名前のファイルを、ABC から入手したとします。
.LP
.LP
-¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¾ÚÌÀ½ñ¤¬Í¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f3keytool\fP \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f3keytool\fP \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
-¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿ (¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë) ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂؤ¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。まず、証明書の内容を表示し (\f3keytool\fP \f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f3keytool\fP \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。証明書を送信した人物に連絡し、この人物が提示した (または安全な公開鍵のリポジトリによって提示される) フィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのものを信頼することになります。
.LP
.LP
-ABCCA.cer ¤ò͸ú¤Ê¾ÚÌÀ½ñ¤È¤·¤Æ¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤ËÄɲäǤ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+ABCCA.cer を有効な証明書として信頼する場合は、証明書をキーストアに追加できます。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -605,19 +574,19 @@
.fi
.LP
-ABCCA.cer ¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤Î¥¨¥ó¥È¥ê¤¬¥¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë abc ¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
+ABCCA.cer ファイルのデータを含む「信頼できる証明書」のエントリがキーストア内に作成され、該当するエントリに abc という別名が割り当てられます。
.RE
.SS
-CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È
+CA からの証明応答のインポート
.LP
.RS 3
.LP
.LP
-¾ÚÌÀ½ñ½ð̾Í×µá¤ÎÄó½ÐÀè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¤¢¤È¤Ï (¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë cacerts ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀÏ¢º¿¤Ï¡¢CA ¤Î±þÅú¤¬Ï¢º¿¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ËÂФ¹¤ë±þÅú¤È¤·¤Æ CA ¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀÏ¢º¿¤Ç¤¹¡£ ¤Þ¤¿¡¢CA ¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤ò»È¤Ã¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀÏ¢º¿¤Ç¤¹¡£
+証明書署名要求の提出先の CA の公開鍵を認証する証明書をインポートしたあとは (または同種の証明書がすでに cacerts ファイル内に存在している場合は)、証明応答をインポートし、自己署名証明書を証明書チェーンで置き換えることができます。この証明書チェーンは、CA の応答がチェーンの場合、証明書署名要求に対する応答として CA から送り返された証明書チェーンです。 また、CA の応答が単一の証明書の場合は、この証明応答と、インポート先のキーストア内または cacerts キーストアファイル内にすでに存在する信頼できる証明書とを使って構築した証明書チェーンです。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ò VeriSign ¤ËÁ÷¿®¤·¤¿¤È¤·¤Þ¤¹¡£Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬ VSMarkJ.cer ¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
+たとえば、証明書署名要求を VeriSign に送信したとします。送り返された証明書の名前が VSMarkJ.cer だとすると、次のようにして応答をインポートできます。
.LP
.nf
\f3
@@ -630,17 +599,14 @@
.LP
.SS
-¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È
+公開鍵を認証する証明書のエクスポート
.LP
.RS 3
.LP
-¤¿¤È¤¨¤Ð¡¢
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html
-¤Î \f2jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¤È¤·¤Þ¤¹¡£¤³¤Î JAR ¥Õ¥¡¥¤¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Þ¤¹¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï½ð̾¤òǧ¾Ú¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
+たとえば、jarsigner(1) を使って Java ARchive (JAR) ファイルに署名したとします。この JAR ファイルはクライアントによって使われますが、クライアント側では署名を認証したいと考えています。
.LP
-¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î 1 ¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¡Ö¿®Íê¤Ç¤¤ë¡×¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¾ÚÌÀ½ñ¤ò \f2MJ.cer\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ ¤³¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡Ömykey¡×¤È¤¤¤¦ÊÌ̾¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
+クライアントが署名を認証する方法の 1 つに、まず自分の公開鍵の証明書を「信頼できる」エントリとしてクライアントのキーストアにインポートする方法があります。そのためには、証明書をエクスポートして、クライアントに提供します。たとえば、次のようにして、証明書を \f2MJ.cer\fP という名前のファイルにコピーします。 このエントリには「mykey」という別名が使われているとします。
.LP
.nf
\f3
@@ -651,19 +617,19 @@
.fi
.LP
-¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤òǧ¾Ú¤Ç¤¤Þ¤¹¡£
+証明書と署名付き JAR ファイルを入手したクライアントは、\f3jarsigner\fP ツールを使って署名を認証できます。
.RE
.SS
-¥¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È
+キーストアのインポート
.LP
.RS 3
.LP
.LP
-¥³¥Þ¥ó¥É¡Öimportkeystore¡×¤ò»È¤¨¤Ð¡¢¤¢¤ë¥¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó (ÈëÌ©¸°¤äÈó¸ø³«¸°¤Î¾ì¹ç¤Ï) ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤äÈëÌ©¸°¤Î²óÉü»þ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤¤ò \f3keytool\fP ¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+コマンド「importkeystore」を使えば、あるキーストアの全体を別のキーストア内にインポートできます。 これは、鍵や証明書といったソースキーストア内のすべてのエントリが、単一のコマンドを使ってターゲットキーストア内にインポートされることを意味します。このコマンドを使えば、異なるタイプのキーストア内に含まれるエントリをインポートすることができます。インポート時には、ターゲットキーストア内の新しいエントリはすべて、元と同じ別名および (秘密鍵や非公開鍵の場合は) 保護用パスワードを持ちます。ソースキーストア内の非公開鍵や秘密鍵の回復時に問題が発生した場合、\f3keytool\fP はユーザーにパスワードの入力を求めます。このコマンドは、別名の重複を検出すると、ユーザーに新しい別名の入力を求めます。 ユーザーは、新しい別名を指定することも、単純に既存の別名の上書きを \f3keytool\fP に許可することもできます。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢Ä̾ï¤Î JKS ¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢ key.jks Æâ¤Î¥¨¥ó¥È¥ê¤ò PKCS #11 ¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ¤Þ¤¹¡£
+たとえば、通常の JKS タイプのキーストア key.jks 内のエントリを PKCS #11 タイプのハードウェアベースのキーストア内にインポートするには、次のコマンドを使用できます。
.LP
.nf
\f3
@@ -681,7 +647,7 @@
.LP
.LP
-¤Þ¤¿¡¢importkeystore ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢¤¢¤ë¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¾åµ¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢¥¤¥ó¥Ý¡¼¥ÈÂоݤȤʤëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£srcalias ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄê¤Ç¤¤ë¤Û¤«¡¢ÈëÌ©/Èó¸ø³«¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤¤Þ¤¹¡£¤½¤¦¤¹¤ì¤Ð¡¢¥×¥í¥ó¥×¥È¤Î¤Þ¤Ã¤¿¤¯É½¼¨¤µ¤ì¤Ê¤¤ \f3keytool\fP ¥³¥Þ¥ó¥É¤òȯ¹Ô¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤ò¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëºÝ¤ËÈó¾ï¤ËÊØÍø¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+また、importkeystore コマンドを使えば、あるソースキーストア内の単一のエントリをターゲットキーストアにインポートすることもできます。この場合、上記の例で示したオプションに加え、インポート対象となる別名を指定する必要があります。srcalias オプションを指定する場合には、ターゲット別名もコマンド行から指定できるほか、秘密/非公開鍵の保護用パスワードやターゲット保護用パスワードも指定できます。そうすれば、プロンプトのまったく表示されない \f3keytool\fP コマンドを発行できます。これは、\f3keytool\fP コマンドをスクリプトファイルに含める際に非常に便利です。 次に例を示します。
.LP
.nf
\f3
@@ -705,51 +671,51 @@
.RE
.LP
-.SH "ÍѸì¤È·Ù¹ð"
+.SH "用語と警告"
.LP
.LP
.SS
-¥¡¼¥¹¥È¥¢
+キーストア
.LP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡¹½¤Ç¤¹¡£
+キーストアは、暗号化の鍵と証明書を格納するための機能です。
.RE
.RS 3
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê\fP
+.TP 2
+o
+\f3キーストアのエントリ\fP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤â¤Ã¤È¤âŬÍÑÈϰϤ餤¥¨¥ó¥È¥ê¥¿¥¤¥×¤Ï¡¢¼¡¤Î 2 ¤Ä¤Ç¤¹¡£
+キーストアには異なるタイプのエントリを含めることができます。\f3keytool\fP でもっとも適用範囲の広いエントリタイプは、次の 2 つです。
.RS 3
.TP 3
1.
-\f3¸°¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀÏ¢º¿¤òȼ¤¦Èó¸ø³«¸°¤Ç¤¹¡£
-\f3keytool\fP ¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤¤ë¤Î¤ËÂФ·¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈó¸ø³«¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀÏ¢º¿¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£
+\f3鍵のエントリ\fP \- 各エントリは、非常に重要な暗号化の鍵の情報を保持します。この情報は、許可していないアクセスを防ぐために、保護された形で格納されます。一般に、この種のエントリとして格納される鍵は、秘密鍵か、対応する公開鍵の証明書チェーンを伴う非公開鍵です。\f3keytool\fP がこの両方のタイプのエントリを処理できるのに対し、\f3jarsigner\fP ツールは後者のタイプのエントリ、つまり非公開鍵とそれに関連付けられた証明書チェーンのみを処理します。
.TP 3
2.
-\f3¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò 1 ¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤Î¡ÖSubject¡×(½êͼÔ) ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥¡¼¥¹¥È¥¢¤Î½êͼԤ¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍƤòÊݾڤ·¤Þ¤¹¡£
+\f3信頼できる証明書のエントリ\fP \- 各エントリは、第三者からの公開鍵証明書を 1 つ含んでいます。この証明書は、「信頼できる証明書」と呼ばれます。 それは、証明書内の公開鍵が、証明書の「Subject」(所有者) によって特定されるアイデンティティーに由来するものであることを、キーストアの所有者が信頼するからです。証明書の発行者は、証明書に署名を付けることによって、その内容を保証します。
.RE
.LP
.RE
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤ÎÊÌ̾\fP
+\f3キーストアの別名\fP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê (¸°¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ) ¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£
+キーストアのすべてのエントリ (鍵および信頼できる証明書) は、一意の「別名」を介してアクセスされます。
.LP
.LP
-ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\-genseckey ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\-genkeypair ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¸°¥Ú¥¢ (¸ø³«¸°¤ÈÈó¸ø³«¸°) ¤òÀ¸À®¤·¤¿¤ê¡¢\-importcert ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤ò¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲä·¤¿¤ê¤¹¤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£
-¤³¤ì°Ê¸å¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+別名を指定するのは、\-genseckey コマンドを使って秘密鍵を生成したり、\-genkeypair コマンドを使って鍵ペア (公開鍵と非公開鍵) を生成したり、\-importcert コマンドを使って証明書または証明書チェーンを信頼できる証明書のリストに追加したりするなど、特定のエンティティーをキーストアに追加する場合です。これ以後、\f3keytool\fP コマンドでエンティティーを参照する場合は、このときに指定した別名を使用する必要があります。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢\f2duke\fP ¤È¤¤¤¦ÊÌ̾¤ò»È¤Ã¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ (¡Ö¾ÚÌÀÏ¢º¿¡×¤ò»²¾È) ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+たとえば、\f2duke\fP という別名を使って新しい公開鍵と非公開鍵のペアを生成し、公開鍵を自己署名証明書 (「証明書チェーン」を参照) でラップするとします。 この場合は、次のコマンドを実行します。
.LP
.nf
\f3
@@ -760,7 +726,7 @@
.fi
.LP
-¤³¤³¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ dukekeypasswd ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ °Ê¸å¡¢ÊÌ̾ \f2duke\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£duke ¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+ここでは、初期パスワードとして dukekeypasswd を指定しています。 以後、別名 \f2duke\fP に関連付けられた非公開鍵にアクセスするコマンドを実行するときは、このパスワードが必要になります。duke の非公開鍵のパスワードをあとから変更するには、次のコマンドを実行します。
.nf
\f3
.fl
@@ -770,44 +736,46 @@
.fi
.LP
-¥Ñ¥¹¥ï¡¼¥É¤¬¡¢dukekeypasswd ¤«¤é newpass ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£
+パスワードが、dukekeypasswd から newpass に変更されます。
.LP
-Ãí - ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+注 \-テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。
.LP
.RE
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ\fP
+\f3キーストアの実装\fP
.RS 3
-\f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤ë \f2KeyStore\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤ÈÊѹ¹¤ò¹Ô¤¦¤¿¤á¤ÎÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£
+\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。
.LP
-¸½ºß¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£\f2KeyStore\fP ¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¤Ï \f2KeyStore\fP ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥¥å¥ê¥Æ¥£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤¤Þ¤¹¡£
+現在、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールが、キーストアの実装を使用しています。\f2KeyStore\fP は public として使用可能なので、JDK ユーザーは \f2KeyStore\fP を使ったほかのセキュリティーアプリケーションも作成できます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆȼ«¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥¡¼¥¹¥È¥¢Á´ÂΤδ°Á´À¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢\f2KeyStore\fP ¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI) ¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë \f2KeystoreSpi\fP Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬ Service Provider Interface ¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢¡ÖJava(TM) °Å¹æ²½¥¢¡¼¥¥Æ¥¯¥Á¥ãÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。 これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、
+.na
+\f2「Java(TM) 暗号化アーキテクチャー用プロバイダの実装方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\f2KeyStore\fP ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤¤Þ¤¹¡£
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥¡¼¥¹¥È¥¢¼«ÂΤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£
-°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開/秘密鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢¼ÂÁõ¤ÇÆ°ºî¤·¤Þ¤¹¡£\f3keytool\fP ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥¡¼¥¹¥È¥¢¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。keytool は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP ツールと \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。
.LP
.LP
-\f3keytool\fP ¤È \f3jarsigner\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£\f3Policy Tool\fP ¤Î¾ì¹ç¤Ï¡¢¡Ö¥¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP と \f3jarsigner\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fPの場合は、「キーストア」メニューによってキーストアのタイプを指定できます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ï¡¢\f2java.security\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ \f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£
+キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティープロパティーファイル内で指定された \f2keystore.type\fP プロパティーの値に基づいてキーストアの実装を選択します。セキュリティープロパティーファイルは、\f2java.security\fP という名前でセキュリティープロパティーディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。
.LP
.LP
-³Æ¥Ä¡¼¥ë¤Ï¡¢\f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£
+各ツールは、\f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。
.LP
.LP
-\f2KeyStore\fP ¥¯¥é¥¹¤Ç¤Ï \f2getDefaultType\fP ¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (\f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
+\f2KeyStore\fP クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティーで指定されたタイプ) のインスタンスを生成します。
.LP
.nf
\f3
@@ -819,7 +787,7 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Sun ¤¬Ä󶡤¹¤ëÆȼ«¤Î¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。
.LP
.nf
\f3
@@ -831,10 +799,10 @@
.LP
.LP
-³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
+各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
+たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。
.LP
.nf
\f3
@@ -845,103 +813,103 @@
.fi
.LP
-Ãí: ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+注:キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。
.RE
.RE
.SS
-¾ÚÌÀ½ñ
+証明書
.LP
.RS 3
.LP
-¾ÚÌÀ½ñ (¸ø³«¸°¾ÚÌÀ½ñ¤È¤â¸Æ¤Ö) ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¡Öȯ¹Ô¼Ô¡×) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¡Ö½ð̾¼Ô¡×) ¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3証明書\fP (\f3公開鍵証明書\fPとも呼ぶ) とは、あるエンティティー (「発行者」) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティー (「署名者」) の公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています。
.RE
.RS 3
.TP 2
o
-\f3¾ÚÌÀ½ñ¤ÎÍѸì\fP
+.TP 2
+o
+\f3証明書の用語\fP
.RS 3
.LP
.RS 3
.TP 3
-¸ø³«¸°
-¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤È¤Î´Ö¤Ë¿®Íê¤Ç¤¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
+公開鍵
+公開鍵は、特定のエンティティーに関連付けられた数です。 公開鍵は、該当するエンティティーとの間に信頼できる関係を持つ必要があるすべての人に対して公開することを意図したものです。公開鍵は、署名を検証するのに使われます。
.TP 3
-¥Ç¥¸¥¿¥ë½ð̾
-¥Ç¡¼¥¿¤¬¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡×¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¥Ç¡¼¥¿¤ÎÆâÍƤˤĤ¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
+デジタル署名
+データが「\f2デジタル署名\fP」されると、そのデータは、エンティティーの「アイデンティティー」と、そのエンティティーがデータの内容について知っていることを証明する署名とともに格納されます。エンティティーの非公開鍵を使ってデータに署名を付けると、データの偽造は不可能になります。
.TP 3
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£
-¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Î´ûÃΤÎÊýË¡¤Ç¤¹¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¤Û¤«¤Ë¤â¡¢Unix UID ¤äÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢X.509 ¼±ÊÌ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+アイデンティティー
+エンティティーを特定するための既知の方法です。システムによっては、公開鍵をアイデンティティーにするものがあります。 公開鍵のほかにも、Unix UID や電子メールアドレス、X.509 識別名など、さまざまなものをアイデンティティーとすることができます。
.TP 3
-½ð̾
-½ð̾¤Ï¡¢²¿¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£ (½ð̾¼Ô¡£ ¾ÚÌÀ½ñ¤Ë´Ø¤·¤Æ¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤ë) ¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£
+署名
+署名は、なんらかのデータを基にエンティティー (署名者。 証明書に関しては発行者とも呼ばれる) の非公開鍵を使って計算されます。
.TP 3
-Èó¸ø³«¸°
-Èó¸ø³«¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤À¤±¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤È¤¤¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢¤Û¤«¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäƸºß¤·¤Æ¤¤¤Þ¤¹¡£DSA ¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1 ¤Ä¤ÎÈó¸ø³«¸°¤ÏÀµ³Î¤Ë 1 ¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
+非公開鍵
+非公開鍵は特定のエンティティーだけが知っている数のことで、この数のことを、そのエンティティーの非公開鍵といいます。非公開鍵は、ほかに知られないように秘密にしておくことが前提になっています。 非公開鍵と公開鍵は、すべての公開鍵暗号化システムで対になって存在しています。DSA などの典型的な公開鍵暗号化システムの場合、1 つの非公開鍵は正確に 1 つの公開鍵に対応します。非公開鍵は、署名を計算するのに使われます。
.TP 3
-¥¨¥ó¥Æ¥£¥Æ¥£
-¥¨¥ó¥Æ¥ó¥Æ¥£¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤ뤵¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£
+エンティティー
+エンテンティーは、人、組織、プログラム、コンピュータ、企業、銀行など、一定の度合いで信頼の対象となるさまざまなものを指します。
.RE
.LP
.LP
-¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¤½¤ÎÀ¼Á¾å¡¢¥æ¡¼¥¶¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú¤Â³¤³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»È¤ï¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¡Öǧ¾Ú¶É (CA)¡×¤¬¿®Íê¤Ç¤¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA ¤Ï¡¢¤Û¤«¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë (ȯ¹Ô¤¹¤ë) ¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆǤ¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (´ë¶È¤Ê¤É) ¤Ç¤¹¡£CA ¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í¸ú¤«¤Ä¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤À¤±¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+公開鍵暗号化では、その性質上、ユーザーの公開鍵にアクセスする必要があります。大規模なネットワーク環境では、互いに通信しているエンティティー間で以前の関係が引き続き確立されていると仮定したり、使われているすべての公開鍵を収めた信頼できるリポジトリが存在すると仮定したりすることは不可能です。このような公開鍵の配布に関する問題を解決するために証明書が考案されました。現在では、「証明書発行局 (CA)」が信頼できる第三者として機能します。CA は、ほかのエンティティーの証明書に署名する (発行する) 行為を、信頼して任されているエンティティー (企業など) です。CA は法律上の契約に拘束されるので、有効かつ信頼できる証明書だけを作成するものとして扱われます。
.na
-\f2VeriSign\fP
+\f2VeriSign\fP @
.fi
-(http://www.verisign.com/)¡¢
+http://www.verisign.com/、
.na
-\f2Thawte\fP
+\f2Thawte\fP @
.fi
-(http://www.thawte.com/)¡¢
+http://www.thawte.com/、
.na
-\f2Entrust\fP
+\f2Entrust\fP @
.fi
-(http://www.entrust.com/) ¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î CA ¤¬Â¸ºß¤·¤Þ¤¹¡£
-Netscape ¤ä Microsoft ¤Îǧ¾Ú¥µ¡¼¥Ð¡¢Entrust ¤Î CA À½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢Æȼ«¤Îǧ¾Ú¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+http://www.entrust.com/ をはじめ、多くの CA が存在します。Netscape や Microsoft の認証サーバー、Entrust の CA 製品などを所属組織内で利用すれば、独自の証明書発行局を運営することも可能です。
.LP
.LP
-\f3keytool\fP ¤ò»È¤¦¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¡¢¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP を使うと、証明書の表示、インポート、およびエクスポートを行うことができます。また、自己署名証明書を生成することもできます。
.LP
.LP
-¸½ºß¡¢\f3keytool\fP ¤Ï X.509 ¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£
+現在、\f3keytool\fP は X.509 証明書を対象にしています。
.LP
.RE
.TP 2
o
-\f3X.509 ¾ÚÌÀ½ñ\fP
+\f3X.509 証明書\fP
.RS 3
-X.509 µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤¹þ¤àÊýË¡ (¥Ç¡¼¥¿·Á¼°) ¤Ë¤Ä¤¤¤Æ¤âµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN.1/DER ¤È¸Æ¤Ð¤ì¤ë 2 ¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»È¤Ã¤ÆÉä¹æ²½¤µ¤ì¤Þ¤¹¡£\f2Abstract Syntax Notation 1\fP ¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£\f2Definite Encoding Rules\fP ¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
+X.509 規格では、証明書に含める情報が定義されており、この情報を証明書に書き込む方法 (データ形式) についても記述されています。証明書のすべてのデータは、ASN.1/DER と呼ばれる 2 つの関連規格を使って符号化されます。\f2Abstract Syntax Notation 1\fP はデータについて記述しています。\f2Definite Encoding Rules\fP は、データの保存および転送の方法について記述しています。
.LP
-¤¹¤Ù¤Æ¤Î X.509 ¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¤Û¤«¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
+すべての X.509 証明書は、署名のほかに次のデータを含んでいます。
.LP
.RS 3
.TP 3
-¥Ð¡¼¥¸¥ç¥ó
-¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ë X.509 µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Þ¤Ç¤Ë¡¢3 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢v1¡¢v2¡¢¤ª¤è¤Ó v3 ¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤È¥¨¥¯¥¹¥Ý¡¼¥È¤¬²Äǽ¤Ç¤¹¡£
-\f3keytool\fP ¤¬À¸À®¤¹¤ë¤Î¤Ï¡¢v3 ¤Î¾ÚÌÀ½ñ¤Ç¤¹¡£
+バージョン
+証明書に適用される X.509 規格のバージョンを特定します。 証明書に指定できる情報は、バージョンによって異なります。これまでに、3 つのバージョンが定義されています。\f3keytool\fP では、v1、v2、および v3 の証明書のインポートとエクスポートが可能です。keytool が生成するのは、v3 の証明書です。
.LP
-¡Ö\f2X.509 Version 1\fP¡×¤Ï¡¢1988 ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ç¤¹¡£
+「X.509 Version 1」は、1988 年から利用されて広く普及しており、もっとも一般的です。
.LP
-¡Ö\f2X.509 Version 2\fP¡×¤Ç¤Ï¡¢Subject ¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject ¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Ê¼±Ê̻Ҥò»È¤ï¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2 ¤Î¾ÚÌÀ½ñ¤Ï¡¢¹¤¯¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+「X.509 Version 2」では、Subject や発行者の名前をあとで再利用できるようにするために、Subject と発行者の一意識別子の概念が導入されました。ほとんどの証明書プロファイル文書では、名前を再使用しないことと、証明書で一意な識別子を使わないことが、強く推奨されています。Version 2 の証明書は、広くは使われていません。
.LP
-¡Ö\f2X.509 Version 3\fP¡×¤Ï¤â¤Ã¤È¤â¿·¤·¤¤ (1996 ǯ) µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¸½ºß»È¤ï¤ì¤Æ¤¤¤ë°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢\f2KeyUsage\fP (¡Ö½ð̾ÀìÍѡפʤɡ¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢\f2AlternativeNames\fP (DNS ̾¡¢ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢IP ¥¢¥É¥ì¥¹¤Ê¤É¡¢¤Û¤«¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤ë) ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢\f2critical\fP ¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical ¤È¥Þ¡¼¥¯¤µ¤ì¡¢KeyCertSign ¤¬ÀßÄꤵ¤ì¤¿ KeyUsage ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤ò SSL ÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈó¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL ¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤¤¿¤á¤Ç¤¹¡£
+「X.509 Version 3」はもっとも新しい (1996 年) 規格で、エクステンションの概念をサポートしています。エクステンションは誰でも定義することができ、証明書に含めることができます。現在使われている一般的なエクステンションとしては、KeyUsage (「署名専用」など、鍵の使用を特定の目的に制限する)、AlternativeNames (DNS 名、電子メールアドレス、IP アドレスなど、ほかのアイデンティティーを公開鍵に関連付けることができる) などがあります。エクステンションには、critical というマークを付けて、そのエクステンションのチェックと使用を義務づけることができます。たとえば、critical とマークされ、KeyCertSign が設定された KeyUsage エクステンションが証明書に含まれている場合、この証明書を SSL 通信中に提示すると、証明書が拒否されます。 これは、証明書のエクステンションによって、関連する非公開鍵が証明書の署名専用として指定されており、SSL では使用できないためです。
.TP 3
-¥·¥ê¥¢¥ëÈÖ¹æ
-¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬È¯¹Ô¤¹¤ë¤Û¤«¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤Ç»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+シリアル番号
+証明書を作成したエンティティーは、そのエンティティーが発行するほかの証明書と区別するために、証明書にシリアル番号を割り当てます。この情報は、さまざまな方法で使われます。 たとえば、証明書が取り消されると、シリアル番号が証明書の取り消しリスト (CRL) に格納されます。
.TP 3
-½ð̾¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò
-¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë CA ¤¬»È¤Ã¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£
+署名アルゴリズム識別子
+証明書に署名を付けるときに CA が使ったアルゴリズムを特定します。
.TP 3
-ȯ¹Ô¼Ô̾
-¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î X.500 ¼±ÊÌ̾¤Ç¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢Ä̾ï¤Ï CA ¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»È¤¦¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¡Ö¥ë¡¼¥È¡×¤Ä¤Þ¤ê¡Ö¥È¥Ã¥×¥ì¥Ù¥ë¡×¤Î CA ¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+発行者名
+証明書に署名を付けたエンティティーの X.500 識別名です。エンティティーは、通常は CA です。この証明書を使うことは、証明書に署名を付けたエンティティーを信頼することを意味します。「ルート」つまり「トップレベル」の CA の証明書など、場合によっては発行者が自身の証明書に署名を付けることがある点に注意してください。
.TP 3
-͸ú´ü´Ö
-³Æ¾ÚÌÀ½ñ¤Ï¡¢¸Â¤é¤ì¤¿´ü´Ö¤À¤±Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é 100 ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ë͸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»È¤ï¤ì¤ëÈó¸ø³«¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í¸ú´ü´Ö¤Ï¡¢»ÈÍѤ¹¤ëÈó¸ø³«¸°¤¬Â»¤Ê¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£
+有効期間
+各証明書は、限られた期間だけ有効になります。この期間は開始の日時と終了の日時によって指定され、数秒の短い期間から 100 年という長期にわたることもあります。選択される有効期間は、証明書への署名に使われる非公開鍵の強度や証明書に支払う金額など、さまざまな要因で異なります。有効期間は、使用する非公開鍵が損なわれない場合に、エンティティーが公開鍵を信頼できると期待される期間です。
.TP 3
-Subject ̾
-¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤¬¼±Ê̤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î̾Á°¤Ç¤¹¡£¤³¤Î̾Á°¤Ï X.500 ɸ½à¤ò»È¤¦¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î X.500 ¼±ÊÌ̾ (DN) ¤Ç¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+Subject 名
+証明書で公開鍵が識別されているエンティティーの名前です。この名前は X.500 標準を使うので、インターネット全体で一意なものと想定されます。これは、エンティティーの X.500 識別名 (DN) です。 次に例を示します。
.nf
\f3
.fl
@@ -949,56 +917,56 @@
.fl
\fP
.fi
-¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Ρ¢ÁÈ¿¥Ã±°Ì¡¢ÁÈ¿¥¡¢¹ñ¤òɽ¤·¤Þ¤¹¡£
+これらはそれぞれ主体の通称、組織単位、組織、国を表します。
.TP 3
-Subject ¤Î¸ø³«¸°¾ðÊó
-̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+Subject の公開鍵情報
+名前を付けられたエンティティーの公開鍵とアルゴリズム識別子です。 アルゴリズム識別子では、公開鍵に対して使われている公開鍵暗号化システムおよび関連する鍵パラメータが指定されています。
.RE
.LP
.RE
.TP 2
o
-\f3¾ÚÌÀÏ¢º¿\fP
+\f3証明書チェーン\fP
.RS 3
.LP
-\f3keytool\fP ¤Ç¤Ï¡¢Èó¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ¡ÖÏ¢º¿¡×¤ò´Þ¤à¥¡¼¥¹¥È¥¢¤Î¡Ö¸°¡×¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢Ï¢º¿¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3keytool\fP では、非公開鍵および関連する証明書「チェーン」を含むキーストアの「鍵」エントリを作成し、管理することができます。このようなエントリでは、非公開鍵に対応する公開鍵は、チェーンの最初の証明書に含まれています。
.LP
.LP
-¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È (\-genkeypair ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¡Ö¼«¸Ê½ð̾¾ÚÌÀ½ñ¡×¤È¤¤¤¦ 1 ¤Ä¤ÎÍ×ÁǤÀ¤±¤ò´Þ¤àÏ¢º¿¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢È¯¹Ô¼Ô (½ð̾¼Ô) ¤¬¼çÂÎ (¾ÚÌÀ½ñ¤Çǧ¾Ú¤µ¤ì¤Æ¤¤¤ë¸ø³«¸°¤Î»ý¤Á¼ç) ¤ÈƱ¤¸¤Ç¤¢¤ë¾ÚÌÀ½ñ¤Î¤³¤È¤Ç¤¹¡£\f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£
+鍵を初めて作成すると (\-genkeypair コマンドを参照)、「自己署名証明書」という 1 つの要素だけを含むチェーンが開始されます。自己署名証明書は、発行者 (署名者) が主体 (証明書で認証されている公開鍵の持ち主) と同じである証明書のことです。\f2\-genkeypair\fP コマンドを呼び出して新しい公開鍵と非公開鍵のペアを作成すると、公開鍵は常に自己署名証明書でラップされます。
.LP
.LP
-¤³¤Î¤¢¤È¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤¬À¸À®¤µ¤ì¤Æ (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢CSR ¤¬Ç§¾Ú¶É (CA) ¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA ¤«¤é¤Î±þÅú¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì (\-importcert ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀÏ¢º¿¤Ë¤è¤Ã¤ÆÃÖ¤´¹¤¨¤é¤ì¤Þ¤¹¡£Ï¢º¿¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject ¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿ CA ¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ (±þÅú) ¤Ç¤¹¡£Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¡ÖCA¡×¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£
+このあと、証明書署名要求 (CSR) が生成されて (\-certreq コマンドを参照)、CSR が証明書発行局 (CA) に送信されると、CA からの応答がインポートされ (\-importcert コマンドを参照)、元の自己署名証明書は証明書チェーンによって置き換えられます。チェーンの最後にあるのは、Subject の公開鍵を認証した CA が発行した証明書 (応答) です。チェーン内のその前の証明書は、「CA」の公開鍵を認証する証明書です。
.LP
.LP
-CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ (¤Ä¤Þ¤ê CA ¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ) ¤Ç¤¢¤ê¡¢¤³¤ì¤ÏÏ¢º¿¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤ÎÏ¢º¿¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢Ï¢º¿Æâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ (CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ) ¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤È¤Ï¡ÖÊ̤Ρ×CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î CA ¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£°Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤ÇÏ¢º¿¤¬Â³¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ï¢º¿Æâ¤Î (ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î) ³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢Ï¢º¿Æâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+CA の公開鍵を認証する証明書は、多くの場合、自己署名証明書 (つまり CA が自身の公開鍵を認証した証明書) であり、これはチェーンの最初の証明書になります。場合によっては、CA が証明書のチェーンを返すこともあります。この場合、チェーン内の最後の証明書 (CA によって署名され、鍵エントリの公開鍵を認証する証明書) に変わりはありませんが、チェーン内のその前の証明書は、CSR の送信先の CA とは「別の」CA によって署名され、CSR の送信先の CA の公開鍵を認証する証明書になります。さらに、チェーン内のその前の証明書は、次の CA の鍵を認証する証明書になります。 以下同様に、自己署名された「ルート」証明書に達するまでチェーンが続きます。したがって、チェーン内の (最初の証明書以後の) 各証明書では、チェーン内の次の証明書の署名者の公開鍵が認証されていることになります。
.LP
.LP
-¿¤¯¤Î CA ¤Ï¡¢Ï¢º¿¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤ß¤Î¾ÚÌÀ½ñ¤À¤±¤òÊÖ¤·¤Þ¤¹¡£Æäˡ¢Ãæ´Ö¤Î CA ¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀÏ¢º¿¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+多くの CA は、チェーンをサポートせずに発行済みの証明書だけを返します。 特に、中間の CA が存在しないフラットな階層構造の場合は、その傾向が顕著です。このような場合は、キーストアにすでに格納されている信頼できる証明書情報から、証明書チェーンを確立する必要があります。
.LP
.LP
-Ê̤αþÅú·Á¼° (PKCS#7 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°) ¤Ç¤â¡¢È¯¹ÔºÑ¤ß¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀÏ¢º¿¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+別の応答形式 (PKCS#7 で定義されている形式) でも、発行済み証明書に加え、証明書チェーンのサポートが含まれています。\f3keytool\fP では、どちらの応答形式も扱うことができます。
.LP
.LP
-¥È¥Ã¥×¥ì¥Ù¥ë (¥ë¡¼¥È) CA ¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤ËÂФ¹¤ë¿®Íê¤Ï¡¢¥ë¡¼¥È¤Î¾ÚÌÀ½ñ¼«ÂΤ«¤éƳ¤½Ð¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯ (¤¿¤È¤¨¤Ð¡¢VeriSign ¥ë¡¼¥È CA ¤Î¤è¤¦¤ÊÍ̾¤Ê¼±ÊÌ̾¤ò»È¤Ã¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¤³¤È¼«ÂΤÏï¤Ç¤â²Äǽ)¡¢¿·Ê¹¤Ê¤É¤Î¤Û¤«¤Î¾ðÊ󸻤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤Ï¹¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤À¤±¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤¤Ï¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f2\-printcert\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥È CA ¤Î Web ¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+トップレベル (ルート) CA の証明書は、自己署名証明書です。ただし、ルートの公開鍵に対する信頼は、ルートの証明書自体から導き出されるものではなく (たとえば、VeriSign ルート CA のような有名な識別名を使った自己署名証明書を作成すること自体は誰でも可能)、新聞などのほかの情報源に由来するものです。ルート CA の公開鍵は広く知られています。ルート CA の公開鍵を証明書に格納する理由は、証明書という形式にすることで多くのツールから利用できるようになるからにすぎません。 つまり、証明書は、ルート CA の公開鍵を運ぶ「媒体」として利用されるだけです。ルート CA の証明書をキーストアに追加するときは、その前に証明書の内容を表示し (\f2\-printcert\fP オプションを使用)、表示されたフィンガープリントと、新聞やルート CA の Web ページなどから入手した既知のフィンガープリントとを比較する必要があります。
.LP
.RE
.TP 2
o
-\f3cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë\fP
+\f3cacerts 証明書ファイル\fP
.RS 3
.LP
-cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£
+\f3cacerts\fP 証明書ファイルは、セキュリティープロパティーディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。
.LP
.LP
-cacerts ¥Õ¥¡¥¤¥ë¤Ï¡¢CA ¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ë jks ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\f3keytool\fP ¤ò»È¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¼¡¤ÎÊÌ̾¤ª¤è¤Ó X.500 ½êͼԼ±ÊÌ̾¤ò»ý¤Ä¤¤¤¯¤Ä¤«¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+cacerts ファイルは、CA の証明書を含む、システム全体のキーストアです。システム管理者は、キーストアタイプに jks を指定することで、\f3keytool\fP を使ってこのファイルの構成と管理を行うことができます。cacerts キーストアファイルは、次の別名および X.500 所有者識別名を持ついくつかのルート CA 証明書を含んだ状態で出荷されています。
.LP
.RS 3
.TP 2
*
-\f3Alias\fP: thawtepersonalfreemailca
+\f3Alias\fP:thawtepersonalfreemailca
.br
-\f3Owner DN\fP: EmailAddress=personal\-freemail@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-freemail@thawte.com,
.br
CN=Thawte Personal Freemail CA,
.br
@@ -1007,9 +975,9 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawtepersonalbasicca
+\f3Alias\fP:thawtepersonalbasicca
.br
-\f3Owner DN\fP: EmailAddress=personal\-basic@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-basic@thawte.com,
.br
CN=Thawte Personal Basic CA,
.br
@@ -1018,8 +986,9 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
+\f3Alias\fP:thawtepersonalpremiumca
.br
-\f3Owner DN\fP: EmailAddress=personal\-premium@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-premium@thawte.com,
.br
CN=Thawte Personal Premium CA,
.br
@@ -1028,18 +997,18 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawteserverca
+\f3Alias\fP:thawteserverca
.br
-\f3Owner DN\fP: EmailAddress=server\-certs@thawte.com,
+\f3Owner DN\fP:EmailAddress=server\-certs@thawte.com,
.br
CN=Thawte Server CA, OU=Certification Services Division,
.br
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawtepremiumserverca
+\f3Alias\fP:thawtepremiumserverca
.br
-\f3Owner DN\fP: EmailAddress=premium\-server@thawte.com,
+\f3Owner DN\fP:EmailAddress=premium\-server@thawte.com,
.br
CN=Thawte Premium Server CA,
.br
@@ -1048,37 +1017,37 @@
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: verisignclass1ca
+\f3Alias\fP:verisignclass1ca
.br
-\f3Owner DN\fP: OU=Class 1 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 1 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2ca
+\f3Alias\fP:verisignclass2ca
.br
-\f3Owner DN\fP: OU=Class 2 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 2 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3ca
+\f3Alias\fP:verisignclass3ca
.br
-\f3Owner DN\fP: OU=Class 3 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 3 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignserverca
+\f3Alias\fP:verisignserverca
.br
-\f3Owner DN\fP: OU=Secure Server Certification Authority,
+\f3Owner DN\fP:OU=Secure Server Certification Authority,
.br
O="RSA Data Security, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass1g2ca
+\f3Alias\fP:verisignclass1g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1087,18 +1056,18 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass1g3ca
+\f3Alias\fP:verisignclass1g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
+\f3Owner DN\fP:CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
OU=VeriSign Trust Network,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2g2ca
+\f3Alias\fP:verisignclass2g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1107,9 +1076,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2g3ca
+\f3Alias\fP:verisignclass2g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 2 Public Primary Certification Authority \- G3,
+\f3Owner DN\fP:CN=VeriSign Class 2 Public Primary Certification Authority \- G3,
.br
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
@@ -1118,9 +1087,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3g2ca
+\f3Alias\fP:verisignclass3g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1129,9 +1098,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3g3ca
+\f3Alias\fP:verisignclass3g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 3 Public Primary Certification Authority \- G3,
+\f3Owner DN\fP:CN=VeriSign Class 3 Public Primary Certification Authority \- G3,
.br
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
@@ -1140,44 +1109,37 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: baltimorecodesigningca
+\f3Alias\fP:baltimorecodesigningca
.br
-\f3Owner DN\fP: CN=Baltimore CyberTrust Code Signing Root,
+\f3Owner DN\fP:CN=Baltimore CyberTrust Code Signing Root,
.br
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustglobalca
+\f3Alias\fP:gtecybertrustglobalca
.br
-\f3Owner DN\fP: CN=GTE CyberTrust Global Root,
+\f3Owner DN\fP:CN=GTE CyberTrust Global Root,
.br
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
.TP 2
*
-\f3Alias\fP: baltimorecybertrustca
+\f3Alias\fP:baltimorecybertrustca
.br
-\f3Owner DN\fP: CN=Baltimore CyberTrust Root,
+\f3Owner DN\fP:CN=Baltimore CyberTrust Root,
.br
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustca
+\f3Alias\fP:gtecybertrust5ca
.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root,
-.br
-O=GTE Corporation, C=US
-.TP 2
-*
-\f3Alias\fP: gtecybertrust5ca
-.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root 5,
+\f3Owner DN\fP:CN=GTE CyberTrust Root 5,
.br
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
.TP 2
*
-\f3Alias\fP: entrustclientca
+\f3Alias\fP:entrustclientca
.br
-\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Client Certification Authority,
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1186,9 +1148,9 @@
O=Entrust.net, C=US
.TP 2
*
-\f3Alias\fP: entrustglobalclientca
+\f3Alias\fP:entrustglobalclientca
.br
-\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Client Certification Authority,
.br
OU=(c) 2000 Entrust.net Limited,
.br
@@ -1197,9 +1159,9 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: entrust2048ca
+\f3Alias\fP:entrust2048ca
.br
-\f3Owner DN\fP: CN=Entrust.net Certification Authority (2048),
+\f3Owner DN\fP:CN=Entrust.net Certification Authority (2048),
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1208,9 +1170,9 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: entrustsslca
+\f3Alias\fP:entrustsslca
.br
-\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority,
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1219,9 +1181,9 @@
O=Entrust.net, C=US
.TP 2
*
-\f3Alias\fP: entrustgsslca
+\f3Alias\fP:entrustgsslca
.br
-\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority,
.br
OU=(c) 2000 Entrust.net Limited,
.br
@@ -1230,23 +1192,23 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: godaddyclass2ca
+\f3Alias\fP:godaddyclass2ca
.br
-\f3Owner DN\fP: OU=Go Daddy Class 2 Certification Authority,
+\f3Owner DN\fP:OU=Go Daddy Class 2 Certification Authority,
.br
O="The Go Daddy Group, Inc.", C=US
.TP 2
*
-\f3Alias\fP: starfieldclass2ca
+\f3Alias\fP:starfieldclass2ca
.br
-\f3Owner DN\fP: OU=Starfield Class 2 Certification Authority,
+\f3Owner DN\fP:OU=Starfield Class 2 Certification Authority,
.br
O="Starfield Technologies, Inc.", C=US
.TP 2
*
-\f3Alias\fP: valicertclass2ca
+\f3Alias\fP:valicertclass2ca
.br
-\f3Owner DN\fP: EMAILADDRESS=info@valicert.com,
+\f3Owner DN\fP:EMAILADDRESS=info@valicert.com,
.br
CN=http://www.valicert.com/,
.br
@@ -1255,109 +1217,109 @@
O="ValiCert, Inc.", L=ValiCert Validation Network
.TP 2
*
-\f3Alias\fP: geotrustglobalca
+\f3Alias\fP:geotrustglobalca
.br
-\f3Owner DN\fP: CN=GeoTrust Global CA,
+\f3Owner DN\fP:CN=GeoTrust Global CA,
.br
O=GeoTrust Inc., C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureca
+\f3Alias\fP:equifaxsecureca
.br
-\f3Owner DN\fP: OU=Equifax Secure Certificate Authority,
+\f3Owner DN\fP:OU=Equifax Secure Certificate Authority,
.br
O=Equifax, C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureebusinessca1
+\f3Alias\fP:equifaxsecureebusinessca1
.br
-\f3Owner DN\fP: CN=Equifax Secure eBusiness CA\-1,
+\f3Owner DN\fP:CN=Equifax Secure eBusiness CA\-1,
.br
O=Equifax Secure Inc., C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureebusinessca2
+\f3Alias\fP:equifaxsecureebusinessca2
.br
-\f3Owner DN\fP: OU=Equifax Secure eBusiness CA\-2,
+\f3Owner DN\fP:OU=Equifax Secure eBusiness CA\-2,
.br
O=Equifax Secure, C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureglobalebusinessca1
+\f3Alias\fP:equifaxsecureglobalebusinessca1
.br
-\f3Owner DN\fP: CN=Equifax Secure Global eBusiness CA\-1,
+\f3Owner DN\fP:CN=Equifax Secure Global eBusiness CA\-1,
.br
O=Equifax Secure Inc., C=US
.TP 2
*
-\f3Alias\fP: soneraclass1ca
+\f3Alias\fP:soneraclass1ca
.br
-\f3Owner DN\fP: CN=Sonera Class1 CA, O=Sonera, C=FI
+\f3Owner DN\fP:CN=Sonera Class1 CA, O=Sonera, C=FI
.TP 2
*
-\f3Alias\fP: soneraclass2ca
+\f3Alias\fP:soneraclass2ca
.br
-\f3Owner DN\fP: CN=Sonera Class2 CA, O=Sonera, C=FI
+\f3Owner DN\fP:CN=Sonera Class2 CA, O=Sonera, C=FI
.TP 2
*
-\f3Alias\fP: comodoaaaca
+\f3Alias\fP:comodoaaaca
.br
-\f3Owner DN\fP: CN=AAA Certificate Services,
+\f3Owner DN\fP:CN=AAA Certificate Services,
.br
O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB
.TP 2
*
-\f3Alias\fP: addtrustclass1ca
+\f3Alias\fP:addtrustclass1ca
.br
-\f3Owner DN\fP: CN=AddTrust Class 1 CA Root,
+\f3Owner DN\fP:CN=AddTrust Class 1 CA Root,
.br
OU=AddTrust TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: addtrustexternalca
+\f3Alias\fP:addtrustexternalca
.br
-\f3Owner DN\fP: CN=AddTrust External CA Root,
+\f3Owner DN\fP:CN=AddTrust External CA Root,
.br
OU=AddTrust External TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: addtrustqualifiedca
+\f3Alias\fP:addtrustqualifiedca
.br
-\f3Owner DN\fP: CN=AddTrust Qualified CA Root,
+\f3Owner DN\fP:CN=AddTrust Qualified CA Root,
.br
OU=AddTrust TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: utnuserfirsthardwareca
+\f3Alias\fP:utnuserfirsthardwareca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Hardware,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Hardware,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utnuserfirstclientauthemailca
+\f3Alias\fP:utnuserfirstclientauthemailca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Client Authentication and Email,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Client Authentication and Email,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utndatacorpsgcca
+\f3Alias\fP:utndatacorpsgcca
.br
-\f3Owner DN\fP: CN=UTN \- DATACorp SGC,
+\f3Owner DN\fP:CN=UTN \- DATACorp SGC,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utnuserfirstobjectca
+\f3Alias\fP:utnuserfirstobjectca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Object,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Object,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
@@ -1366,18 +1328,18 @@
.LP
.LP
-cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢changeit ¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+cacerts キーストアファイルの初期パスワードは、changeit です。システム管理者は、SDK のインストール後、このファイルのパスワードとデフォルトアクセス権を変更する必要があります。
.LP
.RS 3
.LP
.LP
-\f3½ÅÍ×: \fP\f4cacerts\fP\f3 ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£\fP
+\f3重要:\fP\f4cacerts\fP\f3 ファイルを確認してください。\fP
.br
.LP
-\f2cacerts\fP ¥Õ¥¡¥¤¥ëÆâ¤Î CA ¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ë CA ¤Î¾ÚÌÀ½ñ¤À¤±¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥æ¡¼¥¶¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤¤ë¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ¤Ë´Ø¤¹¤ëÆȼ«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£¿®Íê¤Ç¤¤Ê¤¤ CA ¾ÚÌÀ½ñ¤ò \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢\f2keytool\fP ¥³¥Þ¥ó¥É¤Îºï½ü¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ï JRE ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2cacerts\fP ファイル内の CA は、署名および他のエンティティーへの証明書発行のためのエンティティーとして信頼されるため、\f2cacerts\fP ファイルの管理は慎重に行う必要があります。\f2cacerts\fP ファイルには、信頼する CA の証明書だけが含まれていなければなりません。ユーザーは、自身の責任において、\f2cacerts\fP ファイルにバンドルされている信頼できるルート CA 証明書を検証し、信頼性に関する独自の決定を行います。信頼できない CA 証明書を \f2cacerts\fP ファイルから削除するには、\f2keytool\fP コマンドの削除オプションを使用します。\f2cacerts\fP ファイルは JRE のインストールディレクトリにあります。このファイルを編集するアクセス権がない場合は、システム管理者に連絡してください。
.br
.LP
@@ -1387,23 +1349,22 @@
.RE
.TP 2
o
-\f3¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê\fP
+\f3インターネット RFC 1421 証明書符号化規格\fP
.RS 3
.LP
-¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉä¹æ²½Êý¼°¤ò»È¤Ã¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¡ÖBase 64 Éä¹æ²½¡×¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍưפ˥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
+多くの場合、証明書は、バイナリ符号化ではなく、インターネット RFC 1421 規格で定義されている出力可能符号化方式を使って格納されます。「Base 64 符号化」とも呼ばれるこの証明書形式では、電子メールやその他の機構を通じて、ほかのアプリケーションに証明書を容易にエクスポートできます。
.LP
.LP
-\f2\-importcert\fP ¤È \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉä¹æ²½¤Î¾ÚÌÀ½ñ¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+\f2\-importcert\fP コマンドと \f2\-printcert\fP コマンドでは、この形式の証明書とバイナリ符号化の証明書を読み込むことができます。
.LP
.LP
-\f2\-exportcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉä¹æ²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-exportcert\fP コマンドでは、デフォルトでバイナリ符号化の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。
.LP
.LP
-\f2\-list\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤Î MD5 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£°ìÊý¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-list\fP コマンドでは、デフォルトで証明書の MD5 フィンガープリントが出力されます。\f2\-v\fP オプションを指定すると、人間が読むことのできる形式で証明書が出力されます。 一方、\f2\-rfc\fP オプションを指定すると、出力可能符号化方式で証明書が出力されます。
.LP
.LP
-½ÐÎϲÄǽÉä¹æ²½Êý¼°¤ÇÉä¹æ²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¹Ô¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£
+出力可能符号化方式で符号化された証明書は、次の行で始まります。
.LP
.nf
\f3
@@ -1415,7 +1376,7 @@
.LP
.LP
-ºÇ¸å¤Ï¡¢¼¡¤Î¹Ô¤Ç½ª¤ï¤ê¤Þ¤¹¡£
+最後は、次の行で終わります。
.LP
.nf
\f3
@@ -1429,36 +1390,36 @@
.LP
.SS
-X.500 ¼±ÊÌ̾
+X.500 識別名
.LP
.RS 3
.LP
-X.500 ¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢X.509 ¾ÚÌÀ½ñ¤Î \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È \f2issuer\fP (½ð̾¼Ô) ¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X.500 ¼±ÊÌ̾¤Ç¤¹¡£\f3keytool\fP ¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
+X.500 識別名は、エンティティーを特定するために使われます。 たとえば、X.509 証明書の \f2subject\fP フィールドと \f2issuer\fP (署名者) フィールドで指定される名前は、X.500 識別名です。 \f3keytool\fP は、次のサブパートをサポートしています。
.RS 3
.TP 2
o
-\f2commonName\fP \- ¿Í¤ÎÄ̾Ρ£¡ÖSusan Jones¡×¤Ê¤É
+\f2commonName\fP \- 人の通称。 「Susan Jones」など
.TP 2
o
-\f2organizationUnit\fP \- ¾®¤µ¤ÊÁÈ¿¥ (Éô¡¢²Ý¤Ê¤É) ¤Î̾¾Î¡£¡Ö»ÅÆþÉô¡×¤Ê¤É
+\f2organizationUnit\fP \- 小さな組織 (部、課など) の名称。 「仕入部」など
.TP 2
o
-\f2organizationName\fP \- Â礤ÊÁÈ¿¥¤Î̾¾Î¡£¡ÖABCSystems, Inc.¡×¤Ê¤É
+\f2organizationName\fP \- 大きな組織の名称。 「ABCSystems, Inc.」など
.TP 2
o
-\f2localityName\fP \- ÃÏ°è (ÅÔ»Ô) ̾¡£¡ÖPalo Alto¡×¤Ê¤É
+\f2localityName\fP \- 地域 (都市) 名。 「Palo Alto」など
.TP 2
o
-\f2stateName\fP \- ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£¡ÖCalifornia¡×¤Ê¤É
+\f2stateName\fP \- 州名または地方名。 「California」など
.TP 2
o
-\f2country\fP \- 2 ʸ»ú¤Î¹ñÈֹ档¡ÖCH¡×¤Ê¤É
+\f2country\fP \- 2 文字の国番号。 「CH」など
.RE
.LP
.LP
-\f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤Î \f2\-dname\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ¼±ÊÌ̾ʸ»úÎó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢¼¡¤Î·Á¼°¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2\-genkeypair\fP コマンド の \f2\-dname\fP オプションの値として識別名文字列を指定する場合は、次の形式で指定する必要があります。
.LP
.nf
\f3
@@ -1470,7 +1431,7 @@
.LP
.LP
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£Ã»½Ì·Á¤Î¥¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+イタリック体の項目は、実際に指定する値を表します。 短縮形のキーワードの意味は、次のとおりです。
.LP
.nf
\f3
@@ -1492,7 +1453,7 @@
.LP
.LP
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£
+次に示すのは、識別名文字列の例です。
.LP
.nf
\f3
@@ -1503,7 +1464,7 @@
.fi
.LP
-¼¡¤Ï¡¢¤³¤Îʸ»úÎó¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£
+次は、この文字列を使ったコマンドの例です。
.nf
\f3
.fl
@@ -1516,10 +1477,10 @@
.LP
.LP
-¥¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¡¢¤ª¤è¤Ó Cn ¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+キーワードの短縮形では、大文字と小文字は区別されません。たとえば、CN、cn、および Cn は、どれも同じものとして扱われます。
.LP
.LP
-°ìÊý¡¢¥¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤À¤±¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+一方、キーワードの指定順序には意味があり、各サブコンポーネントは上に示した順序で指定する必要があります。ただし、サブコンポーネントをすべて指定する必要はありません。たとえば、次のように一部のサブコンポーネントだけを指定できます。
.LP
.nf
\f3
@@ -1531,7 +1492,7 @@
.LP
.LP
-¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥³¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Îʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+識別名文字列の値にコンマが含まれる場合に、コマンド行で文字列を指定するときには、次のようにコンマを文字 \\ でエスケープする必要があります。
.LP
.nf
\f3
@@ -1543,19 +1504,18 @@
.LP
.LP
-¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+識別名文字列をコマンド行で指定する必要はありません。識別名を必要とするコマンドを実行するときに、コマンド行で識別名を指定しなかった場合は、各サブコンポーネントの入力を求められます。この場合は、コンマを文字 \\ でエスケープする必要はありません。
.LP
.RE
.SS
-¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à
+信頼できる証明書のインポートに関する注意事項
.LP
.RS 3
.LP
-½ÅÍ×: ¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
+重要:信頼できる証明書として証明書をインポートする前に、証明書の内容を慎重に調べてください。
.LP
-¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò \f2/tmp/cert\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+まず、証明書の内容を表示し (\f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f2\-import\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。たとえば、あるユーザーから証明書が送られてきて、この証明書を \f2/tmp/cert\fP という名前でファイルに格納しているとします。この場合は、信頼できる証明書のリストにこの証明書を追加する前に、\f2\-printcert\fP コマンドを実行してフィンガープリントを表示できます。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -1580,119 +1540,106 @@
.fi
.LP
-¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂؤ¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î (¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤À JAR ¥Õ¥¡¥¤¥ë¤Ê¤É) ¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+次に、証明書を送信した人物に連絡し、この人物が提示したフィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのもの (攻撃的意図を持つクラスファイルを含んだ JAR ファイルなど) を信頼することになります。
.LP
-Ãí: ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ëɬ¤º \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-\f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¤³¤Î»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢³Îǧ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¡¢\f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¼Â¹Ô¤·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£
-\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+注:証明書をインポートする前に必ず \f2\-printcert\fP コマンドを実行しなければならないわけではありません。 キーストア内の信頼できる証明書のリストに証明書を追加する前に \f2\-importcert\fP コマンドを実行すると、証明書の情報が表示され、確認を求めるメッセージが表示されます。インポート操作は、この時点で中止できます。ただし、確認メッセージが表示されるのは、\f2\-importcert\fP コマンドを \f2\-noprompt\fP オプションを指定せずに実行した場合だけです。\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.LP
.RE
.SS
-¥Ñ¥¹¥ï¡¼¥É¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à
+パスワードに関する注意事項
.LP
.RS 3
.LP
.LP
-¥¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£
-¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£
+キーストアに対する操作を行うほとんどのコマンドでは、ストアのパスワードが必要です。また、一部のコマンドでは、非公開/秘密鍵のパスワードが必要になることがあります。
.LP
.LP
-¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄê¤Ç¤¤Þ¤¹ (¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+パスワードはコマンド行で指定できます (ストアのパスワードには \f2\-storepass\fP オプション、非公開鍵のパスワードには \f2\-keypass\fP オプションを使用)。ただし、テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。
.LP
.LP
-ɬÍפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。
.LP
.RE
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
o
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html
-¤Î
-.na
-¡Ö\f2jar\fP¡×¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+.LP
+jar(1) ツールのドキュメント
.TP 2
o
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html
-¤Î
-.na
-¡Ö\f2jarsigner\fP¡×¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+.LP
+jarsigner(1) ツールのドキュメント
.TP 2
o
-\f3keytool\fP ¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/docs/books/tutorial/security/index.html
-¤Î
+.LP
+\f3keytool\fP の使用例については、
.na
-¡Ö\f4Java Tutorial\fP¡×¤Ë¤¢¤ë
+\f4「Java Tutorial」\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html
-¤Î
+http://java.sun.com/docs/books/tutorialの
.na
-¡Ö\f4Security\fP¡×¥È¥ì¡¼¥ë
+\f4「Security」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/security/index.htmlを参照
.RE
.LP
-.SH "Êѹ¹ÅÀ"
+.SH "変更点"
.LP
.LP
.LP
-Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£
+Java SE 6 で keytool のコマンドインタフェースが変更されました。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ëºÝ¤Ë¤½¤ÎÆþÎÏÆâÍƤòɽ¼¨¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ»þ¤Ë¤½¤ÎÆþÎÏÆâÍƤò³Îǧ¤Ç¤¤Ê¤¯¤Ê¤Ã¤¿¤¿¤á¡¢½é´ü¥¡¼¥¹¥È¥¢¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤ê¸°¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤äÊѹ¹¤ò¹Ô¤¦¤¿¤Ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎºÆÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f3keytool\fP は、ユーザーがパスワードを入力する際にその入力内容を表示しなくなりました。ユーザーはパスワード入力時にその入力内容を確認できなくなったため、初期キーストアパスワードを設定したり鍵パスワードを変更したりするなど、パスワードの設定や変更を行うたびにパスワードの再入力を求められます。
.LP
.LP
-Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ÎÃæ¤Ë¤Ï¡¢Ì¾Á°¤¬Êѹ¹¤µ¤ì¤¿¤À¤±¤Î¤â¤Î¤â¤¢¤ì¤Ð¡¢Çѻߤµ¤ì¤Æ¤³¤Î¥É¥¥å¥á¥ó¥È¤ËµºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£°ÊÁ°¤Î¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É (̾Á°¤¬Êѹ¹¤µ¤ì¤¿¤â¤Î¤ÈÇѻߤµ¤ì¤¿¤â¤Î¤ÎξÊý) ¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë²Ã¤¨¤é¤ì¤¿¤¹¤Ù¤Æ¤ÎÊѹ¹ÅÀ¤Î³µÍפò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+変更されたコマンドの中には、名前が変更されただけのものもあれば、廃止されてこのドキュメントに記載されなくなったものもあります。以前のすべてのコマンド (名前が変更されたものと廃止されたものの両方) は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。keytool のコマンドインタフェースに加えられたすべての変更点の概要を、次に示します。
.LP
.LP
-̾Á°¤¬Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É:
+名前が変更されたコマンド:
.LP
.RS 3
.TP 2
o
-\f2\-export\fP ¤Î̾Á°¤¬ \f2\-exportcert\fP ¤ËÊѹ¹
+\f2\-export\fP の名前が \f2\-exportcert\fP に変更
.TP 2
o
-\f2\-genkey\fP ¤Î̾Á°¤¬ \f2\-genkeypair\fP ¤ËÊѹ¹
+\f2\-genkey\fP の名前が \f2\-genkeypair\fP に変更
.TP 2
o
-\f2\-import\fP ¤Î̾Á°¤¬ \f2\-importcert\fP ¤ËÊѹ¹
+\f2\-import\fP の名前が \f2\-importcert\fP に変更
.RE
.LP
.LP
-Çѻߤµ¤ì¤Æ¥É¥¥å¥á¥ó¥È¤ËµºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¥³¥Þ¥ó¥É:
+廃止されてドキュメントに記載されなくなったコマンド:
.LP
.RS 3
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#keycloneCmd
-¤Î
.na
-\f2\-keyclone\fP
+\f2\-keyclone\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#keycloneCmd
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#identitydbCmd
-¤Î
.na
-\f2\-identitydb\fP
+\f2\-identitydb\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#identitydbCmd
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#selfcertCmd
-¤Î
.na
-\f2\-selfcert\fP
+\f2\-selfcert\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#selfcertCmd
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/native2ascii.1 b/jdk/src/linux/doc/man/ja/native2ascii.1
index f8c69dd..fbb3af8 100644
--- a/jdk/src/linux/doc/man/ja/native2ascii.1
+++ b/jdk/src/linux/doc/man/ja/native2ascii.1
@@ -1,103 +1,83 @@
-'\" t
-.\"
-.\" Copyright 2000-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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH native2ascii 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-native2ascii \- ¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤«¤é ASCII ¤Ø¤ÎÊÑ´¹
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B native2ascii
-[
-.B options
-]
-.if n .ti +5n
-[
-.IR inputfile " [" outputfile "]]"
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "native to ASCII converter" "" "native to ASCII converter \(em \fLnative2ascii\fP"
-.IX "native2ascii" "" "\fLnative2ascii\fP \(em native to ASCII converter"
-Java ¥³¥ó¥Ñ¥¤¥é¤Ê¤É¤Î
-Java
-¥Ä¡¼¥ë¤¬½èÍý¤Ç¤¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢
-Latin-1
-ʸ»ú¤â¤·¤¯¤Ï\^
-Unicode
-¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Ê¸»ú
-(\\udddd)
-¤«¤é¤Ê¤ë¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£
-.B native2ascii
-¤Ï¡¢Â¾¤Îʸ»ú¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë¤ò
-Latin-1
-¤Þ¤¿¤Ï
-Unicode
-¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£
-.LP
-.I outputfile
-°ú¿ô¤ò¾Êά¤¹¤ë¤È¡¢½ÐÎÏÀè¤Ïɸ½à½ÐÎϤȤʤê¤Þ¤¹¡£
-¤Þ¤¿¡¢
-.I inputfile
-°ú¿ô¤ò¾Êά¤¹¤ë¤È¡¢ÆþÎϸµ¤Ïɸ½àÆþÎϤȤʤê¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ¤Þ¤¹¡£
-.TP 5
-.B \-encoding \f2encoding_name\f1
-ÊÑ´¹½èÍý¤ÇÍѤ¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤Ï¡¢¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Î
-\f3file.encoding\f1
-¤«¤éÆÀ¤é¤ì¤Þ¤¹¡£
-.I encoding_name
-ʸ»úÎó¤Ï¡¢¥É¥¥å¥á¥ó¥È¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡×¤Î¡¢
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îɽ¤ÇºÇ½é¤ÎÎó¤Ë¤¢¤ëʸ»úÎó¤Î 1 ¤Ä¤Ç¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
-.br
-http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html
-.\" http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html
-.TP 5
-.B \-reverse
-µÕ¤ÎÊÑ´¹½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê
-Latin-1
-¤Þ¤¿¤Ï
-Unicode
-¤Ç¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤µ¤ì¤Æ¤¤¤ëʸ»ú¤ò¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à java(1) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.B \-J
-¤¬´ðËܤȤʤ벾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH native2ascii 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.LP
+.SH "名前"
+native2ascii \- ネイティブ \- ASCII コンバータ
+.LP
+.RS 3
+
+.LP
+.LP
+ネイティブコード (Latin 1 および Unicode 以外) のファイルを Unicode コードに変換します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP
+.fl
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+Java コンパイラおよびその他の Java ツールは、Latin\-1 または Unicode コード (\\udddd 表記) 文字を含んだファイルだけを処理することができます。 \f2native2ascii\fP は、これら以外の文字コードのファイルを Latin\-1 または Unicode コードのファイルに変換します。
+.LP
+.LP
+\f2outputfile\fP を省略した場合、標準出力に出力されます。さらに、\f2inputfile\fP を省略した場合、標準入力から入力されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-reverse
+逆の処理を行います。つまり、Latin\-1 または Unicode コードのファイルをネイティブコードに変換します。
+.br
+.br
+.TP 3
+\-encoding encoding_name
+変換処理で使用するコードの名前を指定します。デフォルトのコードは、システムプロパティーの \f2file.encoding\fP から取得されます。\f2encoding_name\fP 文字列は、
+.na
+\f4「サポートされているエンコーディング」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlドキュメントに示されている、サポートされるエンコーディングの表の最初の列から取得される必要があります。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+
+.LP
+
diff --git a/jdk/src/linux/doc/man/ja/orbd.1 b/jdk/src/linux/doc/man/ja/orbd.1
index b248ff9..e85809b 100644
--- a/jdk/src/linux/doc/man/ja/orbd.1
+++ b/jdk/src/linux/doc/man/ja/orbd.1
@@ -1,42 +1,46 @@
-'\" t
-.\"
-.\" Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH orbd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-orbd - Object Request Broker ¥Ç¡¼¥â¥ó
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH orbd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B orbd
-¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ CORBA ´Ä¶Æâ¤Î¥µ¡¼¥Ð¡¼¾å¤Ë¸ºß¤¹¤ë
-»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤ËÆÃÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£
+.SH "名前"
+orbd \- The Object Request Broker Daemon
.LP
-\f3´ØÏ¢¹àÌÜ:\fP
+.RS 3
+
+.LP
+.LP
+\f3orbd\fP は、クライアントから CORBA 環境のサーバーにある持続オブジェクトを透過的に検索して呼び出すために使用します。
+.LP
+.LP
+\f3関連項目:\fP
.na
-\f2¡ÖNaming Service¡×\fP
+\f2ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html)
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.LP
-.SH "·Á¼°"
+.RE
+.SH "形式"
.LP
.LP
@@ -49,86 +53,118 @@
.fi
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-\f3orbd\fP ¥Ä¡¼¥ë¤ò´Þ¤à¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ CORBA ´Ä¶Æâ¤Î¥µ¡¼¥Ð¡¼¾å¤Ë¸ºß¤¹¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤ËÆÃÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£»ý³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Î»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ë°ìÊý¤Ç¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾ÈÆâ¤Ë¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤Ï¤Ê¤¯ ORBD ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤òÁȤ߹þ¤ß¤Þ¤¹¡£»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¤¿¤á¤Ë¥ª¥Ö¥¸¥§¥¯¥È»²¾ÈÆâ¤Ë ORBD ¥Ý¡¼¥ÈÈÖ¹æ¤òÁȤ߹þ¤à¤È¡¢°Ê²¼¤ÎÍøÅÀ¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3orbd\fP ツールに含まれるサーバーマネージャーを使うと、クライアントは CORBA 環境でサーバー上にある持続オブジェクトを透過的に検索して呼び出すことができます。持続サーバーは、ネームサービスに持続オブジェクト参照を発行する際、サーバーのポート番号の代わりに OBRD のポート番号をオブジェクト参照に含めます。持続オブジェクト参照のオブジェクト参照に ORBD ポート番号を含めることには、次のような利点があります。
.LP
.RS 3
.TP 2
-*
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤È¤Ï̵´Ø·¸¤Ë°Ý»ý¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¥µ¡¼¥Ð¡¼¤ÎºÇ½é¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Ç¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æȯ¹Ô¤µ¤ì¡¢¤½¤Î¸å¤Ï²¿ÅÙ¥µ¡¼¥Ð¡¼¤Îµ¯Æ°¤Þ¤¿¤ÏÄä»ß¤¬¹Ô¤ï¤ì¤Æ¤â ORBD ¤Ï¾ï¤Ë¸Æ¤Ó½Ð¤·Â¦¤Î¥¯¥é¥¤¥¢¥ó¥È¤ËÀµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£
+o
+ネームサービスにあるオブジェクト参照が、サーバーのライフタイムと無関係になる。オブジェクト参照は、始めてインストールされたときはネームサービスのサーバーによりネームサービスに発行されますが、その後は、サーバーの開始またはシャットダウンの回数にかかわらず、ORBD がいつでも呼び出したクライアントに正しいオブジェクト参照を返します。
.TP 2
-*
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Ç¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò 1 ÅÙ³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤¬¸¶°ø¤Çµ¯¤¤ëÊѹ¹¤Ë´Ø·¸¤Ê¤¯¤³¤Î»²¾È¤ò·«¤êÊÖ¤·»ÈÍѤǤ¤Þ¤¹¡£
+o
+クライアントは一度だけネーミングサービスのオブジェクト参照をルックアップする必要があるが、その後はサーバーのライフタイムによる変更とは無関係にこの参照を利用することができる
.RE
.LP
.LP
-ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã\fP¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥É¥¥å¥á¥ó¥È¤Î¡Ö¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ORBD のサーバーマネージャーにアクセスするには、servertool(1) を使用してサーバーを起動する必要があります。 servertool は、アプリケーションプログラマが、持続サーバーの登録、登録解除、起動、およびシャットダウンを行うためのコマンド行インタフェースです。サーバーマネージャーの詳細については、このドキュメントの\f2「サーバーマネージャー」\fPを参照してください。
.LP
.LP
-\f2orbd\fP ¤Îµ¯Æ°»þ¤Ë¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+\f2orbd\fP を起動すると、ネームサービスも起動されます。ネームサービスについては、
.na
-¡Ö\f2Naming Service\fP¡×
+\f2「ネームサービス」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlを参照してください。
.LP
-.SH ɬ¿Ü¥ª¥×¥·¥ç¥ó
+.SH "オプション"
+.LP
+.SS
+必須オプション
+.LP
+.RS 3
+.TP 3
+\-ORBInitialPort nameserverport
+ネームサーバーを起動するポートの番号を指定します。\f2orbd\fP は、起動されると、このポート上で着信要求を待機します。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。 (必須)
+.RE
+
+.LP
.LP
.LP
+.SS
+その他のオプション
+.LP
+.RS 3
.TP 3
-\-ORBInitialPort nameserverport
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¸å¤Ë \f2orbd\fP ¤Ï¤³¤Î¥Ý¡¼¥È¤ÇÃå¿®Í×µá¤òÂÔµ¡¤·¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£ (ɬ¿Ü)
-.LP
-.SH ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó
-.LP
+\-port port
+ORBD を起動するポートを指定します。 ORBD は、このポートで、持続オブジェクトに対する要求を受け取ります。このポートのデフォルト値は 1049 です。 このポート番号は持続 Interoperable Object References (IOR) のポートフィールドに追加されます。(省略可)
+.RE
.LP
+.RS 3
.TP 3
-\-port port
-ORBD ¤ò³«»Ï¤¹¤ëµ¯Æ°¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£ORBD ¤Ï¤³¤Î¥Ý¡¼¥È¤Ç¡¢»ý³¥ª¥Ö¥¸¥§¥¯¥È¤ÎÍ×µá¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1049 ¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ï¡¢»ý³ Interoperable Object References (IOR) ¤Î¥Ý¡¼¥È¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£(¾Êά²Äǽ)
+\-defaultdb directory
+ORBD 持続格納ディレクトリ \f2orb.db\fP が作成されるベースディレクトリを指定します。このオプションが指定されていない場合、デフォルト値は「./orb.db」となります。(省略可)
+.RE
+
+.LP
+.RS 3
.TP 3
-\-defaultdb directory
-ORBD »ý³¥¹¥È¥ì¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë \f2orb.db\fP ¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï "./orb.db" ¤Ç¤¹¡£(¾Êά²Äǽ)
-.TP 3
-\-serverPollingTime milliseconds
-\f2servertool\fP ·Ðͳ¤ÇÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤Î·òÁ´À¤ò ORBD ¤¬¸¡ºº¤¹¤ëÉÑÅÙ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉà (1 ÉÃ) ¤Ç¤¹¡£\f2milliseconds\fP ¤Ë»ØÄꤵ¤ì¤ëÃͤϡ¢Í¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¾Êά²Äǽ)¡£
+\-serverPollingTime milliseconds
+\f2servertool\fP を使用して登録された持続サーバーが正常に動作していることを ORBD が確認する回数を指定します。デフォルト値は 1,000 ミリ秒です。 「ミリ秒」の指定値は有効な整数値である必要があります。(省略可)
+.RE
+
+.LP
+.RS 3
.TP 3
\-serverStartupDelay milliseconds
-\f2servertool\fP ·Ðͳ¤ÇÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤¬ºÆµ¯Æ°¤µ¤ì¤Æ¤«¤é ORBD ¤¬¥í¥±¡¼¥·¥ç¥óžÁ÷Îã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î¡¢ORBD ¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉà (1 ÉÃ) ¤Ç¤¹¡£\f2milliseconds\fP ¤Ë»ØÄꤵ¤ì¤ëÃͤϡ¢Í¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¾Êά²Äǽ)¡£
-.TP 3
-\-Joption
-\f2option\fP ¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2option\fP ¤Ï¡¢¡Ö\f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£\f3\-J\fP ¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.LP
-.SH ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß
-.LP
-.LP
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Ì¾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¡Ö\f2CORBA objects\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object) ¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë CORBA ¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¡Ö\f2name binding\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding) ¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ËÊݸ¤Ç¤¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï̾Á°¤ò»ØÄꤷ¤Æ¡¢ÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤¤Þ¤¹¡£
-.LP
-.LP
-¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ORBD ¤ò³«»Ï¤·¤Þ¤¹¡£ORBD ¤Ë¤Ï¡¢»ý³¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤È°ì»þ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÏξÊý¤È¤â COS ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£
-.LP
-.RS 3
-.TP 2
-*
-\f4»ý³\fP\f3¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹\fP¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ë»ý³À¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤Èµ¯Æ°¤Î´Ö¤Ç»ý³¤·¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë²óÉü²Äǽ¤Ç¤¹¡£ORBD ¤¬ºÆµ¯Æ°¤µ¤ì¤ë¤È¡¢»ý³¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¥°¥é¥Õ¤òÉü¸µ¤¹¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï»½ý¤ò¼õ¤±¤Þ¤»¤ó (»ý³¤¹¤ë)¡£
-.TP 2
-*
-°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹À¤Î¤¿¤á¡¢\f2tnameserv\fP (°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î JDK ¤È°ì½ï¤Ë½Ð²Ù¤µ¤ì¤¿\f4°ì»þ\fP\f3¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹\fP) ¤â¤³¤Î¥ê¥ê¡¼¥¹¤Î J2SE ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¸Â¤ê¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ÏÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤¿¾ì¹ç¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¥°¥é¥Õ¤Ï¼º¤ï¤ì¤Þ¤¹¡£
+\f2servertool\fP を使用して登録された持続サーバーを再起動してから、位置転送の例外を送信するまでの ORBD の待機時間を指定します。デフォルト値は 1,000 ミリ秒です。 「ミリ秒」の指定値は有効な整数値である必要があります。(省略可)
.RE
.LP
+.RS 3
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.TP 3
+
+.RE
+
.LP
-\f2\-ORBInitialPort\fP °ú¿ô¤Ï¡¢\f2orbd\fP ¤Ëɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤ÎÀßÄê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£°Ê²¼¤ÎÀâÌÀ¤Ï¡¢Java\ IDL Object Request Broker Daemon ¤Ë¥Ý¡¼¥È 1050 ¤ò»ÈÍѤǤ¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£É¬Íפʾì¹ç¤Ï¡¢Ê̤Υݡ¼¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+.SH "ネームサービスの起動と停止"
.LP
.LP
-UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤é \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+ネームサービスは、
+.na
+\f2CORBA オブジェクト\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20objectにネーミングを可能にする CORBA サービスです。 ネーミングは名前をオブジェクト参照にバインドすることにより可能になります。
+.na
+\f2「ネームバインディング」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20bindingはネームサービスに格納され、クライアントは名前を与えて目的のオブジェクト参照を取得できます。
+.LP
+.LP
+ORBD は、クライアントまたはサーバーを実行する前に起動します。ORBD には、持続ネームサービスおよび一時ネームサービスが組み込まれています。 これらはどちらも COS ネームサービスの実装です。
+.LP
+.LP
+\f3「持続」ネームサービス\fPは、ネーミングコンテキストに対して持続性を提供します。つまり、この情報は、サービスの停止や起動後にも維持され、サービスに障害が発生した場合でも回復できます。ORBD を再起動すると、持続ネームサービスはネーミングコンテキストのグラフを復元し、すべてのクライアントとサーバーの名前のバインディングが保持されます。
+.LP
+.LP
+\
+.LP
+.LP
+下位互換性のため、旧バージョンの JDK に同梱されていた\f3一時ネームサービス\fPが、今回のリリースの J2SE にも同梱されています。一時ネームサービスでは、ネームサービスの実行中にのみネーミングコンテキストが保持されます。サービスが中断されると、ネーミングコンテキストは失われます。
+.LP
+.LP
+\f2\-ORBInitialPort\fP 引数は、\f2orbd\fP の必須のコマンド行引数で、ネームサービスが実行されるポートの番号を設定するために使われます。以下の説明では、Java\ IDL Object Request Broker Daemon 用にポート 1050 を使用できることを前提としています。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.LP
+UNIX コマンドシェルで \f2orbd\fP を起動するには、次のように入力します。
.LP
.nf
\f3
@@ -140,7 +176,7 @@
.LP
.LP
-MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È (Windows) ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
.LP
.nf
\f3
@@ -152,7 +188,7 @@
.LP
.LP
-ORBD ¤Î¼Â¹Ô¸å¤Ë¡¢¥µ¡¼¥Ð¡¼¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈÈÖ¹æ (¤ª¤è¤Ó³ºÅö¤¹¤ë¾ì¹ç¤Ï¡¢¥Þ¥·¥ó̾) ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ëǧ¼±¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ëÊýË¡¤Î 1 ¤Ä¤È¤·¤Æ¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
+これで ORBD が実行され、サーバーとクライアントのアプリケーションを実行できるようになります。クライアントとサーバーのアプリケーションは、実行時に、ネームサービスが実行されているポートの番号 (必要な場合はさらにマシン名) を認識している必要があります。これを実現する 1 つの方法は、次のコードをアプリケーションに追加することです。
.LP
.nf
\f3
@@ -170,7 +206,7 @@
.LP
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Ï¥Û¥¹¥È¡ÖMyHost¡×¤Î¥Ý¡¼¥È 1050 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¡ÖHelloApplication¡×¤ò¼¡¤Î¥³¥Þ¥ó¥É¹Ô¤Çµ¯Æ°¤·¤Þ¤¹¡£
+この例では、ネームサービスは、ホスト MyHost のポート 1050 上で実行されます。別の方法として、コマンド行からサーバーまたはクライアントのアプリケーションを実行するときに、ポート番号またはマシン名あるいはその両方を指定する方法もあります。たとえば、次のコマンド行オプションを使用して、「HelloApplication」を起動できます。
.LP
.nf
\f3
@@ -182,31 +218,39 @@
.LP
.LP
-¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢³ºÅö¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹ (Solaris ¤Ç¤Î \f2pkill orbd\fP¡¢¤Þ¤¿¤Ï \f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë DOS ¥¦¥£¥ó¥É¥¦¤Ç¤Î \f2Ctrl+C\fP ¤Ê¤É)¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤¹¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤¬¾Ã¼º¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£Java IDL ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ÏÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
+ネームサービスを停止するには、適切なオペレーティングシステムコマンドを使用します。 たとえば、Solaris では \f2pkill orbd\fP を使用し、\f2orbd\fP が実行されている DOS ウィンドウでは \f2Ctrl+C\fP キーを使用します。一時ネームサービスの場合は、サービスが終了されると、ネームサービスに登録された名前が消去される場合があります。Java IDL ネームサービスは、明示的に停止されるまで実行されます。
.LP
-ORBD ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\f2Naming Service\fP¡×
+.LP
+ORDB に含まれるネームサービスの詳細については、
+.na
+\f2「ネームサービス」\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlを参照してください。
.LP
-.SH ¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã
+.SH "サーバーマネージャー"
.LP
.LP
-ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤·¤Æ»ý³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¡¢\f2orbd\fP ¤ÈƱ¤¸¥Û¥¹¥È¤ª¤è¤Ó¥Ý¡¼¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤µ¤ì¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¥³¥ó¥Æ¥¥¹¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤ÏÀµ¾ï¤Ëµ¡Ç½¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
+ORBD のサーバーマネージャーにアクセスして持続サーバーを実行するには、servertool(1) を使用してサーバーを起動する必要があります。 servertool は、アプリケーションプログラマが、持続サーバーの登録、登録解除、起動、およびシャットダウンを行うためのコマンド行インタフェースです。servertool を使用してサーバーを起動する場合は、\f2orbd\fP が実行されている場所と同じポートとホストで起動する必要があります。サーバーを異なるポートで実行すると、ローカルコンテキスト用にデータベースに保存されている情報が無効になり、サービスが正しく動作しません。
.LP
-.SS
-¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã: Îã
+.SS
+サーバーマネージャー:例
.LP
.LP
-¥Ç¥âÍѤΥµ¥ó¥×¥ë¥Á¥å¡¼¥È¥ê¥¢¥ë
+デモ用の
+.na
+\f2サンプルチュートリアル\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html) ¤ò»È¤Ã¤Æ¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤È \f2javac\fP ¥³¥ó¥Ñ¥¤¥é¤ò¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.htmlを使用し、チュートリアルの手順に従って、\f2idlj\fP コンパイラと \f2javac\fP コンパイラを実行します。サーバーマネージャーを実行するには、次の手順に従ってアプリケーションを実行します。
.LP
-.RS 3
-.TP 3
-1.
-orbd ¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-\f2orbd\fP ¤ò UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+\f2orbd\fP を起動します。
+.LP
+.LP
+UNIX コマンドシェルで \f2orbd\fP を起動するには、次のように入力します。
+.LP
+.LP
+\
+.LP
.nf
\f3
.fl
@@ -214,8 +258,11 @@
.fl
\fP
.fi
+
.LP
-MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È (Windows) ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+.LP
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
+.LP
.nf
\f3
.fl
@@ -223,13 +270,17 @@
.fl
\fP
.fi
+
.LP
-\f21050\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\f2\-ORBInitialPort\fP ¤Ïɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥ë¡¼¥È¤«¤é 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£
-.TP 3
-2.
-\f2servertool\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+\f21050\fP はネームサーバーを実行するポートです。\f2\-ORBInitialPort\fP は必要なコマンド行の引数です。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.LP
+\f2servertool\fP を起動します。
+.LP
+.LP
+Hello サーバーを起動するには、次のように入力します。
+.LP
.nf
\f3
.fl
@@ -237,26 +288,43 @@
.fl
\fP
.fi
+
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤¬Á°¤Î¼ê½ç¤Ç»ÈÍѤ·¤¿¥Ý¡¼¥È (¤¿¤È¤¨¤Ð¡¢\f2\-ORBInitialPort 1050\fP) ¤ÈƱ¤¸¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£\f2servertool\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-\f2servertool\fP ¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP 3
-3.
-Hello ¥µ¡¼¥Ð¡¼¤ò \f2servertool\fP ¥×¥í¥ó¥×¥È¤«¤éµ¯Æ°¤·¤Þ¤¹¡£
+前回の手順と同様にネームサーバー (\f2orbd\fP) のポートを指定します。 たとえば \f2\-ORBInitialPort 1050\fP のようになります。\f2servertool\fP は、ネームサーバーと同じポート上で起動する必要があります。
+.LP
+.LP
+\f2servertool\fP コマンド行インタフェースが表示されます。
+.LP
+.LP
+
+.LP
+.LP
+\f2servertool\fP プロンプトから Hello サーバーを起動します。
+.LP
.nf
\f3
.fl
- servertool > register \-server HelloServer \-classpath .
- \-applicationName HelloServerApName
+ servertool > register \-server HelloServer \-classpath . \-applicationName
+.fl
+ HelloServerApName
.fl
\fP
.fi
+
.LP
-\f2servertool\fP ¤Ï¡¢¤³¤Î¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¡¢¤½¤ì¤Ë¡ÖHelloServerApName¡×¤È¤¤¤¦Ì¾Á°¤ò³ä¤êÅö¤Æ¡¢¤½¤Î¥µ¡¼¥Ð¡¼ ID ¤ÈÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-4.
-¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÊ̤Υ¿¡¼¥ß¥Ê¥ë¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¼Â¹Ô¤·¤Þ¤¹¡£
+.LP
+\f2servertool\fP によってサーバーが登録されて、「HelloServerApName」という名前がサーバーに割り当てられ、サーバー ID が表示されます。
+.LP
+.LP
+
+.LP
+.LP
+別の端末ウィンドウまたはプロンプトからクライアントアプリケーションを実行します。
+.LP
+.LP
+\
+.LP
.nf
\f3
.fl
@@ -264,32 +332,42 @@
.fl
\fP
.fi
-.LP
-¤³¤ÎÎã¤Î¾ì¹ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï Hello ¥¯¥é¥¤¥¢¥ó¥È¤ÈƱ¤¸¥Û¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢\f2\-ORBInitialHost localhost\fP ¤ò¾Ê¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2\-ORBInitialHost\fP \f2nameserverhost\fP ¤ò»ÈÍѤ·¤Æ IDL ¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-Á°¤Î¼ê½ç¤ÈƱÍͤˡ¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È (¤¿¤È¤¨¤Ð¡¢\f2\-ORBInitialPort 1050\fP) ¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-5.
-¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¼Â¸³¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤È \f2servertool\fP ¤òɬ¤ºÄä»ß (½ªÎ») ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2orbd\fP ¤ò DOS ¥×¥í¥ó¥×¥È¤«¤éÄä»ß¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¡¢\f2Ctrl+C\fP ¤ò²¡¤·¤ÆÄä»ß¤·¤Þ¤¹¡£\f2orbd\fP ¤ò UNIX ¥·¥§¥ë¤«¤éÄä»ß¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡º÷¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Çµ¯Æ°¤ò°ú¤Â³¤ÂÔµ¡¤·¤Þ¤¹¡£
-.LP
-\f2servertool\fP ¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢\f2quit\fP ¤ÈÆþÎϤ·¡¢¥¡¼¥Ü¡¼¥É¤Î \f2Enter\fP ¥¡¼¤ò²¡¤·¤Þ¤¹¡£
-.RE
.LP
-.SH ´ØÏ¢¹àÌÜ
+.LP
+この例の \f2\-ORBInitialHost localhost\fP は省略することができます。 ネームサーバーが Hello クライアントとして同一ホスト上で動作しているからです。ネームサーバーが別のホストで動作している場合は、IDL ネームサーバーが動作しているホストを \f2\-ORBInitialHost\fP \f2nameserverhost\fP で指定します。
+.LP
+.LP
+前回の手順と同様にネームサーバー (\f2orbd\fP) のポートを指定します。 たとえば \f2\-ORBInitialPort 1050\fP のようになります。
+.LP
+.LP
+\
+.LP
+.LP
+\
+.LP
+.LP
+サーバーマネージャーの操作が終了したら、ネームサーバー (\f2orbd\fP) と \f2servertool\fP を停止するか終了してください。
+.LP
+.LP
+DOS プロンプトで \f2orbd\fP をシャットダウンするには、サーバーを実行しているウィンドウを選択して \f2Ctrl+C\fP と入力します。UNIX シェルで \f2orbd\fP をシャットダウンするには、プロセスを検出して終了 (kill) します。サーバーを明示的に停止するまでは、呼び出し待機状態が続きます。
+.LP
+.LP
+\f2servertool\fP をシャットダウンするには、\f2quit\fP と入力し、キーボードの \f2Enter\fP キーを押します。
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-¡Ö\f2Naming Service\fP¡×
+o
+.na
+\f2ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html)
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.br
.TP 2
-*
-servertool
+o
+servertool(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/pack200.1 b/jdk/src/linux/doc/man/ja/pack200.1
index ab5bd17..69d71f0 100644
--- a/jdk/src/linux/doc/man/ja/pack200.1
+++ b/jdk/src/linux/doc/man/ja/pack200.1
@@ -1,92 +1,121 @@
-'\t" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH pack200 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë
-.SH ·Á¼°
-.B pack200
-[
-.I options
-]
-.I output\-file
-.I JAR\-file
-.SH
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Þ¤¿¤Ï properties ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH pack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+pack200 \- JAR パックツール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+終了ステータス
+.TP 2
+o
+関連項目
+.TP 2
+o
+説明
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.LP
+\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP
+.LP
+.LP
+オプションの指定順序に決まりはありません。コマンド行または properties ファイルに指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。
.LP
.RS 3
-.JP
+.LP
+.RS 3
.TP 3
options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
+コマンド行オプション。
.TP 3
-output\-file
-½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£
+output\-file
+出力ファイルの名前。
.TP 3
-JAR\-file
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£
+JAR\-file
+入力ファイルの名前。
+.RE
+
.LP
.RE
-.SH µ¡Ç½ÀâÌÀ
+.SH " 説明"
.LP
.LP
.LP
-\f2pack200\fP ¥Ä¡¼¥ë¤Ï¡¢Java \f2gzip\fP °µ½Ì¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì \f2pack200\fP ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£\f2pack200\fP ¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤äľÀÜÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
+\f2pack200\fP ツールは、Java \f2gzip\fP 圧縮プログラムを使用して、JAR ファイルを \f2pack200\fP 圧縮ファイルに変換する Java アプリケーションです。\f2pack200\fP ファイルは高圧縮のファイルで、帯域幅の節約やダウンロード時間の短縮や直接配備することができます。
.LP
-\f2pack200\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP
-°ìÈÌŪ¤Ê»ÈÍÑÊýË¡:
.LP
-.ft 3
-.nf
+\f2pack200\fP ツールには、圧縮エンジンの設定や微調整を行うオプションが用意されています。
+.LP
+.SS
+一般的な使用方法:
+.LP
+.RS 3
+
+.LP
+.LP
\f2% pack200 myarchive.pack.gz myarchive.jar\fP
-.fi
-.ft 1
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f2pack200\fP ÀßÄê¤Ç¡¢\f2myarchive.pack.gz\fP ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+.RE
.LP
-.SH ¥ª¥×¥·¥ç¥ó
+この例では、デフォルトの \f2pack200\fP 設定で、\f2myarchive.pack.gz\fP が作成されます。
+.LP
+.SH "オプション"
.LP
.LP
-.LP
+.LP
\f4\-r \-\-repack\fP
.LP
.RS 3
.LP
.LP
-\f2myarchive.jar\fP ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥¯¤Þ¤¿¤Ï¥¢¥ó¥Ñ¥Ã¥¯¤Ë¤è¤ê¡¢JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¡¢\f2jarsigner(1)\fP ¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£
+\f2myarchive.jar\fP ファイルをパックした後にアンパックすることにより、JAR ファイルを生成します。生成されたファイルは、\f2jarsigner(1)\fP ツールの入力ファイルとして使用できます。
.LP
.RS 3
.LP
.LP
-\f2% pack200 \-\-repack myarchive\-packed.jar myarchive.jar\fP
+\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP
.LP
.LP
\f2% pack200 \-\-repack myarchive.jar\fP
@@ -100,7 +129,7 @@
.LP
.LP
-\f2pack200\fP ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2pack200\fP ファイルを生成します。このオプションを指定するときは、適切な圧縮ツールを使用する必要があります。 また、ターゲットシステムでは、対応する圧縮解除ツールを使用する必要があります。
.LP
.RS 3
@@ -111,13 +140,13 @@
.RE
.RE
.LP
-\f4\-G \-\-strip-debug\fP
+\f4\-G \-\-strip\-debug\fP
.LP
.RS 3
.LP
.LP
-½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°ÍѤΰÀ¤òºï½ü¤·¤Þ¤¹¡£ÂоݤȤʤë°À¤Ë¤Ï¡¢\f2SourceFile\fP¡¢\f2LineNumberTable\fP¡¢\f2LocalVariableTable\fP¡¢¤ª¤è¤Ó \f2LocalVariableTypeTable\fP ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î°À¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£
+出力からデバッグ用の属性を削除します。対象となる属性には、\f2SourceFile\fP、\f2LineNumberTable\fP、\f2LocalVariableTable\fP、および \f2LocalVariableTypeTable\fP などがあります。これらの属性を削除すれば、ダウンロードとインストールのサイズは小さくなりますが、デバッガの機能は制限されます。
.LP
.RE
.LP
@@ -127,7 +156,7 @@
.LP
.LP
-¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂؤ¨¤ÆžÁ÷¤·¤Þ¤¹¡£¤Þ¤¿¡¢JAR ¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤Ï¤¸¤á¤È¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤ÏÀµ¾ï¤ËÆ°ºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+パックツールは、すべての要素を並べ替えて転送します。また、JAR ディレクトリ名を削除します。このため、ダウンロードのサイズは小さくなりますが、インデックスをはじめとする JAR ファイルの最適化機能は正常に動作しなくなることがあります。
.LP
.RE
.LP
@@ -137,16 +166,18 @@
.LP
.LP
-³Æ¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤Îͽ¬¥¿¡¼¥²¥Ã¥È¥µ¥¤¥º N (¥Ð¥¤¥È) ¤ò»ØÄꤷ¤Þ¤¹¡£N ¥Ð¥¤¥È°Ê¾å¤òɬÍפȤ¹¤ëñ°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ÆÈΩ¤·¤¿¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤ì¤ÏÆüì¤ÊÎã¤Ç¤¹¤¬¡¢Ãͤ¬ \f2-1\fP ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àñ°ì¤ÎµðÂç¤Ê¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£°ìÊý¡¢Ãͤ¬ \f20\fP ¤Î¾ì¹ç¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬ 1 ¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤¬Â礤±¤ì¤ÐÂ礤¤¤Û¤ÉÃÇÊÒ²½¤Ïµ¯¤³¤ê¤Ë¤¯¤¯¡¢°µ½ÌΨ¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤¦¤·¤¿¥»¥°¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ÂçÎ̤Υá¥â¥ê¤¬É¬Íפˤʤê¤Þ¤¹¡£
+この値は、各アーカイブセグメントの予想ターゲットサイズ N (バイト単位) です。N バイト以上を必要とする単一の入力ファイルには、
+.br
+独立したアーカイブセグメントが割り当てられます。たとえば、これは特殊な例ですが、値が \f2\-1\fP の場合、すべての入力ファイルを含む単一の巨大なセグメントが生成されます。 一方、値が \f20\fP の場合、クラスごとにセグメントが 1 つずつ生成されます。アーカイブセグメントのサイズが大きければ大きいほど断片化は起こりにくく、圧縮率も高くなります。しかし、こうしたセグメントを処理するためには、大量のメモリーが必要になります。
.LP
.LP
-³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥ÈÆâ¤ÇžÁ÷¤µ¤ì¤ëÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤È¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¤½¤Î¾¤ÎžÁ÷¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æͽ¬¤µ¤ì¤Þ¤¹¡£
+各セグメントのサイズは、セグメント内で転送される入力ファイルのサイズと、このファイルの名前のサイズ、およびその他の転送プロパティーによって予測されます。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï \f21000000\fP (É´Ëü¥Ð¥¤¥È) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢É¸½à¥µ¥¤¥º¤ÎÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤òñ°ì¥»¥°¥á¥ó¥ÈÆâ¤ÇžÁ÷¤Ç¤¤ë¥µ¥¤¥º¤Ç¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ª¤è¤Ó¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Î¥á¥â¥êÍ×·ï¤Ë¤ÏÀ©¸Â¤¬²Ý¤µ¤ì¤Þ¤¹¡£
+デフォルトのサイズは \f21000000\fP (100 万バイト) です。これは、標準サイズの入力 JAR ファイルを単一セグメント内で転送できるサイズです。パックツールおよびアンパックツールのメモリー要件には制限が課されます。
.LP
.LP
-¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤ 10M ¥Ð¥¤¥È¤Î JAR ¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ÏÄ̾¸µ¤Î 10% ÄøÅ٤Υµ¥¤¥º¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ç¤è¤êÂç¤¤Ê Java ¥Ò¡¼¥× (¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó 10 ÇÜ) ¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
+この制限が課されていない 10M バイトの JAR パックファイルは通常、元の 10% 程度のサイズにパックされます。 しかし、パックツールでより大きな Java ヒープ (セグメントの制限の約 10 倍) を必要とする場合もあります。
.LP
.RE
.LP
@@ -156,11 +187,10 @@
.LP
.LP
-ñ°ì¤Î 10 ¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë \f21\fP ¤Î¾ì¹ç¡¢°µ½Ì®Å٤Ϯ¤¯¤Æ¤â°µ½ÌΨ¤Ï¤½¤ì¤Û¤É¹â¤¯¤¢¤ê¤Þ¤»¤ó¡£¥ì¥Ù¥ë \f29\fP ¤Î¾ì¹ç¡¢°µ½Ì®ÅÙ¤ÏÃÙ¤¯¤Æ¤â°µ½ÌΨ¤Ï¹â¤¯¤Ê¤ê¤Þ¤¹¡£
-Æüì¤ÊÃÍ \f20\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸µ¤Î JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200 ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¤³¤ÎÆüì¤Ê½èÍý¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È¤·¤ÆÍý²ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+単一の 10 進数値を指定した場合、パックツールは、指定された圧縮率でアーカイブを圧縮します。レベル \f21\fP の場合、圧縮速度は速くても圧縮率はそれほど高くありません。 レベル \f29\fP の場合、圧縮速度は遅くても圧縮率は高くなります。特殊な値 \f20\fP を指定した場合は、元の JAR ファイルを圧縮なしで直接コピーします。JSR 200 標準では、すべてのアンパックツールはこの特殊な処理をアーカイブ全体のパススルーとして理解する必要があります。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï \f25\fP ¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤Ç¡¢Å¬Å٤ʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+デフォルト値は \f25\fP です。 この場合、標準的な時間で、適度な圧縮が行われます。
.LP
.RE
.LP
@@ -170,33 +200,43 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥ÈÃͤò¾å½ñ¤¤·¡¢ÆþÎϾðÊó¤òÊݸ¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礤¯¤Ê¤ê¤Þ¤¹¡£²Äǽ¤ÊÃÍ:
+デフォルト値を上書きし、入力情報を保持します。 転送されるアーカイブのサイズは大きくなります。可能な値:
.LP
+.RS 3
.TP 3
-true
+true
.TP 3
-false
-¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ÏžÁ÷¤·¤Þ¤»¤ó¡£
+false
+どちらの場合でも、パックツールはデフレーションヒントを出力アーカイブに設定します。 アーカイブ要素の個々のデフレーションヒントは転送しません。
+.RE
+
.LP
+.RS 3
.TP 3
-keep
-ÆþÎÏ JAR Æâ¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤òÊݸ¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£
-.in
-.TP
+keep
+入力 JAR 内のデフレーションヒントを保持します (デフォルト)。
+.RE
+
+.LP
+.RE
+.LP
\f4\-mvalue \-\-modification\-time=\fP\f2value\fP
.LP
.RS 3
.LP
.LP
-²Äǽ¤ÊÃÍ:
+可能な値:
.LP
+.RS 3
.TP 3
-latest
-¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤ÎÁ´¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆžÁ÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+latest
+パックツールは、元のアーカイブの全エントリの最終更新時刻か、そのセグメントのすべてのエントリの最終更新時刻を特定しようとします。この単一の値はセグメントの一部として転送され、各セグメントの全エントリに適用されます。この場合、すべてのインストールファイルに単一の日付が設定されるという問題はありますが、アーカイブの転送サイズを少し小さくすることができます。
.TP 3
-keep
-ÆþÎÏ JAR Æâ¤Î¹¹¿·»þ¹ï¤òÊݸ¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£
+keep
+入力 JAR 内の更新時刻を保持します (デフォルト)。
+.RE
+
.LP
.RE
.LP
@@ -206,7 +246,7 @@
.LP
.LP
-¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤Î¶èÀÚ¤êʸ»ú¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î¶èÀÚ¤êʸ»ú "\f2/\fP" ¤ÇÃÖ¤´¹¤¨¤é¤ì¤ë¤À¤±¤Ç¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Îʸ»úÎó¤È´°Á´¤Ë°ìÃפ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£file ¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£
+ファイルを圧縮せず、バイト単位で転送するように指定します。このオプションを繰り返し使用して、複数のファイルを指定できます。パス名の変換は行われません。 システムファイルの区切り文字が JAR ファイルの区切り文字「\f2/\fP」で置き換えられるだけです。ファイル名は、JAR ファイル内の文字列と完全に一致していなければなりません。file にディレクトリ名を指定した場合、そのディレクトリ内のすべてのファイルが転送されます。
.LP
.RE
.LP
@@ -216,48 +256,54 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÌÀ¤Ê°À¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¥¢¥¯¥·¥ç¥ó¤ÇžÁ÷¤·¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ:
+デフォルトの動作を無効にします。 たとえば、不明な属性を含むクラスファイルを指定したアクションで転送します。アクションとして指定可能な値:
.LP
+.RS 3
.TP 3
-error
-\f2pack200\fP ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+error
+\f2pack200\fP の操作に失敗し、適切な解説が表示されます。
.TP 3
-strip
-°À¤Ï¥É¥í¥Ã¥×¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+strip
+属性はドロップされます。注: VM 必須属性を削除すると、クラスローダーの障害が発生することがあります。
.TP 3
-pass
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬ 1 ¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆžÁ÷¤µ¤ì¤Þ¤¹¡£
+pass
+この属性が検出された場合、クラス全体が 1 つのリソースとして転送されます。
+.RE
+
.LP
.RE
.LP
\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
.LP
.RS 3
.LP
.LP
-¤³¤ì¤é 4 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¥¨¥ó¥Æ¥£¥Æ¥£¤Ë Class °À¡¢Field °À¡¢Method °À¡¢Code °À¤Ê¤É¤Î°À¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£attribute\-name ¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ:
+これら 4 つのオプションでは、クラスエンティティーに Class 属性、Field 属性、Method 属性、Code 属性などの属性のレイアウトを指定できます。attribute\-name には、これからレイアウトまたはアクションを定義する属性の名前を指定します。アクションとして指定可能な値:
.LP
+.RS 3
.TP 3
-(°ìÉô¤Î¥ì¥¤¥¢¥¦¥Èʸ»úÎó)
-¥ì¥¤¥¢¥¦¥È¸À¸ì¤Ï¡¢JSR 200 »ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+(一部のレイアウト文字列)
+レイアウト言語は、JSR 200 仕様に定義されています。
.LP
-Îã: \f2\-\-class\-attribute=SourceFile=RUH\fP
+例: \f2\-\-class\-attribute=SourceFile=RUH\fP
.TP 3
-error
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢pack200 ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+error
+この属性が検出された場合、pack200 の操作に失敗し、適切な解説が表示されます。
.TP 3
-strip
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢Â°À¤Ï½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+strip
+この属性が検出された場合、属性は出力から削除されます。注: VM 必須属性を削除すると、クラスローダーの障害が発生することがあります。
+.RE
+
.LP
.LP
-Îã: \f2\-\-class\-attribute=CompilationID=pass\fP ¤È¤¤¤¦¤³¤Î°À¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+例: \f2\-\-class\-attribute=CompilationID=pass\fP というこの属性を含むクラスファイルを転送します。 パックツールは、その他のアクションを行いません。
.LP
.RE
.LP
@@ -267,7 +313,7 @@
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ë¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤Î Java ¥×¥í¥Ñ¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+コマンド行に、パックツールを初期化するための Java プロパティーが含まれている設定ファイルを指定できます。
.LP
.RS 3
@@ -307,7 +353,7 @@
.LP
.LP
-ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。
.LP
.RE
.LP
@@ -317,7 +363,7 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤ËÆ°ºî¤·¤Þ¤¹¡£
+メッセージを表示せずに動作します。
.LP
.RE
.LP
@@ -327,7 +373,7 @@
.LP
.LP
-½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
+出力メッセージのログファイルを指定します。
.LP
.RE
.LP
@@ -337,65 +383,65 @@
.LP
.LP
-\f2pack200\fP ¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë Java µ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-J\-Xms48m\fP ¤È»ØÄꤷ¤¿¾ì¹ç¡¢µ¯Æ°¥á¥â¥ê¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤Ï¤¤¤Þ¤»¤ó¤¬¡¢\f2pack200\fP ¤Îɸ½à¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´·½¬¤È¤·¤Æ¡¢\f2\-J\fP ¤Ë¤Ï¡¢Java ¤Ç½ñ¤«¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë VM ¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹Æ¯¤¤¬¤¢¤ê¤Þ¤¹¡£
+\f2pack200\fP によって呼び出される Java 起動ツールにオプションを渡します。たとえば、\f2\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。このオプションは \f2\-X\fP で始まっていませんが、\f2pack200\fP の標準オプションではありません。\f2\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
.LP
.RE
.RE
-.SH ½ªÎ»¥¹¥Æ¡¼¥¿¥¹
+.SH "終了ステータス"
.LP
.LP
.LP
-¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+次の終了値が返されます。
.LP
.RS 3
.LP
.LP
-\f2\ 0\fP "À®¸ù"
+\f2\ 0\fP "成功"
.LP
.LP
-\f2>0\fP "¥¨¥é¡¼"
+\f2>0\fP "エラー"
.LP
.RE
-.SH ´ØÏ¢¹àÌÜ
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë
+o
+unpack200(1)
.TP 2
-*
-\f2unpack200(1)\fP¡¢\f2jar(1)\fP¡¢\f2jarsigner(1)\fP¡¢\f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
-.TP 2
-*
-Java SE ¤Î¥É¥¥å¥á¥ó¥È
-.TP 2
-*
+o
.na
-\f2Java Deployment Guide \- Pack200\fP
+\f2Java SE のドキュメント\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html)
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-\f2jar\fP \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
-.TP 2
-*
+o
.na
-\f2jarsigner\fP \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë
+\f2「Java 配備ガイド \- Pack200」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html)
+http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
+.TP 2
+o
+jar(1) \- Java Archive ツール」
+.TP 2
+o
+「jarsigner(1) \- JAR 署名および検証ツール」
+.TP 2
+o
+\f2attributes(5)\fP のマニュアルページ
.RE
.LP
-.SH Ãí°Õ»ö¹à
+.SH "注意事項"
.LP
.LP
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤È \f2pack(1)\fP ¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£
+このコマンドと \f2pack(1)\fP を混同しないでください。これらは別製品です。
.LP
.LP
-SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£
+SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。
.LP
-
+
diff --git a/jdk/src/linux/doc/man/ja/policytool.1 b/jdk/src/linux/doc/man/ja/policytool.1
index d1a8edd..c5ba7fc 100644
--- a/jdk/src/linux/doc/man/ja/policytool.1
+++ b/jdk/src/linux/doc/man/ja/policytool.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,100 +19,90 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH policytool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+.TH policytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-policytool \- PolicyTool ´ÉÍý GUI ¥æ¡¼¥Æ¥£¥ê¥Æ¥£
+.SH "名前"
+policytool \- PolicyTool 管理 GUI ユーティリティー
.LP
-\f3policytool\fP ¤Ï¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£ GUI ·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤¤·¤Þ¤¹¡£
-.SH "·Á¼°"
+\f3policytool\fP は、ユーティリティー GUI 経由で取得したユーザー入力に基づいて、プレーンテキストのポリシーファイルを読み書きします。
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.RS 3
.TP 3
\
.TP 3
-policytool ´ÉÍý¼Ô¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò¼Â¹Ô¤·¤Þ¤¹
+policytool 管理者ユーティリティーを実行します
\f4policytool\fP
.TP 3
-policytool ¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹
-\f4policytool\fP\f2[\-file][\fP\f2filename\fP\f2]\fP
+policytool を実行し、指定されたポリシーファイルを読み込みます
+\f4policytool\fP\f2 [\-file\ \fP\f2filename\fP\f2]\fP
.TP 3
\
.TP 3
-³ÆÍ×ÁǤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+各要素は次のとおりです。
+.RS 3
.TP 3
file
-¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤à¤è¤¦¤Ë \f2policytool\fP ¤Ë»Ø¼¨¤·¤Þ¤¹
+ローカルポリシーファイルを読み込むように \f2policytool\fP に指示します
.TP 3
- filename
-¥Õ¥¡¥¤¥ë̾
+filename
+ファイル名
+.RE
+.SH "説明"
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-.LP
-
-.LP
-.LP
-\f3policytool\fP ¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤¬¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò´ÉÍý¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë´ÉÍý¼ÔÍѤΠGUI ¤Ç¤¹¡£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï \f2.policy\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥É¥á¥¤¥óÊ̤Υê¥â¡¼¥ÈÍ×µá¼Ô¤ò¥¢¥¯¥»¥¹¸¢¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¥Ã¥Ô¥ó¥°¤·¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
-¤Î
+\f3policytool\fP は、ユーザーがローカルポリシーファイルの内容を管理することを可能にする GUI です。詳細については、
.na
-¡Ö\f2Default Policy Implementation and Syntax\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
+\f2「ポリシーファイル作成および管理ツール」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.htmlを参照してください。
+.SH "オプション"
+.RS 3
.TP 3
file
-\f2filename\fP ¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-.LP
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-
-.LP
+\f2filename\fP を読み込みます。
+.SH "関連項目"
+.na
+\f2「Default Policy Implementation and Syntax」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
-¤Î
-.na
-¡Ö\f2Default Policy Implementation and Syntax\fP¡×
.br
-
-.LP
+.na
+\f2「Policy Tool Users' Guide」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html
-¤Î
-.na
-¡Ö\f2Policy Tool Users' Guide\fP¡×
.br
-
-.LP
+.na
+\f2「Security Permissions」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html
-¤Î
-.na
-¡Ö\f2Security Permissions\fP¡×
.br
-
-.LP
+.na
+\f2「Security Overview」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html
-¤Î
-.na
-¡Ö\f2Security Overview\fP¡×
.br
-
-.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/arch.html
-¤Î
-.na
-¡Ö\f2Security Architecture\fP¡×
-.br
+.RE
+.RE
.LP
diff --git a/jdk/src/linux/doc/man/ja/rmic.1 b/jdk/src/linux/doc/man/ja/rmic.1
index d48dc6e..0d10b5fa 100644
--- a/jdk/src/linux/doc/man/ja/rmic.1
+++ b/jdk/src/linux/doc/man/ja/rmic.1
@@ -1,370 +1,270 @@
-'\" t
-.\"
-.\" Copyright 2000-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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH rmic 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-rmic \- Java RMI ¥¹¥¿¥Ö¥³¥ó¥Ñ¥¤¥é
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B rmic
-[
-.BI options
-]
-.I package-qualified-class-names
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java RMI stub compiler" "" "Java RMI stub compiler \(em \fLrmic\fP"
-.IX "rmic" "" "\fLrmic\fP \(em Java RMI stub compiler"
-.B rmic
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë (JRMP ¥×¥í¥È¥³¥ë) ¤È¥¹¥¿¥Ö
-¤ª¤è¤Ó Tie ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (IIOP ¥×¥í¥È¥³¥ë) ¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
-¥¯¥é¥¹¤«¤éÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹ \f3java.rmi.Remote\f1
-¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
-.B rmic
-¥³¥Þ¥ó¥É¤Ç»ØÄꤵ¤ì¤ë¥¯¥é¥¹¤Ï¡¢
-.BR javac (1)
-¥³¥Þ¥ó¥É¤ÇÀµ¾ï¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¡¢
-´°Á´¤Ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ¤µ¤ì¤¿¥¯¥é¥¹¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¼¡¤Ë¼¨¤¹Îã¤Ç¤Ï¡¢
-.B HelloImpl
-¤È¤¤¤¦¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
-.B rmic
-¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmic 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
+.SH "名前"
+rmic \- Java RMI コンパイラ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3rmic\fP によって、JRMP または IIOP プロトコルを使用するリモートオブジェクトのスタブ、スケルトン、および Tie クラスが生成されます。また、OMG IDL も生成されます。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmic\fP コンパイラによって、リモートオブジェクトの、スタブ、スケルトンクラスファイル (JRMP プロトコル)、およびスタブと Tie クラスファイルの組み合わせ (IIOP プロトコル) が生成されます。リモートオブジェクトの実装クラスであるこれらのクラスファイルは、Java プログラミング言語のクラスをコンパイルしたときに生成されます。リモート実装クラスは、\f2java.rmi.Remote\fP インタフェースを実装するクラスです。\f3rmic\fP コマンドでのクラス名は、そのクラスが \f3javac\fP コマンドでコンパイルが成功していて、かつ完全なパッケージ名が指定されている必要があります。たとえば、クラスファイル名 \f2HelloImpl\fP で \f3rmic\fP を実行するには、次のようにします。
+.LP
+.nf
+\f3
+.fl
rmic hello.HelloImpl
-.RE
-.LP
-.B HelloImpl_Stub.class
-¥Õ¥¡¥¤¥ë¤ò (¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ»ØÄꤵ¤ì¤¿)
-.B hello
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤·¤Þ¤¹¡£
-.LP
-JRMP ¥×¥í¥È¥³¥ë¥µ¡¼¥Ð¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¢¤ë
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥±¥ë¥È¥ó¤Ë¤Ï¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤Î¸Æ¤Ó½Ð¤·¤ò
-¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î Tie ¤Ï¡¢¥¹¥±¥ë¥È¥ó¤Ë»÷¤¿
-¥µ¡¼¥Ð¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¤¬¡¢IIOP ¥×¥í¥È¥³¥ë
-¤ò»ÈÍѤ·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£
-.LP
-¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥í¥¥·¤Ç¡¢
-¼ÂºÝ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤¬Â¸ºß¤¹¤ë¥µ¡¼¥Ð¤Ë¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤òžÁ÷¤·¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢
-¼ÂºÝ¤Ë¤Ï¥í¡¼¥«¥ë¥¹¥¿¥Ö¤Ø¤Î»²¾È¤Ç¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmic
-¤Ï \-v1.2 ¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤¿¾ì¹ç¤ÈƱÍÍ¤Ë 1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¤ò
-»ÈÍѤ¹¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹ (1.5 ¤è¤êÁ°¤Î
-¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢\-vcompat ¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È)¡£
-IIOP ¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¥¯¥é¥¹¤ª¤è¤Ó Tie ¥¯¥é¥¹¤ò
-À¸À®¤¹¤ë¤Ë¤Ï¡¢\-iiop ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤ß¤ò¼ÂÁõ¤·¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤è¤Ã¤Æ¤â¼ÂÁõ¤µ¤ì¤ë¥í¡¼¥«¥ë
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Þ¤»¤ó¡£¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È
-¥ª¥Ö¥¸¥§¥¯¥È¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¥»¥Ã¥È¤ò¼ÂÁõ¤¹¤ë¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¥ã¥¹¥È¤ª¤è¤Ó
-·¿¥Á¥§¥Ã¥¯¤Ë Java ¸À¸ì¤ÎÁȤ߹þ¤ß±é»»»Ò¤ò»ÈÍѤǤ¤Þ¤¹¡£
-IIOP ¤Î¾ì¹ç¤Ï¡¢
-.B PortableRemoteObject.narrow
-¥á¥½¥Ã¥É¤ò
-»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-bootclasspath " path"
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-classpath " path"
-.B rmic
-¤¬¥¯¥é¥¹¤òõ¤¹¤Î¤ËÍѤ¤¤ë¥Ñ¥¹¤ò
-.I path
-¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄêÃͤϡ¢¥Ç¥Õ¥©¥ë¥È¤ª¤è¤Ó
-.B CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄêÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ
-.I path
-¤ÎÄ̾ï¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.BI .:< your_path >
-.sp 1n
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B .:/usr/local/java/classes
-.if t .TP 20
-.if n .TP 15
-.BI \-d " directory"
-¥¯¥é¥¹³¬ÁؤΥ롼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£
-.LP
-.RS 5
-rmic \-d /java/classes foo.MyClass
-.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢MyClass ¤«¤éÇÉÀ¸¤·¤¿¥¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ò¥Ç¥£¥ì¥¯¥È¥ê /java/classes/foo
-¤ËÇÛÃÖ¤·¤Þ¤¹¡£\-d ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡Ö\-d .¡×¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ÈƱÍͤǤ¹¡£
-¥¿¡¼¥²¥Ã¥È¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤϡ¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢¥¹¥¿¥Ö/Tie/¥¹¥±¥ë¥È¥ó
-¥Õ¥¡¥¤¥ë¤Ï¤½¤Î³¬ÁØÆâ¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-(°ÊÁ°¤Î°ìÉô¤Î¥Ð¡¼¥¸¥ç¥ó¤Î
-.B rmic
-¤Ç¤Ï¡¢
-\-d ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢
-¤¹¤Ù¤Æ¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë
-¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËľÀÜÇÛÃÖ¤µ¤ì¤Þ¤·¤¿¡£)
-.if t .TP 20
-.if n .TP 15
-.BI \-extdirs " path"
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¾å½ñ¤¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-g
-¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤Î
-À¸À®¤ò͸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-¹ÔÈÖ¹æ¾ðÊó¤Î¤ß¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-idl
-.B rmic
-¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤Î
-.SM OMG IDL
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.SM IDL
-¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î
-.SM API
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.SM IDL
-¤Ï¡¢
-.SM CORBA
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì (Java¡¢C++ ¤Ê¤É) ¤ò»ÈÍѤ·¤Æ¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î
-½ñ¤¹þ¤ß¤ª¤è¤Ó¸Æ¤Ó½Ð¤·¤ò¹Ô¤¦¤È¤¤Î»ÅÍͤȤ·¤Æ»È¤ï¤ì¤Þ¤¹¡£
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¹ç¤ï¤»¤Æ°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤¤Þ¤¹¡£
-.RS
-.TP 5
-.BR \-always " ¤Þ¤¿¤Ï " \-alwaysgenerate
-´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó \s-1IDL\s0 ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£
-.PD 0
-.TP
-.B \-factory
-À¸À®¤µ¤ì¤¿ IDL ¤Ç factory ¥¡¼¥ï¡¼¥É¤ò»È¤¤¤Þ¤¹¡£
-.TP
-.B \-idlModule fromJavaPackage[.class] toIDLModule
-.B IDLEntity
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.in +5n
-.ft 3
-.nf
-\-idlModule foo.bar
-my::real::idlmod.
+.fl
+\fP
.fi
-.ft 1
-.in
-.sp 1n
-.TP
-.B \-idlFile fromJavaPackage[.class] toIDLFile
-.B IDLEntity
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B \-idlFile test.pkg.X TEST16.idl
-.RE
-.PD
-.if t .TP 20
-.if n .TP 15
-.B \-iiop
-.B rmic
-¤Ï¡¢
-.SM JRMP
-¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÎÂå¤ï¤ê¤Ë¡¢
-.SM IIOP
-¤Î¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î
-¥í¡¼¥«¥ë¥×¥í¥¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¸Æ¤Ó½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤¤Ë
-»È¤ï¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¥¯¥é¥¹
-¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¤ò»²¾È¤¹¤ë¤È¡¢¼ÂºÝ¤Ë¤Ï¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Tie ¥¯¥é¥¹¤Ï¡¢
-¥µ¡¼¥Ð¦¤Ç¼õ¿®¤·¤¿¸Æ¤Ó½Ð¤·¤ò½èÍý¤·¡¢¤½¤Î¸Æ¤Ó½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á
-¤¹¤ë¤È¤¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢Tie ¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£
-.sp 1n
-.B \-iiop
-¤ò»ØÄꤷ¤Æ
-.B rmic
-¤òµ¯Æ°¤¹¤ë¤È¡¢¼¡¤Î̿̾µ¬Ìó¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤È Tie ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.sp 1n
-.in +5n
-.ft 3
+
+.LP
+.LP
+\f2HelloImpl_Stub.class\fP ファイルが、クラスのパッケージ名が付いた \f2hello\fP サブディレクトリに作成されます。
+.LP
+.LP
+リモートオブジェクトの「スケルトン」は JRMP プロトコルサーバー側のエンティティーで、実際のリモートオブジェクト実装を呼び出すメソッドを含みます。
+.LP
+.LP
+リモートオブジェクトの「Tie」は、スケルトンと同様にサーバー側のエンティティーですが、IIOP プロトコルを使ってクライアントと通信します。
+.LP
+.LP
+「スタブ」とは、リモートオブジェクトのクライアント側での代理です。 スタブは、リモートオブジェクトのメソッド呼び出しを、実物のリモートオブジェクトが常駐するサーバーと通信する役割を持ちます。したがって、クライアントのリモートオブジェクトへの参照は、実際はローカルスタブへの参照となります。
+.LP
+.LP
+デフォルトで \f3rmic\fP では、1.2 JRMP スタブプロトコルバージョンだけを使用するスタブクラスを生成します。 これは、\f2\-v1.2\fP オプションを指定した場合と同じ動作です。(5.0 以前では \f2\-vcompat\fP オプションがデフォルトであったことに注意。) IIOP プロトコル用のスタブおよび Tie クラスを生成するには \f2\-iiop\fP オプションを使用します。
+.LP
+.LP
+スタブはリモートインタフェースだけを実装し、リモートオブジェクトが実装する局所インタフェースは実装していません。JRMP スタブはリモートオブジェクト自体が実装するリモートインタフェースと同じものを実装しているので、クライアントは、キャストや型チェックに Java プログラミング言語に組み込まれた演算子を使用することができます。IIOP の場合は、\f2PortableRemoteObject.narrow\fP メソッドを使わなければなりません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-bootclasspath path
+ブートストラップクラスファイルの位置をオーバーライドします。
+.TP 3
+\-classpath path
+\f3rmic\fP がクラスを探すためのパスを指定します。このオプションは、デフォルトや CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
+.RS 3
+
+.LP
.nf
-_<implementationName>_stub.class
-.sp 1n
-_<interfaceName>_tie.class
-.ft 1
+\f3
+.fl
+.:<your_path>
+.fl
+\fP
.fi
-.in
-.sp 1n
-.B \-iiop
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¹ç¤ï¤»¤Æ°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤¤Þ¤¹¡£
-.sp 1n
-.ne 1
-.bp
-.RS
-.PD 0
-.TP 5
-.BR \-always " ¤Þ¤¿¤Ï " \-alwaysgenerate
-´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó \s-1IDL\s0 ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤¤Ç¤â¡¢¶¯À©Åª
-¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£
-.TP
-.B \-nolocalstubs
-Ʊ¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ËÂФ·¤ÆºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤òºîÀ®¤·¤Þ¤»¤ó¡£
-.TP
-.B \-noValueMethods
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£È¯¹Ô¤µ¤ì¤¿
-.SM IDL\s0
-¤Ë¡¢valuetype ¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲä·¤Þ¤»¤ó¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò
-¤Ï¡¢valuetype ¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤¤Ï¡¢
-.B \-noValueMethods
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¸Â¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-poa
+.RE
+例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-d directory
+生成されたクラス階層の出力先ディレクトリのルートを指定します。このオプションを使えば、スタブ、スケルトン、および Tie ファイルを格納するディレクトリを指定できます。たとえば、次のようにして使います。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% rmic \-d /java/classes foo.MyClass
+.fl
+\fP
+.fi
+.RE
+\f2MyClass\fP から取得したスタブとスケルトンクラスを \f2/java/classes/foo\fP ディレクトリに置きます。\f2\-d\fP オプションが指定されていない場合は、\f2「\-d\ .」\fPが指定されていると見なされます。ターゲットクラスのパッケージ階層が現在のディレクトリに作成され、スタブ、Tie、およびスケルトンファイルがそのディレクトリに格納されます。(以前のバージョンの \f3rmic\fP では、\f2\-d\fP が指定されていない場合は、パッケージ階層は作成されず、出力ファイルはすべて現在のディレクトリに直接格納されていた)。
.br
-·Ñ¾µ¤ò
-.BR org.omg.CORBA_2_3.portable.ObjectImpl ¤«¤é
-.BR org.omg.PortableServer.Servant\. ¤ØÊѹ¹¤·¤Þ¤¹¡£
-.RS
+\
+.TP 3
+\-extdirs path
+インストール型拡張機能の位置をオーバーライドします。
+.TP 3
+\-g
+局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号情報だけが生成されます。
.LP
-Portable Object Adapter (POA) ¤Î
-.BR PortableServer
-¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö ¤Î servant ·¿¤òÄêµÁ¤·¤Þ¤¹¡£
-Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢servant ·¿¤Ï¡¢Java ¤Î
-.BR org.omg.PortableServer.Servant
-¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æ
-µ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬¸Æ¤Ó½Ð¤»¤ë¿¿ô¤Î¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£¤Þ¤¿¡¢
-POA ¼«ÂΤ¬Æɤ߽Ф·¤¿¤ê¡¢¥µ¡¼¥Ð¥ó¥ÈÆ°ºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¤¬¾å½ñ¤¤·¤¿
-¤ê¤Ç¤¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£CORBA V 2.3.1 ¤Î¡ÖOMG IDL to Java Language Mapping Specfication (ptc/00-01-08.pdf)¡×¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£
+.TP 3
+\-idl
+\f2rmic\fP によって、指定したクラスおよび参照されたクラスの OMG IDL が生成されます。IDL では、プログラミング言語に依存せずに、宣言するだけでオブジェクトの API を指定することができます。IDL は、メソッドおよびデータの仕様として使用します。 CORBA バインディングを提供する任意の言語で、メソッドおよびデータの作成および呼び出しを行うことができます。これらの言語には、Java および C++ が含まれています。詳細は、
+.na
+\f2Java Language to IDL Mapping\fP @
+.fi
+http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) を参照してください。
+.LP
+\f2\-idl\fP オプションを使うときは、ほかのオプションも指定できます。
+.RS 3
+.TP 3
+\-always または \-alwaysgenerate
+既存のスタブ、Tie、および IDL が入力クラスより新しいときでも、強制的に生成し直します。
+.TP 3
+\-factory
+生成された IDL で factory キーワードを使います。
+.TP 3
+\-idlModule\ fromJavaPackage[.class]\ toIDLModule
+IDLEntity パッケージのマップを指定します。例を示します。 \f2\-idlModule foo.bar my::real::idlmod\fP
+.TP 3
+\-idlFile\ fromJavaPackage[.class]\ toIDLFile
+IDLEntity ファイルのマップを指定します。例を示します。 \f2\-idlFile test.pkg.X TEST16.idl\fP\
.RE
-.PD
+.LP
+.TP 3
+\-iiop
+\f2rmic\fP によって、JRMP のスタブとスケルトンクラスの代わりに、IIOP のスタブと Tie クラスが生成されます。スタブクラスは、リモートオブジェクトのローカルプロキシで、クライアントからサーバーに呼び出しを送信するときに使われます。各リモートインタフェースにはスタブクラスが必要です。 スタブクラスによってリモートインタフェースが実装されます。クライアントでリモートオブジェクトを参照するときは、実際にはスタブを参照することになります。タイクラスは、サーバー側で着呼を処理し、その呼び出しを適切な実装クラスにディスパッチするときに使われます。各実装クラスには、タイクラスが必要です。
+.LP
+\f2\-iiop\fP を使って \f2rmic\fP を呼び出すと、次の命名規約に準拠したスタブと Tie が生成されます。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+_<implementationName>_stub.class
+.fl
+\fP
+.br
+\f3
+.fl
+_<interfaceName>_tie.class
+.fl
+\fP
+.fi
.RE
-.TP 20
-.if t .TP 20
-.if n .TP 15
-.B \-J
-Ǥ°Õ¤Î java ¥ª¥×¥·¥ç¥ó¤È
-Ê»ÍѤ·¤¿¾ì¹ç¡¢
-\-J ¤Î¸å¤Î¥ª¥×¥·¥ç¥ó (
-.B \-J
-¤È¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ï¶õÇòʸ»ú¤ò¤¤¤ì¤Ê¤¤)
-¤ò java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë
-ÅϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-keepgenerated
-¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¤ª¤è¤Ó tie ¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤¿ .java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¡¢.class ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-nowarn
-·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤ò½ÐÎϤ·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.B \-vcompat
-1.1 ¤È 1.2 ¤ÎξÊý¤Î JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À¤¬¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹ (1.5 ¤è¤êÁ°¤Î
-¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È)¡£
-À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë
-Æɤ߹þ¤Þ¤ì¤ë¾ì¹ç¡¢1.1 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò
-»ÈÍѤ·¡¢1.2 °Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤ËÆɤ߹þ¤Þ¤ì¤ë¾ì¹ç¤Ï¡¢
-1.2 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï¡¢1.1 ¤È 1.2 ¤ÎξÊý¤Î
-¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢Î¾Êý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È
-¤¹¤ë¤¿¤á¡¢Èæ³ÓŪ¥µ¥¤¥º¤¬Â礤¯¤Ê¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-verbose
-¥³¥ó¥Ñ¥¤¥é¤È¥ê¥ó¥«¤Ë¾ÜºÙ¾ðÊó¤ò½ÐÎϤµ¤»¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥í¡¼¥É¤µ¤ì¤ë
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
-.TP 15
-.B \-v1.1
-JDK 1.1 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó
-ÀìÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤òºîÀ®¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 1.1 ¤«¤é
-.B rmic
-¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤¤Ê¤¤
-(¤ª¤è¤ÓưŪ¥¯¥é¥¹¥í¡¼¥Ç¥£¥ó¥°¤¬»ÈÍÑ
-¤µ¤ì¤Æ¤¤¤Ê¤¤) ´û¸¤ÎÀÅŪ¤ËÇÛÈ÷¤µ¤ì¤¿
-¥¹¥¿¥Ö¥¯¥é¥¹¤ÈľÎ󲽸ߴ¹À¤Î¤¢¤ë¥¹¥¿¥Ö
-¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-v1.2
-(¥Ç¥Õ¥©¥ë¥È) 1.2 JRMP ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥óÀìÍѤΥ¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï 1.2 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó
-¤Ç¤Ï¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£
-À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤¬ JDK 1.1 ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë
-Æɤ߹þ¤Þ¤ì¤¿¾ì¹ç¤Ï¡¢µ¡Ç½¤·¤Þ¤»¤ó¡£
-.SH ´Ä¶ÊÑ¿ô
-.if t .TP 20
-.if n .TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç
-¶èÀÚ¤ê¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B .:/usr/local/java/classes
-.SH ´ØÏ¢¹àÌÜ
-.BR java (1),
-.BR javac (1),
-.BR CLASSPATH
+.LP
+\f2\-iiop\fP オプションを使うときは、ほかのオプションも指定できます。
+.RS 3
+.TP 3
+\-always または \-alwaysgenerate
+既存のスタブ、Tie、および IDL が入力クラスより新しいときでも、強制的に生成し直します。
+.TP 3
+\-nolocalstubs
+同じプロセスのクライアントとサーバーに対して最適化されたスタブを作成しません。
+.TP 3
+\-noValueMethods
+\f2\-idl\fP オプションとともに使われなければなりません。発行された IDL に、\f2valuetype\fP メソッドおよび初期化子を追加しません。このメソッドおよび初期化子は、\f2valuetype\fP の場合はオプションです。 \f2\-idl\fP オプションを使うときは、 \f2\-noValueMethods\fP オプションを指定しない限り生成されます。
+.TP 3
+\-poa
+継承が \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP から \f2org.omg.PortableServer.Servant\fP に変わります。
+.LP
+.na
+\f2Portable Object Adapter\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) の \f2PortableServer\fP モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は、Java の \f2org.omg.PortableServer.Servant\fP クラスにマッピングされています。これはあらゆる POA サーバント実装の基底クラスとなり多数のメソッドを提供します。 これらのメソッドはアプリケーションプログラマが呼び出すだけではなく、POA 自身からも呼び出され、場合によってはサーバントの動作を制御するためにユーザーがオーバーライドすることもあります。OMG IDL to Java Language Mapping Specification、CORBA V 2.3.1 ptc/00\-01\-08.pdf に準拠しています。
+.RE
+.TP 3
+\-J
+\f2\-J\fP の後ろに続くオプションを \f2java\fP インタプリタに引き渡します。 \f2java\fP オプションと組み合わせて使います (\f2\-J\fP と \f2java\fP オプションの間にスペースは入れない)。
+.TP 3
+\-keep または \-keepgenerated
+スタブ、スケルトン、または Tie クラスのための \f2.java\fP ソースファイルを \f2.class\fP ファイルと同じディレクトリに残します。
+.TP 3
+\-nowarn
+警告をオフにします。このオプションを指定すると、コンパイラは警告を表示しません。
+.LP
+.TP 3
+\-vcompat
+1.1 と 1.2 の両方の JRMP スタブプロトコルバージョンと互換性のあるスタブおよびスケルトンクラスを作成します。(5.0 以前のリリースではこのオプションはデフォルト。)生成されたスタブクラスは、JDK 1.1 仮想マシンにロードされると 1.1 スタブプロトコルバージョンを使用し、JDK 1.2 以降の仮想マシンにロードされると 1.2 スタブプロトコルバージョンを使用します。生成されたスケルトンクラスでは、1.1 と 1.2 の両方のスタブプロトコルバージョンをサポートします。生成されたクラスは両方の操作モードをサポートするために、サイズが大きくなります。
+.TP 3
+\-verbose
+コンパイラやリンカーが、コンパイルされているクラスやロードされているクラスファイルについてのメッセージを表示するようにします。
+.LP
+.TP 3
+\-v1.1
+1.1 JRMP スタブプロトコルバージョンのみのスタブおよびスケルトンクラスを生成します。このオプションが使用できるのは、JDK 1.1 から \f3rmic\fP ツールで生成され、アップグレードできない (さらにダイナミッククラスローディングを使用していない) 、既存の静的配備されたスタブクラスに対し、直列化互換性のあるスタブクラスを生成場合だけです。
+.LP
+.TP 3
+\-v1.2
+(デフォルト) 1.2 JRMP スタブプロトコルバージョンのみのスタブクラスを生成します。スケルトンクラスは 1.2 スタブプロトコルバージョンで使用できないため、このオプションではスケルトンクラスは生成されません。生成されたスタブクラスは、JDK 1.1 仮想マシンにロードされても動作しません。
+.RE
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+java(1)、javac(1)、
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath
+.LP
+
+.LP
+
diff --git a/jdk/src/linux/doc/man/ja/rmid.1 b/jdk/src/linux/doc/man/ja/rmid.1
index c11e642..3234d93 100644
--- a/jdk/src/linux/doc/man/ja/rmid.1
+++ b/jdk/src/linux/doc/man/ja/rmid.1
@@ -1,563 +1,358 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH rmid 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-rmid \- RMI µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmid 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
+.SH "名前"
+rmid \- Java RMI 起動システムデーモン
+.LP
+.RS 3
.LP
.LP
-\f3rmid\fP ¤Çµ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò²¾ÁÛ¥Þ¥·¥ó (VM) ¤ËÅÐÏ¿¤·¤Æµ¯Æ°¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.SH "·Á¼°"
-.B rmid
-[
-.I options
-]
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid\fP"
-.IX "rmid" "" "\fLrmid\fP \(em RMI activation system daemon"
-.B rmid
-¥Ä¡¼¥ë¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯Æ°
-¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢Java VM ¤Ç¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢¤¢¤é¤«¤¸¤áµ¯Æ°
-¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-µ¯Æ°²Äǽ¤Ê¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢Java RMI ¤Î»ÅÍÍ
-.fi
- (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html)
-¤ª¤è¤Óµ¯Æ°¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ
-.B rmid
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ³«»Ï¤Ç¤¤Þ¤¹¡£
-.LP
-.ti +5n
-.B % rmid \-J\-Djava.security.policy=rmid.policy
-.LP
-Ãí: Sun ¤Î
-.BR rmid
-¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢µ¯Æ°¥°¥ë¡¼¥×ÍѤΠJVM ¤Îµ¯Æ°¤Ë¡¢³Æ
-.B ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ¤ë¤«¤É¤¦¤«¤ò
-.B rmid
-¤¬³Îǧ¤Ç¤¤Þ¤¹¡£Æäˡ¢
-.B CommandEnvironment
-¤Ë¤è¤ê»ØÄꤵ¤ì¤ë¥³¥Þ¥ó¥É¤ä¥ª¥×¥·¥ç¥ó¡¢¤ª¤è¤Ó
-.B ActivationGroupDesc
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë¤¹¤Ù¤Æ¤Î
-.B ¥×¥í¥Ñ¥Æ¥£
-¤Ï¡¢
-.BR rmid
-ÍѤΥ»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£
-.B sun.rmi.activation.execPolicy
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤϡ¢µ¯Æ°¥°¥ë¡¼¥×¤Î JVM ¤Îµ¯Æ°¤Ë
-.B ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ¤ë¤«¤É¤¦¤«¤ÎȽÃǤË
-.B rmid
-¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤òÄêµÁ¤·¤Þ¤¹¡£
-.LP
-.B rmid
-¤ò¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢°Ê²¼¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤òµ¯Æ°¤¹¤ë¤È¤È¤â¤Ë¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Î
-.BR 1098
-¤ÇÆâÉô¥ì¥¸¥¹¥È¥ê¤ò
-³«»Ï¤·¡¢
-.LP
-.PD 0
-.TP
-\(bu
-.B ActivationSystem
-¤ò
-.B java.rmi.activation.ActivationSystem
-¤È¤¤¤¦Ì¾Á°¤ËÆâÉô¥ì¥¸¥¹¥È¥ê¾å¤Ç¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£
-
+\f3rmid\fP で起動システムデーモンを開始すると、オブジェクトを仮想マシン (VM) に登録して起動できるようになります。
.LP
.RE
-¥ì¥¸¥¹¥È¥ê¤Ë¤Û¤«¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
-.BR rmid
-¤Îµ¯Æ°»þ¤Ë
-.B -port
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-.ti +5n
+.SH "形式"
.LP
-.B rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È
-.B 1099
-¤Ç¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£
-
-.LP
-.SS inetd/xinetd ¤«¤é¤Î rmid ¤Îµ¯Æ°
-
-¥³¥Þ¥ó¥É¹Ô¤«¤é
-.B rmid
-¤òµ¯Æ°¤·¤Ê¤¤¤Ç¡¢
-inetd (Solaris) ¤Þ¤¿¤Ï xinetd (Linux) ¤òÀßÄꤷ¡¢
-.B rmid
-¤òɬÍפ˱þ¤¸¤Æµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-
-.LP
-µ¯Æ°»þ¤Ë
-.B rmid
-¤Ï¡¢System.inheritedChannel ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ
-·Ñ¾µ¥Á¥ã¥Í¥ë (inetd/xinetd ¤«¤é¤Î·Ñ¾µ) ¤Î
-¼èÆÀ¤ò»î¤ß¤Þ¤¹¡£
-·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2null\fP ¤Ç¤¢¤ë¤«¡¢\f2java.nio.channels.ServerSocketChannel\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2rmid\fP ¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï \f2inetd\fP/\f2xinetd\fP ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£
-
-.LP
-.LP
-·Ñ¾µ¥Á¥ã¥ó¥Í¥ë¤¬ ServerSocketChannel
-¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¡¢
-.B rmid
-¤Ï ServerSocketChannel ¤«¤é
-¼èÆÀ¤·¤¿ java.net.ServerSocket ¤ò¡¢
-¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-(java.rmi.activation.ActivationSystem ¤¬
-¥Ð¥¤¥ó¥É¤µ¤ì¤ë¥ì¥¸¥¹¥È¥ê¤È
-java.rmi.activation.Activator
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È) ¤ËÂФ¹¤ëÍ×µá¤ò
-¼õ¤±Æþ¤ì¤ë¥µ¡¼¥Ð¥½¥±¥Ã¥È¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢
-.B rmid
-¤ÎÆ°ºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢
-¥³¥Þ¥ó¥É¹Ô¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£
-
-.TP 2
-\(bu System.err ¤Ëɽ¼¨¤µ¤ì¤ë½ÐÎϤϥե¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È
-¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ÀÜƬ¼¡Örmid-err¡×¤ÈÀÜÈø¼¡Ötmp¡×¤ò
-»ÈÍѤ·¤Æ java.io.tmpdir ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£
-(Ä̾ï /var/tmp ¤Þ¤¿¤Ï /tmp) ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-
-.TP 2
-\(bu \-port ¥ª¥×¥·¥ç¥ó¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B rmid
-¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ
-½ªÎ»¤·¤Þ¤¹¡£
-
-.TP 2
-\(bu \-log ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B rmid
-¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ
-½ªÎ»¤·¤Þ¤¹¡£
-
-.LP
-ɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ë¥µ¡¼¥Ó¥¹¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢
-inetd (Solaris) ¤Þ¤¿¤Ï xinetd (Linux) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-.SH "¥ª¥×¥·¥ç¥ó"
-
-.TP
-.BI \-C someCommandLineOption
-.B rmid
-¤Î»Ò¥×¥í¥»¥¹ (µ¯Æ°¥°¥ë¡¼¥×) ¤¬ºîÀ®¤µ¤ì¤¿¤È¤¤Ë¡¢³Æ»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¹Ô°ú¿ô
-¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à
-¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ Java Virtual Machine ¤Ë¥×¥í¥Ñ¥Æ¥£¤òÅϤ¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-C\-Dsome.property=value
-
-.sp 1n
-¥³¥Þ¥ó¥É¹Ô°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ºÝ¤ËÊØÍø¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-C\-Djava.rmi.server.logCalls=true
-
-.sp 1n
-¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Î»Ò JVM ¤Ç¥µ¡¼¥Ð¸Æ¤Ó½Ð¤·¤Î¥í¥°¤¬»Ä¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-.TP
-.BI \-J<someCommandLineOption>
-.B rmid
-¤ò¼Â¹ÔÃæ¤Î java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B rmid
-¤Ç
-.BR rmid.policy
-¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-.BR rmid
-¤Î¥³¥Þ¥ó¥É¹Ô¤Ç
-.B \-J
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ
-.B java.security.policy
-¥×¥í¥Ñ¥Æ¥£¤òÄêµÁ¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-J\-Djava.security.policy=rmid.policy
-
-.TP
-.BI \-J\-Dsun.rmi.activation.execPolicy=<policy>
-µ¯Æ°¥°¥ë¡¼¥×¤Î¼Â¹ÔÂоݤȤʤë JVM ¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¸¡ºº¤¹¤ë¤¿¤á¤Ë¡¢
-.B rmid
-¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Sun ¤Î RMI µ¯Æ°¥Ç¡¼¥â¥ó¼ÂÁõ¤À¤±¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï
-.B \-J-Dsun.rmi.activation.execPolicy=default
-¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-.IR policy
-¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢
-.BR default
-¡¢
-.IR policyClassName
-¡¢¤Þ¤¿¤Ï none ¤Ç¤¹¡£
-.BR
-
-.RS
-.TP 2
-\(bu
-.B default
-(¤Þ¤¿¤Ï¡¢¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç)
-
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Î
-.B execPolicy
-¤Ç¤Ï¡¢»ÈÍѤ¹¤ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤¬
-.B rmid
-¤ËÍ¿¤¨¤é¤ì¤ë¾ì¹ç¤Ë¤Î¤ß¡¢
-.B rmid
-¤ÏÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.BR default
-¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤ò»ÈÍѤǤ¤ë¤Î¤Ï¡¢
-¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤À¤±¤Ç¤¹¡£
-.sp 1n
-
-.B rmid
-¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î JVM ¤òµ¯Æ°¤¹¤ëºÝ¡¢¤½¤ÎÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¤¢¤ë
-.BR ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Î
-.B ActivationGroupDesc.CommandEnvironment
-¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¡Ö¥³¥Þ¥ó¥É¡×¡¢¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¤ËÄɲ乤ë
-Ǥ°Õ¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmid
-¤Ï
-.BR java.home
-¤Ë¤¢¤ë
-.B java
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ½Ò»Ò¤Ë¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥³¥Þ¥ó¥É¹Ô¤Ë
-Äɲ䵤ì¤ë¡Ö¥×¥í¥Ñ¥Æ¥£¡×¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.BI \-D<property>=<value>
-
-.sp 1n
-¥¢¥¯¥»¥¹¸¢
-.B com.sun.rmi.rmid.ExecPermission
-¤ò»ÈÍѤ¹¤ë¤È¡¢
-.B rmid
-¤ËÂФ·¡¢¥°¥ë¡¼¥×µ½Ò»Ò¤Î
-.B CommandEnvironment
-¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¥¢¥¯¥»¥¹¸¢
-.B com.sun.rmi.rmid.ExecOptionPermission
-¤ò»ÈÍѤ¹¤ë¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤¤Ë¡¢
-¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô
-¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï
-.BR CommandEnvironment
-¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò
-.B rmid
-¤«¤é»ÈÍѤǤ¤Þ¤¹¡£
-
-.sp 1n
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¾ì¹ç¡¢¥¢¥¯¥»¥¹¸¢
-.B ExecPermission
-¤ª¤è¤Ó
-.B ExecOptionPermission
-¤òÉáÊ×Ū¤Ë (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æ) µö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-.TP
-.BI ExecPermission
-.B ExecPermission
-¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë
-.B rmid
-¤¬ÆÃÄê¤Î¡Ö¥³¥Þ¥ó¥É¡×¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£
-.sp 1n
-.TP
-.B ¹½Ê¸
-.br
-.B ExecPermission
-¤Î¡Ö̾Á°¡×¤Ï¡¢
-.B rmid
-¤Ë¼Â¹Ô¸¢¸Â¤òÍ¿¤¨¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¡Ö/*¡×(¡Ö/¡×¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú¡¢¤Ä¤Þ¤ê
-.BR File.separatorChar
-) ¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¤Þ¤¹¡£¡Ö/-¡×
-¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê
-(ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó¡Ö<<ALL FILES>>¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢
-Ǥ°Õ¤Î¥Õ¥¡¥¤¥ë¤Ë°ìÃפ·¤Þ¤¹¡£
-.sp 1n
-
-.B Ãí:
-¡Ö*¡×¤¬ 1 ¤Ä¤À¤±»ØÄꤵ¤ì¤¿¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¡¢
-¡Ö-¡×¤¬ 1 ¤Ä¤À¤±»ØÄꤵ¤ì¤¿¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£
-
-.TP
-.BI ExecOptionPermission
-.B ExecOptionPermission
-¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï»þ¤Ë
-.B rmid
-¤¬ÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£
-.B ExecOptionPermission
-¤Î¡Ö̾Á°¡×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£
-.sp 1n
-.TP
-.B ¹½Ê¸
-.br
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À©¸ÂÉÕ¤¥ï¥¤¥ë¥É¥«¡¼¥É»ØÄ꤬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Þ¥Ã¥Á¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢
-¥ª¥×¥·¥ç¥ó̾¼«ÂΤòɽ¤¹ (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ë°ìÃפ¹¤ë) ¤¿¤á¤Ë
-»ÈÍѤǤ¤Þ¤¹¡£¤Þ¤¿¡¢¡Ö.¡×¤ª¤è¤Ó¡Ö=¡×¤Î¼¡¤Ë»ØÄꤹ¤ë¾ì¹ç¤Ë¤Î¤ß¡¢
-¥ª¥×¥·¥ç¥ó̾¤ÎºÇ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.sp 1n
-
-Îã¤ò¼¨¤·¤Þ¤¹¡£¡Ö*¡×¡¢¡Ö-Dfoo.*¡×¡¢¡Ö-Da.b.c=*¡×¤Ï͸ú¤Ç¤¹¡£¡Ö*foo¡×¡¢¡Ö-Da*b¡×
-¡¢¡Öab*¡×¤Ï̵¸ú¤Ç¤¹¡£
-
-.TP
-.BI rmid ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢
-.B ExecPermission
-¤ª¤è¤Ó
-.B ExecOptionPermission
-¤òÉáÊ×Ū¤Ë (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æ) µö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤ò¸¡ºº¤¹¤ë¤Î¤Ï
-.B rmid
-¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢ÉáÊ×Ū¤Ëµö²Ä¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£
-
-.sp 1n
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¼Â¹Ô¸¢¸Â¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ft 3
.nf
+\f3
+.fl
+rmid [options]
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmid\fP ツールは、起動システムデーモンを開始します。起動システムデーモンを開始してからでないと、起動可能オブジェクトを起動システムに登録したり、VM 内で起動したりすることができません。起動可能なリモートオブジェクトを使ったプログラムの作成方法の詳細は、
+.na
+\f2「Java RMI 仕様」\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.htmlおよび
+.na
+\f2「起動のチュートリアル」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.htmlを参照してくだ さい。
+.LP
+.LP
+デーモンを起動するには、次のように、セキュリティーポリシーファイルを指定して \f2rmid\fP コマンドを実行します。
+.LP
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy
+.fl
+\fP
+.fi
+
+.LP
+.LP
+\f3注:\fP\f2rmid\fP の Sun の 実装を実行する場合、デフォルトでは、セキュリティーポリシーファイルを指定する必要があります。 それは、起動グループ用に VM を起動するために各 \f2ActivationGroupDesc\fP 内の情報を使用できるかどうかを \f2rmid\fP が検証できるようにするためです。特に、\f2ActivationGroupDesc\fP のコンストラクタに渡される \f2CommandEnvironment\fP や任意の \f2Properties\fP によって指定されるコマンドおよびオプションは、\f2rmid\fP のセキュリティーポリシーファイルの中で明示的に許可することが必要になりました。\f2sun.rmi.activation.execPolicy\fP プロパティーの値は、起動グループ用に VM を起動するために \f2ActivationGroupDesc\fP 内の情報を使用できるかどうかを判断するときに \f2rmid\fP が使用するポリシーを決定します。
+.LP
+.LP
+\f2rmid\fP をデフォルト設定で実行すると、次のような処理が行われます。
+.LP
+.RS 3
+.TP 2
+o
+アクティベータを起動し、デフォルトポート 1098 で内部レジストリを起動する
+.TP 2
+o
+この内部レジストリの中で、\f2ActivationSystem\fP を \f2java.rmi.activation.ActivationSystem\fP という名前にバインドする
+.RE
+
+.LP
+.LP
+レジストリにほかのポートを指定するには、\f2rmid\fP の起動時に \f2\-port\fP オプションを指定しなければなりません。次に例を示します。
+.LP
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
+.fl
+\fP
+.fi
+
+.LP
+.LP
+このコマンドは、起動システムデーモンを開始し、レジストリのデフォルトポート 1099 でレジストリを開始します。
+.LP
+.SS
+rmid を inetd/xinetd から開始する
+.LP
+.LP
+\f2rmid\fP をコマンド行から開始するには、\f2inetd\fP (Solaris の場合)、または \f2xinetd\fP (Linux) を構成して \f2rmid\fP を必要に応じて開始する方法もあります。
+.LP
+.LP
+\f2rmid\fP を開始すると、\f2System.inheritedChannel\fP メソッドを呼び出して、継承されたチャンネル (\f2inetd\fP/\f2xinetd\fP から継承) を取得しようとします。継承されたチャンネルが \f2null\fP であるか、\f2java.nio.channels.ServerSocketChannel\fP のインスタンスでなかった場合、\f2rmid\fP はそのチャンネルは \f2inetd\fP/\f2xinetd\fP によって起動されたものではないと判断し、前述のように起動します。
+.LP
+.LP
+継承されたチャンネルが \f2ServerSocketChannel\fP インスタンスである場合は、エクスポートするリモートオブジェクト、つまり \f2java.rmi.activation.ActivationSystem\fP がバインドされているレジストリと \f2java.rmi.activation.Activator\fP リモートオブジェクトに対する要求を受信するサーバーソケットとして、\f2ServerSocketChannel\fP から取得した \f2java.net.ServerSocket\fP を \f2rmid\fP では使用します。このモードでは、\f2rmid\fP の動作は、次のことを除いて、 コマンド行から起動した場合と同じです。
+.LP
+.RS 3
+.TP 2
+o
+\f2System.err\fP に対する出力は、ファイルにリダイレクトされる。このファイルは \f2java.io.tmpdir\fP システムプロパティーで指定されるディレクトリ (通常は \f2/var/tmp\fP または \f2/tmp\fP) にある。 ファイル名の接頭辞は \f2rmid\-err\fP で、接尾辞は \f2"tmp"\fP である
+.TP 2
+o
+\f2\-port\fP オプションは拒否される。このオプションを指定すると、\f2rmid\fP はエラーメッセージを出して終了する
+.TP 2
+o
+\f2\-log\fP オプションは必須。このオプションを指定しないと、\f2rmid\fP はエラーメッセージを出して終了する
+.RE
+
+.LP
+.LP
+必要に応じてサービスを開始するように設定する詳細については、\f2inetd\fP (Solaris) または \f2xinetd\fP (Linux) のマニュアルページを参照してください。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-C<someCommandLineOption>
+\f2rmid\fP の子プロセス (起動グループ) が作成されたときに、それぞれの子プロセスにコマンド行引数として渡されるオプションを指定します。たとえば、次のように指定すると、起動システムデーモ ンによって生成される各仮想マシンにプロパティーを渡すことができます。
+.nf
+\f3
+.fl
+ rmid \-C\-Dsome.property=value
+.fl
+\fP
+.fi
+コマンド行引数を子プロセスに渡す機能は、デバッグを行う場合に便利です。たとえば、次のようなコマンドを実行できます。
+.nf
+\f3
+.fl
+ rmid \-C\-Djava.rmi.server.logCalls=true
+.fl
+\fP
+.fi
+このコマンドにより、すべての子 VM でサーバー呼び出しのログが作成されるようになります。
+.LP
+.TP 3
+\-J<someCommandLineOption>
+\f2rmid\fP を実行している \f2java\fP インタプリタに渡すオプションを指定します。たとえば、\f2rmid\fP が \f2rmid.policy\fP という名前のポリシーファイルを使用するように指定するには、\f2rmid\fP のコマンド行で \f2\-J\fP オプションを使って、\f2java.security.policy\fP プロパティーを定義します。 次に例を示します。
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy
+.fl
+\fP
+.fi
+.TP 3
+\-J\-Dsun.rmi.activation.execPolicy=<policy>
+起動グループが実行されることになる VM の起動に使用するコマンドおよびコマンド行オプションをチェックするために、\f2rmid\fP が採用するポリシーを指定します。このオプションは、Java RMI 起動デーモンの Sun の実装だけに存在することに注意してください。コマンド行にこのプロパティーを指定しない場合、結果は \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP を指定した場合と同じになります。\f2<policy>\fP に指定可能な値は、\f2default\fP、\f2<policyClassName>\fP、または \f2none\fP です。 それぞれの値について、このあと説明します。
+.LP
+.RS 3
+.TP 2
+o
+\f3default (または、このプロパティーが「指定されていない」場合)\fP
+.LP
+デフォルトの \f2execPolicy\fP の場合、\f2rmid\fP が実行できるのは、\f2rmid\fP が使用する セキュリティーポリシーファイルの中で、実行する権限が \f2rmid\fP に与えられているコマンドおよびコマンド行オプションだけです。「デフォルト」の実行ポリシーで使用できるのは、デフォルトの起動グループ実装だけです。
+.LP
+\f2rmid\fP は、起動グループ用の VM を起動するときに、そのグループについて登録された起動グループ記述子である \f2ActivationGroupDesc\fP 内の情報を使用します。グループ記述子は、\f2ActivationGroupDesc.CommandEnvironment\fP を指定します (省略可能)。 これには、起動グループを開始する「コマンド」と、そのコマンド行に追加できるコマンド行「オプション」が含まれています。デフォルトでは、\f2rmid\fP は、\f2java.home\fP にある \f2java\fP コマンドを使用します。グループ記述子には、オプションとしてコマンド行に追加される「プロパティー」オーバーライドも含まれています。 このプロパティーは、次のように定義します。
+.nf
+\f3
+.fl
+ \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3
+.fl
+\fP
+.fi
+.LP
+アクセス権 \f2com.sun.rmi.rmid.ExecPermission\fP を使用すると、グループ記述子の \f2CommandEnvironment\fP で指定されたコマンドを実行して起動グループを開始する権限を、\f2rmid\fP に対して許可することができます。アクセス権 \f2com.sun.rmi.rmid.ExecOptionPermission\fP を使用すると、グループ記述子でプロパティーオーバーライドとして指定されたコマンド行オプション、または \f2CommandEnvironment\fP でオプションとして指定されたコマンド行オプションを、起動グループを開始するときに \f2rmid\fP が使用できるようになります。
+.LP
+\f2rmid\fP にさまざまなコマンドおよびオプションを実行する権限を許可する場合は、アクセス権 \f2ExecPermission\fP および \f2ExecOptionPermission\fP を汎用的に許可する必要があります。 つまり、すべてのコードソースに対して許可します。
+.RS 3
+.TP 3
+ExecPermission
+\f2ExecPermission\fP クラスは、起動グループを開始するために \f2rmid\fP が特定の「コマンド」を実行する権限を表します。
+.LP
+\f3構文\fP
+.br
+\f2ExecPermission\fP の「名前」は、\f2rmid\fP に実行を許可するコマンドのパス名です。「/*」 (「/」はファイル区切り文字 \f2File.separatorChar\fP) で終わるパス名は、そのディレクトリに含まれるすべてのファイルを示します。「/\-」で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を示します。パス名に特別なトークン「<<ALL FILES>>」を指定した場合は、\f3任意の\fPファイルを示します。
+.LP
+\f3注:\fP「*」を 1 つ指定しただけのパス名は、現在のディレクトリ内のすべてのファイルを表します。 また、「\-」を 1 つ指定しただけのパス名は、現在のディレクトリ内のすべてのファイルと、現在のディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を表します。
+.TP 3
+ExecOptionPermission
+\f2ExecOptionPermission\fP クラスは、起動グループを開始するときに \f2rmid\fP が特定のコマンド行「オプション」を使用できる権限を表します。\f2ExecOptionPermission\fP の「名前」は、コマンド行オプションの値です。
+.LP
+\f3構文\fP
+.br
+オプションでは、ワイルドカードが限定的にサポートされます。アスタリスクは、ワイルドカードマッチを表します。 アスタリスクは、オプション名そのものとして使用できます。 つまり、任意のオプションを表すことができます。 また、オプション名の末尾に使用することもできます。 ただし、「.」か「=」の直後にアスタリスクを指定する必要があります。
+.LP
+例を示します。「*」、「\-Dfoo.*」、「\-Da.b.c=*」は有効ですが、「*foo」、「\-Da*b」、「ab*」は無効です。
+.TP 3
+rmid のポリシーファイル
+\f2rmid\fP にさまざまなコマンドおよびオプションを実行する権限を許可する場合は、アクセス権 \f2ExecPermission\fP および \f2ExecOptionPermission\fP を汎用的に許可する必要があります。 つまり、すべてのコードソースに対して許可します。これらのアクセス権をチェックするのは \f2rmid\fP だけなので、これらのアクセス権を汎用的に許可しても安全です。
+.LP
+\f2rmid\fP に各種の実行権限を許可するポリシーファイルの例を、次に示します。
+.nf
+\f3
+.fl
grant {
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/java/jdk1.2.2/solaris/bin/java";
+.fl
+ "/files/apps/java/jdk1.2.2/solaris/bin/java";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+.fl
+ "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/rmidcmds/*";
+.fl
+ "/files/apps/rmidcmds/*";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Djava.security.policy=/files/policies/group.policy";
+.fl
+ "\-Djava.security.policy=/files/policies/group.policy";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Djava.security.debug=*";
+.fl
+ "\-Djava.security.debug=*";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Dsun.rmi.*";
+.fl
+ "\-Dsun.rmi.*";
+.fl
};
-
+.fl
+\fP
.fi
-.ft 1
-
-.sp 1n
-ºÇ½é¤Î 2 ¤Ä¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨¤µ¤ì¤¿ 1.2.2 ¥Ð¡¼¥¸¥ç¥ó¤Î
-.B java
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëµö²Ä¤òÍ¿¤¨¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B java.home
-¤Ë¤¢¤ë
-.B java
-¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó (
-.B rmid
-¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¤â¤Î) ¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-3 ÈÖÌܤΥ¢¥¯¥»¥¹¸¢¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥Ç¥£¥ì¥¯¥È¥ê
-.BR /files/apps/rmidcmds
-Æâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£
-
-.sp 1n
-4 ÈÖÌܤ˵ö²Ä¤µ¤ì¤¿¥¢¥¯¥»¥¹¸¢
-.BR ExecOptionPermission
-¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò
-.BR /files/policies/group.policy
-¤ËÄêµÁ¤¹¤ëµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£¼¡¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬
-.B java.security.debug
-¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£ºÇ¸å¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢
-µ¯Æ°¥°¥ë¡¼¥×¤¬
-.B sun.rmi
-¥×¥í¥Ñ¥Æ¥£Ì¾³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£
-
-.sp 1n
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ
-.B rmid
-¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢
-.BR rmid
-¤Î¥³¥Þ¥ó¥É¹Ô¤Ç
-.B java.security.policy
-¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-J\-Djava.security.policy=rmid.policy
-
-.TP 2
-\(bu
-.I <policyClassName>
-
-.sp 1n
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï
-.BR rmid
-¤Îµ¯Æ°»þ¤Ë¡¢
-.B checkExecCommand
-¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢
-.BR rmid
-¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¸¡ºº¤Ç¤¤Þ¤¹¡£
-.sp 1n
-
-.IR policyClassName
-¤Ë¤Ï¡¢public ¤Ç°ú¿ô¤òɬÍפȤ·¤Ê¤¤¥³¥ó¥¹¥È¥é¥¯¥¿¤È¤È¤â¤Ë public ¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤Þ¤¿¡¢¼¡¤Î
-.B checkExecCommand
-¥á¥½¥Ã¥É¼ÂÁõ¤â»ØÄꤷ¤Þ¤¹¡£
-
-.sp 1n
-.ft 3
-.nf
-.in +5n
-public void checkExecCommand(ActivationGroupDesc desc,
- String[] command)
- throws SecurityException;
-.in
-.fi
-.ft 1
-
-.sp 1n
-µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢
-.B rmid
-¤Ï¡¢¥Ý¥ê¥·¡¼¤Î
-.BR checkExecCommand
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ½Ò»Ò¤ª¤è¤Óµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë´°Á´¤Ê
-¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤òÅϤ·¤Þ¤¹¡£
-.B checkExecCommand
-¤¬
-.BR SecurityException
-¤ò¥¹¥í¡¼¤¹¤ë¾ì¹ç¡¢
-.B rmid
-¤Ïµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¤ß¤Æ¤¤¤ë¸Æ¤Ó½Ð¤·Â¦¤Ë
-.B ActivationException
-¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£
-
-.TP
-\(bu
-.B none
-
-.sp 1n
-.B sun.rmi.activation.execPolicy
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬¡Önone¡×¤Î¾ì¹ç¡¢
-.B rmid
-¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¥³¥Þ¥ó¥É¤Î¸¡¾Ú¤ò°ìÀÚ¹Ô¤¤¤Þ¤»¤ó¡£
-
-.TP
-
-.BI \-log " dir"
-µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤¹þ¤à¤Î¤Ë»È¤¦¡¢
-¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmid
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë
-.B log
-¤È¤¤¤¦¥í¥°¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-
-.TP
-.BI \-port " port"
-.BR rmid
-¤Î¥ì¥¸¥¹¥È¥ê¤¬»È¤¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢
-.BR java.rmi.activation.ActivationSystem
-¤È¤¤¤¦Ì¾Á°¤Ç
-.BR ActivationSystem
-¤ò¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î
-.B ActivationSystem
-¤Ï¡¢¼¡¤Î¤è¤¦¤Ë
-.B Naming.lookup
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤¤Þ¤¹¡£
+最初の 2 つの付与されているアクセス権は、\f2rmid\fP に対し、パス名により明示的に指定される \f2java\fP コマンドおよび \f2java_g\fP コマンドの 1.2.2 バージョンの実行を許可します。デフォルトでは、\f2java.home\fP にあるバージョンの \f2java\fP コマンド (\f2rmid\fP が使用するのと同じバージョン) が使用されるため、そのコマンドは、ポリシーファイルで指定する必要はありません。3 番目のアクセス権は、\f2rmid\fP に対して、ディレクトリ \f2/files/apps/rmidcmds\fP 内の任意のコマンドの実行権限を許可します。
+.LP
+4 番目のアクセス権 \f2ExecOptionPermission\fP は、\f2rmid\fP に対して、セキュリティーポリシーファイルを \f2/files/policies/group.policy\fP として定義している起動グループの開始を許可します。5 番目のアクセス権は、起動グループが \f2java.security.debug\fP プロパティーを使用することを許可しています。最後のアクセス権は、起動グループが \f2sun.rmi\fP というプロパティー名の階層内の任意のプロパティーを使用することを許可しています。
+.LP
+ポリシーファイルを指定して \f2rmid\fP を起動するには、\f2rmid\fP のコマンド行で \f2java.security.policy\fP プロパティーを指定する必要があります。 次に例を示します。
+.RS 3
.LP
-.RS
-.ft 3
+.LP
+\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
+.LP
+.RE
+.RE
+.TP 2
+o
+.LP
+.TP 2
+o
+\f4<policyClassName>\fP
+.LP
+デフォルトの動作では十分な柔軟性が得られない場合、管理者は、\f2rmid\fP の起動時に、\f2checkExecCommand\fP メソッドが所属するクラスの名前を指定して、rmid が実行するコマンドをチェックすることができます。
+.LP
+\f2policyClassName\fP には、引数なしのコンストラクタを持ち、次のような \f2checkExecCommand\fP メソッドを実装している public クラスを指定します。
.nf
-import java.rmi.*;
-import java.rmi.activation.*;
+\f3
+.fl
+ public void checkExecCommand(ActivationGroupDesc desc,
+.fl
+ String[] command)
+.fl
+ throws SecurityException;
+.fl
+\fP
+.fi
+起動グループを開始する前に、\f2rmid\fP は、ポリシーの \f2checkExecCommand\fP メソッドを呼び出します。このとき、起動グループの記述子と、起動グループを開始するための完全なコマンドを含む配列をそのメソッドに渡します。\f2checkExecCommand\fP が \f2SecurityException\fP をスローすると、\f2rmid\fP はその起動グループを開始せず、オブジェクトの起動を試行している呼び出し側には \f2ActivationException\fP がスローされます。
+.LP
+.TP 2
+o
+\f3none\fP
+.LP
+\f2sun.rmi.activation.execPolicy\fP プロパティーの値が「none」の場合、\f2rmid\fP は、起動グループを開始するコマンドをまったく検証しません。
+.RE
+.LP
+.TP 3
+\-log dir
+起動システムデーモンがデータベースおよび関連情報を書き込むのに使うディレクトリの名前を指定します。デフォルトでは、\f2rmid\fP コマンドを実行したディレクトリに、\f2log\fP というログディレクトリが作成されます。
+.LP
+.TP 3
+\-port port
+\f2rmid\fP のレジストリが使うポートを指定します。起動システムデーモンは、このレジストリの中で、\f2java.rmi.activation.ActivationSystem\fP という名前で\f2ActivationSystem\fP をバインドします。したがって、ローカルマシン上の \f2ActivationSystem\fP は、次のように \f2Naming.lookup\fP メソッドを呼び出すことによって取得できます。
+.nf
+\f3
+.fl
+ import java.rmi.*;
+.fl
+ import java.rmi.activation.*;
+.fl
-ActivationSystem system;
-system = (ActivationSystem)
-Naming.lookup("//:port/java.rmi.activation.ActivationSystem");
+.fl
+ ActivationSystem system; system = (ActivationSystem)
+.fl
+ Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem");
.fl
.fi
-
+.TP 3
+\-stop
+\f2\-port\fP オプションによって指定されたポートの、現在の \f2rmid\fP 呼び出しを停止します。ポートが指定されていない場合は、ポート 1098 で実行されている \f2rmid\fP を停止します。
.RE
-.TP
-.BI \-stop
-.B -port
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î
-.B rmid
-¤Î¸Æ¤Ó½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£¥Ý¡¼¥È¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ý¡¼¥È 1098 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë
-.B rmid
-¤òÄä»ß¤·¤Þ¤¹¡£
-.SH "´Ä¶ÊÑ¿ô"
-.TP 20
-.SB "CLASSPATH"
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç
-¶èÀÚ¤ê¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS
+.SH "環境変数"
.LP
-.ft 3
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。例を示します。
.nf
-% .:/usr/local/java/classes
-
+\f3
+.fl
+ .:/usr/local/java/classes
+.fl
+\fP
.fi
-.ft 1
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-rmic¡¢CLASSPATH¡¢java
+rmic(1)、
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath、java(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/rmiregistry.1 b/jdk/src/linux/doc/man/ja/rmiregistry.1
index 6cb4121..ec0a52e 100644
--- a/jdk/src/linux/doc/man/ja/rmiregistry.1
+++ b/jdk/src/linux/doc/man/ja/rmiregistry.1
@@ -1,108 +1,99 @@
-'\" t
-.\"
-.\" Copyright 2000-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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH rmiregistry 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B rmiregistry
-[
-.I port
-]
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java remote object registry" "" "Java remote object registry \(em \fLrmiregistry\fP"
-.IX "rmiregistry" "" "\fLrmiregistry\fP \(em Java remote object registry"
-.B rmiregistry
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¾å¤Î»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Ë¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·µ¯Æ°¤·¤Þ¤¹¡£
-¥Ý¡¼¥ÈÈֹ椬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ý¡¼¥È
-1099
-¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.B rmiregistry
-¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¡¢²¿¤â½ÐÎϤ·¤Þ¤»¤ó¡£
-°Ê²¼¤Ë»ØÄêÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.B example% rmiregistry &
-.RE
-.LP
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤Ï¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¡¢
-¥Û¥¹¥È¾å¤Î
-RMI
-¥µ¡¼¥Ð¤¬¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ë̾Á°¤ò¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-̾Á°¤¬¤Ä¤¤¤¿¤¢¤È¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Æ
-¥ê¥â¡¼¥È¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¥ì¥¸¥¹¥È¥ê¤ÏÄ̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ë
-ºÇ½é¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤½¤Î¤¢¤È¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»È¤Ã¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¸ÇͤÎ
-ÊýË¡¤Ç¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.B java.rmi.registry.LocateRegistry
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢ÆÃÄê¤Î¥Û¥¹¥È¤Þ¤¿¤ÏÆÃÄê¤Î¥Û¥¹¥È¤È¥Ý¡¼¥È¾å¤Ç
-Æ°ºî¤·¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤òÆÀ¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£
-.LP
-.B java.rmi.Naming
-¥¯¥é¥¹¤Î
-URL
-ÍѤΥ᥽¥Ã¥É¤Ï¥ì¥¸¥¹¥È¥ê¤òÁàºî¤¹¤ë¤â¤Î¤Ç¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Îõº÷¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î
-̾Á°
-(ʸ»úÎó)
-¤Î¥Ð¥¤¥ó¥É¡¢¿·¤¿¤Ê̾Á°¤Î¥Ð¥¤¥ó¥É
-(°ÊÁ°¤Î¥Ð¥¤¥ó¥É¤ò¾å½ñ¤)¡¢
-¥Ð¥¤¥ó¥É¤Î¼è¤ê¾Ã¤·¡¢¤ª¤è¤Ó¥ì¥¸¥¹¥È¥êÃæ¤Ç¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë
-URL
-¤Î°ìÍ÷ɽ¼¨¤¬²Äǽ¤Ç¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ¤Þ¤¹¡£
-.TP 15
-.BI \-J option
-java ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹
-(
-.B \-J
-¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏɬÍפ¢¤ê¤Þ¤»¤ó)¡£
-.B \-J
-¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ·¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-¼¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR java.sun.com
-¤ò»²¾È¤Þ¤¿¤Ï¸¡º÷¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 5
-.B java.rmi.Naming @
-http://java.sun.com/j2se/1.5/docs/api/java/rmi/Naming.html
-.TP 5
-.B java.rmi.registry.LocateRegistry @
-http://java.sun.com/j2se/1.5/docs/api/java/rmi/registry/LocateRegistry.html
+." Copyright 2003-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmiregistry 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.LP
+.SH "名前"
+rmiregistry \- Java リモートオブジェクトレジストリ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3rmiregistry\fP コマンドは、現在のホストの指定したポート上にリモートオブジェクトレジストリを開始します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+rmiregistry [\fP\f4port\fP\f3]
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmiregistry\fP コマンドは、現在のホストの指定 \f2port\fP 上にリモートオブジェクトレジストリを作成し、開始します。\f2port\fP の指定を省略した場合、レジストリはポート 1099 で開始します。\f3rmiregistry\fP コマンドに、出力機能はありません。通常、これはバックグラウンドで実行されます。例を示します。
+.LP
+.LP
+\f2rmiregistry&\fP
+.LP
+.LP
+リモートオブジェクトレジストリは、ブートストラップのネームサービスです。 同一ホストの RMI サーバーが、リモートオブジェクトを名前にバインドするために使用されます。次に、ローカルおよびリモートホストのクライアントはリモートオブジェクトを検索し、リモートメソッドの呼び出しを行います。
+.LP
+.LP
+レジストリは、一般的に、最初のリモートオブジェクトの位置を指定します。 そこで、アプリケーションはメソッドを呼び出す必要があります。代わって、そのオブジェクトはアプリケーション指定のサポートを提供し、他のオブジェクトを探します。
+.LP
+.LP
+\f2java.rmi.registry.LocateRegistry\fP クラスのメソッドは、ローカルホスト、またはローカルホストとポートで動作するレジストリを取得するために使用されます。
+.LP
+.LP
+\f2java.rmi.Naming\fP クラスの URL ベースのメソッドは、レジストリで動作し、任意のホストおよびローカルホスト上のリモートオブジェクトの検索に使用されます。リモートオブジェクトに単純な (文字列) 名前をバインドしたり、新しい名前をリバインド (古いバインドにオーバーライド) します。 またリモートオブジェクトをアンバインドしたり、レジストリにバインドされた URL を出力します。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-J
+\f2\-J\fP の後ろに続くオプションを \f2java\fP インタプリタに引き渡します。 \f2java\fP オプションと組み合わせて使います (\f2\-J\fP と \f2java\fP オプションの間にスペースは入れない)。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+java(1)、
+.na
+\f2java.rmi.registry.LocateRegistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html、および
+.na
+\f2java.rmi.Naming\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html
+.LP
+
+.LP
+
diff --git a/jdk/src/linux/doc/man/ja/schemagen.1 b/jdk/src/linux/doc/man/ja/schemagen.1
index 2e008f7..2a3b6e7 100644
--- a/jdk/src/linux/doc/man/ja/schemagen.1
+++ b/jdk/src/linux/doc/man/ja/schemagen.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -20,62 +18,44 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH schemagen 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH schemagen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.ad c
-.SH ̾Á°
-XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥¥Æ¥¯¥Á¥ã
+.SH "名前"
+schemagen \- XML バインドのための Java(TM) アーキテクチャースキーマジェネレータ
+.LP
+.LP
+\f3仕様バージョン:\fP 2.1
.br
-¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿\f3»ÅÍͤΥС¼¥¸¥ç¥ó:\fP 2.0
-.br
-\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (Reference Implementation¡¢RI) ¤Î¥Ð¡¼¥¸¥ç¥ó:\fP 2.0 ea3
-.br
-.ad l
+\f3実装バージョン:\fP 2.1.3
.LP
.SS
-schemagen ¤Îµ¯Æ°
+schemagen の起動
.LP
.LP
-¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î \f2bin\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë \f2schemagen\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æµ¯Æ°¤Ç¤¤Þ¤¹¡£
+スキーマジェネレータは、ユーザーのプラットフォームの \f2bin\fP ディレクトリにある \f2schemagen\fP シェルスクリプトを使って起動できます。
.LP
.LP
-¸½ºß¤Î¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤¤Þ¤¹¡£
+現在のスキーマジェネレータは、Java ソースファイルとクラスファイルのいずれも処理できます。
.LP
.LP
-¤Þ¤¿¡¢¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£schemagen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+また、スキーマジェネレータを実行するための Ant タスクも用意されています。
+.na
+\f2schemagen を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlための手順を参照してください。
.LP
.RS 3
.LP
-\f3Solaris/Linux ¤Î¾ì¹ç\fP
-.LP
.nf
\f3
.fl
- % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ...
+% schemagen.sh Foo.java Bar.java ...
.fl
- Note: Writing schema1.xsd
-.fl
-
-.fl
-\fP
-.fi
-
-.LP
-\f3WindowsNT/2000/XP ¤Î¾ì¹ç\fP
-.LP
-.nf
-\f3
-.fl
- > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ...
-.fl
- Note: Writing schema1.xsd
-.fl
-
+注: Writing schema1.xsd
.fl
\fP
.fi
@@ -83,43 +63,70 @@
.LP
.LP
-¥æ¡¼¥¶¤Î Java ¥½¡¼¥¹/¥¯¥é¥¹¤¬¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Î CLASSPATH ´Ä¶ÊÑ¿ô·Ðͳ¤Ç¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï \f2\-classpath\fP/\f2\-cp\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤½¤ì¤é¤Î¥¯¥é¥¹¤ò¥Ä¡¼¥ë¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥¹¥¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
+ユーザーの Java ソース/クラスがほかのクラスを参照している場合、システムの CLASSPATH 環境変数経由でそれらのクラスにアクセスできるようになっているか、あるいは \f2\-classpath\fP/\f2\-cp\fP オプションを使ってそれらのクラスをツールに指定する必要があります。そうしないと、スキーマの生成時にエラーが発生します。
.LP
.RS 3
.LP
-\f3¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó\fP
+\f3コマンド行オプション\fP
.LP
+.RS 3
.LP
.nf
\f3
.fl
-»ÈÍÑË¡: schemagen [\-options ...] <java files>
+使用方法: schemagen [\-options ...] <java files>
.fl
.fl
-¥ª¥×¥·¥ç¥ó:
+オプション:
.fl
- \-d <path> : ¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó javac ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-d <path> : プロセッサと javac 生成のクラスファイルを置く場所を指定します。
.fl
- \-cp <path> : ¥æ¡¼¥¶»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-cp <path> : ユーザー指定ファイルの検索場所を指定します。
.fl
- \-classpath <path> : ¥æ¡¼¥¶»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-classpath <path> : ユーザー指定ファイルの検索場所を指定します。
.fl
- \-help : ¤³¤Î»ÈÍÑÊýË¡¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹
-.fl
-
+ \-help : この使用方法に関するメッセージを表示します。
.fl
\fP
.fi
+.RE
.LP
.RE
.SS
-À¸À®¤µ¤ì¤ë¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë
+生成されるリソースファイル
.LP
.LP
-¸½ºß¤Î¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ïñ½ã¤Ë¡¢Java ¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë̾Á°¶õ´Ö¤´¤È¤Ë 1 ¤Ä¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÀ©¸æ¤¹¤ëÊýË¡¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¸ºß¤·¤Þ¤»¤ó¡£¤½¤¦¤·¤¿ÌÜŪ¤Ë¤Ï¡¢¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î ant ¥¿¥¹¥¯¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+現在のスキーマジェネレータは単純に、Java クラス内で参照されている名前空間ごとに 1 つのスキーマファイルを作成します。生成されるスキーマファイルの名前を制御する方法は、現時点では存在しません。そうした目的には、
+.na
+\f2スキーマジェネレータの Ant タスク\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlを使用してください。
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+スキーマジェネレータの実行 (schemagen):[
+.na
+\f2コマンド行の命令\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html、
+.na
+\f2SchemaGen を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html]
+.TP 2
+o
+.na
+\f2XML バインドのための JavaTM アーキテクチャー (JAXB)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
+.RE
+
.LP
diff --git a/jdk/src/linux/doc/man/ja/serialver.1 b/jdk/src/linux/doc/man/ja/serialver.1
index a90420f..6c60b72 100644
--- a/jdk/src/linux/doc/man/ja/serialver.1
+++ b/jdk/src/linux/doc/man/ja/serialver.1
@@ -1,100 +1,98 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH serialver 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-serialver \- ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó¥³¥Þ¥ó¥É
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
+." Copyright 2005-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH serialver 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+serialver \- シリアルバージョンコマンド
+.LP
+.RS 3
+
+.LP
+.LP
+\f3serialver\fP コマンドは \f2serialVersionUID\fP を返します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3serialver\fP [ options ] [ classnames ]
+.fl
+.fi
+
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+このドキュメントで説明されているコマンド行オプションです。
+.TP 3
+classnames
+1 つ以上のクラス名です。
+.RE
+
+.LP
+.RE
+.SH "説明"
.LP
.LP
.LP
-\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï \f2serialVersionUID\fP ¤òÊÖ¤·¤Þ¤¹¡£
+\f3serialver\fP は、1 つ以上のクラスの \f2serialVersionUID\fP を、展開しているクラスへコピーするのに適した形式で返します。引数を指定しないで呼び出すと、使用方法が表示されます。
.LP
-.SH "·Á¼°"
-.B serialver
-[
-.B options
-] [
-.I classnames
-]
-.TP
-.BI options
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.TP
-.BI classnames
-1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹Ì¾¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "serial version command" "" "serial version command \(em \fLserialver\fP"
-.IX "serialver" "" "\fLserialver\fP \(em serial version command"
-.B serialver
-¤Ï¡¢»ØÄꤵ¤ì¤¿ 1 ¸Ä
-¤Þ¤¿¤ÏÊ£¿ô¸Ä¤Î¥¯¥é¥¹¤Î
-.B ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó UID
-¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£
-°ú¿ô¤Ê¤·¤Ç¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢
-.B serialver
-¤Ï»ÈÍÑÊýË¡¤òÀâÌÀ¤¹¤ë¹Ô¤òɽ¼¨¤·¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP 15
-.B \-classpath " <directories and zip/jar files separated by:>"
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 15
-.B \-show
-ñ¤Ê¤ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£
-¤³¤³¤Ç´°Á´¥¯¥é¥¹Ì¾¤òÆþÎϤ·¡¢
-Enter
-¥¡¼¤Þ¤¿¤Ï
-Show
-¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó
-UID
-¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î»²¾È¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
+.SH "オプション"
.LP
-.SH "Ãí°Õ"
+
+.LP
+.RS 3
+.TP 3
+\-classpath <: で区切られたディレクトリと zip や jar ファイル>
+アプリケーションのクラスおよびリソースの検索パスを設定します。
+.RE
+
+.LP
+.RS 3
+.TP 3
+\-show
+簡単なユーザーインタフェースを表示します。完全指定のクラス名を入力して、Enter キーか [Show] ボタンを押し、シリアルバージョン UID を表示します。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+.SH "注"
.LP
.LP
.LP
-\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆɤ߹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë \f3serialver\fP ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤òÀßÄê¤Ç¤¤Þ¤¹¡£
+\f3serialver\fP コマンドは、指定されたクラスをその仮想マシン内に読み込んで初期化しますが、デフォルトではセキュリティーマネージャーの設定は行いません。信頼できないクラスとともに \f3serialver\fP を実行する場合には、次のオプションを使ってセキュリティーマネージャーを設定できます。
.LP
.RS 3
@@ -104,7 +102,7 @@
.LP
.RE
.LP
-¤Þ¤¿¡¢É¬ÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+また、必要であれば、次のオプションを使ってセキュリティーポリシーを指定できます。
.LP
.RS 3
@@ -112,16 +110,16 @@
.LP
\f2\-J\-Djava.security.policy=<policy file>\fP
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.RE
+.SH "関連項目"
.LP
.LP
.LP
-.fi
-http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html
-¤Î
.na
-¡Ö\f2java.io.ObjectStreamClass\fP¡×
+\f2java.io.ObjectStreamClass\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html
.LP
.LP
diff --git a/jdk/src/linux/doc/man/ja/servertool.1 b/jdk/src/linux/doc/man/ja/servertool.1
index ac1ba1c..a0cf7f3 100644
--- a/jdk/src/linux/doc/man/ja/servertool.1
+++ b/jdk/src/linux/doc/man/ja/servertool.1
@@ -1,226 +1,130 @@
-'\" t
-.\"
-.\" Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH servertool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-servertool - Java(TM) IDL ¥µ¡¼¥Ð¥Ä¡¼¥ë
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH servertool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B servertool
-¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬»ý³¥µ¡¼¥Ð¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£
-.SH "·Á¼°"
-.B servertool
-\-ORBInitialPort nameserverport options [ commands ]
+.SH "名前"
+servertool \- Java(TM) IDL サーバーツール
.LP
-.B servertool
-¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò
-ÆþÎϤ·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤¬
-.B servertool >
-¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£
-.B servertool >
-¥×¥í¥ó¥×¥È¤Ç
-¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£
+.RS 3
+
.LP
-.B servertool
-¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤òÆþÎϤ·¤¿¾ì¹ç¤Ï¡¢
-Java IDL ¥µ¡¼¥Ð¥Ä¡¼¥ë¤¬µ¯Æ°¤·¡¢
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.LP
-\-ORBInitialPort nameserverport ¥ª¥×¥·¥ç¥ó¤Ï¡¢É¬¿Ü¤Ç¤¹¡£
-nameserverport ¤ÎÃͤϡ¢orbd ¤ò¼Â¹Ô¤·¡¢
-Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î
-»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.BR servertool
-¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò
-¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
-¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë
-¤½¤Î¾¤Î¥³¥Þ¥ó¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.TP
-.BI \-ORBInitialHost " nameserverhost"
-¥Í¡¼¥à¥µ¡¼¥Ð¤ò¼Â¹Ô¤·¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë
-¥Û¥¹¥È¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢nameserverhost ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î
-localhost ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.B orbd
-¤È
-.B servertool
-¤¬°Û¤Ê¤ë¥Þ¥·¥ó¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢orbd ¤¬
-¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤ò
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-J option
-¥ª¥×¥·¥ç¥ó¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£
-¤³¤³¤Ç option ¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-µ¯Æ°¥×¥í¥°¥é¥à
-.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html)
-¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë
-¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢\-J-Xms48m ¤Ï¡¢
-µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-\-J ¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤ò
-ÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.SH ¥³¥Þ¥ó¥É
-.TP
-.B register \-server <server class name>
-.B \-classpath <classpath to server>
-[
-.B \-applicationName <application\ name>
-.B \-args <args to server>
-.B \-vmargs <flags to be passed
-.B to Java VM>
-]
-.RS
-.LP
-¿·¤·¤¤»ý³¥µ¡¼¥Ð¤ò Object Request Broker Daemon (ORBD) ¤ËÅÐÏ¿¤·¤Þ¤¹¡£
-¤Þ¤ÀÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥µ¡¼¥Ð¤¬ÅÐÏ¿¤µ¤ì¡¢Í¸ú²½¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢
-\-server ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ
-¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¤Î¥á¥¤¥ó¥¯¥é¥¹¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬
-¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢
-public static void install (org.omg.CORBA.ORB) ¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ò
-¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤ÏÆȼ«¤Î
-¥µ¡¼¥Ð¥¤¥ó¥¹¥È¡¼¥ëÆ°ºî (¥Ç¡¼¥¿¥Ù¡¼¥¹¥¹¥¡¼¥Þ¤ÎºîÀ®¤Ê¤É)
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+\f3servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、および停止を行うためのコマンド行インタフェースを提供します。
.RE
-.TP
-.B unregister \-serverid <server id >
-.B | \-applicationName <application\ name>
-.RS
-.LP
-¥µ¡¼¥Ð ID ¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò»ÈÍѤ·¤Æ¡¢
-ORBD ¤«¤é¥µ¡¼¥Ð¤òÅÐÏ¿²ò½ü¤·¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢\-server ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ
-¼±Ê̤µ¤ì¤¿¥µ¡¼¥Ð¤Î¥á¥¤¥ó¥¯¥é¥¹¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
-¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢
-public static void uninstall(org.omg.CORBA.ORB)
-¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ò
-¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤È¡¢
-³«È¯¼Ô¤ÏÆȼ«¤Î¥µ¡¼¥Ð¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëÆ°ºî
-(¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ÎÆ°ºî¤Î¼è¤ê¾Ã¤·¤Ê¤É)
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.RE
-.TP
-.B getserverid \-applicationName <application name>
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂбþ¤¹¤ë¥µ¡¼¥Ð ID ¤òÊÖ¤·¤Þ¤¹¡£
-.TP
-.B list
-.br
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¾ðÊó¤ò
-°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B listappnames
-ORBD ¤Ë¸½ºßÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò
-°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B listactive
-ORBD ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢²ÔÆ°¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
-»ý³¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¾ðÊó¤ò
-¤¹¤Ù¤Æ°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-locate \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-endpointType\ <endpointType>\ ]
-.RS
-.LP
-ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î ORB ¤ÎÆÃÄê¤Î¥¿¥¤¥×
-¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È (¥Ý¡¼¥È) ¤òÆÃÄꤷ¤Þ¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤À²ÔÆ°¤·¤Æ¤¤¤Ê
-¤¤¾ì¹ç¤Ï¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¿¥¤¥×¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢¥µ
-¡¼¥ÐÆâ¤Î³Æ ORB ¤Ë´ØÏ¢¤·¤¿¥×¥ì¡¼¥ó/ÈóÊݸî¤Î
-¥¨¥ó¥É¥Ý¥¤¥ó¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP 3
-locateperorb
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-orbid\ <ORB\ name>\ ]
-ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤ÎÆÃÄê¤Î ORB ¤Ë¤è¤Ã¤ÆÅÐÏ¿¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¨¥ó¥É
-¥Ý¥¤¥ó¥È (¥Ý¡¼¥È) ¤òÆÃÄꤷ¤Þ¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤ÀÆ°ºî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
-µ¯Æ°¤µ¤ì¤Þ¤¹¡£
-.BR orbid
-¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë "" ¤¬
-.BR orbid
-¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¶õ¤Îʸ»úÎó¤Î
-.BR orbid
-¤ò»ÈÍѤ·¤Æ ORB ¤¬ºîÀ®¤µ¤ì¤ë¤È¡¢¤½¤ì¤Ë¤è¤Ã¤ÆÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹
-¤Ù¤Æ¤Î¥Ý¡¼¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B orblist \-serverid <server id> |
-.B \-applicationName <application name> ]
-.RS
-.LP
-¥µ¡¼¥Ð¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë ORB ¤Î ORBId ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-ORBId ¤Ï¡¢¥µ¡¼¥Ð¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ ORB ¤Î
-ʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤À²ÔÆ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
-¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£
-.RE
-.TP
-.B shutdown \-serverid <server id> |
-.B \-applicationName <application name> ]
-.RS
-.LP
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤Î
-¼Â¹ÔÃæ¤Ë¡¢
-¥µ¡¼¥Ð¥×¥í¥»¥¹¤òŬÀÚ¤ËÄä»ß¤¹¤ë¤¿¤á¤Ë¡¢
-\-serverid ¤Þ¤¿¤Ï \-applicationName ¥Ñ¥é¥á¡¼¥¿¤Ç
-»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë
-.BR shutdown()
-¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B startup \-serverid <server id> |
-.B \-applicationName <application name>
-.RS
-.LP
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¤¬²ÔÆ°¤·¤Æ¤¤¤Ê
-¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¤¬´û¤Ë²ÔÆ°¤·¤Æ
-¤¤¤ë¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¥æ¡¼¥¶¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B help
-.br
-¤³¤Î¥µ¡¼¥Ð¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤¤ë¤¹¤Ù¤Æ¤Î
-¥³¥Þ¥ó¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B quit
-.br
-¤³¤Î¥µ¡¼¥Ð¥Ä¡¼¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£
-.RE
-.SS "´ØÏ¢¹àÌÜ"
+.SH "形式"
.LP
.LP
-orbd
+.nf
+\f3
+.fl
+servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ]
+.fl
+\fP
+.fi
+
+.LP
+.LP
+コマンドを入力しないで \f2servertool\fP を起動すると、コマンド行ツールとして \f2servertool >\fP プロンプトが表示されます。\f2servertool >\fP プロンプトにコマンドを入力します。
+.LP
+.LP
+コマンドを入力して \f2servertool\fP を起動すると、Java IDL サーバーツールが起動し、コマンドを実行して終了します。
+.LP
+.LP
+\f2\-ORBInitialPort\fP \f2nameserverport\fP オプションは\f3必須\fPです。\f2nameserverport\fP の値には、\f2orbd\fP が実行され、着信要求を待機しているポートを指定する必要があります。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、\f2nameserverport\fP として 1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、および停止を行うためのコマンド行インタフェースを提供します。そのほかに、サーバーに関するさまざまな統計情報を取得するためのコマンドも提供します。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-ORBInitialHost nameserverhost
+ネームサーバーが、実行され、着信要求を待機しているホストマシンを指定します。このオプションを指定しない場合、\f2nameserverhost\fP はデフォルトで \f2localhost\fP に設定されます。\f2orbd\fP と \f2servertool\fP が異なるマシン上で実行されている場合は、\f2orbd\fP が実行されているホストの名前と IP アドレスを指定する必要があります。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
+.LP
+.SH "コマンド"
+.LP
+
+.LP
+.RS 3
+.TP 3
+register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ]
+Object Request Broker Daemon (ORBD) に新規持続サーバーを登録します。サーバーが未登録の場合、登録して起動します。このコマンドによって、\f2\-server\fP オプションで識別されるサーバーのメインクラス内でインストールメソッドが呼び出されます。このインストールメソッドは、\f2public static void install(org.omg.CORBA.ORB)\fP になっている必要があります。インストールメソッドは、オプションであり、データベーススキーマの作成などの独自のサーバーインストール動作を開発者が指定できます。
+.TP 3
+unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+サーバー ID またはアプリケーション名を使用して、ORBD のサーバーの登録を解除します。このコマンドによって、\f2\-server\fP オプションで識別されるサーバーのメインクラス内でアンインストールメソッドが呼び出されます。このアンインストールメソッドは、\f2public static void uninstall(org.omg.CORBA.ORB)\fP になっている必要があります。アンインストールメソッドは、オプションであり、インストールメソッドの動作の取り消しなどの独自のサーバーアンインストール動作を開発者が指定できます。
+.TP 3
+getserverid \-applicationName\ <application\ name>
+アプリケーションに関連付けられているサーバー ID を返します。
+.TP 3
+list
+ORBD に登録されているすべての持続サーバーに関する情報を一覧表示します。
+.TP 3
+listappnames
+現在 ORBD に登録されているすべてのサーバーのアプリケーション名を一覧表示します。
+.TP 3
+listactive
+ORDB によって起動され、現在実行されているすべての持続サーバーに関する情報を一覧表示します。
+.TP 3
+locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ]
+登録されたサーバーで作成したすべての ORB の特定の型について端点 (ポート) を検出します。サーバーが実行されていない場合、起動されます。端点の型が指定されていない場合、サーバーの ORB ごとに関連付けられている plain 型 または non\-protected 型の端点が返されます。
+.TP 3
+locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ]
+登録されたサーバーの特定の ORB で登録された端点 (ポート) を検出します。サーバーが実行されていない場合、起動されます。\f2orbid\fP が指定されていない場合は、デフォルト値の「""」が\f2orbid\fPに割り当てられます。ORB が空文字列の \f2orbid\fP で作成されている場合、登録したポートがすべて返されます。
+.TP 3
+orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+サーバー上に定義された ORB の ORBId を一覧表示します。ORBId はサーバーで作成された ORB の文字列名です。サーバーが実行されていない場合、起動されます。
+.TP 3
+shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+ORBD に登録されたアクティブなサーバーを停止します。このコマンドの実行中に、\f2\-serverid\fP パラメータまたは \f2\-applicationName\fP パラメータで指定されたクラス内に定義された \f2shutdown()\fP メソッドも呼び出されてサーバープロセスを正しく停止します。
+.TP 3
+startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+ORBD に登録されたサーバーを起動します。サーバーが実行されていない場合は、このコマンドでサーバーを起動します。サーバーがすでに実行されている場合は、ユーザーにエラーメッセージが返されます。
+.TP 3
+help
+サーバーがサーバーツールで使用できるすべてのコマンドを表示します。
+.TP 3
+quit
+サーバーツールを終了します。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+orbd(1)
.LP
diff --git a/jdk/src/linux/doc/man/ja/tnameserv.1 b/jdk/src/linux/doc/man/ja/tnameserv.1
index 4ebd002..b0728d2 100644
--- a/jdk/src/linux/doc/man/ja/tnameserv.1
+++ b/jdk/src/linux/doc/man/ja/tnameserv.1
@@ -1,121 +1,80 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH tnameserv 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-Java IDL: °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \- \f2tnameserv\fP
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH tnameserv 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+Java IDL:一時ネームサービス \- \f2tnameserv\fP
.LP
.LP
.LP
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç¤Ï¡¢Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Java IDL ¤Ë¤Ï ORBD (Object Request Broker Daemon) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ORBD ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f3»ý³\fP¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤ò´Þ¤à¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL ¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï ORBD ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Î \f2orbd\fP ¤Ï¤É¤ì¤â¡¢\f2tnameserv\fP ¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f2orbd\fP ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤«¡¢
+このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には、Object Request Broker Daemon (ORBD) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャーを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD を使用していますが、一時ネームサービスを使用する例では、\f2orbd\fP の代わりに \f2tnameserv\fP を使用できます。\f2orbd\fP ツールの詳細については、\f2orbd\fP の orbd(1)または
.na
-\f2Java IDL Naming Service Included with ORBD\fP
+\f2ORBD に含まれる Java IDL ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤Î¥È¥Ô¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlに関するトピックを参照してください。
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢¼¡¤Î¹àÌܤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
+ここでは、以下の項目について説明します。
.LP
.RS 3
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹
+Java\ IDL 一時ネームサービス
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°
+Java\ IDL 一時ネームサービスの起動
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß
+Java\ IDL 一時ネームサービスの停止
.TP 2
o
-¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ
+サンプルクライアント:名前空間へのオブジェクトの追加
.TP 2
o
-¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º
+サンプルクライアント:名前空間のブラウズ
.RE
.LP
-.SH "Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹"
-.IX "Java IDL name server starter script" "" "Java IDL name server starter script \(em \fLtnameserv\fP"
-.IX "tnameserv" "" "\fLtnameserv\fP \(em Java IDL name server starter script"
-.SM CORBA
-¤Î
-.SM COS
-(Common Object Services) ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê
-¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·
-¤Þ¤¹¡£
-Java
-.SM IDL
-¤Î°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f2tnameserv\fP ¤Ï¡¢
-.SM COS
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£
-.LP
-¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï̾Á°¶õ´Ö¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤ÎÁȤϡ¢
-¤½¤ì¤¾¤ì¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö¥Í¡¼¥ß
-¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡×¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ï¤½¤ì¼«ÂÎ
-¤¬¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡
-ǽ¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡×¤Ë³ÊǼ¤µ
-¤ì¤Þ¤¹¡£Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤Æ¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ÏÍ£°ì¤Î»ý³Ū¥Ð¥¤¥ó
-¥Ç¥£¥ó¥°¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ï¡¢Java
-.SM IDL
-¤Î¥Í¡¼¥à¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤¬Ää»ß¤·¡¢ºÆµ¯Æ°¤µ¤ì¤ë¤È¼º¤ï¤ì¤Þ¤¹¡£
-.LP
-¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é
-.SM COS
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤Î
-.SM ORB
-¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î
-ʸ»úÎ󲽤µ¤ì¤¿½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Java
-.SM IDL
-¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤Î
-.SM COS
-½àµò¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-.LP
-.SH "Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°"
+.SH "Java\ IDL 一時ネームサービス"
.LP
.LP
-.IX "tnameserv" "Starting the Java IDL Name Server" "\fLtnameserv\fP \(em Java IDL name server starter script"
-Java
-.SM IDL
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ë
-µ¯Æ°¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Java\ IDL À½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È (Solaris: \f2tnameserv\fP) ¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë (Windows NT: \f2tnameserv.exe\fP) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç
-Æ°ºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
+CORBA の COS (Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供します。Java IDL の一時ネームサービスである \f2tnameserv\fP は、COS ネームサービスの仕様を単純な形で実装したものです。
.LP
-Æä˻ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java
-.SM IDL
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢
-.SM ORB
-¤Î
-.I resolve_initial_references(\|)
-¥á¥½¥Ã¥É¤È
-.I list_initial_references(\|)
-¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È 900 ¤ÇÂÔµ¡¤·¤Þ¤¹¡£
-¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+.LP
+オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前のペアは、それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納されます。名前空間において、初期ネーミングコンテキストは唯一の持続的バインディングです。 それ以外のネーミングコンテキストは、Java IDL のネーミングサービスプロセスが停止し、再起動されると失われます。
+.LP
+.LP
+アプレットまたはアプリケーションから COS ネームサービスを使用するためには、その ORB はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの文字列化された初期ネーミングコンテキストにアクセスできなければなりません。ネームサービスは、Java\ IDL のネームサービスでもその他の COS 準拠のネームサービスでもかまいません。
+.LP
+.SH "Java\ IDL 一時ネームサービスの起動"
+.LP
+.LP
+Java\ IDL ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に起動しておかなければなりません。Java\ IDL 製品をインストールすると、Java IDL ネームサービスを起動するスクリプト (Solaris: \f2tnameserv\fP) か、実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。バックグラウンドで動作するように、ネームサービスを起動してください。
+.LP
+.LP
+特に指定しない場合、Java IDL ネームサービスは、ORB の \f2resolve_initial_references()\fP メソッドと \f2list_initial_references()\fP メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。
.LP
.nf
\f3
@@ -127,7 +86,7 @@
.LP
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È 900 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¤â¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ë¤Ë¤Ï root ¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 ¤«¤½¤ì¤è¤ê¤âÂ礤¤¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£1050 ¤Ê¤É¤Î°Û¤Ê¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¡¢¤«¤Ä¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤é¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+ネームサーバーポートを指定しない場合、デフォルトでポート 900 が使用されます。Solaris ソフトウェアの実行時は、1024 より小さいポートでプロセスを開始する場合、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。 1050 のように別のポートを指定し、ネームサービスをバックグラウンドで実行するには、UNIX コマンドシェルで次のように入力します。
.LP
.nf
\f3
@@ -139,7 +98,7 @@
.LP
.LP
-Windows ¤Î¾ì¹ç¤Ï¡¢MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤«¤é¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
.LP
.nf
\f3
@@ -151,32 +110,32 @@
.LP
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ORB ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£
+ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティーに新しいポート番号を設定します。
.LP
.SS
-°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¤Î¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¼Â¹Ô
+異なるマシン上でのクライアントとサーバーの実行
.LP
.LP
-Java IDL ¤ª¤è¤Ó RMI\-IIOP ¤Ë´Ø¤¹¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎÂçÉôʬ¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤¹¤Ù¤Æ¤¬³«È¯¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼ÂºÝ¤ÎÇÛÈ÷¤Ç¤ÏÄ̾¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¥Þ¥·¥ó¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
+Java IDL と RMI\-IIOP のほとんどのチュートリアルでは、ネームサービス、サーバー、およびクライアントはすべて開発用のマシン上で実行されます。実際に配備する場合には、クライアントとサーバーを、ネームサービスとは異なるホスト上で実行することが多くなります。
.LP
.LP
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Ç¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈÈÖ¹æ¤È¥Û¥¹¥È¤ò¤½¤ì¤é¤¬ÃΤäƤ¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î \f2org.omg.CORBA.ORBInitialPort\fP ¤È \f2org.omg.CORBA.ORBInitialHost\fP ¥×¥í¥Ñ¥Æ¥£¤ò¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Þ¥·¥ó̾¤È¥Ý¡¼¥ÈÈÖ¹æ¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+クライアントとサーバーがネームサービスを見つけるには、クライアントとサーバーが、ネームサービスが実行されているポートの番号とホストを認識している必要があります。そのためには、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP プロパティーと \f2org.omg.CORBA.ORBInitialHost\fP プロパティーをネームサービスが実行されているポートの番号とマシンの名前に設定します。この例は、
.na
-¡Ö\f2The Hello World Example Using RMI\-IIOP\fP¡×
+\f2「RMI\-IIOP を使った Hello World の例」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó \f2\-ORBInitialPort\fP \f2nameserverport#\fP ¤È \f2\-ORBInitialHost\fP \f2nameserverhostname\fP ¤ò»È¤Ã¤Æ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¸¡º÷¾ì½ê¤ò¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÃΤ餻¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlに示されています。コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使用して、クライアントとサーバーに対してネームサービスを探す場所を指定することもできます。
.na
-¡Ö\f2Java IDL: Running the Hello World Example on TWO Machines\fP¡×
+\f2「Java IDL: 2 台のマシン上で実行する Hello World プログラム」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html) ¤Ç¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤¦ÊýË¡¤Î 1 ¤Ä¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html には、コマンド行オプションを使用して指定する方法が示されています。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤¬¥Û¥¹¥È \f2nameserverhost\fP ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È \f2clienthost\fP ¾å¤Ç¡¢¥µ¡¼¥Ð¡¼¤¬¥Û¥¹¥È \f2serverhost\fP ¾å¤Ç¡¢¤½¤ì¤¾¤ì¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
+たとえば、一時ネームサービス \f2tnameserv\fP が、ホスト \f2nameserverhost\fP のポート 1050 上で実行されているとします。さらに、クライアントがホスト \f2clienthost\fP 上で実行され、サーバーはホスト \f2serverhost\fP 上で実行されているとします。
.LP
.RS 3
.TP 2
o
-¥Û¥¹¥È \f2nameserverhost\fP ¾å¤Î \f2tnameserv\fP ¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+次のように、ホスト \f2nameserverhost\fP 上で \f2tnameserv\fP を起動します。
.nf
\f3
.fl
@@ -188,7 +147,7 @@
.fi
.TP 2
o
-\f2serverhost\fP ¾å¤Î¥µ¡¼¥Ð¡¼¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+\f2serverhost\fP 上でサーバーを起動します。
.nf
\f3
.fl
@@ -198,7 +157,7 @@
.fi
.TP 2
o
-\f2clienthost\fP ¾å¤Î¥¯¥é¥¤¥¢¥ó¥È¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+\f2clienthost\fP 上でクライアントを起動します。
.nf
\f3
.fl
@@ -210,48 +169,48 @@
.LP
.SS
-\-J ¥ª¥×¥·¥ç¥ó
+\-J オプション
.LP
-\f2tnameserv\fP ¤Ç»ÈÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+このコマンド行オプションは、\f2tnameserve\fP とともに使用できます。
.RS 3
.LP
+.RS 3
.TP 3
\-Joption
-\f2option\fP ¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2option\fP ¤Ï¡¢
-.na
-\f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë\fP
-.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È¤¹¤ë¤È¡¢µ¯Æ°»þ¤Î¥á¥â¥ê¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¼Â¹Ô¸µ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
.LP
-.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß"
+.RE
+.SH "Java\ IDL 一時ネームサービスの停止"
.LP
.LP
-Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Unix ¥×¥í¥»¥¹¤Î¾ì¹ç¤Ï \f2kill\fP ¤ò¡¢Windows ¥×¥í¥»¥¹¤Î¾ì¹ç¤Ï \f2Ctrl\-C\fP ¤ò¡¢¤½¤ì¤¾¤ì»ÈÍѤ·¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÏÌÀ¼¨Åª¤Ë¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ë¤Þ¤Ç¡¢¸Æ¤Ó½Ð¤·¤òÂÔ¤Á³¤±¤Þ¤¹¡£¤Ê¤ª¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£
+Java IDL ネームサービスを停止するには、Unix の場合は、\f2kill\fP などのオペレーティングシステムのコマンドを使い、Windows の場合は、\f2Ctrl\-C\fP を使います。ネームサービスを明示的に停止するまでは、呼び出し待機状態が続きます。なお、サービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。
.LP
-.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ"
+.SH "サンプルクライアント:名前空間へのオブジェクトの追加"
.LP
.LP
-°Ê²¼¤Ë¼¨¤¹¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢Ì¾Á°¤ò̾Á°¶õ´Ö¤ËÄɲ乤ëÊýË¡¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤ËÆ°ºî¤¹¤ë°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£
+次に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。
.LP
.nf
\f3
.fl
\fP\f3
.fl
- \fP\f4½é´ü\fP\f3
+ \fP\f4初期\fP\f3
.fl
- \fP\f4¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È\fP\f3
+ \fP\f4ネーミングコンテキスト\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
plans \fP\f4Personal\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
calendar schedule\fP
.fl
@@ -259,7 +218,7 @@
.LP
.LP
-¤³¤ÎÎã¤Ç¡¢\f3plans\fP ¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\f3Personal\fP ¤Ï \f3calendar\fP ¤È \f3schedule\fP ¤Î 2 ¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬´Þ¤Þ¤ì¤ë¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ç¤¹¡£
+この例で、\f3plans\fP はオブジェクト参照、\f3Personal\fP は \f3calendar\fP と \f3schedule\fP の 2 つのオブジェクト参照を含むネーミングコンテキストです。
.LP
.nf
\f3
@@ -286,7 +245,7 @@
.fi
.LP
-Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ËÃΤ餻¤Þ¤¹¡£
+前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。
.nf
\f3
.fl
@@ -302,7 +261,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò \f3ctx\fP ¤ËÂåÆþ¤·¤Þ¤¹¡£2 ¹ÔÌܤǤϡ¢\f3ctx\fP ¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3objref\fP ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î \f3objref\fP ¤Ë¤Ï¡¢¤¢¤È¤Ç¤µ¤Þ¤¶¤Þ¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤Æ̾Á°¶õ´Ö¤ËÄɲä·¤Þ¤¹¡£
+次のコードでは、初期ネーミングコンテキストを取得し、それを \f3ctx\fP に代入します。2 行目では、\f3ctx\fP をダミーのオブジェクト参照 \f3objref\fP にコピーします。 この \f3objref\fP には、あとでさまざまな名前を割り当てて名前空間に追加します。
.nf
\f3
.fl
@@ -318,7 +277,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢text ·¿¤Î̾Á°¡Öplans¡×¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢\f2rebind\fP ¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Î²¼¤Ë¡Öplans¡×¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£\f2rebind\fP ¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢\f2bind\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫ¤êÊÖ¤·¼Â¹Ô¤Ç¤¤Þ¤¹¡£
+次のコードでは、text 型の名前 plans を作成し、それをダミーのオブジェクト参照にバインドします。その後、\f2rebind\fP を使用して初期ネーミングコンテキストの下に "plans" を追加しています。\f2rebind\fP メソッドを使用すれば、\f2bind\fP を使用した場合に発生する例外を発生させずに、このプログラムを何度も繰り返し実行できます。
.nf
\f3
.fl
@@ -336,7 +295,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢directory ·¿¤Î¡ÖPersonal¡×¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3ctx2\fP ¤ò¤³¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ËÄɲä·¤Þ¤¹¡£
+次のコードでは、directory 型の Personal というネーミングコンテキストを作成します。その結果得られるオブジェクト参照 \f3ctx2\fP をこの名前にバインドし、初期ネーミングコンテキストに追加します。
.nf
\f3
.fl
@@ -354,7 +313,7 @@
.fi
.LP
-»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¡Öschedule¡×¤È¡Öcalendar¡×¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡ÖPersonal¡×(\f3ctx2\fP) ¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£
+残りのコードでは、ダミーのオブジェクト参照を schedule と calendar という名前でネーミングコンテキスト "Personal" (\f3ctx2\fP) にバインドします。
.nf
\f3
.fl
@@ -394,10 +353,10 @@
.fi
.LP
-.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º"
+.SH "サンプルクライアント:名前空間のブラウズ"
.LP
.LP
-¼¡¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£
+次のサンプルプログラムでは、名前空間をブラウズする方法を示します。
.LP
.nf
\f3
@@ -424,7 +383,7 @@
.fi
.LP
-Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ËÃΤ餻¤Þ¤¹¡£
+前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。
.nf
\f3
.fl
@@ -444,7 +403,7 @@
.fi
.LP
-¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
+次のコードでは、初期ネーミングコンテキストを取得しています。
.nf
\f3
.fl
@@ -458,7 +417,7 @@
.fi
.LP
-\f2list\fP ¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ËÄɲ䵤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç 1000 ¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤«¤é BindingListHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢BindingIteratorHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
+\f2list\fP メソッドは、ネーミングコンテキストに追加されているバインディングをリストします。この場合、最大 1000 個までのバインディングが初期ネーミングコンテキストから BindingListHolder に返されます。 残りのバインディングは、BindingIteratorHolder に返されます。
.nf
\f3
.fl
@@ -474,7 +433,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿ BindingListHolder ¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï½ªÎ»¤·¤Þ¤¹¡£
+次のコードでは、返された BindingListHolder からバインディングの配列を取得します。バインディングがない場合は、プログラムは終了します。
.nf
\f3
.fl
@@ -488,7 +447,7 @@
.fi
.LP
-»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£
+残りのコードでは、バインディングに対してループ処理を行い、名前を出力します。
.nf
\f3
.fl
@@ -542,4 +501,4 @@
.LP
.LP
-
+
diff --git a/jdk/src/linux/doc/man/ja/unpack200.1 b/jdk/src/linux/doc/man/ja/unpack200.1
index 5dc7e4b..e7a1b9d 100644
--- a/jdk/src/linux/doc/man/ja/unpack200.1
+++ b/jdk/src/linux/doc/man/ja/unpack200.1
@@ -1,31 +1,54 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\"
-.TH unpack200 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë
-.SH ·Á¼°
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH unpack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+unpack200 \- JAR アンパックツール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+終了ステータス
+.TP 2
+o
+関連項目
+.TP 2
+o
+説明
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -33,49 +56,72 @@
\f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP
.LP
.LP
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£
-.TP
-.I input\-file
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÏÄ̾pack200 gzip ¥Õ¥¡¥¤¥ë¤« pack200 ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤Î¤Û¤«¤Ë¡¢0 ¤òÀßÄꤹ¤ì¤Ð pack200(1) ¤«¤éºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤âÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬ Pack200 ¥Þ¡¼¥«¡¼¤È¤È¤â¤Ë½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.TP
-.I JAR\-file
-½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë̾¡£
-.SH µ¡Ç½ÀâÌÀ
-unpack200 ¥Ä¡¼¥ë¤Ï pack200(1) ¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ¤Ç¤¹¡£
-.TP
-°ìÈÌŪ¤Ê»ÈÍÑÊýË¡:
+オプションの指定順序に決まりはありません。コマンド行に指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。
.LP
-.RS
-.ft 3
-.nf
-% unpack200 myarchive.pack.gz myarchive.jar
-.fi
-.ft 1
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+input\-file
+入力ファイルの名前。 入力ファイルは通常、pack200 gzip ファイルか pack200 ファイルです。このほかに、0 を設定すれば pack200(1) から作成された JAR ファイルも入力ファイルとして使用できます。 この場合、入力ファイルの内容が Pack200 マーカーとともに出力 JAR ファイルにコピーされます。
+.TP 3
+JAR\-file
+出力 JAR ファイル名。
.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î unpack200 ÀßÄê¤Ç¡¢myarchive.pack.gz ¤«¤é myarchive.jar ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.LP
-.SS
-ɸ½à¥ª¥×¥·¥ç¥ó
-.TP
-.B \-Hvalue \--deflate-hint=value
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë true¡¢false¡¢keep ¤È¤·¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É¤Ï keep ¤Ç¤¹¡£true ¤Þ¤¿¤Ï false ¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£
+
.LP
.RE
-.SS
-Èóɸ½à¥ª¥×¥·¥ç¥ó
+.SH " 説明"
.LP
.LP
.LP
+\f2unpack200\fP は、\f2pack200\fP(1) で作成されたパックファイルを JAR ファイルに変換するネイティブ実装です。一般的な使用方法:
+.LP
+.RS 3
+
+.LP
+.LP
+\f2% unpack200 myarchive.pack.gz myarchive.jar\fP
+.LP
+.RE
+.LP
+この例では、デフォルトの \f2unpack200\fP 設定で、\f2myarchive.jar\fP から \f2myarchive.pack.gz\fP が作成されます。
+.LP
+.SH "オプション"
+.LP
+.SS
+標準オプション
+.LP
+.RS 3
+
+.LP
+.LP
+\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP
+.LP
+.RS 3
+
+.LP
+.LP
+JAR ファイル内のすべてのエントリに \f2true\fP、\f2false\fP、\f2keep\fP としてデフレーションを設定します。デフォルトモードは \f2keep\fP です。\f2true\fP または \f2false\fP の場合、デフォルトの動作をオーバーライドして、出力 JAR ファイル内のすべてのエントリのデフレーションモードを設定します。
+.LP
+.RE
+.RE
+.SS
+非標準オプション
+.LP
+.RS 3
+
+.LP
+.LP
\f4\-r \-\-remove\-pack\-file\fP
.LP
.RS 3
.LP
.LP
-ÆþÎϥѥ寥ե¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
+入力パックファイルを削除します。
.LP
.RE
.LP
@@ -85,7 +131,7 @@
.LP
.LP
-ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。
.LP
.RE
.LP
@@ -95,7 +141,7 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤ËÆ°ºî¤·¤Þ¤¹¡£
+メッセージを表示せずに動作します。
.LP
.RE
.LP
@@ -105,51 +151,65 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
+出力メッセージのログファイルを指定します。
.LP
.RE
-.SH ½ªÎ»¥¹¥Æ¡¼¥¿¥¹
-¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.TP
-.B 0 " À®¸ù"
-.TP
-.B >0 " ¥¨¥é¡¼"
-.SH ´ØÏ¢¹àÌÜ
+.RE
+.SH "終了ステータス"
+.LP
+
+.LP
+.LP
+次の終了値が返されます。
+.LP
+.RS 3
+
+.LP
+.LP
+\f2\ 0\fP " 成功"
+.LP
+.LP
+\f2>0\fP " エラー"
+.LP
+.RE
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë
+o
+pack200(1)
.TP 2
-*
-\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
+o
+.na
+\f2Java SE のドキュメント\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE ¤Î¥É¥¥å¥á¥ó¥È
-.TP 2
-*
+o
+.na
+\f2「Java 配備ガイド \- Pack200」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
-¤Î
-.na
-¡Ö\f2Java Deployment Guide¡× \- Pack200\fP
.TP 2
-*
-\f2jar\fP \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+o
+jar(1) \- Java Archive ツール」
.TP 2
-*
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
-¤Î
-.na
-¡Ö\f2jarsigner\fP¡× \- JAR ½ð̾¥Ä¡¼¥ë
+o
+「jarsigner(1) \- JAR 署名および検証ツール」
+.TP 2
+o
+\f2attributes(5)\fP のマニュアルページ
.RE
.LP
-.SH Ãí°Õ»ö¹à
-¤³¤Î¥³¥Þ¥ó¥É¤È unpack(1) ¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£
+.SH "注意事項"
+.LP
+
.LP
.LP
-¥É¥¥å¥á¥ó¥È´Ö¤ËÌ·½â¤¬¤¢¤ë¾ì¹ç¡¢SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤ¬ºÇÍ¥À褵¤ì¤Þ¤¹¡£
+このコマンドと \f2unpack(1)\fP を混同しないでください。これらは別製品です。
+.LP
+.LP
+SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。
.LP
diff --git a/jdk/src/linux/doc/man/ja/wsgen.1 b/jdk/src/linux/doc/man/ja/wsgen.1
index 68afd01..8e5786d 100644
--- a/jdk/src/linux/doc/man/ja/wsgen.1
+++ b/jdk/src/linux/doc/man/ja/wsgen.1
@@ -1,245 +1,663 @@
-'\" t
-.\"
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-.TH wsgen 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
-
-.LP
-.SH ̾Á°
-wsgen \- JAX\-WS 2.0 ¥Ù¡¼¥¿
-.LP
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH wsgen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+wsgen \- XML Web Services (JAX\-WS) 2.0 のための Java(TM) API
.RS 3
.LP
.LP
-\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹ (SEI) ¤òÆɤ߼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£
+\f3仕様バージョン:\fP 2.1
+.br
+\f3実装バージョン:\fP 2.1.1
+.LP
+.LP
+\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、Web サービスのエンドポイント実装クラス (SEI) を読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。
.LP
.RE
-.SH "·Á¼°"
+.SH "概要"
.LP
+\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、Web サービスのエンドポイントクラスを読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。JAXWS 2.1.1 RI には wsgen Ant タスクも用意されています。詳細は、
+.na
+\f2Wsgen Ant タスク\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.htmlを参照してください。
+.LP
+.SH "wsgen の起動"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP
+.TP 2
+*
+\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP
+.TP 2
+*
+\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP
+.RE
+.RE
.LP
+.SH "構文"
.nf
\f3
.fl
-wsgen [options] <SEI>
+wsgen [options] <SEI>\fP
+.br
+\f3
.fl
\fP
.fi
-
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+次の表に、\f2wsgen\fP のオプションを示します。
+.br
.LP
-.LP
-¼¡¤Îɽ¤Ë¡¢\f2wsgen\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.LP
-ɽ 1\-1 wsgen ¤Î¥ª¥×¥·¥ç¥ó
-.LP
-.LP
-.sp 1n
.TS
-center;
-cbp-1 cbp-1
-li l .
-¥ª¥×¥·¥ç¥ó ¾ÜºÙ
-_
--classpath <path> ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
--cp <path> T{
--classpath <path> ¤ÈƱ¤¸
-T}
--d <directory> À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë
--extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄÀ¤¬¤¢¤ê¤Þ¤¹
-T}
--help T{
-¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹
-T}
--keep T{
-À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹
-T}
--r <directory> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T}
--s <directory> T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë
-T}
--verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T}
--version T{
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊ󤬽ÐÎϤµ¤ì¤ë¤À¤±¤Ç¤¹¡£Ä̾ï¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
-T}
--wsdl[:protocol] T{
-wsgen ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£¤³¤Î¥Õ¥é¥°¤Ï¾Êά²Äǽ¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¤Ï wsgen ¤¬ WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ÏÄ̾¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ÎÇÛÈ÷Á°¤Ë³«È¯¼Ô¤¬ WSDL ¤ò»²¾È¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£protocol ¤Ï¾Êά²Äǽ¤Ç¤¢¤ê¡¢wsdl:binding ¤Ç»ÈÍѤ¹¤Ù¤¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Í¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¼¡¤Î¤È¤ª¤ê¤Ç ¤¹¡£ soap1.1 ¤È Xsoap1.2¡£¥Ç¥Õ¥©¥ë¥È¤Ï soap1.1 ¤Ç¤¹¡£Xsoap1.2 ¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿ ¤á¡¢-extension ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ¤Þ¤»¤ó¡£
-T}
--servicename <name> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤ wsdl:service ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : -servicename "{http://mynamespace/}MyService"
-T}
--portname <name> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤ wsdl:port ¤Î̾ Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : -portname "{http://mynamespace/}MyPort"
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+入力クラスファイルの検索場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2\-classpath <path>\fP と同じ
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成される出力ファイルを格納する場所を指定する
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可性があります
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ヘルプを表示します
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されたファイルを保持します
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \-wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されるソースファイルを格納する場所を指定する
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイラが実行している処理に関するメッセージを出力します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+バージョン情報を出力します。このオプションを使用した場合、バージョン情報が出力されるだけです。通常の処理は実行されません。
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2wsgen\fP は、デフォルトでは WSDL ファイルを生成しません。このフラグは省略可能ですが、指定した場合は \f2wsgen\fP が WSDL ファイルを生成するようになります。このフラグは通常、エンドポイントの配備前に開発者が WSDL を参照できるようにするためだけに使用されます。\f2protocol\fP は省略可能であり、\f2wsdl:binding\fP で使用すべきプロトコルを指定するために使用されます。有効なプロトコルは次のとおりです。\f2soap1.1\fP と \f2Xsoap1.2\fP。デフォルトは \f2soap1.1\fP です。\f2Xsoap1.2\fP は標準ではないため、\f2\-extension\fP オプションと組み合わせないと使用できません。
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \f2\-wsdl\fP オプションと組み合わせて使用します。WSDL 内で生成されるべき \f2wsdl:service\fP の名前を指定するために使用します。例 : \f2\-servicename "{http://mynamespace/}MyService"\fP
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \f2\-wsdl\fP オプションと組み合わせて使用します。WSDL 内で生成されるべき \f2wsdl:port\fP の名前を指定するために使用します。例 : \f2\-portname "{http://mynamespace/}MyPort"\fP
+.br
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-classpath <path>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-cp <path>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-d <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-extension\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-help\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-keep\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-r <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-s <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-verbose\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-version\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-wsdl[:protocol]\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-servicename <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-portname <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 144 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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.-57
.LP
-.SS
-Ant ¥¿¥¹¥¯
-.LP
-.LP
-\f2wsgen\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢¤³¤Î¥Ä¡¼¥ëÍѤΠAnt ¥¿¥¹¥¯¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î Ant ¥¿¥¹¥¯¤¬¥µ¥Ý¡¼¥È¤¹¤ë°À¤äÍ×ÁǤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
+.SH "例"
.nf
\f3
.fl
-
+\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP
.fl
- <wsgen
-.fl
- sei="..."
-.fl
- destdir="directory for generated class files"
-.fl
- classpath="classpath" | cp="classpath"
-.fl
- resourcedestdir="directory for generated resource files such as WSDLs"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- verbose="true|false"
-.fl
- genwsdl="true|false"
-.fl
- protocol="soap1.1|Xsoap1.2"
-.fl
- servicename="..."
-.fl
- portname="...">
-.fl
- extension="true|false"
-.fl
- <classpath refid="..."/>
-.fl
- </wsgen>
-.fl
-\fP
.fi
-
.LP
-.LP
-.TS
-center;
-lbp-1 lbp-1 lbp-1
-li l l
-li l li .
-°À ÀâÌÀ ¥³¥Þ¥ó¥É¹Ô
-_
-sei ¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹¤Î̾Á° SEI
-destdir T{
-À¸À®¤µ¤ì¤ë½ÐÎÏ¥¯¥é¥¹¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -d
-classpath ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -classpath
-cp -classpath ¤ÈƱ¤¸ -cp
-resourcedestdir T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -r
-sourcedestdir T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -s
-keep À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -keep
-verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T} -verbose
-genwsdl T{
-WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸ À®¤¹¤Ù¤¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹
-T} -wsdl
-protocol T{
-genwsdl ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£wsdl:binding ¤Ç»ÈÍѤ¹¤ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Þ¤¹¡£Í¸ú¤ÊÃͤϡÖsoap1.1¡×¤È¡ÖXsoap1.2¡×¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ï¡Ösoap1.1¡×¤Ç¤¹¡£¡ÖXsoap1.2¡×¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢-extensions ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ¤Þ¤»¤ó
-T} -wsdl:soap11
-servicename T{
-genwsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë WSDL ¤Î wsdl:service ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : servicename="{http://mynamespace/}MyService"
-T} -servicename
-portname T{
-genwsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë WSDL ¤Î wsdl:portname ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : portname="{http://mynamespace/}MyPort"
-T} -servicename
-extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T} -extension
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-68
-
-.LP
-.LP
-\f2classpath\fP °À¤Ï¡¢
-.na
-\f2Path\-like Structure\fP
-.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ç¤¢¤ê¡¢Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ \f2<classpath>\fP Í×ÁǤò»È¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¼¡¤Î \f2<taskdef>\fP Í×ÁǤò¥×¥í¥¸¥§¥¯¥È¤ËÄɲ䷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
+\f3stock\fP ディレクトリ内に @WebService 注釈が付けられた、StockService に必要なラッパークラスが生成されます。
.nf
\f3
.fl
- <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
+\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP
.fl
- <classpath path="jaxws.classpath"/>
-.fl
- </taskdef>
-.fl
-\fP
.fi
-
.LP
-.LP
-¤³¤³¤Ç¡¢\f2jaxws.classpath\fP ¤Ï¡¢JAX\-WS ¥Ä¡¼¥ë¤¬É¬ÍפȤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò´Þ¤à¡¢¥Ó¥ë¥É´Ä¶Æâ¤ÎÊ̤ξì½ê¤ËÄêµÁ¤µ¤ì¤¿
-.na
-\f2Path\-like Structure\fP
-.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ø¤Î»²¾È¤Ç¤¹¡£
-.LP
-.SH "Îã"
-.LP
-
-.LP
+SOAP 1.1 WSDL と、@WebService 注釈が付けられた Java クラス stock.StockService のスキーマが生成されます。
.nf
\f3
.fl
-<wsgen
+\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP
.fl
- resourcedestdir="${wsdl.dir}"
-.fl
- sei="fromjava.server.AddNumbersImpl">
-.fl
- <classpath refid="compile.classpath"/>
-.fl
-</wsgen>
-.fl
-\fP
.fi
-
.LP
-
+SOAP 1.2 WSDL が生成されます。
.LP
-
+サービスを配備するときに JAXWS ランタイムによって自動的に WSDL が生成されるため、開発時に WSDL を生成する必要はありません。
diff --git a/jdk/src/linux/doc/man/ja/wsimport.1 b/jdk/src/linux/doc/man/ja/wsimport.1
index d13b4de..01cb4d9 100644
--- a/jdk/src/linux/doc/man/ja/wsimport.1
+++ b/jdk/src/linux/doc/man/ja/wsimport.1
@@ -1,38 +1,84 @@
-'\" t
-.\"
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-.TH wsimport 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH wsimport 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+wsimport \- XML Web Services (JAX\-WS) 2.0 のための Java(TM) API
+.LP
+\f3仕様バージョン:\fP 2.1
+.br
+\f3実装バージョン:\fP 2.1.1
+.br
+.SH "概要"
+.LP
+\f2wsimport\fP ツールは、次のような JAX\-WS ポータブルアーティファクトを生成します。
+.RS 3
+.TP 2
+o
+サービスエンドポイントインタフェース (SEI)
+.TP 2
+o
+サービス
+.TP 2
+o
+wsdl:fault からマップされる例外クラス (存在する場合)
+.TP 2
+o
+応答 wsdl:message から派生する非同期応答 Bean (存在する場合)
+.TP 2
+o
+JAX\-B が生成する値タイプ (スキーマの型からマップされた Java クラス)
+.RE
+.LP
+これらのアーティファクトは、WSDL ドキュメント、スキーマドキュメント、およびエンドポイント実装とともに WAR ファイル内にパッケージ化して配備することができます。また、wsimport Ant タスクも用意されています。
+.na
+\f2Wsimport Ant タスク\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.htmlを参照してください。
+.br
.LP
-.SH ̾Á°
-wsimport \- JAX\-WS 2.0 ¥Ù¡¼¥¿
-.LP
-.SH "·Á¼°"
-.LP
+.SH "wsimport の起動"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2/bin/wsimport.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2\\bin\\wsimport.bat \-help\fP
+.RE
+.RE
.LP
+.SH "構文"
.nf
\f3
.fl
@@ -40,277 +86,701 @@
.fl
\fP
.fi
-
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-.LP
-.LP
-\f2wsimport\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê JAX-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.RS 3
-.TP 2
-o
-¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (SEI)
-.TP 2
-o
-¥µ¡¼¥Ó¥¹
-.TP 2
-o
-wsdl:fault ¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ëÎã³°¥¯¥é¥¹ (¸ºß¤¹¤ë¾ì¹ç)
-.TP 2
-o
-±þÅú wsdl:message ¤«¤éÇÉÀ¸¤¹¤ëÈóƱ´ü±þÅú Bean (¸ºß¤¹¤ë¾ì¹ç)
-.TP 2
-o
-JAX-B ¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥× (¥¹¥¡¼¥Þ¤Î·¿¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿ Java ¥¯¥é¥¹)
-.RE
-
-.LP
-.LP
-¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢WSDL ¥É¥¥å¥á¥ó¥È¡¢¥¹¥¡¼¥Þ¥É¥¥å¥á¥ó¥È¡¢¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë WAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤·¤ÆÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.br
-
-.LP
-.LP
-wsimport ¥Ä¡¼¥ë¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È wsimport.sh (Unix) ¤Þ¤¿¤Ï wsimport.bat (Windows) ¤ò»ÈÍѤ·¤Þ¤¹¡£WSDL ¤ò¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¸å½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.br
-
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-.LP
-¼¡¤Îɽ¤Ë¡¢\f2wsimport\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£
-.br
-
-.LP
-.LP
-ɽ 1\-1 wsimport ¤Î¥ª¥×¥·¥ç¥ó
-.LP
+次の表に、\f2wsimport\fP のオプションを示します。
.LP
.TS
-center;
-cbp-1 cbp-1
-li l.
-¥ª¥×¥·¥ç¥ó ÀâÌÀ
-_
--d <directory> À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
--b <path> T{
-³°Éô¤Î JAX-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹ (<file> ¤´¤È¤Ë -b ¤¬É¬ÍפȤʤë)
-T}
--catalog T{
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¡ÖXML Entity and URI Resolvers¡×¥É¥¥å¥á¥ó¥È¤ò¤ªÆɤߤˤʤ뤫¡¢wsimport_catalog ¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-T}
--extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T}
--help ¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹
--httpproxy:<host>:<port> T{
-HTTP ¥×¥í¥¥·¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥È¤Ï 8080)
-T}
--keep À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹
--p T{
-¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍƤϡ¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î WSDL/¥¹¥¡¼¥Þ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢ »ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹
-T}
--s <directory> T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T}
--verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T}
--version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹
--wsdllocation <location> T{
-@WebService.wsdlLocation ¤È @WebServiceClient.wsdlLocation ¤ÎÃÍ
-T}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-54
-
-.LP
-.LP
-\f2\-b\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢Ê£¿ô¤Î JAX-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ä Bean ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£
-JAX-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.br
-
-.LP
-.SS
-Ant ¥¿¥¹¥¯
-.LP
-.LP
-\f2wsimport\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢¤³¤Î¥Ä¡¼¥ëÍѤΠAnt ¥¿¥¹¥¯¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î Ant ¥¿¥¹¥¯¤¬¥µ¥Ý¡¼¥È¤¹¤ë°À¤äÍ×ÁǤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.br
-
-.LP
+.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
-\f3
-.fl
- <wsimport
-.fl
- wsdl="..."
-.fl
- destdir="directory for generated class files"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- extension="true|false"
-.fl
- verbose="true|false"
-.fl
- version="true|false"
-.fl
- wsdlLocation="..."
-.fl
- catalog="catalog file"
-.fl
- package="package name"
-.fl
- <binding dir="..." includes="..." />
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-.TS
-center;
-cbp-1 cbp-1 cbp-1
-li l l
-li l li.
-°À ÀâÌÀ ¥³¥Þ¥ó¥É¹Ô
-_
-wsdl WSDL file WSDL
-destdir À¸À®¤µ¤ì¤ë½ÐÎÏ¥¯¥é¥¹¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -d
-sourcedestdir T{
-À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ØÄê»þ¤Ë¤Ï keep ¤â¥ª¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£
-T} -s
-keep T{
-À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹¡£sourcedestdir ¥ª¥×¥·¥ç¥ó»ØÄê»þ¤Ë¥ª¥ó¤Ë¤Ê¤ê¤Þ¤¹
-T} -keep
-verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T} -verbose
-binding T{
-³°Éô¤Î JAX-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹
-T} -b
-extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T} -extension
-wsdllocation T{
-¤³¤Î¥ª¥×¥·¥ç¥ó·Ðͳ ¤Ç ÅÏ ¤µ ¤ì¤¿WSDL ¤Î URI ¤Ï¡¢À¸ À® ¤µ¤ì¤¿ SEI¤ª¤è¤Ó¥µ¡¼¥Ó¥¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î@WebService.wsdlLocation¤ª ¤è ¤Ó@WebServiceClient.wsdlLocationÃí¼áÍ×ÁǤÎÃͤòÀßÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-T} -wsdllocation
-catalog T{
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢Ant xmlcatalog ¥¿¥¤¥×¤ò»È¤Ã¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤ò²ò·è¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£wsimport_catalog ¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-T} -catalog
-package ¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹ -p
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
-
-.LP
-.LP
-\f2binding\fP °À¤Ï¡¢
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成される出力ファイルを格納する場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+外部の JAX\-WS または JAXB バインディングファイルを指定します (\f2<file>\fP ごとに \f2\-b\fP が必要となる)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+このオプションを JAXB スキーマコンパイラに渡します
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+外部エンティティー参照を解決するためのカタログファイルを指定します。 TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。
.na
-\f2Path\-like Structures\fP
+\f2カタログ\fP @
.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ç¤¢¤ê¡¢¤½¤ì¤¾¤ìÆþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ \f2<binding>\fP Í×ÁǤò»È¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¼¡¤Î \f2<taskdef>\fP Í×ÁǤò¥×¥í¥¸¥§¥¯¥È¤ËÄɲ䷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.htmlのドキュメントをお読みになり、\f3カタログ\fPのサンプルを参照してください。
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ヘルプを表示します
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3\-httpproxy:<host>:<port> \fP
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HTTP プロキシサーバーを指定します (デフォルトのポートは 8080)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されたファイルを保持します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべての WSDL/スキーマバインディングカスタマイズや、 仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されるソースファイルを格納する場所を指定します
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイラが実行している処理に関するメッセージを出力します
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+バージョン情報を出力します
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3\-wsdllocation <location>\fP
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di o+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@WebServiceClient.wsdlLocation\fP 値
+.br
+.di
+.nr o| \n(dn
+.nr o- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di p+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+指定された JAX\-WS 仕様バージョンに従ってコードを生成します。バージョン 2.0 では、JAX\-WS 2.0 仕様に準拠したコードを生成します。
+.br
+.di
+.nr p| \n(dn
+.nr p- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di q+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+wsimport 出力を抑制します
+.br
+.di
+.nr q| \n(dn
+.nr q- \n(dl
+..
+.ec \
+.35
.nf
-\f3
-.fl
- <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
-.fl
- <classpath path="jaxws.classpath"/>
-.fl
- </taskdef>
-.fl
-\fP
-.fi
-
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-d <directory> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-b <path> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-B <jaxbOption>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-catalog\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-extension \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-help \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-keep \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-p \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-s <directory> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-verbose \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-version \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-target \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-quiet \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(g-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(n-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(o-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(p-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(q-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 164 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.ne \n(h|u+\n(.Vu
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.g+
+.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
+.h+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.ne \n(o|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.n+
+.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
+.o+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(p|u+\n(.Vu
+.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.p+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(q|u+\n(.Vu
+.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.q+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.rm n+
+.rm o+
+.rm p+
+.rm q+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-72
.LP
-.LP
-¤³¤³¤Ç¡¢\f2jaxws.classpath\fP ¤Ï¡¢JAX\-WS ¥Ä¡¼¥ë¤¬É¬ÍפȤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò´Þ¤à¡¢¥Ó¥ë¥É´Ä¶Æâ¤ÎÊ̤ξì½ê¤ËÄêµÁ¤µ¤ì¤¿
+\f2\-b\fP オプションを使って、複数の JAX\-WS および JAXB バインディングファイルを指定できます。 これらのファイルを使って、パッケージ名や Bean 名など、さまざまなカスタマイズが可能です。 JAX\-WS および JAXB バインディングファイルの詳細は、
.na
-\f2Path\-like Structure\fP
+\f2カスタマイズマニュアル\fP @
.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ø¤Î»²¾È¤Ç¤¹¡£
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.htmlを参照してください。
.LP
-.SH "Îã"
-.LP
+.SH "例"
.nf
\f3
.fl
- <wsimport
+\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP
.fl
- destdir="${build.classes.home}"
-.fl
- debug="true"
-.fl
- wsdl="AddNumbers.wsdl"
-.fl
- binding="custom.xml"/>
-.fl
-\fP
.fi
-
.LP
-.LP
-¾å¤ÎÎã¤Ç¤Ï¡¢\f2AddNumbers.wsdl\fP ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\f2custom.xml\fP ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ \f2${build.classes.home}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.class\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£»ÈÍѤµ¤ì¤ë¥¯¥é¥¹¥Ñ¥¹¤Ï \f2xyz.jar\fP ¤Ç¤¢¤ê¡¢¥Ç¥Ð¥Ã¥°¾ðÊ󤬥ª¥ó¤Î¾õÂ֤ǥ³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-.LP
-.nf
-\f3
-.fl
- <wsimport
-.fl
- keep="true"
-.fl
- sourcedestdir="${source.dir}"
-.fl
- destdir="${build.classes.home}"
-.fl
- wsdl="AddNumbers.wsdl">
-.fl
- <binding dir="${basedir}/etc" includes="custom.xml"/>
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-¾å¤ÎÎã¤Ç¤Ï¡¢\f2AddNumbers.wsdl\fP ¤Î¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\f2${source.dir}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢\f2${build.classes.home}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.class\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.SH "Ãí°Õ"
-.LP
-.LP
-Êѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤¿ wsimport ¤Î Ant °À¤Î³µÍ×
-.LP
-\f3base\fP ¤¬ \f3destdir\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
+Java アーティファクトを生成し、\f2http://stockquote.xyz/quote?wsdl\fP をインポートすることで、それらのアーティファクトをコンパイルします。
.br
-
-.LP
-.br
-
-.LP
-\f3sourceBase\fP ¤¬ \f3sourcedestdir\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
-.br
-
-.LP
-.br
-
-.LP
-\f3wsdlFile\fP ¤¬ \f3wsdl\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
-.br
-.br
-\f3httpProxy\fP ¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£Âå¤ï¤ê¤Ë¡¢Ant ¤Î setproxy ¥¿¥¹¥¯¤ò»È¤Ã¤Æ¥×¥í¥¥·¹½À®¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-.br
-.br
-\f3version\fP ¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿
-.br
-
-.LP
-
-.LP
diff --git a/jdk/src/linux/doc/man/ja/xjc.1 b/jdk/src/linux/doc/man/ja/xjc.1
index 5e6ed0f..d709b4f 100644
--- a/jdk/src/linux/doc/man/ja/xjc.1
+++ b/jdk/src/linux/doc/man/ja/xjc.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,68 +18,43 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH xjc 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH xjc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.ad c
-.SH ̾Á°
-XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥¥Æ¥¯¥Á¥ã
+.SH "名前"
+xjc \- XML バインドのための Java(TM) アーキテクチャー
.br
-¥Ð¥¤¥ó¥É¥³¥ó¥Ñ¥¤¥é (xjc) \f3»ÅÍͤΥС¼¥¸¥ç¥ó:\fP 2.0
+バインディングコンパイラ
+.LP
+\f3仕様バージョン:\fP 2.1
.br
-\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (Reference Implementation¡¢RI) ¤Î¥Ð¡¼¥¸¥ç¥ó:\fP 2.0 ea3
-.br
-JAXB 2.0: ¥ê¥ê¡¼¥¹¥Î¡¼¥È | XJC | XJCTask | SchemaGen | schemagenTask | ¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó | Changelog
-.br
-JAXB 1.0.x: ¥ê¥ê¡¼¥¹¥Î¡¼¥È | Changelog
-.br
-JAXB RI ³ÈÄ¥: ¼Â¹Ô»þ¥×¥í¥Ñ¥Æ¥£ | XJC ¥«¥¹¥¿¥Þ¥¤¥º | ¥×¥é¥°¥¤¥ó³«È¯
-.br
-JAXB RI ¥¹¥¡¼¥Þ¸À¸ì: W3C XML ¥¹¥¡¼¥Þ | RELAX NG | DTD
-.br
-JAXB ¥³¥ß¥å¥Ë¥Æ¥£:
-.na
-\f2Java.net ¥Û¡¼¥à¥Ú¡¼¥¸\fP @
-.fi
-http://jaxb.dev.java.net | Developer interest list | FAQ
-.br
-.ad l
+\f3リファレンス実装 (RI) バージョン:\fP 2.1.3 .ad l
.LP
-.SS
-xjc ¤Îµ¯Æ°
+.SH "xjc の起動"
.LP
.LP
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë±þ¤¸¤¿ \f2bin\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î \f2xjc\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+バインディングコンパイラを起動するには、使用するプラットフォームに応じた \f2bin\fP ディレクトリ内の \f2xjc\fP シェルスクリプトを使用します。また、バインディングコンパイラを実行するための Ant タスクも用意されています。
+.na
+\f2xjc を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.htmlための手順を参照してください。
.LP
.RS 3
.LP
-\f3Solaris/Linux ¤Î¾ì¹ç\fP
.LP
-
-.LP
-.LP
- \f2% /path/to/jaxb/bin/xjc.sh \-help\fP
-.LP
-\f3WindowsNT/2000/XP ¤Î¾ì¹ç\fP
-.LP
-
-.LP
-.LP
- \f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP
+\f2% xjc \-help\fP
.LP
.RE
+\f3出力\fP
+.LP
.RS 3
.LP
-\f3½ÐÎÏ\fP
-.LP
-
-.LP
.nf
\f3
.fl
@@ -95,7 +68,9 @@
.fl
Compatibility Rules and App E.2 from the JAXB Spec
.fl
- \-b <file> : specify external bindings files (each <file> must have its own \-b)
+ \-b <file/dir> : specify external bindings files (each <file> must have its own \-b)
+.fl
+ If a directory is given, **/*.xjb is searched
.fl
\-d <dir> : generated files will go into this directory
.fl
@@ -115,6 +90,10 @@
.fl
\-npa : suppress generation of package level annotations (**/package\-info.java)
.fl
+ \-no\-header : suppress generation of a file header with timestamp
+.fl
+ \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features.
+.fl
\-xmlschema : treat input as W3C XML Schema (default)
.fl
\-relaxng : treat input as RELAX NG (experimental,unsupported)
@@ -135,49 +114,23 @@
.fl
\fP
.fi
-
-.LP
.RE
-.RS 3
.LP
-\f3jaxb\-xjc.jar JAR ¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô\fP
+.SH "オプション"
.LP
.LP
-.LP
-¤Û¤«¤ÎÊýË¡¤¬¤¹¤Ù¤Æ¼ºÇÔ¤·¤¿¾ì¹ç¤Ç¤â¡¢\f2jaxb\-xjc.jar\fP ¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤Ï¹Ô¤¨¤ë¤Ï¤º¤Ç¤¹¡£
-.LP
.RS 3
-
-.LP
-.TP 3
-Solaris/Linux ¤Î¾ì¹ç:
-\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP
-.TP 3
-Windows ¤Î¾ì¹ç:
-\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP
-.LP
-.RE
-.LP
-¤³¤ì¤Ï¡Öxjc.sh¡×¤ä¡Öxjc.bat¡×¤ò¼Â¹Ô¤¹¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£¤Þ¤¿¡¢¤³¤Î¾ì¹ç¡¢JVM ¥Ñ¥é¥á¡¼¥¿¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.RE
-.SS
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î³µÍ×
-.LP
-
-.LP
.TP 3
\-nv
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥¹¥¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥¡¼¥Þ¸¡¾Ú¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、ソーススキーマを処理する前に厳密な検証を実行します。このオプションを使用すると、厳密なスキーマ検証を無効にします。これは、バインディングコンパイラが検証を一切実行しないということではありません。 より厳密でない検証を実行するということです。
.TP 3
\-extension
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB »ÅÍͤΡÖCompatibility¡×¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿ E.2 ¤Ë¤Ï¡¢JAXB v1.0 ¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î W3C XML ¥¹¥¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤Ç͸ú¤Ë¤Ê¤ë¡Ö\-extension¡×¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ¤Þ¤¹¡£¡Ö\-extension¡×¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension ¤ò»ÈÍѤǤ¤Þ¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、JAXB 仕様の「Compatibility」の章で説明されている規則を厳密に強制します。付録 E.2 には、JAXB v1.0 で完全にはサポートされていない一連の W3C XML スキーマ機能が定義されています。 場合によっては、このスイッチで有効になる「\-extension」モードでそれらの機能が使用できるかもしれません。また、デフォルトの厳密なモードでは、仕様に定義されているバインディングカスタマイズのみが使用できます。「\-extension」スイッチを指定すれば、JAXB Vendor Extension を使用できます。
.TP 3
\-b <file>
-½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£(¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤´¤È¤Ë\f2¡Ö\-b¡×\fP¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£) ³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤ÏÈó¾ï¤Ë½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë
-1 ¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+処理する外部バインディングファイルを 1 つまたは複数指定します。(バインディングファイルごとに「\f2\-b\fP」スイッチを指定する必要があります。)外部バインディングファイルの構文は非常に柔軟です。複数のスキーマのカスタマイズが含まれる 1 つのバインディングファイルを使用したり、それらのカスタマイズを複数のバインディングファイルに分割したりできます。 次に例を示します。
.RS 3
.LP
@@ -185,142 +138,151 @@
.br
\f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP
.RE
-¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£
+また、コマンド行にスキーマファイルとバインディングファイルを指定する順番は任意です。
.TP 3
\-d <dir>
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java ¥³¥ó¥Æ¥ó¥Ä¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂؽÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤á¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤»¤ó¡£
+デフォルトでは、XJC バインディングコンパイラは、Java コンテンツクラスを現在のディレクトリに生成します。このオプションを使用すると、代替出力ディレクトリを指定できます。出力ディレクトリはあらかじめ存在している必要があります。 XJC バインディングコンパイラは、このディレクトリを自動的に作成しません。
.TP 3
\-p <pkg>
-¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍƤϡ¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£
+このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべてのバインディングカスタマイズや、仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます。
.TP 3
\-httpproxy <proxy>
-HTTP/HTTPS ¥×¥í¥¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï [user[:password]@]proxyHost[:proxyPort] ¤Ç¤¹¡£½¾Íè¤Î \f2\-host\fP ¤ª¤è¤Ó \f2\-port\fP ¤Ï¡¢²¼°Ì¸ß´¹À¤Î¤¿¤á¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢\f2top\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼¤Ê¤É¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤¤ë°ú¿ô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥»¥¥å¥ê¥Æ¥£¤ò¹â¤á¤ë¤Ë¤Ï¡¢¼¡¤Î \f2\-httpproxyfile\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+HTTP/HTTPS プロキシを指定します。形式は [user[:password]@]proxyHost[:proxyPort] です。従来の \f2\-host\fP および \f2\-port\fP は、下位互換性のためにリファレンス実装でもサポートされていますが、推奨されなくなりました。このオプションで指定されたパスワードは、\f2top\fP コマンドを使用するユーザーなど、ほかのユーザーが表示できる引数であることに注意してください。セキュリティーを高めるには、次の \f2\-httpproxyfile\fP を使用してください。
.TP 3
\-httpproxyfile <file>
-HTTP/HTTPS ¥×¥í¥¥·¤ò¥Õ¥¡¥¤¥ë·Ðͳ¤Ç»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï¾åµ¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+HTTP/HTTPS プロキシをファイル経由で指定します。形式は上記と同じですが、このファイル内に指定されたパスワードをほかのユーザーが表示することはできません。
.TP 3
\-classpath <arg>
-\f2<jxb:javaType>\fP ¤ª¤è¤Ó \f2<xjc:superClass>\fP ¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2<jxb:javaType>\fP および \f2<xjc:superClass>\fP カスタマイズが使用するクライアントアプリケーションのクラスファイルの検索場所を指定します。
.TP 3
\-catalog <file>
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-TR9401¡¢XCatalog¡¢¤ª¤è¤Ó OASIS XML Catalog ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢¡ØXML Entity and URI Resolvers¡Ù¥É¥¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤«¡¢
-¥«¥¿¥í¥°¥ê¥¾¥ë¥Ð¤Î¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
+外部エンティティー参照を解決するカタログファイルを指定します。TR9401、XCatalog、および OASIS XML Catalog 形式がサポートされます。詳細は、『XML Entity and URI Resolvers』ドキュメントを参照するか、\f2カタログリゾルバ\fPのサンプルアプリケーションを調べてください。
.TP 3
\-readOnly
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ë Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ë Java ¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆɤ߼è¤êÀìÍѤˤ·¤Þ¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、生成する Java ソースファイルを書き込みから保護しません。このオプションを使用すると、XJC バインディングコンパイラは生成される Java ソースを強制的に読み取り専用にします。
.TP 3
\-npa
-¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤ÎÃí¼á¤ò
-.B **/package-info.java
-¤ËÀ¸À®¤¹¤ë¤³¤È¤òÍÞÀ©¤·¤Þ¤¹¡£
-¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬
-¤Û¤«¤ÎÀ¸À®ºÑ¤ß¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£
+パッケージレベルの注釈を **/package\-info.java に生成することを抑制します。このスイッチを使用して生成するコードでは、これらの注釈がほかの生成済みクラスに内部化されます。
+.TP 3
+\-no\-header
+多少のメモとタイムスタンプを含むファイルヘッダーコメントの生成を抑制します。このオプションを使用すると、生成されたコードがわかりにくくなります。
+.TP 3
+\-target 2.0
+なんらかの JAXB 2.1 機能に依存するコードを生成しないようにします。これにより、生成されたコードを JAXB 2.0 ランタイム (JavaSE 6 など) で実行できます。
.TP 3
\-xmlschema
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò W3C XML ¥¹¥¡¼¥Þ (¥Ç¥Õ¥©¥ë¥È) ¤È¸«¤Ê¤·¤Þ¤¹¡£
-¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢ÆþÎÏ¥¹¥¡¼¥Þ¤Ï
-W3C XML ¥¹¥¡¼¥Þ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
+入力スキーマを W3C XML スキーマ (デフォルト) と見なします。このスイッチを指定しなくても、入力スキーマは W3C XML スキーマと見なされます。
.TP 3
\-relaxng
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò RELAX NG ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを RELAX NG として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-relaxng\-compact
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò RELAX NG °µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを RELAX NG 圧縮構文として処理します (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-dtd
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò XML DTD ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを XML DTD として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-wsdl
-ÆþÎϤò WSDL ¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£
+入力を WSDL として扱い、その内部のスキーマをコンパイルします (試験的、未サポート)。
.TP 3
\-quiet
-¿ÊĽ¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£
+進捗情報や警告など、コンパイラの出力を抑制します。
.TP 3
\-verbose
-¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¶Ë¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£
+情報メッセージを出力したり特定のエラー発生時にスタックトレースを表示したりするなど、極めて冗長になります。
.TP 3
\-help
-¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¡£
+コンパイラスイッチの概要を表示します。
.TP 3
\-version
-¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
+コンパイラのバージョン情報を表示します。
.TP 3
<schema file/URL/dir>
-¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¡¢xjc ¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÁöºº¤·¡¢¤½¤³¤Ç¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+コンパイル対象となる 1 つまたは複数のスキーマファイルを指定します。ユーザーがディレクトリを指定した場合、xjc はそのディレクトリを走査し、そこで見つかったすべてのスキーマファイルをコンパイルします。
+.RE
.SS
-Èó¿ä¾©¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ª¤è¤Óºï½ü¤µ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î³µÍ×
+非推奨コマンド行オプションおよび削除されたコマンド行オプションの概要
.LP
+.RS 3
.LP
+.RS 3
.TP 3
\-host & \-port
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤È¤Ê¤ê¡¢\f3\-httpproxy\fP ¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À¤ò³ÎÊݤ¹¤ëÌÜŪ¤Ç°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥¥å¥á¥ó¥È¤Ë¤ÏµºÜ¤µ¤ì¤º¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ¤â¤¢¤ê¤Þ¤¹¡£
+これらのオプションは非推奨となり、\f3\-httpproxy\fP オプションで置き換えられました。これらのオプションは、下位互換性を確保する目的で引き続きサポートされますが、ドキュメントには記載されず、将来のリリースで削除される可能性もあります。
.TP 3
\-use\-runtime
-JAXB 2.0 »ÅÍͤǰܿ¢À¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à¤¬µ¬Äꤵ¤ì¤¿¤¿¤á¡¢JAXB RI ¤¬ **/impl/runtime ¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£
+JAXB 2.0 仕様で移植性のあるランタイムが規定されたため、JAXB RI が **/impl/runtime パッケージを生成する必要がなくなりました。このため、このスイッチは不要となり、削除されました。
.TP 3
\-source
-\-source ¸ß´¹À¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤ÎºÇ½é¤Î Early Access ÈǤÇƳÆþ¤µ¤ì¤Þ¤·¤¿¡£²æ¡¹¤Ï¡¢JAXB 2.0 ¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤é¤³¤Î¥¹¥¤¥Ã¥Á¤òºï½ü¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£1.0.x ¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢1.0.x ¥³¡¼¥É¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+\-source 互換性スイッチは、JAXB 2.0 の最初の Early Access 版で導入されました。このスイッチは、JAXB 2.0 の今後のリリースから削除されることになりました。1.0.x コードを生成する必要がある場合には、1.0.x コードベースのインストールを使用してください。
.TP 3
\-Xlocator & \-Xsync\-methods
-¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Ï¸½»þÅÀ¤Ç¤Ï̵¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¾Íè¡¢¸ÄÊ̤ΥÀ¥¦¥ó¥í¡¼¥É¤È¤·¤ÆÄ󶡤µ¤ì¤ëͽÄê¤Ç¤¹¡£
+これらのスイッチは現時点では無効化されています。この機能は将来、個別のダウンロードとして提供される予定です。
+.RE
+
.LP
+.RE
.SS
-¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â
+コンパイラの制限
.LP
.LP
-Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¥¹¥¡¼¥Þ¤Ï¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ 1 ¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬¤â¤Ã¤È¤â°ÂÁ´¤Ç¤¹¡£
+通常は、関連するすべてのスキーマを、同じバインディングコンパイラスイッチを指定して 1 つの単位としてコンパイルするのがもっとも安全です。
.LP
.LP
-.B xjc
-¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ï¡¢¼¡¤Ë¼¨¤¹À©¸Â¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤é¤ÎÀ©¸Â¤Î¤Û¤È¤ó¤É¤Ï¡¢
-.B xjc
-¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£
+xjc を実行するときは、次に示す制限に注意してください。これらの制限のほとんどは、xjc を何度か呼び出して複数のスキーマをコンパイルする場合にのみ適用されます。
.LP
.RS 3
.TP 2
-*
-Ê£¿ô¤Î¥¹¥¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢
-¥¿¡¼¥²¥Ã¥È¤Î Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Îµ¬Â§¤¬
-ŬÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+o
+複数のスキーマを同時にコンパイルする場合は、ターゲットの Java パッケージ名に次の優先順位の規則が適用されることに注意してください。
.RS 3
.TP 3
1.
-¡Ö\f2\-p\fP¡×¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤â¤Ã¤È¤âÍ¥À褵¤ì¤Þ¤¹¡£
+「\f2\-p\fP」コマンド行オプションがもっとも優先されます。
.TP 3
2.
-<\f2jaxb:package\fP> ¤Î¥«¥¹¥¿¥Þ¥¤¥º
+<\f2jaxb:package\fP> のカスタマイズ
.TP 3
3.
-\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë \f2targetNamespace\fP \-> Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤òŬÍѤ·¤Þ¤¹¡£
+\f2targetNamespace\fP が宣言されている場合は、仕様に定義されている \f2targetNamespace\fP \-> Java パッケージ名のアルゴリズムを適用します。
.TP 3
4.
-\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢"generated" ¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£
+\f2targetNamespace\fP が宣言されていない場合は、"generated" という名前のハードコードされたパッケージを使用します。
.RE
.TP 2
-*
-̾Á°¶õ´Ö¤´¤È¤ËÊ£¿ô¤Î
-.B <jaxb:schemaBindings>
-¤ò»ý¤Ä¤³¤È¤ÏÉÔÀµ¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢1 ¤Ä¤Î¥¿¡¼¥²¥Ã¥È̾Á°¶õ´ÖÆâ¤Î
-2 ¤Ä¤Î¥¹¥¡¼¥Þ¤ò¡¢°Û¤Ê¤ë Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+o
+名前空間ごとに複数の <\f2jaxb:schemaBindings\fP> を持つことは不正です。 このため、1 つのターゲット名前空間内の 2 つのスキーマを、異なる Java パッケージにコンパイルすることはできません。
.TP 2
-*
-1 ¤Ä¤Î Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¹¥¡¼¥Þ¤Ï¡¢
-XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ËƱ»þ¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¸ÄÊ̤˥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤¤º¡¢ ͽ´ü¤·¤¿¤È¤ª¤ê¤ËÆ°ºî¤·¤Þ¤»¤ó¡£
+o
+1 つの Java パッケージにコンパイルされるすべてのスキーマは、XJC バインディングコンパイラに同時に送信する必要があります。 個別にコンパイルすることはできず、予期したとおりに動作しません。
.TP 2
-*
-Ê£¿ô¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+o
+複数のスキーマファイルにまたがる要素置換グループは、同時にコンパイルする必要があります。
.RE
.LP
-
+.SH "関連項目"
.LP
-$Revision: 1.4 $
-.br
-$Date: 2005/10/27 18:53:02 $
+.RS 3
+.TP 2
+o
+コマンド行でのコンバータの実行 (XJC):[
+.na
+\f2コマンド行の命令\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html、
+.na
+\f2xjc を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html]
+.TP 2
+o
+.na
+\f2XML バインドのための JavaTM アーキテクチャー (JAXB)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
+.RE
+
.LP
diff --git a/jdk/src/linux/doc/man/jar.1 b/jdk/src/linux/doc/man/jar.1
index 2ca07ba..730616a 100644
--- a/jdk/src/linux/doc/man/jar.1
+++ b/jdk/src/linux/doc/man/jar.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -21,15 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jar 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Created by: Susan Keohan 30\-Oct\-1996
-.\\" Updated by: Beth Stearns 18\-Nov\-1996
-.\\" Updated by: Marianne Mueller 11\-Dec\-1996
-.\\" Updated by: Douglas Kramer 01\-Jul\-2003
+.TH jar 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
jar\-The Java Archive Tool
.LP
\f3jar\fP combines multiple files into a single JAR archive file.
@@ -37,6 +31,7 @@
.LP
.LP
+.RS 3
.TP 3
Create jar file
\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
@@ -52,6 +47,8 @@
.TP 3
Add index to jar file
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
+.RE
+
.LP
.LP
where:
@@ -59,21 +56,20 @@
.RS 3
.LP
+.RS 3
.TP 3
cuxtiv0Mmfe
Options that control the \f2jar\fP command.
.TP 3
- jarfile
+jarfile
Jar file to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), or have its table of contents viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if either is present, they must both appear. Note that omitting \f2f\fP and \f2jarfile\fP accepts a "jar file" from standard input (for x and t) or sends the "jar file" to standard output (for c and u).
.TP 3
-
inputfiles
Files or directories, separated by spaces, to be combined into \f2jarfile\fP (for c and u), or to be extracted (for x) or listed (for t) from \f2jarfile\fP. All directories are processed recursively. The files are compressed unless option \f20\fP (zero) is used.
.TP 3
- manifest
+manifest
Pre\-existing manifest file whose \f2name\fP\f2:\fP \f2value\fP pairs are to be included in MANIFEST.MF in the jar file. The \f2\-m\fP option and filename \f2manifest\fP are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear.
.TP 3
-
entrypoint
The name of the class that set as the application entry point for stand\-alone applications bundled into executable jar file. The \f2\-e\fP option and entrypoint are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear.
.TP 3
@@ -82,6 +78,8 @@
.TP 3
\-Joption
Option to be passed into the Java runtime environment. (There must be no space between \f2\-J\fP and \f2option\fP).
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -92,11 +90,7 @@
.na
\f2ZLIB\fP @
.fi
-http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a
-.na
-\f2class path\fP @
-.fi
-http://ccc.sfbay/4291383/attachment/classpath.html entry, whether or not it is compressed.
+http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a class path entry, whether or not it is compressed.
.LP
Typical usage to combine files into a jar file is:
.LP
@@ -117,7 +111,7 @@
.na
\f2JAR file specification\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file.
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file.
.LP
If a jar file should include \f2name\ :\ value\fP pairs contained in an existing manifest file, specify that file using the \f2\-m\fP option:
.LP
@@ -193,7 +187,7 @@
.na
\f2JarIndex\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest.
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest.
.LP
.RS 3
@@ -241,6 +235,7 @@
.LP
.LP
+.RS 3
.TP 3
c
Creates a new archive file named \f2jarfile\fP (if \f2f\fP is specified) or to standard output (if \f2f\fP and \f2jarfile\fP are omitted). Add to it the files and directories specified by \f2inputfiles\fP.
@@ -326,6 +321,7 @@
\f2JAR Files\fP @
.fi
http://java.sun.com/docs/books/tutorial/jar/ trail in the Java Tutorial for examples of using the \f4\-m\fP option.
+.LP
.TP 3
e
Sets \f2entrypoint\fP as the application entry point for stand\-alone applications bundled into executable jar file. The use of this option creates or overrides the \f2Main\-Class\fP attribute value in the manifest file. This option can be used during creation of jar file or while updating the jar file. This option specifies the application entry point without editing or creating the manifest file.
@@ -434,11 +430,9 @@
.LP
.TP 3
\-Joption
-Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java application launcher\fP @
-.fi
-http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment.
+Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment.
+.RE
+
.LP
.SH "COMMAND LINE ARGUMENT FILES"
.LP
@@ -446,7 +440,7 @@
.LP
To shorten or simplify the jar command line, you can specify one or more files that themselves contain arguments to the \f2jar\fP command (except \f2\-J\fP options). This enables you to create jar commands of any length, overcoming command line limits imposed by the operating system.
.LP
-An argument file can include options and filenames. The arguments within a file can be space–separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files.
+An argument file can include options and filenames. The arguments within a file can be space\-separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files.
.LP
.LP
When executing \f2jar\fP, pass in the path and name of each argument file with the \f2@\fP leading character. When \f2jar\fP encounters an argument beginning with the character \f2@\fP, it expands the contents of that file into the argument list.
@@ -676,21 +670,21 @@
.na
\f2The Jar Overview\fP @
.fi
-http://ccc.sfbay/guide/jar/jarGuide.html
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
.br
.LP
.na
\f2The Jar File Specification\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
.br
.LP
.na
\f2The JarIndex Spec\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Index
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
.br
.LP
@@ -701,9 +695,6 @@
.br
.LP
-.na
-\f2pack200 Reference Page\fP @
-.fi
-http://ccc.sfbay/4291383/share/pack200.html
+pack200(1)
.LP
diff --git a/jdk/src/linux/doc/man/jarsigner.1 b/jdk/src/linux/doc/man/jarsigner.1
index 1e41859..81a8d1f 100644
--- a/jdk/src/linux/doc/man/jarsigner.1
+++ b/jdk/src/linux/doc/man/jarsigner.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jarsigner 1 "07 Aug 2006"
-." Generated by html2man
+.TH jarsigner 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jarsigner \- JAR Signing and Verification Tool
.LP
.RS 3
@@ -45,11 +42,14 @@
.fl
\fP\f3jarsigner\fP [ options ] jar\-file alias
.fl
-\f3jarsigner\fP \-verify [ options ] jar\-file
+\f3jarsigner\fP \-verify [ options ] jar\-file [alias...]
.fl
.fi
.LP
+.LP
+The jarsigner \-verify command can take zero or more keystore alias names after the jar filename. When specified, jarsigner will check that the certificate used to verify each signed entry in the jar file matches one of the keystore aliases. The aliases are defined in the keystore specified by \-keystore, or the default keystore.
+.LP
.SH "DESCRIPTION"
.LP
@@ -68,7 +68,7 @@
.LP
.LP
-The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named \f3jar\fP enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.)
+The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named jar(1) enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.)
.LP
.LP
A \f2digital signature\fP is a string of bits that is computed from some data (the data being "signed") and the private key of an entity (a person, company, etc.). Like a handwritten signature, a digital signature has many useful characteristics:
@@ -93,21 +93,969 @@
In order for an entity's signature to be generated for a file, the entity must first have a public/private key pair associated with it, and also one or more certificates authenticating its public key. A \f2certificate\fP is a digitally signed statement from one entity, saying that the public key of some other entity has a particular value.
.LP
.LP
-\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The \f3keytool\fP utility is used to create and administer keystores.
+\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The keytool(1) utility is used to create and administer keystores.
.LP
.LP
\f3jarsigner\fP uses an entity's private key to generate a signature. The signed JAR file contains, among other things, a copy of the certificate from the keystore for the public key corresponding to the private key used to sign the file. \f3jarsigner\fP can verify the digital signature of the signed JAR file using the certificate inside it (in its signature block file).
.LP
.LP
-Starting in J2SE 5.0, \f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs were added in J2SE 5.0 to allow applications to obtain the timestamp information.
+\f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs will allow applications to obtain the timestamp information.
.LP
.LP
-At this time, \f3jarsigner\fP can only sign JAR files created by the SDK \f3jar\fP tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.)
+At this time, \f3jarsigner\fP can only sign JAR files created by the SDK jar(1) tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.)
.LP
.LP
The default \f3jarsigner\fP behavior is to \f2sign\fP a JAR (or zip) file. Use the \f2\-verify\fP option to instead have it \f2verify\fP a signed JAR file.
.LP
.SS
+Keystore Aliases
+.LP
+.RS 3
+
+.LP
+.LP
+All keystore entities are accessed via unique \f2aliases\fP.
+.LP
+.LP
+When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file.
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass dukekeypasswd MyJARFile.jar duke
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password.
+.LP
+.RE
+.SS
+Keystore Location
+.LP
+.RS 3
+
+.LP
+.LP
+\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory.
+.LP
+.LP
+Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device.
+.LP
+.RE
+.SS
+Keystore Implementation
+.LP
+.RS 3
+
+.LP
+.LP
+The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore.
+.LP
+.LP
+Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it.
+.LP
+.LP
+There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
+.LP
+.LP
+Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in
+.na
+\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html.
+.LP
+.LP
+Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
+.LP
+.LP
+\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL.
+.LP
+.LP
+For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu.
+.LP
+.LP
+If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
+.LP
+.LP
+Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.
+.LP
+.LP
+The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property):
+.LP
+.nf
+\f3
+.fl
+ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+.fl
+\fP
+.fi
+
+.LP
+.LP
+The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file:
+.LP
+.nf
+\f3
+.fl
+ keystore.type=jks
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks".
+.LP
+.LP
+To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to
+.LP
+.nf
+\f3
+.fl
+ keystore.type=pkcs12
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that if you us the PKCS#11 provider package, you should refer to the
+.na
+\f2KeyTool and JarSigner\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner section of the Java PKCS#11 Reference Guide for details.
+.LP
+.RE
+.SS
+Supported Algorithms
+.LP
+.RS 3
+
+.LP
+.LP
+By default, \f3jarsigner\fP signs a JAR file using either
+.LP
+.RS 3
+.TP 2
+o
+DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or
+.TP 2
+o
+the RSA algorithm with the SHA\-1 digest algorithm.
+.RE
+
+.LP
+.LP
+That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "SHA1withRSA" algorithm.
+.LP
+.LP
+These default signature algorithms can be overridden using the \f2\-sigalg\fP option.
+.LP
+.RE
+.SS
+The Signed JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory:
+.LP
+.RS 3
+.TP 2
+o
+a signature file, with a .SF extension, and
+.TP 2
+o
+a signature block file, with a .DSA extension.
+.RE
+
+.LP
+.LP
+The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as
+.LP
+.nf
+\f3
+.fl
+ \-sigFile MKSIGN
+.fl
+\fP
+.fi
+
+.LP
+.LP
+the files are named "MKSIGN.SF" and "MKSIGN.DSA".
+.LP
+.LP
+If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not allowed in a signature file name, each such character is converted to an underscore ("_") character in forming the file name. Legal characters include letters, digits, underscores, and hyphens.
+.LP
+\f3The Signature (.SF) File\fP
+.LP
+.RS 3
+
+.LP
+.LP
+A signature file (the .SF file) looks similar to the manifest file that is always included in a JAR file when \f3jarsigner\fP is used to sign the file. That is, for each source file included in the JAR file, the .SF file has three lines, just as in the manifest file, listing the following:
+.LP
+.RS 3
+.TP 2
+o
+the file name,
+.TP 2
+o
+the name of the digest algorithm used (SHA), and
+.TP 2
+o
+a SHA digest value.
+.RE
+
+.LP
+.LP
+In the manifest file, the SHA digest value for each source file is the digest (hash) of the binary data in the source file. In the .SF file, on the other hand, the digest value for a given source file is the hash of the three lines in the manifest file for the source file.
+.LP
+.LP
+The signature file also, by default, includes a header containing a hash of the whole manifest file. The presence of the header enables verification optimization, as described in JAR File Verification.
+.LP
+.RE
+\f3The Signature Block (.DSA) File\fP
+.LP
+.RS 3
+
+.LP
+.LP
+The .SF file is signed and the signature is placed in the .DSA file. The .DSA file also contains, encoded inside it, the certificate or certificate chain from the keystore which authenticates the public key corresponding to the private key used for signing.
+.LP
+.RE
+.RE
+.SS
+Signature Timestamp
+.LP
+.RS 3
+
+.LP
+.LP
+\f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options:
+.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
+.RE
+
+.LP
+.LP
+Each of these options is detailed in the Options section below.
+.LP
+.RE
+.SS
+JAR File Verification
+.LP
+.RS 3
+
+.LP
+.LP
+A successful JAR file verification occurs if the signature(s) are valid, and none of the files that were in the JAR file when the signatures were generated have been changed since then. JAR file verification involves the following steps:
+.LP
+.RS 3
+.TP 3
+1.
+Verify the signature of the .SF file itself.
+.LP
+That is, the verification ensures that the signature stored in each signature block (.DSA) file was in fact generated using the private key corresponding to the public key whose certificate (or certificate chain) also appears in the .DSA file. It also ensures that the signature is a valid signature of the corresponding signature (.SF) file, and thus the .SF file has not been tampered with.
+.TP 3
+2.
+Verify the digest listed in each entry in the .SF file with each corresponding section in the manifest.
+.LP
+The .SF file by default includes a header containing a hash of the entire manifest file. When the header is present, then the verification can check to see whether or not the hash in the header indeed matches the hash of the manifest file. If that is the case, verification proceeds to the next step.
+.LP
+If that is not the case, a less optimized verification is required to ensure that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file (see The Signature (.SF) File).
+.LP
+One reason the hash of the manifest file that is stored in the .SF file header may not equal the hash of the current manifest file would be because one or more files were added to the JAR file (using the \f2jar\fP tool) after the signature (and thus the .SF file) was generated. When the \f2jar\fP tool is used to add files, the manifest file is changed (sections are added to it for the new files), but the .SF file is not. A verification is still considered successful if none of the files that were in the JAR file when the signature was generated have been changed since then, which is the case if the hashes in the non\-header sections of the .SF file equal the hashes of the corresponding sections in the manifest file.
+.TP 3
+3.
+Read each file in the JAR file that has an entry in the .SF file. While reading, compute the file's digest, and then compare the result with the digest for this file in the manifest section. The digests should be the same, or verification fails.
+.RE
+
+.LP
+.LP
+If any serious verification failures occur during the verification process, the process is stopped and a security exception is thrown. It is caught and displayed by \f3jarsigner\fP.
+.LP
+.RE
+.SS
+Multiple Signatures for a JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+A JAR file can be signed by multiple people simply by running the \f3jarsigner\fP tool on the file multiple times, specifying the alias for a different person each time, as in:
+.LP
+.nf
+\f3
+.fl
+ jarsigner myBundle.jar susan
+.fl
+ jarsigner myBundle.jar kevin
+.fl
+\fP
+.fi
+
+.LP
+.LP
+When a JAR file is signed multiple times, there are multiple .SF and .DSA files in the resulting JAR file, one pair for each signature. Thus, in the example above, the output JAR file includes files with the following names:
+.LP
+.nf
+\f3
+.fl
+ SUSAN.SF
+.fl
+ SUSAN.DSA
+.fl
+ KEVIN.SF
+.fl
+ KEVIN.DSA
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note: It is also possible for a JAR file to have mixed signatures, some generated by the JDK 1.1 \f3javakey\fP tool and others by \f3jarsigner\fP. That is, \f3jarsigner\fP can be used to sign JAR files already previously signed using \f3javakey\fP.
+.LP
+.RE
+.SH "OPTIONS"
+.LP
+
+.LP
+.LP
+The various \f3jarsigner\fP options are listed and described below. Note:
+.LP
+.RS 3
+.TP 2
+o
+All option names are preceded by a minus sign (\-).
+.TP 2
+o
+The options may be provided in any order.
+.TP 2
+o
+Items in italics (option values) represent the actual values that must be supplied.
+.TP 2
+o
+The \f2\-keystore\fP, \f2\-storepass\fP, \f2\-keypass\fP, \f2\-sigfile\fP, \f2\-sigalg\fP, \f2\-digestalg\fP, and \f2\-signedjar\fP options are only relevant when signing a JAR file, not when verifying a signed JAR file. Similarly, an alias is only specified on the command line when signing a JAR file.
+.RE
+
+.LP
+.RS 3
+.TP 3
+\-keystore url
+Specifies the URL that tells the keystore location. This defaults to the file \f2.keystore\fP in the user's home directory, as determined by the "user.home" system property.
+.LP
+A keystore is required when signing, so you must explicitly specify one if the default keystore does not exist (or you want to use one other than the default).
+.LP
+A keystore is \f2not\fP required when verifying, but if one is specified, or the default exists, and the \f2\-verbose\fP option was also specified, additional information is output regarding whether or not any of the certificates used to verify the JAR file are contained in that keystore.
+.LP
+Note: the \f2\-keystore\fP argument can actually be a file name (and path) specification rather than a URL, in which case it will be treated the same as a "file:" URL. That is,
+.nf
+\f3
+.fl
+ \-keystore \fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+is treated as equivalent to
+.nf
+\f3
+.fl
+ \-keystore file:\fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+If the Sun PKCS#11 provider has been configured in the \f2java.security\fP security properties file (located in the JRE's \f2$JAVA_HOME/lib/security\fP directory), then keytool and jarsigner can operate on the PKCS#11 token by specifying these options:
+.RS 3
+.TP 2
+o
+\f2\-keystore NONE\fP
+.TP 2
+o
+\f2\-storetype PKCS11\fP
+.RE
+For example, this command lists the contents of the configured PKCS#11 token:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore NONE \-storetype PKCS11 \-list
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-storetype storetype
+Specifies the type of keystore to be instantiated. The default keystore type is the one that is specified as the value of the "keystore.type" property in the security properties file, which is returned by the static \f2getDefaultType\fP method in \f2java.security.KeyStore\fP.
+.LP
+The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP option. If none has been specified, keytool and jarsigner will prompt for the token PIN. If the token has a protected authentication path (such as a dedicated PIN\-pad or a biometric reader), then the \f2\-protected\fP option must be specified and no password options can be specified.
+.TP 3
+\-storepass password
+Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password.
+.LP
+Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system.
+.TP 3
+\-keypass password
+Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it.
+.LP
+Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
+.TP 3
+\-sigfile file
+Specifies the base file name to be used for the generated .SF and .DSA files. For example, if \f2file\fP is "DUKESIGN", the generated .SF and .DSA files will be named "DUKESIGN.SF" and "DUKESIGN.DSA", and will be placed in the "META\-INF" directory of the signed JAR file.
+.LP
+The characters in \f2file\fP must come from the set "a\-zA\-Z0\-9_\-". That is, only letters, numbers, underscore, and hyphen characters are allowed. Note: All lowercase characters will be converted to uppercase for the .SF and .DSA file names.
+.LP
+If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not legal in a signature file name, each such character is converted to an underscore ("_") character in forming the file name.
+.TP 3
+\-sigalg algorithm
+.RS 3
+
+.LP
+Specifies the name of the signature algorithm to use to sign the JAR file.
+.LP
+See
+.na
+\f2Appendix A\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or SHA1withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
+.LP
+.RE
+.TP 3
+\-digestalg algorithm
+.RS 3
+Specifies the name of the message digest algorithm to use when digesting the entries of a jar file.
+.LP
+See
+.na
+\f2Appendix A\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
+.LP
+.RE
+.TP 3
+\-signedjar file
+Specifies the name to be used for the signed JAR file.
+.LP
+If no name is specified on the command line, the name used is the same as the input JAR file name (the name of the JAR file to be signed); in other words, that file is overwritten with the signed JAR file.
+.TP 3
+\-verify
+If this appears on the command line, the specified JAR file will be verified, not signed. If the verification is successful, "jar verified" will be displayed. If you try to verify an unsigned JAR file, or a JAR file signed with an unsupported algorithm (e.g., RSA when you don't have an RSA provider installed), the following is displayed: "jar is unsigned. (signatures missing or not parsable)"
+.LP
+It is possible to verify JAR files signed using either \f3jarsigner\fP or the JDK 1.1 \f3javakey\fP tool, or both.
+.LP
+For further information on verification, see JAR File Verification.
+.TP 3
+\-certs
+If this appears on the command line, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file. This information includes
+.RS 3
+.TP 2
+o
+the name of the type of certificate (stored in the .DSA file) that certifies the signer's public key
+.TP 2
+o
+if the certificate is an X.509 certificate (more specifically, an instance of \f2java.security.cert.X509Certificate\fP): the distinguished name of the signer
+.RE
+.LP
+The keystore is also examined. If no keystore value is specified on the command line, the default keystore file (if any) will be checked. If the public key certificate for a signer matches an entry in the keystore, then the following information will also be displayed:
+.RS 3
+.TP 2
+o
+in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses.
+.RE
+.TP 3
+\-certchain file
+Specifies the certificate chain to be used, if the certificate chain associated with the private key of the keystore entry, addressed by the alias specified on the command line, is not complete. This may happen if the keystore is located on a hardware token where there is not enough capacity to hold a complete certificate chain. The file can be a sequence of X.509 certificates concatenated together, or a single PKCS#7 formatted data block, either in binary encoding format or in printable encoding format (also known as BASE64 encoding) as defined by the Internet RFC 1421 standard.
+.TP 3
+\-verbose
+If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification.
+.TP 3
+\-internalsf
+In the past, the .DSA (signature block) file generated when a JAR file was signed used to include a complete encoded copy of the .SF file (signature file) also generated. This behavior has been changed. To reduce the overall size of the output JAR file, the .DSA file by default doesn't contain a copy of the .SF file anymore. But if \f2\-internalsf\fP appears on the command line, the old behavior is utilized. \f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
+.TP 3
+\-sectionsonly
+If this appears on the command line, the .SF file (signature file) generated when a JAR file is signed does \f2not\fP include a header containing a hash of the whole manifest file. It just contains information and hashes related to each individual source file included in the JAR file, as described in The Signature (.SF) File .
+.LP
+By default, this header is added, as an optimization. When the header is present, then whenever the JAR file is verified, the verification can first check to see whether or not the hash in the header indeed matches the hash of the whole manifest file. If so, verification proceeds to the next step. If not, it is necessary to do a less optimized verification that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file.
+.LP
+For further information, see JAR File Verification.
+.LP
+\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
+.TP 3
+\-protected
+Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
+.RE
+.RS 3
+.TP 3
+\-provider provider\-class\-name
+Used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file, \f2java.security\fP.
+.LP
+Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, keytool and jarsigner will install the provider dynamically (where \f2ConfigFilePath\fP is the path to the token configuration file). Here's an example of a command to list a PKCS#11 keystore when the Sun PKCS#11 provider has not been configured in the security properties file.
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+ \-providerClass sun.security.pkcs11.SunPKCS11 \\
+.fl
+ \-providerArg /foo/bar/token.config \\
+.fl
+ \-list
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-providerName providerName
+If more than one provider has been configured in the \f2java.security\fP security properties file, you can use the \f2\-providerName\fP option to target a specific provider instance. The argument to this option is the name of the provider.
+.LP
+For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\fP\f2TokenName\fP, where \f2TokenName\fP is the name suffix that the provider instance has been configured with, as detailed in the
+.na
+\f2configuration attributes table\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+ \-providerName SunPKCS11\-SmartCard \\
+.fl
+ \-list
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-Jjavaoption
+Passes through the specified \f2javaoption\fP string directly to the Java interpreter. (\f3jarsigner\fP is actually a "wrapper" around the interpreter.) This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
+.LP
+.TP 3
+\-tsa url
+If \f2"\-tsa http://example.tsa.url"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The URL, \f2http://example.tsa.url\fP, identifies the location of the Time Stamping Authority (TSA). It overrides any URL found via the \f2\-tsacert\fP option. The \f2\-tsa\fP option does not require the TSA's public key certificate to be present in the keystore.
+.LP
+To generate the timestamp, \f2jarsigner\fP communicates with the TSA using the Time\-Stamp Protocol (TSP) defined in
+.na
+\f2RFC 3161\fP @
+.fi
+http://www.ietf.org/rfc/rfc3161.txt. If successful, the timestamp token returned by the TSA is stored along with the signature in the signature block file.
+.LP
+.TP 3
+\-tsacert alias
+If \f2"\-tsacert alias"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The \f2alias\fP identifies the TSA's public key certificate in the keystore that is currently in effect. The entry's certificate is examined for a Subject Information Access extension that contains a URL identifying the location of the TSA.
+.LP
+The TSA's public key certificate must be present in the keystore when using \f2\-tsacert\fP.
+.LP
+.TP 3
+\-altsigner class
+Specifies that an alternative signing mechanism be used. The fully\-qualified class name identifies a class file that extends the \f2com.sun.jarsigner.ContentSigner abstract class\fP. The path to this class file is defined by the \f2\-altsignerpath\fP option. If the \f2\-altsigner\fP option is used, \f2jarsigner\fP uses the signing mechanism provided by the specified class. Otherwise, \f2jarsigner\fP uses its default signing mechanism.
+.LP
+For example, to use the signing mechanism provided by a class named \f2com.sun.sun.jarsigner.AuthSigner\fP, use the \f2jarsigner\fP option \f2"\-altsigner com.sun.jarsigner.AuthSigner"\fP
+.LP
+.TP 3
+\-altsignerpath classpathlist
+Specifies the path to the class file (the class file name is specified with the \f2\-altsigner\fP option described above) and any JAR files it depends on. If the class file is in a JAR file, then this specifies the path to that JAR file, as shown in the example below.
+.LP
+An absolute path or a path relative to the current directory may be specified. If \f2classpathlist\fP contains multiple paths or JAR files, they should be separated with a colon (\f2:\fP) on Solaris and a semi\-colon (\f2;\fP) on Windows. This option is not necessary if the class is already in the search path.
+.LP
+Example of specifying the path to a jar file that contains the class file:
+.RS 3
+
+.LP
+.LP
+\f2\-altsignerpath /home/user/lib/authsigner.jar\fP
+.LP
+.RE
+.LP
+Note that the JAR file name is included.
+.LP
+Example of specifying the path to the jar file that contains the class file:
+.RS 3
+.LP
+\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
+.LP
+.RE
+.LP
+Note that the JAR file name is omitted.
+.TP 3
+\-strict
+During the signing or verifying process, some warning messages may be shown. If this option appears on the command line, the exit code of the tool will reflect the warning messages that are found. Read the "WARNINGS" section for details.
+.TP 3
+\-verbose:sub\-options
+For the verifying process, the \f2\-verbose\fP option takes sub\-options to determine how much information will be shown. If \f2\-certs\fP is also specified, the default mode (or sub\-option all) displays each entry as it is being processed and following that, the certificate information for each signer of the JAR file. If \f2\-certs\fP and the \f2\-verbose:grouped\fP sub\-option are specified, entries with the same signer info are grouped and displayed together along with their certificate information. If \f2\-certs\fP and the \f2\-verbose:summary\fP sub\-option are specified, then entries with the same signer info are grouped and displayed together along with their certificate information but details about each entry are summarized and displayed as "one entry (and more)". See the examples section for more information.
+.RE
+.SH "EXAMPLES"
+.LP
+
+.LP
+.SS
+Signing a JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar":
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP.
+.LP
+.LP
+If you want to be prompted for the store password and the private key password, you could shorten the above command to
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore
+.fl
+ \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in:
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option:
+.LP
+.nf
+\f3
+.fl
+ jarsigner bundle.jar jane
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.SS
+Verifying a Signed JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following:
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-verify sbundle.jar
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the verification is successful,
+.LP
+.nf
+\f3
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+is displayed. Otherwise, an error message appears.
+.LP
+.LP
+You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output:
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.SS
+Verification with Certificate Information
+.LP
+.LP
+If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example,
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get
+.LP
+.nf
+\f3
+.fl
+ PGP, (bob)
+.fl
+\fP
+.fi
+
+.LP
+.SS
+Verification of a JAR File that Includes Identity Database Signers
+.LP
+.LP
+If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear.
+.LP
+.LP
+When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example:
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+ i = at least one certificate was found in identity scope
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias.
+.LP
+.RE
+.SH "WARNINGS"
+.LP
+
+.LP
+During the signing/verifying process, jarsigner may display various warnings. These warning codes are defined as follows:
+.nf
+\f3
+.fl
+ hasExpiringCert 2
+.fl
+ This jar contains entries whose signer certificate will expire within six months
+.fl
+
+.fl
+ hasExpiredCert 4
+.fl
+ This jar contains entries whose signer certificate has expired.
+.fl
+
+.fl
+ notYetValidCert 4
+.fl
+ This jar contains entries whose signer certificate is not yet valid.
+.fl
+
+.fl
+ chainNotValidated 4
+.fl
+ This jar contains entries whose certificate chain cannot be correctly validated.
+.fl
+
+.fl
+ badKeyUsage 8
+.fl
+ This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.
+.fl
+
+.fl
+ badExtendedKeyUsage 8
+.fl
+ This jar contains entries whose signer certificate's ExtendedKeyUsage extension
+.fl
+ doesn't allow code signing.
+.fl
+
+.fl
+ badNetscapeCertType 8
+.fl
+ This jar contains entries whose signer certificate's NetscapeCertType extension
+.fl
+ doesn't allow code signing.
+.fl
+
+.fl
+ hasUnsignedEntry 16
+.fl
+ This jar contains unsigned entries which have not been integrity\-checked.
+.fl
+
+.fl
+ notSignedByAlias 32
+.fl
+ This jar contains signed entries which are not signed by the specified alias(es)
+.fl
+
+.fl
+ aliasNotInStore 32
+.fl
+ This jar contains signed entries that are not signed by alias in this keystore
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+When the \f2\-strict\fP option is provided, an OR\-value of warnings detected will be returned as the exit code of the tool. For example, if a certificate used to sign an entry is expired and has a keyUsage extension that does not allow it to sign a file, an exit code 12 (=4+8) will be returned.
+.LP
+.LP
+\f3Note\fP: Exit codes are reused because only 0\-255 is legal for Unix. In any case, if the signing/verifying process fails, the exit code
+.LP
+.nf
+\f3
+.fl
+failure 1
+.fl
+\fP
+.fi
+
+.LP
+will be returned.
+.SS
Compatibility with JDK 1.1
.LP
.RS 3
@@ -443,7 +1391,7 @@
.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 161 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1129 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -642,854 +1590,6 @@
.RE
.LP
-.SS
-Keystore Aliases
-.LP
-.RS 3
-
-.LP
-.LP
-All keystore entities are accessed via unique \f2aliases\fP.
-.LP
-.LP
-When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file.
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore \-storepass myspass
-.fl
- \-keypass dukekeypasswd MyJARFile.jar duke
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password.
-.LP
-.RE
-.SS
-Keystore Location
-.LP
-.RS 3
-
-.LP
-.LP
-\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory.
-.LP
-.LP
-Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device.
-.LP
-.RE
-.SS
-Keystore Implementation
-.LP
-.RS 3
-
-.LP
-.LP
-The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore.
-.LP
-.LP
-Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it.
-.LP
-.LP
-There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
-.LP
-.LP
-Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in
-.na
-\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html.
-.LP
-.LP
-Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
-.LP
-.LP
-\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL.
-.LP
-.LP
-For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu.
-.LP
-.LP
-If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
-.LP
-.LP
-Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.
-.LP
-.LP
-The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property):
-.LP
-.nf
-\f3
-.fl
- KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file:
-.LP
-.nf
-\f3
-.fl
- keystore.type=jks
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks".
-.LP
-.LP
-To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to
-.LP
-.nf
-\f3
-.fl
- keystore.type=pkcs12
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that if you us the PKCS#11 provider package, you should refer to the
-.na
-\f2KeyTool and JarSigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner section of the Java PKCS#11 Reference Guide for details.
-.LP
-.RE
-.RE
-.SS
-Supported Algorithms
-.LP
-.RS 3
-
-.LP
-.LP
-By default, \f3jarsigner\fP signs a JAR file using either
-.LP
-.RS 3
-.TP 2
-o
-DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or
-.TP 2
-o
-the RSA algorithm with the MD5 digest algorithm.
-.RE
-
-.LP
-.LP
-That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "MD5withRSA" algorithm.
-.LP
-.LP
-These default signature algorithms can be overridden using the \f2\-sigalg\fP option.
-.LP
-.RE
-.SS
-The Signed JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory:
-.LP
-.RS 3
-.TP 2
-o
-a signature file, with a .SF extension, and
-.TP 2
-o
-a signature block file, with a .DSA extension.
-.RE
-
-.LP
-.LP
-The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as
-.LP
-.nf
-\f3
-.fl
- \-sigFile MKSIGN
-.fl
-\fP
-.fi
-
-.LP
-.LP
-the files are named "MKSIGN.SF" and "MKSIGN.DSA".
-.LP
-.LP
-If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not allowed in a signature file name, each such character is converted to an underscore ("_") character in forming the file name. Legal characters include letters, digits, underscores, and hyphens.
-.LP
-\f3The Signature (.SF) File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-A signature file (the .SF file) looks similar to the manifest file that is always included in a JAR file when \f3jarsigner\fP is used to sign the file. That is, for each source file included in the JAR file, the .SF file has three lines, just as in the manifest file, listing the following:
-.LP
-.RS 3
-.TP 2
-o
-the file name,
-.TP 2
-o
-the name of the digest algorithm used (SHA), and
-.TP 2
-o
-a SHA digest value.
-.RE
-
-.LP
-.LP
-In the manifest file, the SHA digest value for each source file is the digest (hash) of the binary data in the source file. In the .SF file, on the other hand, the digest value for a given source file is the hash of the three lines in the manifest file for the source file.
-.LP
-.LP
-The signature file also, by default, includes a header containing a hash of the whole manifest file. The presence of the header enables verification optimization, as described in JAR File Verification.
-.LP
-.RE
-\f3The Signature Block (.DSA) File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-The .SF file is signed and the signature is placed in the .DSA file. The .DSA file also contains, encoded inside it, the certificate or certificate chain from the keystore which authenticates the public key corresponding to the private key used for signing.
-.LP
-.RE
-.RE
-.SS
-Signature Timestamp
-.LP
-.RS 3
-
-.LP
-.LP
-As of the J2SE 5.0 release, the \f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options:
-.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
-.RE
-
-.LP
-.LP
-Each of these options is detailed in the Options section below.
-.LP
-.RE
-.SS
-JAR File Verification
-.LP
-.RS 3
-
-.LP
-.LP
-A successful JAR file verification occurs if the signature(s) are valid, and none of the files that were in the JAR file when the signatures were generated have been changed since then. JAR file verification involves the following steps:
-.LP
-.RS 3
-.TP 3
-1.
-Verify the signature of the .SF file itself.
-.LP
-That is, the verification ensures that the signature stored in each signature block (.DSA) file was in fact generated using the private key corresponding to the public key whose certificate (or certificate chain) also appears in the .DSA file. It also ensures that the signature is a valid signature of the corresponding signature (.SF) file, and thus the .SF file has not been tampered with.
-.TP 3
-2.
-Verify the digest listed in each entry in the .SF file with each corresponding section in the manifest.
-.LP
-The .SF file by default includes a header containing a hash of the entire manifest file. When the header is present, then the verification can check to see whether or not the hash in the header indeed matches the hash of the manifest file. If that is the case, verification proceeds to the next step.
-.LP
-If that is not the case, a less optimized verification is required to ensure that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file (see The Signature (.SF) File).
-.LP
-One reason the hash of the manifest file that is stored in the .SF file header may not equal the hash of the current manifest file would be because one or more files were added to the JAR file (using the \f2jar\fP tool) after the signature (and thus the .SF file) was generated. When the \f2jar\fP tool is used to add files, the manifest file is changed (sections are added to it for the new files), but the .SF file is not. A verification is still considered successful if none of the files that were in the JAR file when the signature was generated have been changed since then, which is the case if the hashes in the non\-header sections of the .SF file equal the hashes of the corresponding sections in the manifest file.
-.TP 3
-3.
-Read each file in the JAR file that has an entry in the .SF file. While reading, compute the file's digest, and then compare the result with the digest for this file in the manifest section. The digests should be the same, or verification fails.
-.RE
-
-.LP
-.LP
-If any serious verification failures occur during the verification process, the process is stopped and a security exception is thrown. It is caught and displayed by \f3jarsigner\fP.
-.LP
-.RE
-.SS
-Multiple Signatures for a JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-A JAR file can be signed by multiple people simply by running the \f3jarsigner\fP tool on the file multiple times, specifying the alias for a different person each time, as in:
-.LP
-.nf
-\f3
-.fl
- jarsigner myBundle.jar susan
-.fl
- jarsigner myBundle.jar kevin
-.fl
-\fP
-.fi
-
-.LP
-.LP
-When a JAR file is signed multiple times, there are multiple .SF and .DSA files in the resulting JAR file, one pair for each signature. Thus, in the example above, the output JAR file includes files with the following names:
-.LP
-.nf
-\f3
-.fl
- SUSAN.SF
-.fl
- SUSAN.DSA
-.fl
- KEVIN.SF
-.fl
- KEVIN.DSA
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note: It is also possible for a JAR file to have mixed signatures, some generated by the JDK 1.1 \f3javakey\fP tool and others by \f3jarsigner\fP. That is, \f3jarsigner\fP can be used to sign JAR files already previously signed using \f3javakey\fP.
-.LP
-.RE
-.SH "OPTIONS"
-.LP
-
-.LP
-.LP
-The various \f3jarsigner\fP options are listed and described below. Note:
-.LP
-.RS 3
-.TP 2
-o
-All option names are preceded by a minus sign (\-).
-.TP 2
-o
-The options may be provided in any order.
-.TP 2
-o
-Items in italics (option values) represent the actual values that must be supplied.
-.TP 2
-o
-The \f2\-keystore\fP, \f2\-storepass\fP, \f2\-keypass\fP, \f2\-sigfile\fP, \f2\-sigalg\fP, \f2\-digestalg\fP, and \f2\-signedjar\fP options are only relevant when signing a JAR file, not when verifying a signed JAR file. Similarly, an alias is only specified on the command line when signing a JAR file.
-.RE
-
-.LP
-.RS 3
-.TP 3
-\-keystore url
-Specifies the URL that tells the keystore location. This defaults to the file \f2.keystore\fP in the user's home directory, as determined by the "user.home" system property.
-.LP
-A keystore is required when signing, so you must explicitly specify one if the default keystore does not exist (or you want to use one other than the default).
-.LP
-A keystore is \f2not\fP required when verifying, but if one is specified, or the default exists, and the \f2\-verbose\fP option was also specified, additional information is output regarding whether or not any of the certificates used to verify the JAR file are contained in that keystore.
-.LP
-Note: the \f2\-keystore\fP argument can actually be a file name (and path) specification rather than a URL, in which case it will be treated the same as a "file:" URL. That is,
-.nf
-\f3
-.fl
- \-keystore \fP\f4filePathAndName\fP\f3
-.fl
-\fP
-.fi
-is treated as equivalent to
-.nf
-\f3
-.fl
- \-keystore file:\fP\f4filePathAndName\fP\f3
-.fl
-\fP
-.fi
-If the Sun PKCS#11 provider has been configured in the \f2java.security\fP security properties file (located in the JRE's \f2$JAVA_HOME/lib/security\fP directory), then keytool and jarsigner can operate on the PKCS#11 token by specifying these options:
-.RS 3
-.TP 2
-o
-\f2\-keystore NONE\fP
-.TP 2
-o
-\f2\-storetype PKCS11\fP
-.RE
-For example, this command lists the contents of the configured PKCS#11 token:
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore NONE \-storetype PKCS11 \-list
-.fl
-
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-storetype storetype
-Specifies the type of keystore to be instantiated. The default keystore type is the one that is specified as the value of the "keystore.type" property in the security properties file, which is returned by the static \f2getDefaultType\fP method in \f2java.security.KeyStore\fP.
-.LP
-The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP option. If none has been specified, keytool and jarsigner will prompt for the token PIN. If the token has a protected authentication path (such as a dedicated PIN\-pad or a biometric reader), then the \f2\-protected\fP option must be specified and no password options can be specified.
-.TP 3
-\-storepass password
-Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password.
-.LP
-Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
-.TP 3
-\-keypass password
-Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it.
-.LP
-Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
-.TP 3
-\-sigfile file
-Specifies the base file name to be used for the generated .SF and .DSA files. For example, if \f2file\fP is "DUKESIGN", the generated .SF and .DSA files will be named "DUKESIGN.SF" and "DUKESIGN.DSA", and will be placed in the "META\-INF" directory of the signed JAR file.
-.LP
-The characters in \f2file\fP must come from the set "a\-zA\-Z0\-9_\-". That is, only letters, numbers, underscore, and hyphen characters are allowed. Note: All lowercase characters will be converted to uppercase for the .SF and .DSA file names.
-.LP
-If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not legal in a signature file name, each such character is converted to an underscore ("_") character in forming the file name.
-.TP 3
-\-sigalg algorithm
-.RS 3
-
-.LP
-Specifies the name of the signature algorithm to use to sign the JAR file.
-.LP
-See
-.na
-\f2Appendix A\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or MD5withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
-.LP
-.RE
-.TP 3
-\-digestalg algorithm
-.RS 3
-Specifies the name of the message digest algorithm to use when digesting the entries of a jar file.
-.LP
-See
-.na
-\f2Appendix A\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
-.LP
-.RE
-.TP 3
-\-signedjar file
-Specifies the name to be used for the signed JAR file.
-.LP
-If no name is specified on the command line, the name used is the same as the input JAR file name (the name of the JAR file to be signed); in other words, that file is overwritten with the signed JAR file.
-.TP 3
-\-verify
-If this appears on the command line, the specified JAR file will be verified, not signed. If the verification is successful, "jar verified" will be displayed. If you try to verify an unsigned JAR file, or a JAR file signed with an unsupported algorithm (e.g., RSA when you don't have an RSA provider installed), the following is displayed: "jar is unsigned. (signatures missing or not parsable)"
-.LP
-It is possible to verify JAR files signed using either \f3jarsigner\fP or the JDK 1.1 \f3javakey\fP tool, or both.
-.LP
-For further information on verification, see JAR File Verification.
-.TP 3
-\-certs
-If this appears on the command line, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file. This information includes
-.RS 3
-.TP 2
-o
-the name of the type of certificate (stored in the .DSA file) that certifies the signer's public key
-.TP 2
-o
-if the certificate is an X.509 certificate (more specifically, an instance of \f2java.security.cert.X509Certificate\fP): the distinguished name of the signer
-.RE
-.LP
-The keystore is also examined. If no keystore value is specified on the command line, the default keystore file (if any) will be checked. If the public key certificate for a signer matches an entry in the keystore, then the following information will also be displayed:
-.RS 3
-.TP 2
-o
-in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses.
-.RE
-.TP 3
-\-verbose
-If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification.
-.TP 3
-\-internalsf
-In the past, the .DSA (signature block) file generated when a JAR file was signed used to include a complete encoded copy of the .SF file (signature file) also generated. This behavior has been changed. To reduce the overall size of the output JAR file, the .DSA file by default doesn't contain a copy of the .SF file anymore. But if \f2\-internalsf\fP appears on the command line, the old behavior is utilized. \f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
-.TP 3
-\-sectionsonly
-If this appears on the command line, the .SF file (signature file) generated when a JAR file is signed does \f2not\fP include a header containing a hash of the whole manifest file. It just contains information and hashes related to each individual source file included in the JAR file, as described in The Signature (.SF) File .
-.LP
-By default, this header is added, as an optimization. When the header is present, then whenever the JAR file is verified, the verification can first check to see whether or not the hash in the header indeed matches the hash of the whole manifest file. If so, verification proceeds to the next step. If not, it is necessary to do a less optimized verification that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file.
-.LP
-For further information, see JAR File Verification.
-.LP
-\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
-.TP 3
-\-protected
-Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
-.RE
-.RS 3
-.TP 3
-\-provider provider\-class\-name
-Used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file, \f2java.security\fP.
-.LP
-Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, keytool and jarsigner will install the provider dynamically (where \f2ConfigFilePath\fP is the path to the token configuration file). Here's an example of a command to list a PKCS#11 keystore when the Sun PKCS#11 provider has not been configured in the security properties file.
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
-.fl
- \-providerClass sun.security.pkcs11.SunPKCS11 \\
-.fl
- \-providerArg /foo/bar/token.config \\
-.fl
- \-list
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-providerName providerName
-If more than one provider has been configured in the \f2java.security\fP security properties file, you can use the \f2\-providerName\fP option to target a specific provider instance. The argument to this option is the name of the provider.
-.LP
-For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\fP\f2TokenName\fP, where \f2TokenName\fP is the name suffix that the provider instance has been configured with, as detailed in the
-.na
-\f2configuration attributes table\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP:
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
-.fl
- \-providerName SunPKCS11\-SmartCard \\
-.fl
- \-list
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-Jjavaoption
-Passes through the specified \f2javaoption\fP string directly to the Java interpreter. (\f3jarsigner\fP is actually a "wrapper" around the interpreter.) This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
-.LP
-.TP 3
-\-tsa url
-If \f2"\-tsa http://example.tsa.url"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The URL, \f2http://example.tsa.url\fP, identifies the location of the Time Stamping Authority (TSA). It overrides any URL found via the \f2\-tsacert\fP option. The \f2\-tsa\fP option does not require the TSA's public key certificate to be present in the keystore.
-.LP
-To generate the timestamp, \f2jarsigner\fP communicates with the TSA using the Time\-Stamp Protocol (TSP) defined in
-.na
-\f2RFC 3161\fP @
-.fi
-http://www.ietf.org/rfc/rfc3161.txt. If successful, the timestamp token returned by the TSA is stored along with the signature in the signature block file.
-.LP
-.TP 3
-\-tsacert alias
-If \f2"\-tsacert alias"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The \f2alias\fP identifies the TSA's public key certificate in the keystore that is currently in effect. The entry's certificate is examined for a Subject Information Access extension that contains a URL identifying the location of the TSA.
-.LP
-The TSA's public key certificate must be present in the keystore when using \f2\-tsacert\fP.
-.LP
-.TP 3
-\-altsigner class
-Specifies that an alternative signing mechanism be used. The fully\-qualified class name identifies a class file that extends the \f2com.sun.jarsigner.ContentSigner abstract class\fP. The path to this class file is defined by the \f2\-altsignerpath\fP option. If the \f2\-altsigner\fP option is used, \f2jarsigner\fP uses the signing mechanism provided by the specified class. Otherwise, \f2jarsigner\fP uses its default signing mechanism.
-.LP
-For example, to use the signing mechanism provided by a class named \f2com.sun.sun.jarsigner.AuthSigner\fP, use the \f2jarsigner\fP option \f2"\-altsigner com.sun.jarsigner.AuthSigner"\fP
-.LP
-.TP 3
-\-altsignerpath classpathlist
-Specifies the path to the class file (the class file name is specified with the \f2\-altsigner\fP option described above) and any JAR files it depends on. If the class file is in a JAR file, then this specifies the path to that JAR file, as shown in the example below.
-.LP
-An absolute path or a path relative to the current directory may be specified. If \f2classpathlist\fP contains multiple paths or JAR files, they should be separated with a colon (\f2:\fP) on Solaris and a semi\-colon (\f2;\fP) on Windows. This option is not necessary if the class is already in the search path.
-.LP
-Example of specifying the path to a jar file that contains the class file:
-.RS 3
-
-.LP
-.LP
-\f2\-altsignerpath /home/user/lib/authsigner.jar\fP
-.LP
-.RE
-.LP
-Note that the JAR file name is included.
-.LP
-Example of specifying the path to the jar file that contains the class file:
-.RS 3
-.LP
-\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
-.LP
-.RE
-.LP
-Note that the JAR file name is omitted.
-.RE
-.SH "EXAMPLES"
-.LP
-
-.LP
-.SS
-Signing a JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar":
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore \-storepass myspass
-.fl
- \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP.
-.LP
-.LP
-If you want to be prompted for the store password and the private key password, you could shorten the above command to
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore
-.fl
- \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in:
-.LP
-.nf
-\f3
-.fl
- jarsigner \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option:
-.LP
-.nf
-\f3
-.fl
- jarsigner bundle.jar jane
-.fl
-\fP
-.fi
-.RE
-
-.LP
-.SS
-Verifying a Signed JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following:
-.LP
-.nf
-\f3
-.fl
- jarsigner \-verify sbundle.jar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the verification is successful,
-.LP
-.nf
-\f3
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-is displayed. Otherwise, an error message appears.
-.LP
-.LP
-You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output:
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.SS
-Verification with Certificate Information
-.LP
-.LP
-If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example,
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get
-.LP
-.nf
-\f3
-.fl
- PGP, (bob)
-.fl
-\fP
-.fi
-
-.LP
-.SS
-Verification of a JAR File that Includes Identity Database Signers
-.LP
-.LP
-If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear.
-.LP
-.LP
-When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example:
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
- i = at least one certificate was found in identity scope
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias.
-.LP
-.RE
.SH "SEE ALSO"
.LP
@@ -1497,24 +1597,25 @@
.RS 3
.TP 2
o
-jar tool documentation
+jar(1) tool documentation
.TP 2
o
-keytool tool documentation
+keytool(1) tool documentation
.TP 2
o
the
.na
\f4Security\fP @
.fi
-http://java.sun.com/docs/books/tutorial/security1.2/index.html trail of the
+http://java.sun.com/docs/books/tutorial/security/index.html trail of the
.na
\f4Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of the \f3jarsigner\fP tool
+http://java.sun.com/docs/books/tutorial/index.html for examples of the use of the \f3jarsigner\fP tool
.RE
.LP
.LP
+.RE
diff --git a/jdk/src/linux/doc/man/java.1 b/jdk/src/linux/doc/man/java.1
index 3348e8e..ffd6820 100644
--- a/jdk/src/linux/doc/man/java.1
+++ b/jdk/src/linux/doc/man/java.1
@@ -1,5 +1,4 @@
-.'" t
-." ." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH java 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH java 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
java \- the Java application launcher
.LP
.SH "SYNOPSIS"
@@ -105,13 +103,21 @@
.LP
Select the Java HotSpot Client VM. A 64\-bit capable jdk currently ignores this option and instead uses the Java Hotspot Server VM.
.LP
-For default VM selection, see Server\-Class Machine Detection
+For default VM selection, see
+.na
+\f2Server\-Class Machine Detection\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
.TP 3
\-server
.LP
Select the Java HotSpot Server VM. On a 64\-bit capable jdk only the Java Hotspot Server VM is supported so the \-server option is implicit.
.LP
-For default VM selection, see Server\-Class Machine Detection
+For default VM selection, see
+.na
+\f2Server\-Class Machine Detection\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
.TP 3
\-agentlib:libname[=options]
Load native agent library \f2libname\fP, e.g.
@@ -122,10 +128,18 @@
.LP
\-agentlib:hprof=help
.LP
-For more information, see JVMTI Agent Command Line Options.
+For more information, see
+.na
+\f2JVMTI Agent Command Line Options\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting.
.TP 3
\-agentpath:pathname[=options]
-Load a native agent library by full pathname. For more information, see JVMTI Agent Command Line Options.
+Load a native agent library by full pathname. For more information, see
+.na
+\f2JVMTI Agent Command Line Options\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting.
.TP 3
\-classpath classpath
.TP 3
@@ -139,7 +153,11 @@
.br
For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
.LP
-For more information on class paths, see Setting the Class Path.
+For more information on class paths, see
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath.
.TP 3
\-Dproperty=value
Set a system property value.
@@ -201,7 +219,7 @@
.LP
.TP 3
\-jar
-Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the
+Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the jar(1) and the Jar trail of the
.na
\f2Java Tutorial\fP @
.fi
@@ -209,10 +227,18 @@
.LP
When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.
.LP
-Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to Java Archive (JAR) Files.
+Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to
+.na
+\f2Java Archive (JAR) Files\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html.
.TP 3
\-javaagent:jarpath[=options]
-Load a Java programming language agent, see java.lang.instrument.
+Load a Java programming language agent, see
+.na
+\f2java.lang.instrument\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html.
.TP 3
\-verbose
.TP 3
@@ -235,11 +261,11 @@
.nf
\f3
.fl
-\-version:"1.5.0_04 1.5*&1.5.1_02+"
+\-version:"1.6.0_13 1.6*&1.6.0_10+"
.fl
\fP
.fi
-The meaning of the above is that the class or jar file requires either version 1.5.0_02, or a version with 1.5 as a version\-id prefix and that is not less than 1.5.1_02. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56).
+The meaning of the above is that the class or jar file requires either version 1.6.0_13, or a version with 1.6 as a version\-id prefix and that is not less than 1.6.0_10.. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56).
.LP
For jar files, the usual preference is to specify version requirements in the jar file manifest rather than on the command line.
.LP
@@ -345,7 +371,7 @@
On Solaris 7 and Solaris 8 SPARC platforms, the upper limit for this value is approximately 4000m minus overhead amounts. On Solaris 2.6 and x86 platforms, the upper limit is approximately 2000m minus overhead amounts. On Linux platforms, the upper limit is approximately 2000m minus overhead amounts.
.TP 3
\-Xprof
-Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be be used in production systems.
+Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be used in production systems.
.LP
.TP 3
\-Xrs
@@ -393,19 +419,19 @@
.nf
\f3
.fl
-"1.5.0_03+"
+"1.6.0_10+"
.fl
\fP
.fi
.LP
-Would utilize any version greater than 1.5.0_03. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified.
+Would utilize any version greater than 1.6.0_10. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified.
.TP 3
3.
A version greater than an arbitrarily precise version\-id, bounded by the upper bound of that release family. For example:
.nf
\f3
.fl
-"1.5.0_03+&1.5*"
+"1.6.0_10+&1.6*"
.fl
\fP
.fi
@@ -415,11 +441,11 @@
.nf
\f3
.fl
-"1.4.2_05+&1.4* 1.5+"
+"1.6.0_10+&1.6* 1.7+"
.fl
\fP
.fi
-Similar to item 2. this is useful when a change was introduced in a release (1.5) but also made available in updates to previous releases.
+Similar to item 2. this is useful when a change was introduced in a release (1.7) but also made available in updates to previous releases.
.RE
.LP
@@ -430,22 +456,28 @@
.RS 3
.TP 2
o
-javac \- the Java programming language compiler
+javac(1)
.TP 2
o
-jdb \- Java Application Debugger
+jdb(1)
.TP 2
o
-javah \- C Header and Stub File Generator
+javah(1)
.TP 2
o
-jar \- JAR Archive Tool
+jar(1)
.TP 2
o
-The Java Extensions Framework
+.na
+\f2The Java Extensions Framework\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.TP 2
o
-Security Features.
+.na
+\f2Security Features\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/index.html.
.TP 2
o
.na
diff --git a/jdk/src/linux/doc/man/javac.1 b/jdk/src/linux/doc/man/javac.1
index 8a01845..7019e63 100644
--- a/jdk/src/linux/doc/man/javac.1
+++ b/jdk/src/linux/doc/man/javac.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH javac 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH javac 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javac \- Java programming language compiler
.LP
.SH "SYNOPSIS"
@@ -36,7 +33,9 @@
.nf
\f3
.fl
-\fP\f3javac\fP [ options ] [ sourcefiles ] [ @argfiles ]
+ \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ]
+.fl
+
.fl
.fi
@@ -55,6 +54,9 @@
sourcefiles
One or more source files to be compiled (such as MyClass.java).
.TP 3
+classes
+One or more classes to be processed for annotations (such as MyPackage.MyClass).
+.TP 3
@argfiles
One or more files that lists options and source files. The \f2\-J\fP options are not allowed in these files.
.RE
@@ -66,10 +68,10 @@
.LP
.LP
-The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files.
+The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. It can also process annotations in Java source files and classes.
.LP
.LP
-There are two ways to pass source code filenames to \f3javac\fP:
+There are two ways to pass source code file names to \f3javac\fP:
.LP
.RS 3
.TP 2
@@ -93,46 +95,6 @@
.LP
By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with \f3\-d\fP (see Options, below).
.LP
-.SH "SEARCHING FOR TYPES"
-.LP
-
-.LP
-.LP
-When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance.
-.LP
-.LP
-For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP.
-.LP
-.LP
-When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see Setting the Class Path).
-.LP
-.LP
-If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files.
-.LP
-.LP
-You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below.
-.LP
-.LP
-A successful type search may produce a class file, a source file, or both. Here is how \f3javac\fP handles each situation:
-.LP
-.RS 3
-.TP 2
-o
-\f2Search produces a class file but no source file:\fP \f3javac\fP uses the class file.
-.TP 2
-o
-\f2Search produces a source file but no class file:\fP \f3javac\fP compiles the source file and uses the resulting class file.
-.TP 2
-o
-\f2Search produces both a source file and a class file:\fP \f3javac\fP determines whether the class file is out of date. If the class file is out of date, \f3javac\fP recompiles the source file and uses the updated class file. Otherwise, \f3javac\fP just uses the class file.
-.LP
-\f3javac\fP considers a class file out of date only if it is older than the source file.
-.RE
-
-.LP
-.LP
-\f3Note:\fP \ \f3javac\fP can silently compile source files not mentioned on the command line. Use the \f3\-verbose\fP option to trace automatic compilation.
-.LP
.SH "OPTIONS"
.LP
@@ -148,15 +110,24 @@
.LP
.RS 3
.TP 3
-\-classpath classpath
-Set the user class path, overriding the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP or \f3\-classpath\fP is specified, the user class path consists of the current directory. See Setting the Class Path for more details.
+\-Akey[=value]
+Options to pass to annotation processors. These are not interpreted by javac directly, but are made available for use by individual processors. \f2key\fP should be one or more identifiers separated by ".".
+.TP 3
+\-cp path or \-classpath path
+Specify where to find user class files, and (optionally) annotation processors and source files. This classpath overrides the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP, \f3\-cp\fP nor \f3\-classpath\fP is specified, the user class path consists of the current directory. See
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath for more details.
.LP
-If the \f3\-sourcepath\fP option is not specified, the user class path is searched for both source files and class files.
+If the \f3\-sourcepath\fP option is not specified, the user class path is also searched for source files.
.LP
-As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
+If the \f3\-processorpath\fP option is not specified, the classpath is also searched for annotation processors.
+.LP
+As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP.
.br
.br
-For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
+For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. \f3Note:\fP \ Depending of the configuration of your command line environment, you may have to quote the wild card character, for example, \f2javac \-cp "*.jar" MyClass.java\fP.
.TP 3
\-Djava.ext.dirs=directories
Override the location of installed extensions.
@@ -165,17 +136,17 @@
Override the location of endorsed standards path.
.TP 3
\-d directory
-Set the destination directory for class files. The destination directory must already exist; javac will not create the destination directory. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP.
+Set the destination directory for class files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP.
.LP
-If \f3\-d\fP is not specified, \f3javac\fP puts the class file in the same directory as the source file.
+If \f3\-d\fP is not specified, \f3javac\fP puts each class files in the same directory as the source file from which it was generated.
.LP
\f3Note:\fP \ The directory specified by \f3\-d\fP is not automatically added to your user class path.
.TP 3
\-deprecation
-Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows the names of source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP.
+Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows a summary of the source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP.
.TP 3
\-encoding encoding
-Set the source file encoding name, such as \f2EUC\-JP and UTF\-8.\fP. If \f3\-encoding\fP is not specified, the platform default converter is used.
+Set the source file encoding name, such as \f2EUC\-JP and UTF\-8\fP. If \f3\-encoding\fP is not specified, the platform default converter is used.
.TP 3
\-g
Generate all debugging information, including local variables. By default, only line number and source file information is generated.
@@ -200,9 +171,23 @@
\-help
Print a synopsis of standard options.
.TP 3
+\-implicit:{class,none}
+Controls the generation of class files for implicitly loaded source files. To automatically generate class files, use \f3\-implicit:class\fP. To suppress class file generation, use \f3\-implicit:none\fP. If this option is not specified, the default is to automatically generate class files. In this case, the compiler will issue a warning if any such class files are generated when also doing annotation processing. The warning will not be issued if this option is set explicitly. See Searching For Types.
+.TP 3
\-nowarn
Disable warning messages. This has the same meaning as \f3\-Xlint:none\fP.
-.LP
+.TP 3
+\-proc: {none,only}
+Controls whether annotation processing and/or compilation is done. \f3\-proc:none\fP means that compilation takes place without annotation processing. \f3\-proc:only\fP means that only annotation processing is done, without any subsequent compilation.
+.TP 3
+\-processor class1[,class2,class3...]
+Names of the annotation processors to run. This bypasses the default discovery process.
+.TP 3
+\-processorpath path
+Specify where to find annotation processors; if this option is not used, the classpath will be searched for processors.
+.TP 3
+\-s dir
+Specify the directory where to place generated source files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, the compiler puts the source file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-s /home/mysrc\fP and the class is called \f2com.mypackage.MyClass\fP, then the source file will be placed in \f2/home/mysrc/com/mypackage/MyClass.java\fP.
.TP 3
\-source release
Specifies the version of source code accepted. The following values for \f2release\fP are allowed:
@@ -215,20 +200,34 @@
The compiler accepts code containing assertions, which were introduced in JDK 1.4.
.TP 3
1.5
-The compiler accepts code containing generics and other language features introduced in JDK 5. This is the default.
+The compiler accepts code containing generics and other language features introduced in JDK 5.
.TP 3
5
-Synonym for 1.5
+Synonym for 1.5.
+.TP 3
+1.6
+This is the default value. No language changes were introduced in Java SE 6. However, encoding errors in source files are now reported as errors, instead of warnings, as previously.
+.TP 3
+6
+Synonym for 1.6.
+.TP 3
+1.7
+The compiler accepts code with features introduced in JDK 7.
+.TP 3
+7
+Synonym for 1.7.
.RE
-\f3Note:\fP No language changes were introduced in JDK 6, so the values \f31.6\fP and \f36\fP are not valid.
.TP 3
\-sourcepath sourcepath
Specify the source code path to search for class or interface definitions. As with the user class path, source path entries are separated by colons (\f3:\fP) and can be directories, JAR archives, or ZIP archives. If packages are used, the local path name within the directory or archive must reflect the package name.
.LP
-\f3Note:\fP \ Classes found through the classpath are subject to automatic recompilation if their sources are found.
+\f3Note:\fP \ Classes found through the classpath may be subject to automatic recompilation if their sources are also found. See Searching For Types.
.TP 3
\-verbose
-Verbose output. This includes information about each class loaded and each source file compiled.
+Verbose output. This includes information about each class loaded and each source file compiled.
+.TP 3
+\-version
+Print version information.
.TP 3
\-X
Display information about non\-standard options and exit.
@@ -248,7 +247,7 @@
.RS 3
.TP 3
\-target version
-Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) and \f31.6\fP (also \f36\fP).
+Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) \f31.6\fP (also \f36\fP) and \f31.7\fP (also \f37\fP).
.LP
The default for \f3\-target\fP depends on the value of \f3\-source\fP:
.RS 3
@@ -257,7 +256,10 @@
If \-source is \f3not specified\fP, the value of \-target is \f31.6\fP
.TP 2
o
-If \-source is \f31.3\fP, the value of \-target is \f31.1\fP
+If \-source is \f31.2\fP, the value of \-target is \f31.4\fP
+.TP 2
+o
+If \-source is \f31.3\fP, the value of \-target is \f31.4\fP
.TP 2
o
For \f3all other values\fP of \-source, the value of \-target is the value of \f3\-source\fP.
@@ -295,8 +297,8 @@
\-Xlint:none
Disable all warnings not mandated by the Java Language Specification.
.TP 3
-\-Xlint:\-xxx
-Disable warning \f3xxx\fP, where \f3xxx\fP is one of the warning names supported for \f3\-Xlint:xxx\fP, below
+\-Xlint:\-name
+Disable warning \f2name\fP, where \f2name\fP is one of the warning names supported for \f3\-Xlint:\fP\f2name\fP, below.
.TP 3
\-Xlint:unchecked
Give more detail for unchecked conversion warnings that are mandated by the Java Language Specification.
@@ -311,7 +313,7 @@
Warn about \f2finally\fP clauses that cannot complete normally.
.TP 3
\-Xlint:fallthrough
-Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not contain a \f2break\fP statement:
+Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not end with a \f2break\fP statement:
.RS 3
.LP
@@ -332,12 +334,14 @@
.fl
}
.fl
+
+.fl
\fP
.fi
.RE
If the \f2\-Xlint:fallthrough\fP flag were used when compiling this code, the compiler would emit a warning about "possible fall\-through into case," along with the line number of the case in question.
.TP 3
-\-Xmaxerrors number
+\-Xmaxerrs number
Set the maximum number of errors to print.
.TP 3
\-Xmaxwarns number
@@ -345,6 +349,18 @@
.TP 3
\-Xstdout filename
Send compiler messages to the named file. By default, compiler messages go to \f2System.err\fP.
+.TP 3
+\-Xprefer:{newer,source}
+Specify which file to read when both a source file and class file are found for a type. (See Searching For Types). If \f2\-Xprefer:newer\fP is used, it reads the newer of the source or class file for a type (default). If the \f2\-Xprefer:source\fP option is used, it reads source file. Use \f2\-Xprefer:source\fP when you want to be sure that any annotation processors can access annotations declared with a retention policy of \f2SOURCE\fP.
+.TP 3
+\-Xprint
+Print out textual representation of specified types for debugging purposes; perform neither annotation processing nor compilation. The format of the output may change.
+.TP 3
+\-XprintProcessorInfo
+Print information about which annotations a processor is asked to process.
+.TP 3
+\-XprintRounds
+Print information about initial and subsequent annotation processing rounds.
.RE
.LP
@@ -390,7 +406,9 @@
.nf
\f3
.fl
- C:> \fP\f3javac @argfile\fP
+ % \fP\f3javac @argfile\fP
+.fl
+
.fl
.fi
@@ -414,7 +432,9 @@
.fl
\-g
.fl
- \-sourcepath \\java\\pubs\\ws\\1.3\\src\\share\\classes
+ \-sourcepath /java/pubs/ws/1.3/src/share/classes
+.fl
+
.fl
\fP
.fi
@@ -432,18 +452,22 @@
.fl
MyClass3.java
.fl
+
+.fl
\fP
.fi
.LP
.LP
-You would then run javac with:
+You would then run \f3javac\fP with:
.LP
.nf
\f3
.fl
% \fP\f3javac @options @classes\fP
.fl
+
+.fl
.fi
.LP
@@ -458,11 +482,119 @@
.fl
% \fP\f3javac @path1/options @path2/classes\fP
.fl
+
+.fl
.fi
.LP
+.SH "ANNOTATION PROCESSING"
+.LP
+
+.LP
+.LP
+\f3javac\fP provides direct support for annotation processing, superseding the need for the separate annotation processing tool, \f3apt\fP.
+.LP
+.LP
+The API for annotation processors is defined in the \f2javax.annotation.processing\fP and \f2javax.lang.model\fP packages and subpackages.
+.LP
+.SS
+Overview of annotation processing
+.LP
+.LP
+Unless annotation processing is disabled with the \f3\-proc:none\fP option, the compiler searches for any annotation processors that are available. The search path can be specified with the \f3\-processorpath\fP option; if it is not given, the user class path is used. Processors are located by means of service provider\-configuration files named
+.br
+\f2\ META\-INF/services/javax.annotation.processing.Processor\fP
+.br
+on the search path. Such files should contain the names of any annotation processors to be used, listed one per line. Alternatively, processors can be specified explicitly, using the \f3\-processor\fP option.
+.LP
+.LP
+After scanning the source files and classes on the command line to determine what annotations are present, the compiler queries the processors to determine what annotations they process. When a match is found, the processor will be invoked. A processor may "claim" the annotations it processes, in which case no further attempt is made to find any processors for those annotations. Once all annotations have been claimed, the compiler does not look for additional processors.
+.LP
+.LP
+If any processors generate any new source files, another round of annotation processing will occur: any newly generated source files will be scanned, and the annotations processed as before. Any processors invoked on previous rounds will also be invoked on all subsequent rounds. This continues until no new source files are generated.
+.LP
+.LP
+After a round occurs where no new source files are generated, the annotation processors will be invoked one last time, to give them a chance to complete any work they may need to do. Finally, unless the \f3\-proc:only\fP option is used, the compiler will compile the original and all the generated source files.
+.LP
+.SS
+Implicitly loaded source files
+.LP
+.LP
+To compile a set of source files, the compiler may need to implicitly load additional source files. (See Searching For Types). Such files are currently not subject to annotation processing. By default, the compiler will give a warning if annotation processing has occurred and any implicitly loaded source files are compiled. See the \-implicit option for ways to suppress the warning.
+.LP
+.SH "SEARCHING FOR TYPES"
+.LP
+
+.LP
+.LP
+When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance.
+.LP
+.LP
+For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP.
+.LP
+.LP
+When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath).
+.LP
+.LP
+If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files.
+.LP
+.LP
+You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below.
+.LP
+.LP
+A successful type search may produce a class file, a source file, or both. If both are found, you can use the \-Xprefer option to instruct the compiler which to use. If \f3newer\fP is given, the compiler will use the newer of the two files. If \f3source\fP is given, it will use the source file. The default is \f3newer\fP.
+.LP
+.LP
+If a type search finds a source file for a required type, either by itself, or as a result of the setting for \f3\-Xprefer\fP, the compiler will read the source file to get the information it needs. In addition, it will by default compile the source file as well. You can use the \-implicit option to specify the behavior. If \f3none\fP is given, no class files will be generated for the source file. If \f3class\fP is given, class files will be generated for the source file.
+.LP
+.LP
+The compiler may not discover the need for some type information until after annotation processing is complete. If the type information is found in a source file and no \f3\-implicit\fP option is given, the compiler will give a warning that the file is being compiled without being subject to annotation processing. To disable the warning, either specify the file on the command line (so that it will be subject to annotation processing) or use the \f3\-implicit\fP option to specify whether or not class files should be generated for such source files.
+.LP
.SH "PROGRAMMATIC INTERFACE"
.LP
+
+.LP
+.LP
+\f3javac\fP supports the new Java Compiler API defined by the classes and interfaces in the \f2javax.tools\fP package.
+.LP
+.SS
+Example
+.LP
+.LP
+To perform a compilation using arguments as you would give on the command line, you can use the following:
+.LP
+.nf
+\f3
+.fl
+JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
+.fl
+int rc = javac.run(null, null, null, args);
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+This will write any diagnostics to the standard output stream, and return the exit code that \f3javac\fP would give when invoked from the command line.
+.LP
+.LP
+You can use other methods on the \f2javax.tools.JavaCompiler\fP interface to handle diagnostics, control where files are read from and written to, and so on.
+.LP
+.SS
+Old Interface
+.LP
+.RS 3
+
+.LP
+.LP
+\f3Note:\fP \ This API is retained for backwards compatibility only; all new code should use the Java Compiler API, described above.
+.LP
.LP
The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke the compiler from a program:
.LP
@@ -473,6 +605,8 @@
.fl
public static int compile(String[] args, PrintWriter out);
.fl
+
+.fl
\fP
.fi
@@ -484,11 +618,12 @@
The \f2out\fP parameter indicates where the compiler's diagnostic output is directed.
.LP
.LP
-The return value is equivalent to the exit value from javac.
+The return value is equivalent to the exit value from \f3javac\fP.
.LP
.LP
Note that all \f3other\fP classes and methods found in a package whose name starts with \f2com.sun.tools.javac\fP (informally known as sub\-packages of \f2com.sun.tools.javac\fP) are strictly internal and subject to change at any time.
.LP
+.RE
.SH "EXAMPLES"
.LP
.SS
@@ -548,6 +683,8 @@
.fl
Hello Everyone
.fl
+
+.fl
.fi
.RE
@@ -586,6 +723,8 @@
.fl
.fl
+
+.fl
.fi
.RE
@@ -612,6 +751,8 @@
.fl
% \f3javac greetings/Hi.java\fP
.fl
+
+.fl
.fi
.RE
@@ -627,6 +768,8 @@
.fl
% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP
.fl
+
+.fl
.fi
.RE
@@ -640,9 +783,11 @@
.nf
\f3
.fl
-% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\
+% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\
.fl
- /examples/greetings/Hi.java\fP
+ /examples/greetings/Hi.java\fP
+.fl
+
.fl
.fi
.RE
@@ -659,6 +804,8 @@
.fl
% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP
.fl
+
+.fl
.fi
.RE
@@ -697,9 +844,9 @@
.fl
% \f3ls classes\fP
.fl
-% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\
+% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\
.fl
- src/farewells/GoodBye.java \-d classes\fP
+ src/farewells/GoodBye.java \-d classes\fP
.fl
% \f3ls classes\fP
.fl
@@ -711,6 +858,8 @@
.fl
.fl
+
+.fl
.fi
.RE
@@ -726,7 +875,7 @@
.LP
.LP
-Here we use \f3javac\fP to compile code that will run on a 1.4 VM.
+Here we use \f3javac\fP to compile code that will run on a 1.7 VM.
.LP
.RS 3
@@ -734,19 +883,21 @@
.nf
\f3
.fl
-% \fP\f3javac \-target 1.4 \-bootclasspath jdk1.4.2/lib/classes.zip \\
+% \fP\f3javac \-target 1.7 \-bootclasspath jdk1.7.0/lib/rt.jar \\
.fl
- \-extdirs "" OldCode.java\fP
+ \-extdirs "" OldCode.java\fP
+.fl
+
.fl
.fi
.RE
.LP
.LP
-The \f3\-target 1.4\fP option ensures that the generated class files will be compatible with 1.4 VMs. By default, \f3javac\fP compiles for JDK 6.
+The \f3\-target 1.7\fP option ensures that the generated class files will be compatible with 1.7 VMs. By default, \f3javac\fP compiles for JDK 6.
.LP
.LP
-The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.4 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.4 VM and would fail at runtime.
+The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.7 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.7 VM and would fail at runtime.
.LP
.RE
.SH "SEE ALSO"
@@ -756,22 +907,28 @@
.RS 3
.TP 2
o
-java \- the Java Application Launcher
+.na
+\f2The javac Guide\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html
.TP 2
o
-jdb \- Java Application Debugger
+java(1) \- the Java Application Launcher
.TP 2
o
-javah \- C Header and Stub File Generator
+jdb(1) \- Java Application Debugger
.TP 2
o
-javap \- Class File Disassembler
+javah(1) \- C Header and Stub File Generator
.TP 2
o
-javadoc \- API Documentation Generator
+javap(1) \- Class File Disassembler
.TP 2
o
-jar \- JAR Archive Tool
+javadoc(1) \- API Documentation Generator
+.TP 2
+o
+jar(1) \- JAR Archive Tool
.TP 2
o
.na
diff --git a/jdk/src/linux/doc/man/javadoc.1 b/jdk/src/linux/doc/man/javadoc.1
index e4332a1..ea6a6dd 100644
--- a/jdk/src/linux/doc/man/javadoc.1
+++ b/jdk/src/linux/doc/man/javadoc.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -21,10 +19,9 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH javadoc 1 "07 Aug 2006"
-." Generated by html2man
-.SH NAME
+.TH javadoc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
javadoc \- The Java API Documentation Generator
.RS 3
@@ -153,7 +150,11 @@
In many cases, the Javadoc tool allows you to generate documentation for source files whose code is incomplete or erroneous. This is a benefit that enables you to generate documentation before all debugging and troubleshooting is done. For example, according to the \f2Java Language Specification\fP, a class that contains an abstract method should itself be declared abstract. The Javadoc tool does not check for this, and would proceed without a warning, whereas the javac compiler stops on this error. The Javadoc tool does do some primitive checking of doc comments. Use the DocCheck doclet to check the doc comments more thoroughly.
.LP
.LP
-When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see How Classes Are Found. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path.
+When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path.
.LP
.SS
Javadoc Doclets
@@ -164,7 +165,10 @@
.RS 3
.TP 2
o
-Javadoc Doclets
+.na
+\f2Javadoc Doclets\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html
.TP 2
o
The \f2\-doclet\fP command\-line option
@@ -180,7 +184,10 @@
.RS 3
.TP 2
o
-Javadoc Enhancements for details about improvements added in Javadoc.
+.na
+\f2Javadoc Enhancements\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html for details about improvements added in Javadoc.
.TP 2
o
.na
@@ -198,7 +205,7 @@
.na
\f2Requirements for Writing API Specifications\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java 2 Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions.
+http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java SE Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions.
.TP 2
o
.na
@@ -284,7 +291,7 @@
.RS 3
.TP 2
o
-\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is new in JDK 5.0, and is preferred over package.html.
+\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is generally preferred over package.html.
.TP 2
o
\f2package.html\fP \- Can contain only package comments and Javadoc tags, no package annotations.
@@ -295,7 +302,7 @@
A package may have a single \f2package.html\fP file or a single \f2package\-info.java\fP file but not both. Place either file in the package directory in the source tree along with your \f2.java\fP files.
.LP
.LP
-\f4package\-info.java\fP This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration:
+\f4package\-info.java\fP \- This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration:
.LP
.LP
File: \f2java/applet/package\-info.java\fP
@@ -388,7 +395,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 326 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -522,7 +529,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 379 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -580,10 +587,18 @@
Processes any package tags that are present.
.TP 2
o
-Inserts the processed text at the bottom of the package summary page it generates, as shown in Package Summary.
+Inserts the processed text at the bottom of the package summary page it generates, as shown in
+.na
+\f2Package Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html.
.TP 2
o
-Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in Overview Summary. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions.
+Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in
+.na
+\f2Overview Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions.
.RE
.LP
@@ -614,7 +629,11 @@
Processes any overview tags that are present.
.TP 2
o
-Inserts the processed text at the bottom of the overview page it generates, as shown in Overview Summary.
+Inserts the processed text at the bottom of the overview page it generates, as shown in
+.na
+\f2Overview Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html.
.TP 2
o
Copies the first sentence of the overview comment to the top of the overview summary page.
@@ -907,7 +926,7 @@
.LP
.SS
-a name="generatedapideclarations"/> Generated API Declarations
+Generated API Declarations
.LP
.LP
The Javadoc tool generates a declaration at the start of each class, interface, field, constructor, and method description for that API item. For example, the declaration for the \f2Boolean\fP class is:
@@ -1332,7 +1351,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 1084 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1123 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1455,19 +1474,30 @@
.LP
.LP
-Note: Starting with JDK 5.0, you can deprecate a program element using the @Deprecated annotation.
+Note: You can deprecate a program element using the
+.na
+\f2@Deprecated annotation\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html.
.LP
.RE
+.RE
+.RS 3
+
.LP
-Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field.
.LP
-The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API:
+Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field.
+.LP
+.LP
+The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API:
+.LP
.LP
For more details, see
.na
\f2writing @deprecated tags\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated.
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated.
+.LP
.RS 3
.TP 2
o
@@ -1481,15 +1511,28 @@
.fl
*/
.fl
+
+.fl
\fP
.fi
.TP 2
o
For Javadoc 1.1, the standard format is to create a \f2@see\fP tag (which cannot be in\-line) for each \f2@deprecated\fP tag.
.RE
+
.LP
-For more about deprecation, see The @deprecated tag.
.LP
+For more about deprecation, see
+.na
+\f2The @deprecated tag\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html.
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
{@code\ text}
Equivalent to \f2<code>{@literal}</code>\fP.
@@ -1500,16 +1543,22 @@
.fl
\fP\f4{@code A<B>C}\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
displays in the generated HTML page unchanged, as:
.nf
\f3
.fl
\fP\f4A<B>C\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
The noteworthy point is that the \f2<B>\fP is not interpreted as bold and is in code font.
.LP
If you want the same functionality without the code font, use \f2{@literal}\fP.
@@ -1528,9 +1577,12 @@
.fl
javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
.fl
+
+.fl
\fP
.fi
-NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted).
+.LP
+NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted).
.TP 3
2.
In a doc comment:
@@ -1543,31 +1595,42 @@
.fl
*/
.fl
+
+.fl
\fP
.fi
.RE
+.LP
The reason this tag is needed is because the generated docs are in hierarchical directories, as deep as the number of subpackages. This expression:
.nf
\f3
.fl
<a href="{@docRoot}/copyright.html">
.fl
+
+.fl
\fP
.fi
+.LP
would resolve to:
.nf
\f3
.fl
<a href="../../copyright.html"> for java/lang/Object.java
.fl
+
+.fl
\fP
.fi
+.LP
and
.nf
\f3
.fl
<a href="../../../copyright.html"> for java/lang/ref/Reference.java
.fl
+
+.fl
\fP
.fi
.LP
@@ -1605,24 +1668,33 @@
.fl
Use the {@link #getComponentAt(int, int) getComponentAt} method.
.fl
+
+.fl
\fP
.fi
+.LP
From this, the standard doclet would generate the following HTML (assuming it refers to another class in the same package):
.nf
\f3
.fl
Use the <a href="Component.html#getComponentAt(int, int)">getComponentAt</a> method.
.fl
+
+.fl
\fP
.fi
+.LP
Which appears on the web page as:
.nf
\f3
.fl
Use the getComponentAt method.
.fl
+
+.fl
\fP
.fi
+.LP
You can extend \f2{@link}\fP to link to classes not being documented by using the \f2\-link\fP option.
.LP
For more details, see
@@ -1639,14 +1711,20 @@
.fl
Refer to {@linkplain add() the overridden method}.
.fl
+
+.fl
\fP
.fi
+.LP
This would display as:
.RS 3
+
+.LP
.LP
Refer to the overridden method.
.LP
.RE
+.LP
.TP 3
{@literal\ text}
Displays \f2text\fP without interpreting the text as HTML markup or nested javadoc tags. This enables you to use regular angle brackets (\f2<\fP and \f2>\fP) instead of the HTML entities (\f2<\fP and \f2>\fP) in doc comments, such as in parameter types (\f2<Object>\fP), inequalities (\f23 < 4\fP), or arrows (\f2<\-\fP). For example, the doc comment text:
@@ -1655,11 +1733,16 @@
.fl
\fP\f4{@literal A<B>C}\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
displays unchanged in the generated HTML page in your browser, as:
.LP
-\f2\ \ \ \ \ \fPA<B>C The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font).
+\f2\ \ \ \ \ \fPA<B>C
+.LP
+The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font).
.LP
If you want the same functionality but with the text in code font, use \f2{@code}\fP.
.LP
@@ -1683,6 +1766,8 @@
.fl
}
.fl
+
+.fl
\fP
.fi
.LP
@@ -1706,8 +1791,11 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+.LP
For more details, see
.na
\f2writing @param tags\fP @
@@ -1736,15 +1824,26 @@
.fl
@see "The Java Programming Language"
.fl
+
+.fl
\fP
.fi
-This generates text such as:
+.LP
+This generates text such as:
+.RE
+.RE
+.RS 3
+.RS 3
+.RS 3
+
+.LP
.RS 3
.RS 3
.TP 3
See Also:
"The Java Programming Language"
.RE
+.RE
.LP
.RE
@@ -1981,7 +2080,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1547 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1666 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2327,7 +2426,7 @@
.nr 42 \n(81+(3*\n(38)
.nr 82 +\n(42
.nr TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 1623 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1742 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2502,6 +2601,14 @@
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see.
.RE
+.RE
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RS 3
.TP 3
@serial\ field\-description | include | exclude
Used in the doc comment for a default serializable field.
@@ -2524,7 +2631,11 @@
.LP
The tag @serial at a class level overrides @serial at a package level.
.LP
-For more information about how to use these tags, along with an example, see "Documenting Serializable Fields and Data for a Class," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the
+For more information about how to use these tags, along with an example, see "
+.na
+\f2Documenting Serializable Fields and Data for a Class\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the
.na
\f2Serialization FAQ\fP @
.fi
@@ -2552,8 +2663,11 @@
.fl
@since 1.5
.fl
+
+.fl
\fP
.fi
+.LP
For source code in the Java platform, this tag indicates the version of the Java platform API specification (not necessarily when it was added to the reference implementation). Multiple @since tags are allowed and are treated like multiple @author tags. You could use multiple tags if the prgram element is used by more than one API.
.LP
.TP 3
@@ -2584,8 +2698,11 @@
.fl
public static final String SCRIPT_START = "<script>"
.fl
+
+.fl
\fP
.fi
+.LP
When used with argument \f2package.class#field\fP in any doc comment, it displays the value of the specified constant:
.nf
\f3
@@ -2600,11 +2717,18 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+.LP
The argument \f2package.class#field\fP takes a form identical to that of the @see argument, except that the member must be a static field.
.LP
-These values of these constants are also displayed on the Constant Field Values page.
+These values of these constants are also displayed on the
+.na
+\f2Constant Field Values\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/constant\-values.html page.
.LP
.TP 3
@version\ version\-text
@@ -2618,6 +2742,9 @@
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version.
.RE
+
+.LP
+.RE
.SS
Where Tags Can Be Used
.LP
@@ -2702,7 +2829,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1816 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1963 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2819,7 +2946,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1848 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1995 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2938,7 +3065,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1882 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2029 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3098,7 +3225,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1957 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2104 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3242,7 +3369,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 2016 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2163 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3325,6 +3452,8 @@
.LP
.SH "OPTIONS"
.LP
+
+.LP
.LP
The javadoc tool uses doclets to determine its output. The Javadoc tool uses the default standard doclet unless a custom doclet is specified with the \-doclet option. The Javadoc tool provides a set of command\-line options that can be used with any doclet \-\- these options are described below under the sub\-heading Javadoc Options. The standard doclet provides an additional set of command\-line options that are described below under the sub\-heading Options Provided by the Standard Doclet. All option names are case\-insensitive, though their arguments can be case\-sensitive.
.LP
@@ -3545,7 +3674,7 @@
.nr 42 \n(81+(3*\n(38)
.nr 82 +\n(42
.nr TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 2192 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2341 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3657,11 +3786,11 @@
\fP
.fi
.LP
-For full, working examples of running a particular doclet, see
+For full, working examples of running a particular doclet, see the
.na
-\f2Running the MIF Doclet\fP @
+\f2MIF Doclet documentation\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.TP 3
\-docletpath\ classpathlist
@@ -3683,11 +3812,11 @@
.fl
\fP
.fi
-For full, working examples of running a particular doclet, see
+For full, working examples of running a particular doclet, see the
.na
-\f2Running the MIF Doclet\fP @
+\f2MIF Doclet documentation\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.TP 3
\-1.1
@@ -3808,7 +3937,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 2302 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2451 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3915,7 +4044,11 @@
.LP
.TP 3
\-classpath\ classpathlist
-Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in class path documentation for specifying \f2classpathlist\fP.
+Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in
+.na
+\f2class path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general documentation for specifying \f2classpathlist\fP.
.LP
If \f2\-sourcepath\fP is omitted, the Javadoc tool uses \f2\-classpath\fP to find the source files as well as class files (for backward compatibility). Therefore, if you want to search for source and class files in separate paths, use both \f2\-sourcepath\fP and \f2\-classpath\fP.
.LP
@@ -3928,7 +4061,11 @@
.fi
As with other tools, if you do not specify \f2\-classpath\fP, the Javadoc tool uses the CLASSPATH environment variable, if it is set. If both are not set, the Javadoc tool searches for classes from the current directory.
.LP
-For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see How Classes Are Found.
+For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html.
.LP
As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
.br
@@ -3963,7 +4100,11 @@
.LP
.TP 3
\-bootclasspath\ classpathlist
-Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See How Classes Are Found. for more details. Separate directories in \f2classpathlist\fP with colons (:).
+Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles. for more details. Separate directories in \f2classpathlist\fP with colons (:).
.LP
.TP 3
\-extdirs\ dirlist
@@ -3979,7 +4120,11 @@
.LP
.TP 3
\-breakiterator\
-Uses the internationalized sentence boundary of \f2java.text.BreakIterator\fP to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index.
+Uses the internationalized sentence boundary of
+.na
+\f2java.text.BreakIterator\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index.
.LP
From JDK 1.2 forward, the BreakIterator class is already used to determine the end of sentence for all languages but English. Therefore, the \f2\-breakiterator\fP option has no effect except for English from 1.2 forward. English has its own default algorithm:
.RS 3
@@ -4057,7 +4202,7 @@
\-use
Includes one "Use" page for each documented class and package. The page describes what packages, classes, methods, constructors and fields use any API of the given class or package. Given class C, things that use class C would include subclasses of C, fields declared as C, methods that return C, and methods and constructors with parameters of type C.
.LP
-For example, let's look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP.
+For example, let us look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP.
.LP
Note that this documents only uses of the API, not the implementation. If a method uses \f2String\fP in its implementation but does not take a string as an argument or return a string, that is not considered a "use" of \f2String\fP.
.LP
@@ -4080,7 +4225,7 @@
.nf
\f3
.fl
- % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP
+ % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP
.fl
.fi
.TP 3
@@ -4089,7 +4234,7 @@
.nf
\f3
.fl
- % \fP\f3javadoc \-doctitle "Java<sup><font size=\\"\-2\\">TM</font></sup>" com.mypackage\fP
+ % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP
.fl
.fi
.TP 3
@@ -4163,18 +4308,18 @@
when using an absolute URL to the external API document, if your shell \f2does not allow\fP a program to open a connection to that URL for reading. This can occur if you are behind a firewall and the document you want to link to is on the other side.
.RE
.LP
-\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at
+\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java Platform packages at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @
+\f2http://java.sun.com/javase/6/docs/api/\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api, The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.)
+http://java.sun.com/javase/6/docs/api. The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.)
.nf
\f3
.fl
- % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
+ % \fP\f3javadoc \-link http://java.sun.com/javase/6/docs/api com.mypackage\fP
.fl
.fi
-\f3Example using relative links to the external docs\fP \- Let's say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running:
+\f3Example using relative links to the external docs\fP \- Let us say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running:
.nf
\f3
.fl
@@ -4214,11 +4359,11 @@
.LP
\f3Package List\fP \- The \f2\-link\fP option requires that a file named \f2package\-list\fP, which is generated by the Javadoc tool, exist at the URL you specify with \f2\-link\fP. The \f2package\-list\fP file is a simple text file that lists the names of packages documented at that location. In the earlier example, the Javadoc tool looks for a file named \f2package\-list\fP at the given URL, reads in the package names and then links to those packages at that URL.
.LP
-For example, the package list for the Java 2 Platform 5.0 API is located at
+For example, the package list for the Java SE 6 API is located at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api/package\-list. and starts out as follows:
+http://java.sun.com/javase/6/docs/api/package\-list. and starts as follows:
.nf
\f3
.fl
@@ -4277,15 +4422,15 @@
.LP
You can specify multiple \f2\-linkoffline\fP options in a given javadoc run. (Prior to 1.2.2, it could be specified only once.)
.LP
-\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at \f2http://java.sun.com/j2se/1.5.0/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at
+\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java SE Platform packages at \f2http://java.sun.com/javase/6/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.)
+http://java.sun.com/javase/6/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.)
.nf
\f3
.fl
-% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP
+% \fP\f3javadoc \-linkoffline http://java.sun.com/javase/6/docs/api . com.mypackage\fP
.fl
.fi
.LP
@@ -4303,7 +4448,7 @@
.LP
\f3Updating docs\fP \- Another use for \f2\-linkoffline\fP option is useful if your project has dozens or hundreds of packages, if you have already run javadoc on the entire tree, and now, in a separate run, you want to quickly make some small changes and re\-run javadoc on just a small portion of the source tree. This is somewhat of a hack in that it works properly only if your changes are only to doc comments and not to declarations. If you were to add, remove or change any declarations from the source code, then broken links could show up in the index, package tree, inherited member lists, use page, and other places.
.LP
-First, you create a new destination directory (call it \f2update\fP) for this new small run. Let's say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update:
+First, you create a new destination directory (call it \f2update\fP) for this new small run. Let us say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update:
.nf
\f3
.fl
@@ -4527,7 +4672,7 @@
.br
\f4f\fP (fields)
.LP
-\f3Examples of single tags\fP \- An example of a tag option for a tag that that can be used anywhere in the source code is:
+\f3Examples of single tags\fP \- An example of a tag option for a tag that can be used anywhere in the source code is:
.nf
\f3
.fl
@@ -4635,7 +4780,10 @@
.RS 3
.TP 2
o
-Taglet Overview
+.na
+\f2Taglet Overview\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html
.RE
.LP
Taglets are useful for block or inline tags. They can have any number of arguments and implement custom behavior, such as making text bold, formatting bullets, writing out the text to a file, or starting other processes.
@@ -4713,7 +4861,7 @@
.nf
\f3
.fl
- <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\->
+ <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\->
.fl
\fP
.fi
@@ -4724,6 +4872,8 @@
.RE
.SH "COMMAND LINE ARGUMENT FILES"
.LP
+
+.LP
.LP
To shorten or simplify the javadoc command line, you can specify one or more files that themselves contain arguments to the \f2javadoc\fP command (except \f2\-J\fP options). This enables you to create javadoc commands of any length on any operating system.
.LP
@@ -4771,19 +4921,19 @@
.fl
\-splitindex
.fl
- \-windowtitle 'Java 2 Platform v1.3 API Specification'
+ \-windowtitle 'Java(TM) SE 7 API Specification'
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification'
+ \-doctitle 'Java(TM) SE 7 API Specification'
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>'
+ \-header '<b>Java(TM); SE 7'
.fl
- \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.'
+ \-bottom 'Copyright 1993\-2009 Sun Microsystems, Inc. All Rights Reserved.'
.fl
\-group "Core Packages" "java.*"
.fl
- \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html
+ \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html
.fl
- \-sourcepath /java/pubs/ws/1.5/src/share/classes
+ \-sourcepath /java/pubs/ws/1.7.0/src/share/classes
.fl
\fP
.fi
@@ -4873,25 +5023,38 @@
% \fP\f3javadoc @bottom @packages\fP
.fl
.fi
-.SH NAME
+
+.LP
+
+.LP
+.SH "Name"
Running
+.LP
.SH "RUNNING JAVADOC"
.LP
+
+.LP
.LP
\f3Version Numbers\fP \- The version number of javadoc can be determined using \f3javadoc \-J\-version\fP. The version number of the standard doclet appears in its output stream. It can be turned off with \f2\-quiet\fP.
.LP
.LP
-\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see Standard Doclet.
-.LP
-.LP
-\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see
+\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see
.na
-\f2Running the MIF Doclet\fP @
+\f2Standard Doclet\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically.
+.LP
+.LP
+\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see the
+.na
+\f2MIF Doclet documentation\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.SH "SIMPLE EXAMPLES"
.LP
+
+.LP
.LP
You can run javadoc on entire packages or individual source files. Each package name has a corresponding directory name. In the following examples, the source files are located at \f2/home/src/java/awt/*.java\fP. The destination directory is \f2/home/html\fP.
.LP
@@ -5014,8 +5177,10 @@
.LP
.SH "REAL WORLD EXAMPLE"
.LP
+
.LP
-The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java 2 Platform, Standard Edition, v1.2.
+.LP
+The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java SE Platform, Standard Edition, v1.2.
.LP
.LP
The same example is shown twice \-\- first as executed on the command line, then as executed from a makefile. It uses absolute paths in the option arguments, which enables the same \f2javadoc\fP command to be run from any directory.
@@ -5029,21 +5194,21 @@
.nf
\f3
.fl
-% javadoc \-sourcepath /java/jdk/src/share/classes \\
+% javadoc \-sourcepath /java/jdk/src/share/classes \\
.fl
- \-overview /java/jdk/src/share/classes/overview.html \\
+ \-overview /java/jdk/src/share/classes/overview.html \\
.fl
- \-d /java/jdk/build/api \\
+ \-d /java/jdk/build/api \\
.fl
- \-use \\
+ \-use \\
.fl
- \-splitIndex \\
+ \-splitIndex \\
.fl
- \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+ \-windowtitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\
+ \-doctitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
+ \-header '<b>Java(TM) SE </b><br><font size="\-1">7</font>' \\
.fl
\-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -5053,9 +5218,9 @@
.fl
901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\
.fl
- \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
+ \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
.fl
- \-group "Extension Packages" "javax.*" \\
+ \-group "Extension Packages" "javax.*" \\
.fl
\-J\-Xmx180m \\
.fl
@@ -5107,17 +5272,17 @@
.fl
java.lang java.lang.reflect \\ /* Sets packages to document */
.fl
- java.util java.io java.net \\
+ java.util java.io java.net \\
.fl
java.applet
.fl
.fl
-WINDOWTITLE = 'Java 2 Platform v1.2 API Specification'
+WINDOWTITLE = 'Java(TM) SE 7 API Specification'
.fl
-DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification'
+DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification'
.fl
-HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>'
+HEADER = '<b>Java(TM) SE 7</font>'
.fl
BOTTOM = '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -5133,7 +5298,7 @@
.fl
GROUPEXT = '"Extension Packages" "javax.*"'
.fl
-SRCDIR = '/java/jdk/1.2/src/share/classes'
+SRCDIR = '/java/jdk/1.7.0/src/share/classes'
.fl
\fP
.fi
@@ -5160,6 +5325,8 @@
.LP
.SH "TROUBLESHOOTING"
.LP
+
+.LP
.SS
General Troubleshooting
.LP
@@ -5173,11 +5340,7 @@
http://java.sun.com/j2se/javadoc/faq/index.html#B
.TP 2
o
-\f3Bugs and Limitations\fP \- You can also see some bugs listed at
-.na
-\f2Important Bug Fixes and Changes\fP @
-.fi
-http://java.sun.com/j2se/1.5.0/fixedbugs/index.html.
+\f3Bugs and Limitations\fP \- You can also see some bugs listed at Important Bug Fixes and Changes.
.TP 2
o
\f3Version number\fP \- See version numbers.
@@ -5202,6 +5365,8 @@
.LP
.SH "ENVIRONMENT"
.LP
+
+.LP
.RS 3
.TP 3
CLASSPATH
@@ -5212,22 +5377,24 @@
.LP
.SH "SEE ALSO"
.LP
+
+.LP
.RS 3
.TP 2
o
-javac
+javac(1)
.TP 2
o
-java
+java(1)
.TP 2
o
-jdb
+jdb(1)
.TP 2
o
-javah
+javah(1)
.TP 2
o
-javap
+javap(1)
.TP 2
o
.na
@@ -5242,12 +5409,22 @@
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
.TP 2
o
-Setting the Class Path
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general
.TP 2
o
-How Javac and Javadoc Find Classes (tools.jar)
+.na
+\f2How Javac and Javadoc Find Classes\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar)
.RE
.LP
+
.LP
-Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.)
+.LP
+Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.)
+.LP
+
diff --git a/jdk/src/linux/doc/man/javah.1 b/jdk/src/linux/doc/man/javah.1
index 9ee5ad4..7d3b486 100644
--- a/jdk/src/linux/doc/man/javah.1
+++ b/jdk/src/linux/doc/man/javah.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -20,20 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." .
-." `
-.TH javah 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH javah 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javah \- C Header and Stub File Generator
.LP
+.RS 3
.LP
.LP
\f3javah\fP produces C header files and C source files from a Java class. These files provide the connective glue that allow your Java and C code to interact.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -66,12 +65,13 @@
The new native method interface, Java Native Interface (JNI), does not require header information or stub files. \f3javah\fP can still be used to generate native method function proptotypes needed for JNI\-style native methods. \f3javah\fP produces JNI\-style output by default, and places the result in the .h file.
.LP
.LP
-\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like \f3jdb\fP.
+\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like jdb(1).
.LP
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
\-o outputfile
Concatenates the resulting header or source files for all the classes listed on the command line into \f2outputfile\fP. Only one of \f3\-o\fP or \f3\-d\fP may be used.
@@ -115,7 +115,7 @@
As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
.br
.br
-For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
+For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
.TP 3
\-bootclasspath path
Specifies path from which to load bootstrap classes. By default, the bootstrap classes are the classes implementing the core Java 2 platform located in \f2jre/lib/rt.jar\fP and several other jar files.
@@ -127,12 +127,15 @@
Specifies that output files should always be written.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example,
@@ -143,6 +146,7 @@
.fl
\fP
.fi
+.RE
.LP
.SH "SEE ALSO"
@@ -150,7 +154,7 @@
.LP
.LP
-javac, java, jdb, javap, javadoc
+javac(1), java(1), jdb(1), javap(1), javadoc(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/javap.1 b/jdk/src/linux/doc/man/javap.1
index 795be8a..f2fb40f 100644
--- a/jdk/src/linux/doc/man/javap.1
+++ b/jdk/src/linux/doc/man/javap.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH javap 1 "05 Aug 2006"
-." Generated by html2roff
+.TH javap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javap \- The Java Class File Disassembler
.LP
+.RS 3
.LP
.LP
Disassembles class files.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -253,6 +252,7 @@
.LP
.LP
+.RS 3
.TP 3
\-help
Prints out help message for \f3javap\fP.
@@ -260,9 +260,6 @@
\-l
Prints out line and local variable tables.
.TP 3
-\-b
-Ensures backward compatibility with \f3javap\fP in JDK 1.1.
-.TP 3
\-public
Shows only public classes and members.
.TP 3
@@ -327,11 +324,14 @@
.TP 3
\-extdirs dirs
Overrides location at which installed extensions are searched for. The default location for extensions is the value of \f2java.ext.dirs\fP.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, For example:
@@ -346,6 +346,7 @@
\fP
.fi
.RE
+.RE
.LP
.SH "SEE ALSO"
@@ -353,7 +354,7 @@
.LP
.LP
-javac, java, jdb, javah, javadoc
+javac(1), java(1), jdb(1), javah(1), javadoc(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/javaws.1 b/jdk/src/linux/doc/man/javaws.1
index 429a4f1..8f67346 100644
--- a/jdk/src/linux/doc/man/javaws.1
+++ b/jdk/src/linux/doc/man/javaws.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,15 +18,14 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH javaws 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH javaws 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.LP
-.SH NAME
+.SH "Name"
\f2javaws\fP Command Line
.LP
@@ -39,104 +36,93 @@
.SS
NAME
.LP
+.RS 3
.LP
.LP
\f2javaws\fP \- Java Web Start launcher command
.LP
+.RE
.SS
SYNOPSIS
.LP
+.RS 3
.LP
.LP
-\f2javaws [ options ] [ URL ]\fP
+\f2javaws [run\-options] <jnlp>\fP
.LP
+.LP
+\f2javaws [control\-options]\fP
+.LP
+.RE
.SS
PARAMETERS
.LP
+.RS 3
.LP
.LP
-\f2options\fP
+\f2[run\-options]\fP
.LP
.RS 3
.LP
.LP
-Command\-line options. Options may be in any order. For a discussion of the various options, see OPTIONS below.
+Command\-line run\-options. run\-options may be in any order. For a discussion of the various run\-options, see RUN\-OPTIONS below.
.LP
.RE
.LP
-\f2URL\fP
+\f2<jnlp>\fP
.LP
.RS 3
.LP
.LP
-Uniform Resource Locator (\f2URL\fP) of the JNLP (Java Net\-work Launching Protocol) file.
+This can be either the path of, or the Uniform Resource Locater (URL) of the JNLP (Java Network Launching Protocol) file.
.LP
.RE
+.LP
+\f2[control\-options]\fP
+.LP
+.RS 3
+
+.LP
+.LP
+Command\-line control\-options. control\-options may be in any order. For a discussion of the various control\-options, see CONTROL\-OPTIONS below.
+.LP
+.RE
+.RE
.SS
DESCRIPTION
.LP
+.RS 3
.LP
.LP
The \f2javaws\fP command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network.
.LP
.LP
-Without any options \f2javaws\fP will launch the Java JNLP Application Manager, from which users can launch applications/applet or configure Java Web Start.
+If a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
.LP
.LP
-If a \f2URL\fP for a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
+The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release.
.LP
+.RE
.SS
-OPTIONS
+RUN\-OPTIONS
.LP
+.RS 3
.LP
.LP
-The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. All \f2\-X\fP options are non\-standard and subject to change.
-.LP
-.LP
\f2\-offline\fP
.LP
.RS 3
.LP
.LP
-Runs Java Web Start in offline mode.
-.LP
-.RE
-.LP
-\f2\-uninstall <URL>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Removes a specific application/applet from the user's cache, as indicated by the URL for the JNLP file. If \f2<URL>\fP is not specified, the entire cache is removed. Java Web Start will exit after the command is completed.
-.LP
-.RE
-.LP
-\f2\-updateVersions\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Updates the Java Web Start configuration file based on the current machine's settings. Java Web Start will exit after the command is completed.
-.LP
-.RE
-.LP
-\f2\-Xclearcache\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Clears the user's cache. Java Web Start will exit after the command is completed.
+run Java Web Start in offline mode.
.LP
.RE
.LP
@@ -146,67 +132,7 @@
.LP
.LP
-Disables the display of the initial splash screen.
-.LP
-.RE
-.LP
-\f2\-import\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Imports the application specified by URL into the user's cache but does not run it.
-.LP
-.RE
-.LP
-\f2\-silent\fP
-.LP
-.RS 3
-
-.LP
-.LP
-When used with the \f2\-import\fP option, imports in silent mode; i.e., there will be no UI pop up. The process exit code will be either 0 if successful or 1 if not.
-.LP
-.RE
-.LP
-\f2\-codebase <url>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing the resources. \f2<url>\fP must be a valid \f2URL\fP.
-.LP
-.RE
-.LP
-\f2\-system\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Uses the system cache instead of the user cache.
-.LP
-.RE
-.LP
-\f2\-shortcut\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Allows the creation of shortcuts during silent import.
-.LP
-.RE
-.LP
-\f2\-association\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Allows the creation of associations during silent import.
+disable the display of the initial splash screen.
.LP
.RE
.LP
@@ -236,37 +162,7 @@
.LP
.LP
-Runs in online mode (default behavior).
-.LP
-.RE
-.LP
-\f2\-viewer\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Runs the Java Application Cache Viewer (default if no URL is specified).
-.LP
-.RE
-.LP
-\f2\-userConfig <property name>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Clears the specified deployment property.
-.LP
-.RE
-.LP
-\f2\-userConfig <property name> <property value>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Sets the specified deployment property to the specified value.
+run in online mode (default behavior).
.LP
.RE
.LP
@@ -280,11 +176,159 @@
.LP
.RE
.LP
-\
+\f2\-verbose\fP
.LP
+.RS 3
+
+.LP
+.LP
+display additional output.
+.LP
+.RE
+.LP
+\f2\-J<option>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+supply options to the vm.
+.LP
+.RE
+.LP
+\f2\-system\fP
+.LP
+.RS 3
+
+.LP
+.LP
+run the application from the system cache only.
+.LP
+.RE
+.RE
+.SS
+CONTROL\-OPTIONS
+.LP
+.RS 3
+
+.LP
+.LP
+\f2\-viewer\fP
+.LP
+.RS 3
+
+.LP
+.LP
+show the Cache Viewer in the java control panel
+.LP
+.RE
+.LP
+\f2\-userConfig <property name>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+clear the specified deployment property.
+.LP
+.RE
+.LP
+\f2\-userConfig <property name> <property value>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+set the specified deployment property to the specified value.
+.LP
+.RE
+.LP
+\f2\-uninstall\fP
+.LP
+.RS 3
+
+.LP
+.LP
+remove all applications from the cache.
+.LP
+.RE
+.LP
+\f2\-uninstall <jnlp>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+remove the application from the cache.
+.LP
+.RE
+.LP
+\f2\-import [import\-options] <jnlp>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import the application to the cache.
+.LP
+.RE
+\f3IMPORT\-OPTIONS\fP
+.LP
+.LP
+\f2\-silent\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import silently (with no user interface).
+.LP
+.RE
+.LP
+\f2\-system\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import application to the system cache.
+.LP
+.RE
+.LP
+\f2\-codebase <url>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+retrieve resources from the given codebase.
+.LP
+.RE
+.LP
+\f2\-shortcut\fP
+.LP
+.RS 3
+
+.LP
+.LP
+install shortcuts as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
+.LP
+.RE
+.LP
+\f2\-association\fP
+.LP
+.RS 3
+
+.LP
+.LP
+install associations as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
+.LP
+.RE
+.RE
.SS
FILES
.LP
+.RS 3
.LP
.LP
@@ -294,15 +338,17 @@
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html.
.LP
+.RE
.SS
MORE INFORMATION
.LP
+.RS 3
.LP
.LP
For more information about Java Web Start, see
.na
-\f2Java Web Start version 1.5.0\fP @
+\f2Java Web Start\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html.
.LP
@@ -313,4 +359,7 @@
\
.LP
.RE
+.RE
+
+.LP
diff --git a/jdk/src/linux/doc/man/jconsole.1 b/jdk/src/linux/doc/man/jconsole.1
index 3456fd0..d927ef8 100644
--- a/jdk/src/linux/doc/man/jconsole.1
+++ b/jdk/src/linux/doc/man/jconsole.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH jconsole 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH jconsole 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jconsole \- Java Monitoring and Management Console
.LP
.SH "SYNOPSIS"
@@ -55,11 +52,23 @@
.TP 3
connection = pid | host:port | jmxUrl
.RS 3
-\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See JMX Monitoring and Management for details.
+\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See
+.na
+\f2JMX Monitoring and Management\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details.
.br
-\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See JMX Monitoring and Management for details.
+\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See
+.na
+\f2JMX Monitoring and Management\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details.
.br
-\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in JMXServiceURL.
+\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in
+.na
+\f2JMXServiceURL\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html.
.RE
.RE
@@ -97,7 +106,11 @@
\fP
.fi
.LP
-containing one line for each plugin specifying the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class.
+containing one line for each plugin specifying the fully qualified class name of the class implementing the
+.na
+\f2com.sun.tools.jconsole.JConsolePlugin\fP @
+.fi
+http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html class.
.TP 3
\-version\
Output version information and exit.
@@ -115,10 +128,16 @@
.RS 3
.TP 2
o
-Using JConsole
+.na
+\f2Using JConsole\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
.TP 2
o
-Monitoring and Management for Java Platform
+.na
+\f2Monitoring and Management for Java Platform\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/index.html
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jdb.1 b/jdk/src/linux/doc/man/jdb.1
index 3f91599..c102619 100644
--- a/jdk/src/linux/doc/man/jdb.1
+++ b/jdk/src/linux/doc/man/jdb.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -20,20 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH jdb 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jdb 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jdb \- The Java Debugger
.LP
+.RS 3
.LP
.LP
\f3jdb\fP helps you find and fix bugs in Java language programs.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -49,6 +48,7 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options, as specified below.
@@ -58,6 +58,8 @@
.TP 3
arguments
Arguments passed to the \f2main()\fP method of \f2class\fP.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -74,6 +76,7 @@
.SS
Starting a jdb Session
.LP
+.RS 3
.LP
.LP
@@ -135,11 +138,11 @@
.na
\f2documentation\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see the
.na
\f21.4.2 documentation\fP @
.fi
-http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html
+http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html
.LP
.SS
Basic jdb Commands
@@ -150,6 +153,7 @@
.RS 3
.LP
+.RS 3
.TP 3
help, or ?
The most important \f3jdb\fP command, \f2help\fP displays the list of recognized commands with a brief description.
@@ -163,24 +167,24 @@
print
Displays Java objects and primitive values. For variables or fields of primitive types, the actual value is printed. For objects, a short description is printed. See the \f2dump\fP command below for getting more information about an object.
.LP
-\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac\fP\f2 \fP\f2\-g\fP option.
+\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP option.
.LP
\f2print\fP supports many simple Java expressions including those with method invocations, for example:
.RS 3
.TP 2
-*
+o
\f2print MyClass.myStaticField\fP
.TP 2
-*
+o
\f2print myObj.myInstanceField\fP
.TP 2
-*
+o
\f2print i + j + k\fP \f2(i, j, k are primities and either fields or local variables)\fP
.TP 2
-*
+o
\f2print myObj.myMethod()\fP \f2(if myMethod returns a non\-null)\fP
.TP 2
-*
+o
\f2print new java.lang.String("Hello").length()\fP
.RE
.TP 3
@@ -211,11 +215,14 @@
\f2where\fP with no arguments dumps the stack of the current thread. \f2where all\fP dumps the stack of all threads in the current thread group. \f2where\fP \f2threadindex\fP dumps the stack of the specified thread.
.LP
If the current thread is suspended (either through an event such as a breakpoint or through the \f2suspend\fP command), local variables and fields can be displayed with the \f2print\fP and \f2dump\fP commands. The \f2up\fP and \f2down\fP commands select which stack frame is current.
+.RE
+
.LP
.RE
.SS
Breakpoints
.LP
+.RS 3
.LP
.LP
@@ -223,16 +230,16 @@
.LP
.RS 3
.TP 2
-*
+o
\f2stop at MyClass:22\fP \f2(sets a breakpoint at the first instruction for line 22 of the source file containing MyClass)\fP
.TP 2
-*
+o
\f2stop in java.lang.String.length\fP \f2(sets a breakpoint at the beginnig of the method \fP\f2java.lang.String.length\fP)
.TP 2
-*
+o
\f2stop in MyClass.<init>\fP \f2(<init> identifies the MyClass constructor)\fP
.TP 2
-*
+o
\f2stop in MyClass.<clinit>\fP \f2(<clinit> identifies the static initialization code for MyClass)\fP
.RE
@@ -243,17 +250,21 @@
.LP
The \f2clear\fP command removes breakpoints using a syntax as in "\f2clear\ MyClass:45\fP". Using the \f2clear\fP or command with no argument displays a list of all breakpoints currently set. The \f2cont\fP command continues execution.
.LP
+.RE
.SS
Stepping
.LP
+.RS 3
.LP
.LP
The \f2step\fP commands advances execution to the next line whether it is in the current stack frame or a called method. The \f2next\fP command advances execution to the next line in the current stack frame.
.LP
+.RE
.SS
Exceptions
.LP
+.RS 3
.LP
.LP
@@ -268,6 +279,8 @@
.LP
\f2NOTE: The \fP\f2ignore\fP command does not cause the debugged VM to ignore specific exceptions, only the debugger.
.LP
+.RE
+.RE
.SH "Command Line Options"
.LP
@@ -278,6 +291,7 @@
.LP
The following additional options are accepted by \f3jdb\fP:
.LP
+.RS 3
.TP 3
\-help
Displays a help message.
@@ -300,8 +314,7 @@
\-listconnectors
List the connectors available in this VM
.TP 3
-\-connect
-<connector\-name>:<name1>=<value1>,...
+\-connect <connector\-name>:<name1>=<value1>,...
Connects to target VM using named connector with listed argument values.
.TP 3
\-dbgtrace [flags]
@@ -315,6 +328,8 @@
.TP 3
\-Joption
Pass \f2option\fP to the Java virtual machine used to run jdb. (Options for the application Java virtual machine are passed to the \f3run\fP command.) For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.LP
Other options are supported for alternate mechanisms for connecting the debugger and the VM it is to debug. The Java Platform Debugger Architecture has additional
@@ -326,6 +341,7 @@
.SS
Options Forwarded to Debuggee Process
.LP
+.RS 3
.TP 3
\-v \-verbose[:class|gc|jni]
Turns on verbose mode.
@@ -333,19 +349,20 @@
\-D<name>=<value>
Sets a system property.
.TP 3
-\-classpath <directories separated by
-":">
+\-classpath <directories separated by ":">
Lists directories in which to look for classes.
.TP 3
\-X<option>
Non\-standard target VM option
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-javac, java, javah, javap, javadoc.
+javac(1), java(1), javah(1), javap(1), javadoc(1).
.LP
.LP
diff --git a/jdk/src/linux/doc/man/jhat.1 b/jdk/src/linux/doc/man/jhat.1
index 99ef013..5ec79e3 100644
--- a/jdk/src/linux/doc/man/jhat.1
+++ b/jdk/src/linux/doc/man/jhat.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jhat 1 "05 Aug 2006"
-." Generated by html2roff
+.TH jhat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jhat \- Java Heap Analysis Tool
.LP
.SH "SYNOPSIS"
@@ -47,16 +44,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Options, if used, should follow immediately after the command name.
+.br
.TP 3
heap\-dump\-file
Java binary heap dump file to be browsed. For a dump file that contains multiple heap dumps, you may specify which dump in the file by appending "#<number> to the file name, i.e. "foo.hprof#3".
-.LP
-.SH "DESCRIPTION"
-.LP
-
+.SH "DESCRIPTION"
.LP
.LP
The \f3jhat\fP command parses a java heap dump file and launches a webserver. jhat enables you to browse heap dumps using your favorite webbrowser. jhat supports pre\-designed queries (such as 'show all instances of a known class "Foo"') as well as \f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) \- a SQL\-like query language to query heap dumps. Help on OQL is available from the OQL help page shown by jhat. With the default port, OQL help is available at http://localhost:7000/oqlhelp/
@@ -66,20 +62,20 @@
.LP
.RS 3
.TP 2
-*
-Use jmap \-dump option to obtain a heap dump at runtime;
+o
+Use jmap(1) \-dump option to obtain a heap dump at runtime;
.TP 2
-*
-Use jconsole option to obtain a heap dump via
+o
+Use jconsole(1) option to obtain a heap dump via
.na
\f2HotSpotDiagnosticMXBean\fP @
.fi
-http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html at runtime;
+http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html at runtime;
.TP 2
-*
+o
Heap dump will be generated when OutOfMemoryError is thrown by specifying \-XX:+HeapDumpOnOutOfMemoryError VM option;
.TP 2
-*
+o
Use
.na
\f2hprof\fP @
@@ -91,10 +87,8 @@
.LP
\f3NOTE:\fP This tool is \f3experimental\fP and may \f3not\fP be available in future versions of the JDK.
.LP
-.SH "OPTIONS"
-.LP
-
-.LP
+.SH "OPTIONS"
+.RS 3
.TP 3
\-stack false/true
Turn off tracking object allocation call stack. Note that if allocation site information is not available in the heap dump, you have to set this flag to false. Default is true.
@@ -125,25 +119,23 @@
.TP 3
\-J<flag>\
Pass <flag> to the Java virtual machine on which jhat is run. For example, \-J\-Xmx512m to use a maximum heap size of 512MB.
+.RE
+
.LP
-.SH "SEE ALSO"
-.LP
+.SH "SEE ALSO"
.RS 3
.TP 2
-*
-jmap \- Java Memory Map
+o
+jmap(1)
.TP 2
-*
-jconsole \- Java Monitoring and Management Console
+o
+jconsole(1)
.TP 2
-*
+o
.na
\f2hprof \- Heap and CPU profiling tool\fP @
.fi
http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
.RE
-
-.LP
-
-.LP
+.RE
diff --git a/jdk/src/linux/doc/man/jinfo.1 b/jdk/src/linux/doc/man/jinfo.1
index be40e44..3b2741f 100644
--- a/jdk/src/linux/doc/man/jinfo.1
+++ b/jdk/src/linux/doc/man/jinfo.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jinfo 1 "05 Aug 2006"
-." Generated by html2roff
+.TH jinfo 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jinfo \- Configuration Info
.LP
.SH "SYNOPSIS"
@@ -49,24 +46,37 @@
.LP
.LP
+.RS 3
.TP 3
option
Options are mutually exclusive. Option, if used, should follow immediately after the command name.
+.RS 3
.TP 3
pid
-process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
+.RE
+.RS 3
.TP 3
executable
-Java executable from which the core dump was produced.
+Java executable from which the core dump was produced.
+.RE
+.RS 3
.TP 3
core
-core file for which the configuration info is to be printed.
+core file for which the configuration info is to be printed.
+.RE
+.RS 3
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
+.RE
+.RS 3
.TP 3
server\-id
-optional unique id, if multiple debug servers are running on the same remote host.
+optional unique id, if multiple debug servers are running on the same remote host.
+.RE
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -83,12 +93,16 @@
jinfo \-J\-d64 \-sysprops pid
.RE
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. On Windows, jinfo only supports the \-flag option of a running process.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' need to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
<no option>
prints both command line flags as well as System properties name, value pairs.
@@ -119,16 +133,18 @@
.TP 3
\-help
prints a help message
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jmap.1 b/jdk/src/linux/doc/man/jmap.1
index 9285f2d..915704b 100644
--- a/jdk/src/linux/doc/man/jmap.1
+++ b/jdk/src/linux/doc/man/jmap.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jmap 1 "05 Aug 2006"
-." Generated by html2roff
+.TH jmap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jmap \- Memory Map
.LP
.SH "SYNOPSIS"
@@ -49,25 +46,31 @@
.LP
.LP
+.RS 3
.TP 3
option
Options are mutually exclusive. Option, if used, should follow immediately after the command name.
.TP 3
pid
-process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
+.br
.TP 3
executable
Java executable from which the core dump was produced.
+.br
.TP 3
core
core file for which the memory map is to be printed.
+.br
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
+.br
.TP 3
server\-id
optional unique id, if multiple debug servers are running on the same remote host.
.br
+.RE
.LP
.SH "DESCRIPTION"
@@ -90,76 +93,78 @@
.RE
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
+.LP
.br
.LP
-The only forms of jmap available on the Windows platform are
-.RS 3
-
-.LP
-jmap \-dump:<\f2dump\-options\fP> pid
-.RE
-and
-.RS 3
-
-.LP
-jmap \-histo[:live] pid
-.RE
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
-<no
-option>
-When no option is used jmap prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility.
+<no option>
+When no option is used \f3jmap\fP prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility.
+.br
.TP 3
\-dump:[live,]format=b,file=<filename>
-Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat (Java Heap Analysis Tool) to read the generated file.
+Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat(1) (Java Heap Analysis Tool) to read the generated file.
+.br
.TP 3
\-finalizerinfo
Prints information on objects awaiting finalization.
+.br
.TP 3
\-heap
Prints a heap summary. GC algorithm used, heap configuration and generation wise heap usage are printed.
+.br
.TP 3
\-histo[:live]
Prints a histogram of the heap. For each Java class, number of objects, memory size in bytes, and fully qualified class names are printed. VM internal class names are printed with '*' prefix. If the \f2live\fP suboption is specified, only live objects are counted.
+.br
.TP 3
\-permstat
Prints class loader wise statistics of permanent generation of Java heap. For each class loader, its name, liveness, address, parent class loader, and the number and size of classes it has loaded are printed. In addition, the number and size of interned Strings are printed.
+.br
.TP 3
\-F
Force. Use with jmap \-dump or jmap \-histo option if the pid does not respond. The \f2live\fP suboption is not supported in this mode.
+.br
.TP 3
\-h
Prints a help message.
.br
+.br
.TP 3
\-help
Prints a help message.
.br
+.br
.TP 3
\-J<flag>
Passes <flag> to the Java virtual machine on which jmap is run.
+.br
+.RE
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-pmap (1)
+o
+pmap(1)
.TP 2
-*
-jhat
+o
+jhat(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jps.1 b/jdk/src/linux/doc/man/jps.1
index 4da7581..a692265 100644
--- a/jdk/src/linux/doc/man/jps.1
+++ b/jdk/src/linux/doc/man/jps.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jps 1 "06 Aug 2006"
-." Generated by html2man
+.TH jps 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jps \- Java Virtual Machine Process Status Tool
.LP
.SH "SYNOPSIS"
@@ -47,12 +44,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Command\-line options.
.TP 3
hostid
The host identifier of the host for which the process report should be generated. The \f2hostid\fP may include optional components that indicate the communications protocol, port number, and other implementation specific data.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -83,6 +83,7 @@
.LP
The \f3jps\fP command supports a number of options that modify the output of the command. These options are subject to change or removal in the future.
.LP
+.RS 3
.TP 3
\-q
Suppress the output of the class name, JAR file name, and arguments passed to the \f2main\fP method, producing only a list of local VM identifiers.
@@ -101,6 +102,8 @@
.TP 3
\-Joption
Pass \f2option\fP to the \f3java\fP launcher called by \f3jps\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java.
+.RE
+
.LP
.SS
HOST IDENTIFIER
@@ -122,6 +125,7 @@
.fi
.LP
+.RS 3
.TP 3
protocol
The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific, optimized, local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
@@ -133,7 +137,9 @@
The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
.TP 3
servername
-The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the \f3jstatd\fP command.
+The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the jstatd(1) command.
+.RE
+
.LP
.RE
.SH "OUTPUT FORMAT"
@@ -207,7 +213,7 @@
.br
.fl
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
.br
.fl
@@ -231,7 +237,7 @@
.br
.fl
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
.br
.fl
@@ -245,16 +251,16 @@
.RS 3
.TP 2
o
-java \- the Java Application Launcher
+java(1) \- the Java Application Launcher
.TP 2
o
-jstat \- the Java virtual machine Statistics Monitoring Tool
+jstat(1) \- the Java virtual machine Statistics Monitoring Tool
.TP 2
o
-jstatd \- the jstat daemon
+jstatd(1) \- the jstat daemon
.TP 2
o
-rmiregistry \- the Java Remote Object Registry
+rmiregistry(1) \- the Java Remote Object Registry
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jrunscript.1 b/jdk/src/linux/doc/man/jrunscript.1
index 7f42ee3..5abd126 100644
--- a/jdk/src/linux/doc/man/jrunscript.1
+++ b/jdk/src/linux/doc/man/jrunscript.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH jrunscript 1 "06 Aug 2006"
-." Generated by html2man
+."
+.TH jrunscript 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jrunscript \- command line script shell
.LP
.SH "SYNOPSIS"
@@ -45,12 +42,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Options, if used, should follow immediately after the command name.
.TP 3
arguments
Arguments, if used, should follow immediately after options or command name.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -66,6 +66,7 @@
.LP
.LP
+.RS 3
.TP 3
\-classpath path
Specify where to find the user's .class files that are accessed by the script.
@@ -102,6 +103,8 @@
.TP 3
\-q\
List all script engines available and exit.
+.RE
+
.LP
.SH "ARGUMENTS"
.LP
diff --git a/jdk/src/linux/doc/man/jsadebugd.1 b/jdk/src/linux/doc/man/jsadebugd.1
index 1cf3e03..6f99725 100644
--- a/jdk/src/linux/doc/man/jsadebugd.1
+++ b/jdk/src/linux/doc/man/jsadebugd.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jsadebugd 1 "05 Aug 2006"
-." Generated by html2roff
+.TH jsadebugd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jsadebugd \- Serviceability Agent Debug Daemon
.LP
.SH "SYNOPSIS"
@@ -47,30 +44,49 @@
.LP
.LP
+.RS 3
.TP 3
pid
-process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. At most one instance of the debug server may be attached to a single process.
+process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. At most one instance of the debug server may be attached to a single process.
+.RE
+
.LP
+.RS 3
.TP 3
executable
+.RE
+
.LP
+.RS 3
.TP 3
Java executable from which the core dump was produced
+.RE
+
.LP
+.RS 3
.TP 3
core
Core file to which the debug server should attach.
+.RE
+
.LP
+.RS 3
.TP 3
server\-id
Optional unique id, needed if multiple debug servers are started on the same machine. This ID must be used by remote clients to identify the particular debug server to attach. Within a single machine, this ID must be unique.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
.LP
.LP
-\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack, jmap, and jinfo can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, rmiregistry must be started with:
+\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack(1), jmap(1), and jinfo(1) can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP,
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi must be started with:
.LP
.RS 3
@@ -89,26 +105,32 @@
where \f2$JAVA_HOME\fP is the JDK installation directory. If rmiregistry was not started, jsadebugd will start an rmiregistry in a standard (1099) port internally. Debug server may be stopped by sending SIGINT (pressing Ctrl\-C) to it.
.LP
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. jsadebugd is not currently available on Windows platforms.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-jinfo
+o
+jinfo(1)
.TP 2
-*
-jmap
+o
+jmap(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jstack
+o
+jstack(1)
.TP 2
-*
-rmiregistry
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jstack.1 b/jdk/src/linux/doc/man/jstack.1
index fcbe3cb..0486a85 100644
--- a/jdk/src/linux/doc/man/jstack.1
+++ b/jdk/src/linux/doc/man/jstack.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jstack 1 "07 Aug 2006"
-." Generated by html2man
+.TH jstack 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jstack \- Stack Trace
.br
@@ -57,7 +54,7 @@
.RS 3
.TP 3
pid
-process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
.RE
.LP
@@ -72,7 +69,7 @@
.br
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
.br
.TP 3
server\-id
@@ -103,15 +100,10 @@
.LP
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. The only form of jstack that is available on Windows platforms is\fP
+\f3NOTE\fP \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \f2PATH\fP environment variable should contain the location of \f2jvm.dll\fP used by the target process or the location from which the Crash Dump file was produced.
.LP
-.nf
-\f3
-.fl
-\fP\f3 jstack pid \fP
-.fl
-.fi
-
+.LP
+For example, \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "OPTIONS"
.LP
@@ -120,7 +112,14 @@
.RS 3
.TP 3
\-F
-Forces a stack dump when 'jstack pid' does not respond.
+Force a stack dump when 'jstack [\-l] pid' does not respond.
+.TP 3
+\-l
+Long listing. Prints additional information about locks such as list of owned java.util.concurrent
+.na
+\f2ownable synchronizers\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html.
.TP 3
\-m
prints mixed mode (both Java and native C/C++ frames) stack trace.
@@ -147,10 +146,10 @@
c++filt(1)
.TP 2
o
-jps
+jps(1)
.TP 2
o
-jsadebugd
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/jstat.1 b/jdk/src/linux/doc/man/jstat.1
index 665e513..4abcf0f 100644
--- a/jdk/src/linux/doc/man/jstat.1
+++ b/jdk/src/linux/doc/man/jstat.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -21,25 +19,38 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH jstat 1 "06 Aug 2006"
-." Generated by html2man
-.SH NAME
+.TH jstat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "Name"
jstat \- Java Virtual Machine Statistics Monitoring Tool
+.LP
.SH "SYNOPSIS"
+.LP
+
+.LP
.nf
-\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
+\f3
+.fl
+\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
.fl
.fi
+
+.LP
.SH "PARAMETERS"
+.LP
+
+.LP
+.RS 3
.TP 3
-generalOption
-A single general command\-line option (\-help, \-options, or \-version)
+generalOption
+A single general command\-line option (\-help, \-options, or \-version)
.TP 3
-outputOptions
-One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options.
+outputOptions
+One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options.
.TP 3
-vmid
+vmid
Virtual machine identifier, a string indicating the target Java virtual machine (JVM). The general syntax is
.nf
\f3
@@ -47,82 +58,124 @@
[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
.fl
.fi
-The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details.
+The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details.
.TP 3
-interval[s|ms]
-Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval.
+interval[s|ms]
+Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval.
.TP 3
-count
-Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer.
+count
+Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer.
+.RE
+
+.LP
.SH "DESCRIPTION"
.LP
+
+.LP
+.LP
The \f3jstat\fP tool displays performance statistics for an instrumented HotSpot Java virtual machine (JVM). The target JVM is identified by its virtual machine identifier, or \f2vmid\fP option described below.
.LP
+.LP
\f3NOTE\fP: This utility is unsupported and may not be available in future versions of the JDK. It is not currently available on Windows 98 and Windows ME. platforms.
.br
+
+.LP
.SS
VIRTUAL MACHINE IDENTIFIER
.LP
+.RS 3
+
+.LP
+.LP
The syntax of the \f2vmid\fP string largely corresponds to the syntax of a URI:
+.LP
.nf
\f3
.fl
[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP]
.fl
.fi
+
+.LP
+.RS 3
.TP 3
-protocol
-The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
+protocol
+The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
.TP 3
-lvmid
-The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the \f3jps\fP command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager.
+lvmid
+The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the jps(1) command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager.
.TP 3
-hostname
-A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host.
+hostname
+A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host.
.TP 3
-port
-The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
+port
+The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
.TP 3
-servername
-The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host.
+servername
+The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host.
+.RE
+
+.LP
+.RE
.SH "OPTIONS"
.LP
+
+.LP
+.LP
The \f3jstat\fP command supports two types of options, general options and output options. General options cause \f3jstat\fP to display simple usage and version information. Output options determine the content and format of the statistical output.
.br
+
+.LP
.LP
\f3NOTE\fP: All options, and their functionality are subject to change or removal in future releases.
+.LP
.SS
-GENERAL
-OPTIONS
+GENERAL OPTIONS
+.LP
.LP
If you specify one of the general options, you cannot specify any other option or parameter.
+.LP
+.RS 3
.TP 3
-\-help
-Display help message.
+\-help
+Display help message.
.TP 3
-\-version
-Display version information.
+\-version
+Display version information.
.TP 3
-\-options
-Display list of statistics options. See the Output Options section below.
+\-options
+Display list of statistics options. See the Output Options section below.
+.RE
+
+.LP
.SS
-OUTPUT
-OPTIONS
+OUTPUT OPTIONS
+.LP
+.RS 3
+
+.LP
.LP
If you do not specify a general option, then you can specify output options. Output options determine the content and format of \f3jstat\fP's output, and consist of a single \f2statOption\fP, plus any of the other output options (\-h, \-t, and \-J).\ The \f2statOption\fP must come first.
.LP
+.LP
Output is formatted as a table, with columns are separated by spaces. A header row with titles describes the columns.\ Use the \f3\-h\fP option to set the frequency at which the header is displayed.\ Column header names are generally consistent between the different options. In general, if two options provide a column with the same name, then the data source for the two columns are the same.
.LP
+.LP
Use the \f3\-t\fP option to display a time stamp column, labeled \f2Timestamp\fP as the first column of output. The \f2Timestamp\fP column contains the elapsed time, in seconds, since startup of the target JVM. The resolution of the time stamp is dependent on various factors and is subject to variation due to delayed thread scheduling on heavily loaded systems.
.LP
+.LP
Use the \f2interval\fP and \f2count\fP parameters to determine how frequently and how many times, respectively, \f3jstat\fP displays its output.
.LP
+.LP
\f3NOTE\fP: You are advised not to write scripts to parse \f3jstat's\fP output since the format may change in future releases. If you choose to write scripts that parse \f3jstat\fP output, expect to modify them for future releases of this tool.
+.LP
+.RS 3
.TP 3
-\-statOption
+\-statOption
Determines the statistics information that \f3jstat\fP displays. The following table lists the available options.\ Use the \f3\-options\fP general option to display the list of options for a particular platform installation.
.br
.br
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -405,7 +458,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 231 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -634,39 +687,33 @@
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-52
.TP 3
-\-hn
-Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data.
+\-h n
+Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data.
.TP 3
-\-tn
-Display a timestamp column as the first column of output. The timestamp is the the time since the start time of the target JVM.
+\-t n
+Display a timestamp column as the first column of output. The timestamp is the time since the start time of the target JVM.
.TP 3
-\-JjavaOption
-Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see the following documents:
-.RS 3
-.TP 2
-*
-.na
-\f2java \- the Java application launcher (Solaris)\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html
-.TP 2
-*
-.na
-\f2java \- the Java application launcher (Linux)\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html
-.TP 2
-*
-java \- the Java application launcher (Windows)
+\-JjavaOption
+Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see java(1)
+.RE
+
+.LP
.RE
.SS
-STATOPTIONS AND
-OUTPUT
+STATOPTIONS AND OUTPUT
+.LP
+.RS 3
+
+.LP
.LP
The following tables summarize the columns that \f3jstat\fP outputs for each \f2statOption\fP.
.br
+
+.LP
.SS
\-class Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -779,7 +826,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 214 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 281 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -866,9 +913,12 @@
.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-21
+
+.LP
.SS
-\-compiler
-Option
+\-compiler Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -1033,7 +1083,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 247 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 317 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1163,8 +1213,12 @@
.rm f+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-29
+
+.LP
.SS
\-gc Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -1493,7 +1547,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 313 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 387 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1763,8 +1817,12 @@
.rm n+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
+
+.LP
.SS
\-gccapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2113,7 +2171,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 383 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 461 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2400,11 +2458,15 @@
.rm o+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-67
+
+.LP
.SS
-\-gccause
-Option
+\-gccause Option
+.LP
.LP
This option displays the same summary of garbage collection statistics as the \f3\-gcutil\fP option, but includes the causes of the last garbage collection event and (if applicable) the current garbage collection event. In addition to the columns listed for \f3\-gcutil\fP, this option adds the following columns:
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2489,7 +2551,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 402 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 484 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2551,8 +2613,12 @@
.rm b+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-13
+
+.LP
.SS
\-gcnew Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2801,7 +2867,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 452 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 538 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3003,8 +3069,12 @@
.rm j+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-47
+
+.LP
.SS
\-gcnewcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3252,7 +3322,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 504 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 594 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3454,8 +3524,12 @@
.rm j+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-49
+
+.LP
.SS
\-gcold Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3644,7 +3718,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 542 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 636 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3795,8 +3869,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
\-gcoldcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3985,7 +4063,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 580 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 678 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4136,8 +4214,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
\-gcpermcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -4326,7 +4408,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 618 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 720 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4477,9 +4559,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcutil
-Option
+\-gcutil Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -4708,7 +4793,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 665 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 770 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4893,8 +4978,12 @@
.rm i+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-43
+
+.LP
.SS
\-printcompilation Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -5003,7 +5092,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 687 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 796 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -5086,16 +5175,26 @@
.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-19
+
+.LP
.SS
+
+.LP
.SH ""
.LP
+.LP
This section presents some examples of monitoring a local JVM with a \f2lvmid\fP of 21891.
+.LP
.SS
Using the gcutil option
.LP
+.LP
This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the \f3\-gcutil\fP option.
+.LP
.nf
-\f3jstat \-gcutil 21891 250 7\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 21891 250 7\fP
.br
.fl
@@ -5129,16 +5228,24 @@
.fl
0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
.br
+
+.fl
.fi
+
+.LP
.LP
The output of this example shows that a young generation collection occurred between the 3rd and 4th sample. The collection took 0.001 seconds and promoted objects from the eden space (E) to the old space (O), resulting in an increase of old space utilization from 9.49% to 9.51%. Before the collection, the survivor space was 12.44% utilized, but after this collection it is only 7.74% utilized.
+.LP
.SS
-Repeating the column header
-string
+Repeating the column header string
+.LP
.LP
This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond intervals and displays the output as specified by \f3\-gcutil\fP option. In addition, it uses the \f3\-h3\fP option to output the column header after every 3 lines of data.
+.LP
.nf
-\f3jstat \-gcnew \-h3 21891 250\fP
+\f3
+.fl
+\fP\f3jstat \-gcnew \-h3 21891 250\fP
.br
.fl
@@ -5180,18 +5287,27 @@
.fl
64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
.br
+
+.fl
.fi
+
+.LP
.LP
In addition to showing the repeating header string, this example shows that between the 2nd and 3rd samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough live data that the survivor space 0 utilization (S0U) would would have exceeded the desired survivor Size (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the tenuring threshold (TT) was lowered from 31 to 2.
.LP
+.LP
Another collection occurs between the 5th and 6th samples. This collection found very few survivors and returned the tenuring threshold to 31.
+.LP
.SS
-Including a
-time stamp for each sample
+Including a time stamp for each sample
+.LP
.LP
This example attaches to \f2lvmid\fP 21891 and takes 3 samples at 250 millisecond intervals. The \f3\-t\fP option is used to generate a time stamp for each sample in the first column.
+.LP
.nf
-\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
+\f3
+.fl
+\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
.br
.fl
@@ -5209,37 +5325,56 @@
.fl
150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
.br
+
+.fl
.fi
+
+.LP
.LP
The \f2Timestamp\fP column reports the elapsed time in seconds since the start of the target JVM. In addition, the \f3\-gcoldcapacity\fP output shows the old generation capacity (OGC) and the old space capacity (OC) increasing as the heap expands to meet allocation and/or promotion demands. The old generation capacity (OGC) has grown to from 11696 KB to 13820 KB after the 81st Full GC (FGC). The maximum capacity of the generation (and space) is 60544 KB (OGCMX), so it still has room to expand.
+.LP
.SS
-Monitor
-instrumentation for a remote JVM
+Monitor instrumentation for a remote JVM
+.LP
.LP
This example attaches to \f2lvmid\fP 40496 on the system named \f2remote.domain\fP using the \f3\-gcutil\fP option, with samples taken every second indefinitely.
+.LP
.nf
-\f3jstat \-gcutil 40496@remote.domain 1000\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP
.br
.fl
... \f2output omitted\fP
.br
+
+.fl
.fi
+
+.LP
.LP
The \f2lvmid\fP is combined with the name of the remote host to construct a \f2vmid\fP of \f240496@remote.domain\fP. This \f2vmid\fP results in the use of the \f3rmi\fP protocol to communicate to the default \f3jstatd\fP server on the remote host. The \f3jstatd\fP server is located using the \f3rmiregistry\fP on \f2remote.domain\fP that is bound to the default \f3rmiregistry\fP port (port 1099).
+.LP
+.RE
.SH "SEE ALSO"
+.LP
.RS 3
.TP 2
-*
-java \- the Java Application Launcher
+o
+java(1) \- the Java Application Launcher
.TP 2
-*
-jps \- the Java Process Status Application
+o
+jps(1) \- the Java Process Status Application
.TP 2
-*
-jstatd \- the jvmstat daemon
+o
+jstatd(1) \- the jvmstat daemon
.TP 2
-*
-rmiregistry \- the Java Remote Object Registry
+o
+rmiregistry(1) \- the Java Remote Object Registry
.RE
+
+.LP
+
+.LP
diff --git a/jdk/src/linux/doc/man/jstatd.1 b/jdk/src/linux/doc/man/jstatd.1
index 9e5022b..e80e649 100644
--- a/jdk/src/linux/doc/man/jstatd.1
+++ b/jdk/src/linux/doc/man/jstatd.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH jstatd 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jstatd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jstatd \- Virtual Machine jstat Daemon
.LP
.SH "SYNOPSIS"
@@ -48,9 +45,12 @@
.LP
.LP
+.RS 3
.TP 3
options
Command\-line options. The options may be in any order. If there are redundant or contradictory options, the last option specified will take precedence.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -72,6 +72,7 @@
.LP
The \f3jstatd\fP command supports the following options:
.LP
+.RS 3
.TP 3
\-nr
Do not attempt to create an internal RMI registry within the \f2jstatd\fP process when an existing RMI registry is not found.
@@ -80,10 +81,12 @@
Port number where the RMI registry is expected to be found, or, if not found, created if \f2\-nr\fP is not specified.
.TP 3
\-n\ rminame
-Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings.
+Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings.
.TP 3
\-Joption
Pass \f2option\fP to the \f3java\fP launcher called by \f3javac\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java.
+.RE
+
.LP
.SH "SECURITY"
.LP
@@ -141,8 +144,7 @@
.LP
For sites with more restrictive security practices, it is possible to use a custom policy file to limit access to specific trusted hosts or networks, though such techniques are subject to IP addreess spoofing attacks. If your security concerns cannot be addressed with a customized policy file, then the safest action is to not run the \f3jstatd\fP server and use the \f3jstat\fP and \f3jps\fP tools locally.
.LP
-.SH "REMOTE
-INTERFACE"
+.SH "REMOTE INTERFACE"
.LP
.LP
@@ -157,8 +159,7 @@
Here are some examples of starting \f3jstatd\fP. Note that the \f3jstatd\fP scripts automatically start the server in the background.
.LP
.SS
-Using Internal RMI
-Registry
+Using Internal RMI Registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP with an internal RMI registry. This example assumes that no other server is bound to the default RMI Registry port (port 1099).
@@ -173,8 +174,7 @@
.LP
.SS
-Using
-External RMI Registry
+Using External RMI Registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP with a external RMI registry.
@@ -219,8 +219,7 @@
.LP
.SS
-Inhibiting creation of an in\-process RMI
-registry
+Inhibiting creation of an in\-process RMI registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP such that it will not create a RMI registry if one is not found. This example assumes an RMI registry is already running. If it is not, an appropriate error message is emitted.
@@ -235,8 +234,7 @@
.LP
.SS
-Enabling RMI
-logging capabilities.
+Enabling RMI logging capabilities.
.LP
.LP
This example demonstrates starting \f3jstatd\fP with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities.
@@ -254,17 +252,20 @@
.LP
.RS 3
.TP 2
-*
-java \- the Java Application Launcher
+o
+java(1) \- the Java Application Launcher
.TP 2
-*
-jps \- the Java Process Status Application
+o
+jps(1) \- the Java Process Status Application
.TP 2
-*
-jstat \- the Java Virtual Machine Statistics Monitoring Tool
+o
+jstat(1) \- the Java Virtual Machine Statistics Monitoring Tool
.TP 2
-*
-rmiregistry \- the Java Remote Object Registry
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- the Java Remote Object Registry
.RE
.LP
diff --git a/jdk/src/linux/doc/man/keytool.1 b/jdk/src/linux/doc/man/keytool.1
index 5a418d0..12acb2a 100644
--- a/jdk/src/linux/doc/man/keytool.1
+++ b/jdk/src/linux/doc/man/keytool.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH keytool 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH keytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
keytool \- Key and Certificate Management Tool
.LP
.RS 3
@@ -165,17 +162,19 @@
.fl
.fl
-\-keystore \fP\f4the file named \fP\f4.keystore\fP\f3 in the user's home directory\fP\f3
+\-keystore the file named \fP\f4.keystore\fP\f3 in the user's home directory
.fl
.fl
-\-storetype \fP\f4the value of the "keystore.type" property in the security properties file,
+\-storetype the value of the "keystore.type" property in the security properties file,
.fl
- which is returned by the static \fP\f4getDefaultType\fP\f3 method in \fP\f4java.security.KeyStore\fP\f3
+ which is returned by the static \fP\f4getDefaultType\fP\f3 method in
+.fl
+ \fP\f4java.security.KeyStore\fP\f3
.fl
.fl
-\-file \fP\f4stdin if reading, stdout if writing\fP\f3
+\-file stdin if reading, stdout if writing
.fl
.fl
@@ -187,7 +186,7 @@
.fi
.LP
-In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "MD5withRSA". Please consult the
+In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "SHA1withRSA". Please consult the
.na
\f2Java Cryptography Architecture API Specification & Reference\fP @
.fi
@@ -199,7 +198,7 @@
.RS 3
.LP
-The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be output.
+The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be provided in the output.
.LP
There is also a \f2\-J\fP\f2javaoption\fP option that may appear for any command. If it appears, the specified \f2javaoption\fP string is passed through directly to the Java interpreter. This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
.LP
@@ -236,9 +235,437 @@
.TP 3
\-protected
Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
-.RE
+.LP
+Note: Since there are two keystores involved in \f2\-importkeystore\fP command, two options, namely, \f2\-srcprotected\fP and \f2\-destprotected\fP are provided for the source keystore and the destination keystore respectively.
+.TP 3
+\-ext {name{:critical}{=value}}
+Denotes an X.509 certificate extension. The option can be used in \f2\-genkeypair\fP and \f2\-gencert\fP to embed extensions into the certificate generated, or in \f2\-certreq\fP to show what extensions are requested in the certificate request. The option can appear multiple times. name can be a supported extension name (see below) or an arbitrary OID number. value, if provided, denotes the parameter for the extension; if omitted, denotes the default value (if defined) of the extension or the extension requires no parameter. The \f2":critical"\fP modifier, if provided, means the extension's isCritical attribute is true; otherwise, false.
+.RS 3
.LP
+.LP
+Currently keytool supports these named extensions (case\-insensitive):
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+The full form: "ca:{true|false}[,pathlen:<len>]"; or, <len>, a shorthand for "ca:true,pathlen:<len>"; or omitted, means "ca:true"
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentCommitment), keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly. Usage can be abbreviated with the first few letters (say, dig for digitalSignature) or in camel\-case style (say, dS for digitalSignature, cRLS for cRLSign), as long as no ambiguity is found. Usage is case\-insensitive.
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+usage(,usage)*, usage can be one of anyExtendedKeyUsage, serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning, or any OID string. Named usage can be abbreviated with the first few letters or in camel\-case style, as long as no ambiguity is found. Usage is case\-insensitive.
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+SAN or SubjectAlternativeName
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+type:value(,type:value)*, type can be EMAIL, URI, DNS, IP, or OID, value is the string format value for the type.
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+IAN or IssuerAlternativeName
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+same as SubjectAlternativeName
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+method:location\-type:location\-value (,method:location\-type:location\-value)*, method can be "timeStamping", "caRepository" or any OID. location\-type and location\-value can be any type:value supported by the SubjectAlternativeName extension.
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+AIA or AuthorityInfoAccess
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+same as SubjectInfoAccess. method can be "ocsp","caIssuers" or any OID.
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3Name\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBC or BasicConstraints
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wKU or KeyUsage
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEKU or ExtendedkeyUsage
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wSIA or SubjectInfoAccess
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(f-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(i-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f3Value\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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
+.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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 288 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3Name\fP\h'|\n(41u'\f3Value\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'BC or BasicConstraints\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'KU or KeyUsage\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EKU or ExtendedkeyUsage\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.ne \n(e|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.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
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(f|u+\n(.Vu
+.ne \n(g|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.f+
+.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
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(h|u+\n(.Vu
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'SIA or SubjectInfoAccess\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.ne \n(j|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.i+
+.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
+.j+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-38
+
+.LP
+.LP
+For name as OID, value is the HEX dumped DER encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Any extra character other than standard HEX numbers (0\-9, a\-f, A\-F) are ignored in the HEX string. Therefore, both \f2"01:02:03:04"\fP and \f2"01020304"\fP are accepted as identical values. If there's no value, the extension has an empty value field then.
+.LP
+.LP
+A special name \f2"honored"\fP, used in \-gencert only, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma\-seperated list of \f2"all"\fP (all requested extensions are honored), \f2"name{:[critical|non\-critical]}"\fP (the named extension is honored, but using a different isCritical attribute) and \f2"\-name"\fP (used with all, denotes an exception). Requested extensions are not honored by default.
+.LP
+.LP
+If, besides the \-ext honored option, another named or OID \-ext option is provided, this extension will be added to those already honored. However, if this name (or OID) also appears in the honored value, its value and criticality overrides the one in the request.
+.LP
+.LP
+The subjectKeyIdentifier extension is always created. For non self\-signed certificates, the authorityKeyIdentifier is always created.
+.LP
+.RE
+.RE
.RE
.SH "COMMANDS"
.LP
@@ -252,7 +679,15 @@
.LP
.RS 3
.TP 3
-\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-gencert {\-infile infile} {\-outfile outfile} {\-ext ext}* {\-rfc} {\-alias alias} {\-sigalg sigalg} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] [\-keypass keypass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+.LP
+Generates a certificate as a response to a certificate request file (which can be created by the \f2keytool \-certreq\fP command). The command reads the request from infile (if omitted, from the standard input), signs it using alias's private key, and output the X.509 certificate into outfile (if omitted, to the standard output). If \f2\-rfc\fP is specified, output format is BASE64\-encoded PEM; otherwise, a binary DER is created.
+.LP
+\f2sigalg\fP specifies the algorithm that should be used to sign the certificate. valDays tells the number of days for which the certificate should be considered valid.
+.LP
+\f2ext\fP shows what X.509 extensions will be embedded in the certificate. Read Common Options for the grammar of \f2\-ext\fP.
+.TP 3
+\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
Generates a key pair (a public key and associated private key). Wraps the public key into an X.509 v3 self\-signed certificate, which is stored as a single\-element certificate chain. This certificate chain and the private key are stored in a new keystore entry identified by \f2alias\fP.
.LP
@@ -262,9 +697,60 @@
.LP
\f2keypass\fP is a password used to protect the private key of the generated key pair. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long.
.LP
-\f2valDays\fP tells the number of days for which the certificate should be considered valid.
+\f2startdate\fP specifies the issue time of the certificate, also known as the "Not Before" value of the X.509 certificate's Validity field.
+.RS 3
+
.LP
-This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-genkeypair\fP, is preferred going forward.
+.LP
+The option value can be set in one of these two forms:
+.LP
+.RS 3
+.TP 3
+1.
+.LP
+([+\-]\f2nnn\fP[ymdHMS])+
+.TP 3
+2.
+.LP
+[yyyy/mm/dd] [HH:MM:SS]
+.RE
+
+.LP
+.LP
+With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of sub values. Inside each sub value, the plus sign ("+") means shifting forward, and the minus sign ("\-") means shifting backward. The time to be shifted is \f2nnn\fP units of years, months, days, hours, minutes, or seconds (denoted by a single character of "y", "m", "d", "H", "M", or "S" respectively). The exact value of the issue time is calculated using the \f2java.util.GregorianCalendar.add(int field, int amount)\fP method on each sub value, from left to right. For example, by specifying \f2"\-startdate \-1y+1m\-1d"\fP, the issue time will be:
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ Calendar c = new GregorianCalendar();
+.fl
+ c.add(Calendar.YEAR, \-1);
+.fl
+ c.add(Calendar.MONTH, 1);
+.fl
+ c.add(Calendar.DATE, \-1);
+.fl
+ return c.getTime()
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local timezone). The user may provide only one part, which means the other part is the same as the current date (or time). User must provide the exact number of digits as shown in the format definition (padding with 0 if shorter). When both the date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24 hour format.
+.LP
+.LP
+When the option is not provided, the start date is the current time. The option can be provided at most once.
+.LP
+.RE
+.LP
+\f2valDays\fP specifies the number of days (starting at the date specified by \f2\-startdate\fP, or the current date if \f2\-startdate\fP is not specified) for which the certificate should be considered valid.
+.LP
+This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarity the new name, \f2\-genkeypair\fP, is preferred going forward.
.TP 3
\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
@@ -274,7 +760,7 @@
.TP 3
\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or PKCS#7 reply is read from stdin.
+Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or a sequence of X.509 certificates) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or certificate chain is read from stdin.
.LP
\f3keytool\fP can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format, or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with "\-\-\-\-\-BEGIN", and bounded at the end by a string that starts with "\-\-\-\-\-END".
.LP
@@ -299,8 +785,6 @@
.RE
\f3Importing a New Trusted Certificate\fP
.RS 3
-
-.LP
.LP
Before adding the certificate to the keystore, \f3keytool\fP tries to verify it by attempting to construct a chain of trust from that certificate to a self\-signed certificate (belonging to a root CA), using trusted certificates that are already available in the keystore.
.LP
@@ -325,7 +809,7 @@
\f3If the reply is a single X.509 certificate\fP, \f3keytool\fP attempts to establish a trust chain, starting at the certificate reply and ending at a self\-signed certificate (belonging to a root CA). The certificate reply and the hierarchy of certificates used to authenticate the certificate reply form the new certificate chain of \f2alias\fP. If a trust chain cannot be established, the certificate reply is not imported. In this case, \f3keytool\fP does not print out the certificate and prompt the user to verify it, because it is very hard (if not impossible) for a user to determine the authenticity of the certificate reply.
.TP 2
o
-\f3If the reply is a PKCS#7 formatted certificate chain\fP, the chain is first ordered (with the user certificate first and the self\-signed root CA certificate last), before \f3keytool\fP attempts to match the root CA certificate provided in the reply with any of the trusted certificates in the keystore or the "cacerts" keystore file (if the \f2\-trustcacerts\fP option was specified). If no match can be found, the information of the root CA certificate is printed out, and the user is prompted to verify it, e.g., by comparing the displayed certificate fingerprints with the fingerprints obtained from some other (trusted) source of information, which might be the root CA itself. The user then has the option of aborting the import operation. If the \f2\-noprompt\fP option is given, however, there will be no interaction with the user.
+\f3If the reply is a PKCS#7 formatted certificate chain or a sequence of X.509 certificates\fP, the chain is ordered with the user certificate first followed by zero or more CA certificates. If the chain ends with a self\-signed root CA certificate and \f2\-trustcacerts\fP option was specified, \f3keytool\fP will attempt to match it with any of the trusted certificates in the keystore or the "cacerts" keystore file. If the chain does not end with a self\-signed root CA certificate and the \f2\-trustcacerts\fP option was specified, \f3keytool\fP will try to find one from the trusted certificates in the keystore or the "cacerts" keystore file and add it to the end of the chain. If the certificate is not found and \f2\-noprompt\fP option is not specified, the information of the last certificate in the chain is printed out, and the user is prompted to verify it.
.RE
.LP
@@ -347,6 +831,10 @@
If the destination alias already exists in the destination keystore, the user is prompted to either overwrite the entry, or to create a new entry under a different alias name.
.LP
Note that if \f2\-noprompt\fP is provided, the user will not be prompted for a new destination alias. Existing entries will automatically be overwritten with the destination alias name. Finally, entries that can not be imported are automatically skipped and a warning is output.
+.TP 3
+\-printcertreq {\-file file}
+.LP
+Prints the content of a PKCS #10 format certificate request, which can be generated by the keytool \-certreq command. The command reads the request from file; if omitted, from the standard input.
.RE
.RE
.SS
@@ -398,16 +886,20 @@
.LP
Prints (to stdout) the contents of the keystore entry identified by \f2alias\fP. If no alias is specified, the contents of the entire keystore are printed.
.LP
-This command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard
+This command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard
.LP
You cannot specify both \f2\-v\fP and \f2\-rfc\fP.
.TP 3
-\-printcert {\-file cert_file} {\-v} {\-Jjavaoption}
+\-printcert {\-file cert_file | \-sslserver host[:port]} {\-rfc} {\-v} {\-Jjavaoption}
.LP
.LP
-Internet RFC 1421 standard.
+If \f2\-rfc\fP is specified, keytool prints the certificate in PEM mode as defined by the Internet RFC 1421 standard.
.LP
-Note: This option can be used independently of a keystore.
+If the certificate is read from a file or stdin, it may be either binary encoded or in printable encoding format, as defined by the Internet RFC 1421 standard
+.LP
+If the SSL server is behind a firewall, \f2\-J\-Dhttps.proxyHost=proxyhost\fP and \f2\-J\-Dhttps.proxyPort=proxyport\fP can be specified on the command line for proxy tunneling. See the JSSE Reference Guide for more information.
+.LP
+\f3Note\fP: This option can be used independently of a keystore.
.RE
.LP
@@ -606,11 +1098,7 @@
.RS 3
.LP
-Suppose you have used the
-.na
-\f2jarsigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature.
+Suppose you have used the jarsigner(1) tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature.
.LP
One way they can do this is by first importing your public key certificate into their keystore as a "trusted" entry. You can export the certificate and supply it to your clients. As an example, you can copy your certificate to a file named \f2MJ.cer\fP via the following, assuming the entry is aliased by "mykey":
.LP
@@ -677,6 +1165,45 @@
.RE
.LP
+.SS
+Generating Certificates for a typical SSL Server
+.LP
+.RS 3
+
+.LP
+.LP
+Keytool commands to generate keypairs and certificates for three entities, namely, Root CA (root), Intermadiate CA (ca), and SSL server (server) are as follows:
+.LP
+.nf
+\f3
+.fl
+keytool \-keystore root.jks \-genkeypair \-alias root \-ext bc:c
+.fl
+keytool \-keystore ca.jks \-alias ca
+.fl
+keytool \-keystore server.jks \-alias server
+.fl
+
+.fl
+keytool \-keystore root.jks \-alias root \-exportcert > root.pem
+.fl
+
+.fl
+keytool \-keystore ca.jks \-certreq \-alias ca | keytool \-keystore root.jks \-gencert \-alias root \-ext BC=0 > ca.pem
+.fl
+keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem
+.fl
+
+.fl
+keytool \-keystore server.jks \-certreq \-alias server | keytool \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE >server.pem
+.fl
+cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server
+.fl
+\fP
+.fi
+.RE
+
+.LP
.SH "TERMINOLOGY and WARNINGS"
.LP
@@ -759,7 +1286,11 @@
There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
.LP
.LP
-Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in How to Implement a Provider for the Java Cryptography Architecture.
+Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in
+.na
+\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html.
.LP
.LP
Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
@@ -1132,13 +1663,6 @@
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustca
-.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root,
-.br
-O=GTE Corporation, C=US
-.TP 2
-*
\f3Alias\fP: gtecybertrust5ca
.br
\f3Owner DN\fP: CN=GTE CyberTrust Root 5,
@@ -1370,7 +1894,7 @@
The \f2\-exportcert\fP command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, if the \f2\-rfc\fP option is specified.
.LP
.LP
-The \f2\-list\fP command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format.
+The \f2\-list\fP command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format.
.LP
.LP
In its printable encoding format, the encoded certificate is bounded at the beginning by
@@ -1577,18 +2101,15 @@
.RS 3
.TP 2
o
-.na
-\f2jar\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html tool documentation
+.LP
+jar(1) tool documentation
.TP 2
o
-.na
-\f2jarsigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool documentation
+.LP
+jarsigner(1) tool documentation
.TP 2
o
+.LP
the
.na
\f4Security\fP @
@@ -1597,7 +2118,7 @@
.na
\f4Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of \f3keytool\fP
+http://java.sun.com/docs/books/tutorial for examples of the use of \f3keytool\fP
.RE
.LP
diff --git a/jdk/src/linux/doc/man/native2ascii.1 b/jdk/src/linux/doc/man/native2ascii.1
index 1bc4da6..c910141 100644
--- a/jdk/src/linux/doc/man/native2ascii.1
+++ b/jdk/src/linux/doc/man/native2ascii.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH native2ascii 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Created by: Doug Kramer, 19\-Aug\-1996
+.TH native2ascii 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
native2ascii \- Native\-to\-ASCII Converter
.LP
+.RS 3
.LP
.LP
Converts a file with native\-encoded characters (characters which are non\-Latin 1 and non\-Unicode) to one with Unicode\-encoded characters.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -60,6 +59,7 @@
.LP
.LP
+.RS 3
.TP 3
\-reverse
Perform the reverse operation: convert a file with Latin\-1 and/or Unicode encoded characters to one with native\-encoded characters.
@@ -74,7 +74,9 @@
http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html document.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.LP
diff --git a/jdk/src/linux/doc/man/orbd.1 b/jdk/src/linux/doc/man/orbd.1
index a821c30..edb859a 100644
--- a/jdk/src/linux/doc/man/orbd.1
+++ b/jdk/src/linux/doc/man/orbd.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH orbd 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH orbd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
orbd \- The Object Request Broker Daemon
.LP
.RS 3
@@ -36,7 +33,11 @@
\f3orbd\fP is used to enable clients to transparently locate and invoke persistent objects on servers in the CORBA environment.
.LP
.LP
-\f3See also:\fP \f2Naming Service\fP
+\f3See also:\fP
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.LP
.RE
.SH "SYNOPSIS"
@@ -70,10 +71,14 @@
.LP
.LP
-To access ORBD's Server Manager, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP.
+To access ORBD's Server Manager, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP.
.LP
.LP
-When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to \f2Naming Service\fP.
+When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html.
.LP
.SH "OPTIONS"
.LP
@@ -124,7 +129,7 @@
.RS 3
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
.TP 3
.RE
@@ -133,7 +138,15 @@
.SH "Starting and Stopping the Naming Service"
.LP
.LP
-A Naming Service is a CORBA service that allows CORBA objects to be named by means of binding a name to an object reference. The name binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference.
+A Naming Service is a CORBA service that allows
+.na
+\f2CORBA objects\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object to be named by means of binding a name to an object reference. The
+.na
+\f2name binding\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference.
.LP
.LP
Prior to running a client or a server, you will start ORBD. ORBD includes a persistent Naming Service and a transient Naming Service, both of which are an implementation of the COS Naming Service.
@@ -208,18 +221,26 @@
To stop the naming service, use the relevant operating system command, such as \f2pkill orbd\fP on Solaris, or \f2Ctrl+C\fP in the DOS window in which \f2orbd\fP is running. Note that names registered with the naming service may disappear when the service is terminated if the naming service is transient. The Java IDL naming service will run until it is explicitly stopped.
.LP
.LP
-For more information on the Naming Service included with ORBD, see \f2Naming Service\fP.
+For more information on the Naming Service included with ORBD, see
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html.
.LP
.SH "Server Manager"
.LP
.LP
-To access ORBD's Server Manager and run a persistent server, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly.
+To access ORBD's Server Manager and run a persistent server, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly.
.LP
.SS
Server Manager: an Example
.LP
.LP
-Using the sample tutorial for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application:
+Using the
+.na
+\f2sample tutorial\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application:
.LP
.LP
Start \f2orbd\fP.
@@ -339,11 +360,14 @@
.RS 3
.TP 2
o
-Naming Service
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.br
.TP 2
o
-servertool
+servertool(1)
.RE
.LP
diff --git a/jdk/src/linux/doc/man/pack200.1 b/jdk/src/linux/doc/man/pack200.1
index 1c1dc57..ecda5e3 100644
--- a/jdk/src/linux/doc/man/pack200.1
+++ b/jdk/src/linux/doc/man/pack200.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH pack200 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH pack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
pack200 \- JAR Packing tool
.LP
.SH "SYNOPSIS"
@@ -42,6 +39,7 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options.
@@ -51,6 +49,8 @@
.TP 3
JAR\-file
Name of the input file.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -66,11 +66,13 @@
.SS
Typical usage:
.LP
+.RS 3
.LP
.LP
\f2% pack200 myarchive.pack.gz myarchive.jar\fP
.LP
+.RE
.LP
In this example, \f2myarchive.pack.gz\fP is produced using the default \f2pack200\fP settings.
.LP
@@ -178,15 +180,21 @@
.LP
Overrides the default, which preserves the input information, but may cause the transmitted archive to be larger. The possible values are:
.LP
+.RS 3
.TP 3
true
.TP 3
false
In either case, the packer will set the deflation hint accordingly in the output archive, and will not transmit the individual deflation hints of archive elements.
+.RE
+
.LP
+.RS 3
.TP 3
keep
Preserve deflation hints observed in the input JAR. (This is the default.)
+.RE
+
.LP
.RE
.LP
@@ -198,12 +206,15 @@
.LP
The possible values are:
.LP
+.RS 3
.TP 3
latest
The packer will attempt to determine the latest modification time, among all the available entries in the original archive, or the latest modification time of all the available entries in that segment. This single value will be transmitted as part of the segment and applied to all the entries in each segment. This can marginally decrease the transmitted size of the archive at the expense of setting all installed files to a single date.
.TP 3
keep
Preserves modification times observed in the input JAR. (This is the default.)
+.RE
+
.LP
.RE
.LP
@@ -225,6 +236,7 @@
.LP
Overrides the default behavior; i.e., the classfile containing the unknown attribute will be passed through with the specified action. The possible values for actions are:
.LP
+.RS 3
.TP 3
error
The \f2pack200\fP operation as a whole will fail with a suitable explanation.
@@ -234,16 +246,18 @@
.TP 3
pass
Upon encountering this attribute, the entire class will be transmitted as though it is a resource.
+.RE
+
.LP
.RE
.LP
\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
.LP
.RS 3
@@ -251,6 +265,7 @@
.LP
With the above four options, the attribute layout can be specified for a class entity, such as Class attribute, Field attribute, Method attribute, and Code attribute. The attribute\-name is the name of the attribute for which the layout or action is being defined. The possible values for action are:
.LP
+.RS 3
.TP 3
some\-layout\-string
The layout language is defined in the JSR 200 specification.
@@ -262,6 +277,8 @@
.TP 3
strip
Upon encountering this attribute, the attribute will be removed from the output. Note: removing VM\-required attributes may cause Class Loader failures.
+.RE
+
.LP
.LP
Example: \f2\-\-class\-attribute=CompilationID=pass\fP will cause the class file containing this attribute to be passed through without further action by the packer.
@@ -369,29 +386,29 @@
.LP
.RS 3
.TP 2
-*
-unpack200 \- JAR Unpacking Tool
+o
+unpack200(1)
.TP 2
-*
-\f2unpack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages
+o
+.na
+\f2Java SE Documentation\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE Documentation
-.TP 2
-*
+o
.na
\f2Java Deployment Guide \- Pack200\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
.TP 2
-*
-\f2jar\fP \- Java Archive Tool
+o
+jar(1) \- Java Archive Tool
.TP 2
-*
-.na
-\f2jarsigner\fP \- JAR Signer tool @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
+o
+jarsigner(1) \- JAR Signer tool
+.TP 2
+o
+\f2attributes(5)\fP man page
.RE
.LP
@@ -403,6 +420,8 @@
This command should not be confused with \f2pack(1)\fP. They are distinctly separate products.
.LP
.LP
-The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.
+The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies.
+.LP
+
.LP
diff --git a/jdk/src/linux/doc/man/policytool.1 b/jdk/src/linux/doc/man/policytool.1
index 2d661e8..518cac2 100644
--- a/jdk/src/linux/doc/man/policytool.1
+++ b/jdk/src/linux/doc/man/policytool.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,12 +19,11 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH policytool 1 "07 Aug 2006"
-." Generated by html2man
+.TH policytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
policytool \- PolicyTool Administration GUI Utility
.LP
\f3policytool\fP reads and writes a plain text policy file based on user input via the utility GUI.
@@ -55,20 +52,14 @@
filename
The file name
.RE
-.RE
-
-.LP
-.SH "DESCRIPTION"
-.LP
+.SH "DESCRIPTION"
.LP
\f3policytool\fP is a GUI that allows users to create and manage policy files. For details, see
.na
\f2the Policytool Users Guide\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html.
-.LP
-.SH "OPTIONS"
-.LP
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html.
+.SH "OPTIONS"
.RS 3
.TP 3
file
@@ -95,6 +86,9 @@
http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html
.br
.RE
+.RE
+
+.LP
.LP
diff --git a/jdk/src/linux/doc/man/rmic.1 b/jdk/src/linux/doc/man/rmic.1
index eaa6247..5253a07 100644
--- a/jdk/src/linux/doc/man/rmic.1
+++ b/jdk/src/linux/doc/man/rmic.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH rmic 1 "05 Aug 2006"
-." Generated by html2roff
+.TH rmic 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
rmic \- The Java RMI Compiler
.LP
+.RS 3
.LP
.LP
\f3rmic\fP generates stub, skeleton, and tie classes for remote objects using either the JRMP or IIOP protocols. Also generates OMG IDL.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -85,6 +84,7 @@
.LP
.LP
+.RS 3
.TP 3
\-bootclasspath path
Overrides location of bootstrap class files
@@ -137,6 +137,7 @@
.TP 3
\-g
Enables generation of all debugging information, including local variables. By default, only line number information is generated.
+.LP
.TP 3
\-idl
Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes referenced. IDL provides a purely declarative, programming language\-independent way of specifying an object's API. The IDL is used as a specification for methods and data that can be written in and invoked from any language that provides CORBA bindings. This includes Java and C++ among others. See the
@@ -146,6 +147,7 @@
http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) document for a complete description.
.LP
When the \f2\-idl\fP option is used, other options also include:
+.RS 3
.TP 3
\-always or \-alwaysgenerate
Forces re\-generation even when existing stubs/ties/IDL are newer than the input class.
@@ -153,13 +155,12 @@
\-factory
Uses factory keyword in generated IDL.
.TP 3
-\-idlModule\ fromJavaPackage[.class]\
-toIDLModule
+\-idlModule\ fromJavaPackage[.class]\ toIDLModule
Specifies IDLEntity package mapping. For example:\ \f2\-idlModule foo.bar my::real::idlmod\fP.
.TP 3
-\-idlFile\ fromJavaPackage[.class]\
-toIDLFile
-Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\
+\-idlFile\ fromJavaPackage[.class]\ toIDLFile
+Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\
+.RE
.LP
.TP 3
\-iiop
@@ -185,6 +186,7 @@
.RE
.LP
When the \f2\-iiop\fP option is used, other options also include:
+.RS 3
.TP 3
\-always or \-alwaysgenerate
Forces re\-generation even when existing stubs/ties/IDL are newer than the input class.
@@ -202,7 +204,8 @@
.na
\f2Portable Object Adapter\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf.
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf.
+.RE
.TP 3
\-J
Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter.
@@ -212,23 +215,29 @@
.TP 3
\-nowarn
Turns off warnings. If used the compiler does not print out any warnings.
+.LP
.TP 3
\-vcompat
Generates stub and skeleton classes compatible with both the 1.1 and 1.2 JRMP stub protocol versions. (This option was the default in releases prior to 5.0.) The generated stub classes will use the 1.1 stub protocol version when loaded in a JDK 1.1 virtual machine and will use the 1.2 stub protocol version when loaded into a 1.2 (or later) virtual machine. The generated skeleton classes will support both 1.1 and 1.2 stub protocol versions. The generated classes are relatively large in order to support both modes of operation.
.TP 3
\-verbose
Causes the compiler and linker to print out messages about what classes are being compiled and what class files are being loaded.
+.LP
.TP 3
\-v1.1
Generates stub and skeleton classes for the 1.1 JRMP stub protocol version only. Note that this option is only useful for generating stub classes that are serialization\-compatible with pre\-existing, statically\-deployed stub classes that were generated by the \f3rmic\fP tool from JDK 1.1 and that cannot be upgraded (and dynamic class loading is not being used).
+.LP
.TP 3
\-v1.2
(default) Generates stub classes for the 1.2 JRMP stub protocol version only. No skeleton classes are generated with this option because skeleton classes are not used with the 1.2 stub protocol version. The generated stub classes will not work if they are loaded into a JDK 1.1 virtual machine.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example,
@@ -243,6 +252,7 @@
\fP
.fi
.RE
+.RE
.LP
.SH "SEE ALSO"
@@ -250,7 +260,11 @@
.LP
.LP
-java, javac, CLASSPATH
+java(1), javac(1),
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath
.LP
.LP
diff --git a/jdk/src/linux/doc/man/rmid.1 b/jdk/src/linux/doc/man/rmid.1
index b64d5b2..06147c9 100644
--- a/jdk/src/linux/doc/man/rmid.1
+++ b/jdk/src/linux/doc/man/rmid.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -20,21 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH rmid 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Changed by: Ann Wollrath \- JavaSoft East, 2\-Mar\-2000
-.\\" Changed by: Jen McGinn \- Jini Technology Software, 6\-Mar\-2000
+."
+.TH rmid 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
rmid \- The Java RMI Activation System Daemon
.LP
+.RS 3
.LP
.LP
\f3rmid\fP starts the activation system daemon that allows objects to be registered and activated in a virtual machine (VM).
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -57,7 +55,7 @@
.na
\f2Java RMI Specification\fP @
.fi
-http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and
+http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html and
.na
\f2Activation tutorials\fP @
.fi
@@ -83,10 +81,10 @@
.LP
.RS 3
.TP 2
-*
+o
starts the Activator and an internal registry on the default port, 1098, and
.TP 2
-*
+o
binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry.
.RE
@@ -107,8 +105,7 @@
starts the activation system daemon and a registry on the registry's default port, 1099.
.LP
.SS
-Starting rmid from
-inetd/xinetd
+Starting rmid from inetd/xinetd
.LP
.LP
An alternative to starting \f2rmid\fP from the command line is to configure \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) to start \f2rmid\fP on demand.
@@ -121,13 +118,13 @@
.LP
.RS 3
.TP 2
-*
+o
Output printed to \f2System.err\fP is redirected to a file. This file is located in the directory specified by the \f2java.io.tmpdir\fP system property (typically \f2/var/tmp\fP or \f2/tmp\fP) with the prefix \f2"rmid\-err"\fP and the suffix \f2"tmp"\fP.
.TP 2
-*
+o
The \f2\-port\fP option is disallowed. If this option is specified, \f2rmid\fP will exit with an error message.
.TP 2
-*
+o
The \f2\-log\fP option is required. If this option is not specified, \f2rmid\fP will exit with an error message.
.RE
@@ -139,6 +136,7 @@
.LP
.LP
+.RS 3
.TP 3
\-C<someCommandLineOption>
Specifies an option that is passed as a command\-line argument to each child process (activation group) of \f2rmid\fP when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon:
@@ -170,13 +168,12 @@
\fP
.fi
.TP 3
-
\-J\-Dsun.rmi.activation.execPolicy=<policy>
Specifies the policy that \f2rmid\fP employs to check commands and command\-line options used to launch the VM in which an activation group runs. Please note that this option exists only in Sun's implementation of the Java RMI activation daemon. If this property is not specified on the command line, the result is the same as if \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP were specified. The possible values of \f2<policy>\fP can be \f2default\fP, \f2<policyClassName>\fP, or \f2none\fP:
.LP
.RS 3
.TP 2
-*
+o
\f3default (or if this property is \fP\f4unspecified\fP\f3)\fP
.LP
The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific command\-line options only if \f2rmid\fP has been granted permission to execute those commands and options in the security policy file that \f2rmid\fP uses. Only the default activation group implementation can be used with the \f2default\fP execution policy.
@@ -192,7 +189,8 @@
.LP
The permission \f2com.sun.rmi.rmid.ExecPermission\fP is used to grant \f2rmid\fP permission to execute a command, specified in the group descriptor's \f2CommandEnvironment\fP to launch an activation group. The permission \f2com.sun.rmi.rmid.ExecOptionPermission\fP is used to allow \f2rmid\fP to use command\-line options, specified as properties overrides in the group descriptor or as options in the \f2CommandEnvironment\fP, when launching the activation group.
.LP
-When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources).
+When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources).
+.RS 3
.TP 3
ExecPermission
The \f2ExecPermission\fP class represents permission for \f2rmid\fP to execute a specific \f2command\fP to launch an activation group.
@@ -212,8 +210,7 @@
.LP
For example: "*" or "\-Dfoo.*" or "\-Da.b.c=*" is valid, "*foo" or "\-Da*b" or "ab*" is not.
.TP 3
-Policy file for
-rmid
+Policy file for rmid
When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). It is safe to grant these permissions universally because only \f2rmid\fP checks these permissions.
.LP
An example policy file that grants various execute permissions to \f2rmid\fP is:
@@ -224,13 +221,7 @@
.fl
permission com.sun.rmi.rmid.ExecPermission
.fl
- "/files/apps/java/jdk1.2.2/solaris/bin/java";
-.fl
-
-.fl
- permission com.sun.rmi.rmid.ExecPermission
-.fl
- "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+ "/files/apps/java/jdk1.7.0/solaris/bin/java";
.fl
.fl
@@ -260,9 +251,9 @@
.fl
\fP
.fi
-The first two permissions granted allow \f2rmid\fP to execute the 1.2.2 version of the \f2java\fP and \f2java_g\fP commands, specified by their explicit path names. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The third permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP.
+The first permission granted allow \f2rmid\fP to execute the 1.7.0 version of the \f2java\fP command, specified by its explicit path name. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The second permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP.
.LP
-The fourth permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups.
+The third permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups.
.LP
To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property needs to be specified on \f2rmid\fP's command line, for example:
.RS 3
@@ -272,10 +263,12 @@
\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
.LP
.RE
+.RE
.TP 2
-*
+o
+.LP
.TP 2
-*
+o
\f4<policyClassName>\fP
.LP
If the default behavior is not flexible enough, an administrator can provide, when starting \f2rmid\fP, the name of a class whose \f2checkExecCommand\fP method is executed in order to check commands to be executed by rmid.
@@ -295,14 +288,16 @@
Before launching an activation group, \f2rmid\fP calls the policy's \f2checkExecCommand\fP method, passing it the activation group descriptor and an array containing the complete command to launch the activation group. If the \f2checkExecCommand\fP throws a \f2SecurityException\fP, \f2rmid\fP will not launch the activation group and an \f2ActivationException\fP will be thrown to the caller attempting to activate the object.
.LP
.TP 2
-*
+o
\f3none\fP
.LP
If the \f2sun.rmi.activation.execPolicy\fP property value is "none", then \f2rmid\fP will not perform any validation of commands to launch activation groups.
.RE
+.LP
.TP 3
\-log dir
Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a directory, \f2log\fP, in the directory in which the \f2rmid\fP command was executed.
+.LP
.TP 3
\-port port
Specifies the port \f2rmid\fP's registry uses. The activation system daemon binds the \f2ActivationSystem\fP, with the name \f2java.rmi.activation.ActivationSystem\fP, in this registry. Thus, the \f2ActivationSystem\fP on the local machine can be obtained using the following \f2Naming.lookup\fP method call:
@@ -322,11 +317,13 @@
.fi
.TP 3
\-stop
-Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098.
+Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098.
+.RE
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example:
@@ -337,6 +334,7 @@
.fl
\fP
.fi
+.RE
.LP
.SH "SEE ALSO"
@@ -344,7 +342,11 @@
.LP
.LP
-rmic, CLASSPATH, java
+rmic(1),
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath, java(1)
.LP
.LP
diff --git a/jdk/src/linux/doc/man/rmiregistry.1 b/jdk/src/linux/doc/man/rmiregistry.1
index 489319b..41e1852 100644
--- a/jdk/src/linux/doc/man/rmiregistry.1
+++ b/jdk/src/linux/doc/man/rmiregistry.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH rmiregistry 1 "05 Aug 2006"
-." Generated by html2roff
+.TH rmiregistry 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
rmiregistry \- The Java Remote Object Registry
.LP
+.RS 3
.LP
.LP
The \f3rmiregistry\fP command starts a remote object registry on the specified port on the current host.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -73,24 +72,27 @@
.LP
.LP
+.RS 3
.TP 3
\-J
Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-java,
+java(1),
.na
\f2java.rmi.registry.LocateRegistry\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/rmi/registry/locateregistry.html and
+http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html and
.na
\f2java.rmi.Naming\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/rmi/naming.html
+http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html
.LP
.LP
diff --git a/jdk/src/linux/doc/man/schemagen.1 b/jdk/src/linux/doc/man/schemagen.1
index 562a2f9..8728bbb 100644
--- a/jdk/src/linux/doc/man/schemagen.1
+++ b/jdk/src/linux/doc/man/schemagen.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,20 +18,18 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH schemagen 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH schemagen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.ad c
-.SH NAME
-schemagen \- Java(TM) Architecture for XML Binding Schema Generator \f3Specification Version:\fP 2.0
+.SH "Name"
+schemagen \- Java(TM) Architecture for XML Binding Schema Generator
+.LP
+.LP
+\f3Specification Version:\fP 2.1
.br
-\f3Reference Implementation (RI) Version:\fP 2.0 ea3
-.br
-.ad l
-
+\f3Implementation Version:\fP 2.1.3
.LP
.SS
Launching schemagen
@@ -45,36 +41,21 @@
The current schema generator can process either Java source files or class files.
.LP
.LP
-We also provide an Ant task to run the schema generator \- see the instructions for using schemagen with Ant.
+We also provide an Ant task to run the schema generator \- see the instructions for
+.na
+\f2using schemagen with Ant\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html.
.LP
.RS 3
.LP
-\f3For Solaris/Linux\fP
-.LP
.nf
\f3
.fl
- % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ...
+% schemagen.sh Foo.java Bar.java ...
.fl
- Note: Writing schema1.xsd
-.fl
-
-.fl
-\fP
-.fi
-
-.LP
-\f3For WindowsNT/2000/XP\fP
-.LP
-.nf
-\f3
-.fl
- > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ...
-.fl
- Note: Writing schema1.xsd
-.fl
-
+Note: Writing schema1.xsd
.fl
\fP
.fi
@@ -109,8 +90,6 @@
.fl
\-help : Display this usage message
.fl
-
-.fl
\fP
.fi
.RE
@@ -121,145 +100,35 @@
Generated Resource Files
.LP
.LP
-The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use the schema generator ant task.
+The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use
+.na
+\f2the schema generator ant task\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html.
.LP
.SH "See Also"
.LP
.RS 3
.TP 2
o
-JAXB 2.0:
-.RS 3
-.TP 2
-*
+Running the schema generator (schemagen): [
.na
-\f2Release Notes\fP @
+\f2command\-line instructions\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html
-.TP 2
-*
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html,
.na
-\f2XJC\fP @
+\f2using the SchemaGen Ant task\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html
-.TP 2
-*
-.na
-\f2XJCTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html
-.TP 2
-*
-.na
-\f2SchemaGen\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html
-.TP 2
-*
-.na
-\f2schemagenTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html
-.TP 2
-*
-.na
-\f2Sample Apps\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/samples.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html
-.RE
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html]
.TP 2
o
-JAXB 1.0.x:
-.RS 3
-.TP 2
-*
.na
-\f2Release Notes\fP @
+\f2Java Architecture for XML Binding (JAXB)\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
.RE
-.TP 2
-o
-JAXB RI Extensions:
-.RS 3
-.TP 2
-*
-.na
-\f2Runtime Properties\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html
-.TP 2
-*
-.na
-\f2XJC Customizations\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html
-.TP 2
-*
-.na
-\f2Develop Plugins\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html
-.RE
-.TP 2
-o
-JAXB RI Schema Languages:
-.RS 3
-.TP 2
-*
-.na
-\f2W3C XML Schema\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema
-.TP 2
-*
-.na
-\f2RELAX NG\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng
-.TP 2
-*
-.na
-\f2DTD\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd
-.RE
-.TP 2
-o
-JAXB Community:
-.RS 3
-.TP 2
-*
-.na
-\f2Java.net Homepage\fP @
-.fi
-http://jaxb.dev.java.net
-.TP 2
-*
-.na
-\f2Developer interest list\fP @
-.fi
-https://jaxb.dev.java.net/servlets/ProjectMailingListList
-.TP 2
-*
-.na
-\f2FAQ\fP @
-.fi
-https://jaxb.dev.java.net/faq/index.html
-.RE
-.RE
+
+.LP
.LP
diff --git a/jdk/src/linux/doc/man/serialver.1 b/jdk/src/linux/doc/man/serialver.1
index 46bce74..ec42f16 100644
--- a/jdk/src/linux/doc/man/serialver.1
+++ b/jdk/src/linux/doc/man/serialver.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2005-2006 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
@@ -21,19 +19,20 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH serialver 1 "05 Aug 2006"
-." Generated by html2roff
+.TH serialver 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
serialver \- The Serial Version Command
.LP
+.RS 3
.LP
.LP
The \f3serialver\fP command returns the \f2serialVersionUID\fP.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -49,12 +48,15 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options, as specified in this document.
.TP 3
classnames
One or more class names
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -68,17 +70,22 @@
.LP
.LP
+.RS 3
.TP 3
-\-classpath <directories and zip/jar files separated
-by :>
+\-classpath <directories and zip/jar files separated by :>
Set search path for application classes and resources.
+.RE
+
.LP
+.RS 3
.TP 3
\-show
Displays a simple user interface. Enter the full class name and press either the Enter key or the Show button to display the serialVersionUID.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "NOTES"
.LP
@@ -112,7 +119,7 @@
.na
\f2java.io.ObjectStreamClass\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html
+http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html
.LP
.LP
diff --git a/jdk/src/linux/doc/man/servertool.1 b/jdk/src/linux/doc/man/servertool.1
index 388ec58..ba2a937 100644
--- a/jdk/src/linux/doc/man/servertool.1
+++ b/jdk/src/linux/doc/man/servertool.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -21,17 +19,18 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH servertool 1 "05 Aug 2006"
-." Generated by html2roff
+.TH servertool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
servertool \- The Java(TM) IDL Server Tool
.LP
+.RS 3
.LP
-\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server.
+\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server.
+.RE
.SH "SYNOPSIS"
.LP
@@ -65,37 +64,29 @@
.LP
.LP
+.RS 3
.TP 3
\-ORBInitialHost nameserverhost
Specifies the host machine on which the name server is running and listening for incoming requests. The \f2nameserverhost\fP defaults to \f2localhost\fP if this option is not specified. If \f2orbd\fP and \f2servertool\fP are running on different machines, you must specify the name or IP address of the host on which \f2orbd\fP is running.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java a pplication launcher\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+.RE
+
.LP
.SH "COMMANDS"
.LP
.LP
+.RS 3
.TP 3
-register \-server\ <server\ class\ name>
-\ \-classpath\ <classpath\ to\ server>
-[\ \-applicationName\ <application\ name>
-\-args\ <args\ to\ server>
-\-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM>
-\ ]
+register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ]
Register a new persistent server with the Object Request Broker Daemon (ORBD). If the server is not already registered, it is registered and activated. This command causes an install method to be invoked in the main class of the server identified by the \f2\-server\fP option. The install method must be \f2public static void install(org.omg.CORBA.ORB)\fP. The install method is optional and enables the developer to provide their own server installation behavior (for example, creating database schema).
.TP 3
-unregister
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Unregister a server from the ORBD by using either its server id or its application name. This command causes an uninstall method to be invoked in the main class of the server identified by the \f2\-server\fP option. The uninstall method must be \f2public static void uninstall(org.omg.CORBA.ORB)\fP. The uninstall method is optional and enables the developer to provide their own server uninstall behavior (for example, undoing the behavior of the install method).
.TP 3
-getserverid
-\-applicationName\ <application\ name>
+getserverid \-applicationName\ <application\ name>
Return the server id that corresponds with an application.
.TP 3
list
@@ -107,27 +98,19 @@
listactive
List information about all persistent servers that have been launched by the ORBD and are currently running.
.TP 3
-locate \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-endpointType\ <endpointType>\ ]
+locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ]
Locate the endpoints (ports) of a specific type for all ORBs created by a registered server. If a server is not already running, it is activated. If an endpoint type is not specified, then the plain/non\-protected endpoint associated with each ORB in a server is returned.
.TP 3
-locateperorb
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-orbid\ <ORB\ name>\ ]
+locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ]
Locate all the endpoints (ports) registered by a specific ORB of registered server. If a server is not already running, then it is activated. If an \f2orbid\fP is not specified, the default value of "" is assigned to the \f2orbid\fP. If any ORBs are created with an \f2orbid\fP of empty string, all ports registered by it are returned.
.TP 3
-orblist \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Lists the ORBId of the ORBs defined on a server. An ORBId is the string name for the ORB created by the server. If the server is not already running, it is activated.
.TP 3
-shutdown \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Shutdown an active server that is registered with ORBD. During execution of this command, the \f2shutdown()\fP method defined in the class specified by either the \f2\-serverid\fP or \f2\-applicationName\fP parameter is also invoked to shutdown the server process appropriately.
.TP 3
-startup \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Startup or activate a server that is registered with ORBD. If the server is not running, this command launches the server. If the server is already running, an error message is returned to the user.
.TP 3
help
@@ -135,11 +118,13 @@
.TP 3
quit
Exit the server tool.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
-orbd
+orbd(1)
.LP
diff --git a/jdk/src/linux/doc/man/tnameserv.1 b/jdk/src/linux/doc/man/tnameserv.1
index 73c4396..6226b55 100644
--- a/jdk/src/linux/doc/man/tnameserv.1
+++ b/jdk/src/linux/doc/man/tnameserv.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,18 +19,17 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH tnameserv 1 "06 Aug 2006"
-." Generated by html2man
+.TH tnameserv 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
Java IDL: Transient Naming Service \- \f2tnameserv\fP
.LP
.LP
.LP
-This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its man page or the
+This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its orbd(1) or the
.na
\f2Java IDL Naming Service Included with ORBD\fP @
.fi
@@ -178,13 +175,12 @@
.RS 3
.LP
+.RS 3
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java application launcher\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+.RE
+
.LP
.RE
.SH "Stopping the Java\ IDL Transient Naming Service"
@@ -206,15 +202,15 @@
.fl
\fP\f4Naming Context\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
plans \fP\f4Personal\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
calendar schedule\fP
.fl
diff --git a/jdk/src/linux/doc/man/unpack200.1 b/jdk/src/linux/doc/man/unpack200.1
index 3d9170c..2fb0e1c 100644
--- a/jdk/src/linux/doc/man/unpack200.1
+++ b/jdk/src/linux/doc/man/unpack200.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -20,13 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-."
-." `
-.TH unpack200 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH unpack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
unpack200 \- JAR Unpacking tool
.LP
.SH "SYNOPSIS"
@@ -42,12 +39,15 @@
.RS 3
.LP
+.RS 3
.TP 3
input\-file
Name of the input file, which can be a pack200 gzip file or a pack200 file. The input could also be JAR file produced by pack200(1) with an effort of 0. In this case the contents of the input file will be copied to the output JAR file with the Pack200 marker.
.TP 3
JAR\-file
Name of the output JAR file.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -72,6 +72,7 @@
.SS
Standard Options
.LP
+.RS 3
.LP
.LP
@@ -84,9 +85,11 @@
Sets the deflation to be \f2true\fP, \f2false\fP, or \f2keep\fP on all entries within a JAR file. The default mode is \f2keep\fP. If \f2true\fP or \f2false\fP, overrides the default behavior and sets the deflation mode on all entries within the output JAR file.
.LP
.RE
+.RE
.SS
Non\-Standard Options
.LP
+.RS 3
.LP
.LP
@@ -129,6 +132,7 @@
Specifies a log file to output messages.
.LP
.RE
+.RE
.SH "EXIT STATUS"
.LP
@@ -150,29 +154,29 @@
.LP
.RS 3
.TP 2
-*
-pack200 \- JAR Packing Tool
+o
+pack200(1)
.TP 2
-*
-\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages
+o
+.na
+\f2Java SE Documentation\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE Documentation
-.TP 2
-*
+o
.na
\f2Java Deployment Guide \- Pack200\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
.TP 2
-*
-\f2jar\fP \- Java Archive Tool
+o
+jar(1) \- Java Archive Tool
.TP 2
-*
-.na
-\f2jarsigner\fP \- JAR Signer tool @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
+o
+jarsigner(1) \- JAR Signer tool
+.TP 2
+o
+\f2attributes(5)\fP man page
.RE
.LP
@@ -184,6 +188,8 @@
This command should not be confused with \f2unpack(1)\fP. They are distinctly separate products.
.LP
.LP
-The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.
+The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies.
+.LP
+
.LP
diff --git a/jdk/src/linux/doc/man/wsgen.1 b/jdk/src/linux/doc/man/wsgen.1
index e618144..ad54042 100644
--- a/jdk/src/linux/doc/man/wsgen.1
+++ b/jdk/src/linux/doc/man/wsgen.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,44 +19,70 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH wsgen 1 "07 Aug 2006"
-." Generated by html2man
-
-.LP
-.SH NAME
-wsgen \- JAX\-WS 2.0 Beta
-.LP
+.TH wsgen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
+wsgen \- Java(TM) API for XML Web Services (JAX\-WS) 2.0
.RS 3
.LP
.LP
-The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation.
+\f3Specification Version:\fP 2.1
+.br
+\f3Implementation Version:\fP 2.1.1
+.LP
+.LP
+The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation
.LP
.RE
-.SH "SYNOPSIS"
+.SH "Overview"
.LP
+The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint class and generates all the required artifacts for web service deployment, and invocation. JAXWS 2.1.1 RI also provides a wsgen ant task, see
+.na
+\f2Wsgen ant task\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html for details.
+.LP
+.SH "Launching wsgen"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP
+.TP 2
+*
+\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP
+.TP 2
+*
+\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP
+.RE
+.RE
.LP
+.SH "Syntax"
.nf
\f3
.fl
-wsgen [options] <SEI>
+wsgen [options] <SEI>\fP
+.br
+\f3
.fl
\fP
.fi
-
-.LP
-.SH "OPTIONS"
-.LP
.LP
The following table lists the \f2wsgen\fP options.
.br
-
-.LP
-.LP
-Table 1\-1 wsgen Options
-.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
@@ -208,16 +232,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di i+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-wsdl[:protocol]\fP
-.br
+By default \f2wsgen\fP does not generate a WSDL file. This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy. The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include: \f2soap1.1\fP and \f2Xsoap1.2\fP. The default is \f2soap1.1\fP. \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option.
.br
.di
.nr i| \n(dn
@@ -233,8 +256,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy.\ The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include:\ \f2soap1.1\fP and \f2Xsoap1.2\fP.\ The default is \f2soap1.1\fP.\ \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option.
-.br
+Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP
.br
.di
.nr j| \n(dn
@@ -250,28 +272,12 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:port\fP name to be generated in the WSDL. Example, \f2\-portname "{http://mynamespace/}MyPort"\fP
.br
.br
.di
-.nr l| \n(dn
-.nr l- \n(dl
+.nr k| \n(dn
+.nr k- \n(dl
..
.ec \
.35
@@ -280,34 +286,34 @@
.nr 80 0
.nr 38 \w\f3Option\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-classpath <path>\fP
+.nr 38 \w\f4\-classpath <path>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-cp <path>\fP
+.nr 38 \w\f4\-cp <path>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-d <directory>\fP
+.nr 38 \w\f4\-d <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-extension\fP
+.nr 38 \w\f4\-extension\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-help\fP
+.nr 38 \w\f4\-help\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-keep\fP
+.nr 38 \w\f4\-keep\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-r <directory>\fP
+.nr 38 \w\f4\-r <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-s <directory>\fP
+.nr 38 \w\f4\-s <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-verbose\fP
+.nr 38 \w\f4\-verbose\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-version\fP
+.nr 38 \w\f4\-version\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-servicename <name>\fP
+.nr 38 \w\f4\-wsdl[:protocol]\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-portname <name>\fP
+.nr 38 \w\f4\-servicename <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-portname <name>\fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
-.nr 38 \n(i-
-.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
.if \n(81<\n(38 .nr 81 \n(38
@@ -333,12 +339,12 @@
.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(j-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(k-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
-.if \n(81<\n(38 .nr 81 \n(38
.35
.nf
.ll \n(34u
@@ -349,7 +355,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 100 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 140 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -372,7 +378,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-classpath <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -388,7 +394,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-cp <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -404,7 +410,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -420,7 +426,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -434,17 +440,17 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help
+\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'Display help
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files
+\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'Keep generated files
.ne \n(e|u+\n(.Vu
.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-r <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -460,7 +466,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -476,7 +482,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -492,7 +498,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -504,22 +510,29 @@
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(i|u+\n(.Vu
-.ne \n(j|u+\n(.Vu
.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
-.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'
+\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
-.nr 37 \n(40u
+.nr 37 \n(41u
.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -533,7 +546,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-servicename <name>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -544,22 +557,6 @@
.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-portname <name>\fP\h'|\n(41u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
.fc
.nr T. 1
.T# 1
@@ -575,688 +572,34 @@
.rm i+
.rm j+
.rm k+
-.rm l+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-57
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-53
.LP
-.SS
-Ant task
-.LP
-.LP
-An Ant task for the \f2wsgen\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
-.LP
-.nf
-\f3
-.fl
-
-.fl
- <wsgen
-.fl
- sei="..."
-.fl
- destdir="directory for generated class files"
-.fl
- classpath="classpath" | cp="classpath"
-.fl
- resourcedestdir="directory for generated resource files such as WSDLs"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- verbose="true|false"
-.fl
- genwsdl="true|false"
-.fl
- protocol="soap1.1|Xsoap1.2"
-.fl
- servicename="..."
-.fl
- portname="...">
-.fl
- extension="true|false"
-.fl
- <classpath refid="..."/>
-.fl
- </wsgen>
-.fl
-\fP
-.fi
-
-.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
-.nr 34 \n(.lu
-.eo
-.am 81
-.br
-.di a+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Name of the service endpoint implementation class
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place output generated classes
-.br
-.di
-.nr b| \n(dn
-.nr b- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di c+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to find input class files
-.br
-.di
-.nr c| \n(dn
-.nr c- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di d+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used only in conjunction with the \-wsdl option. Specify where to place generated resource files such as WSDLs
-.br
-.di
-.nr d| \n(dn
-.nr d- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di e+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place generated source files
-.br
-.di
-.nr e| \n(dn
-.nr e- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di f+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Output messages about what the compiler is doing
-.br
-.di
-.nr f| \n(dn
-.nr f- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di g+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify that a WSDL file should be generated
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with \f2genwsdl\fP to specify the protocol to use in the \f2wsdl:binding\fP.\ Value values are \f2"soap1.1"\fP or \f2"Xsoap1.2"\fP, default is \f2"soap1.1".\fP\f2"Xsoap1.2"\fP is not standard and can only be used in conjunction with the \-extensions option
-.br
-.br
-.di
-.nr h| \n(dn
-.nr h- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di i+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-wsdl:soap11\fP
-.br
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:service\fP name for the generated WSDL.Example, \f2servicename="{http://mynamespace/}MyService"\fP
-.br
-.br
-.di
-.nr j| \n(dn
-.nr j- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di k+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:portmame\fP name for the generated WSDL. Example, \f2portname="{http://mynamespace/}MyPort"\fP
-.br
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
-.br
-.di
-.nr l| \n(dn
-.nr l- \n(dl
-..
-.ec \
-.35
-.nf
-.ll \n(34u
-.nr 80 0
-.nr 38 \w\f3Attribute\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2sei\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2destdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2classpath\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2cp\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2resourcedestdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2sourcedestdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2keep\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2verbose\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2genwsdl\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2protocol\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2servicename\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2portname\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2extension\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.80
-.rm 80
-.nr 81 0
-.nr 38 \w\f3Description\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wSame as \f2\-classpath\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wKeep generated files
-.if \n(81<\n(38 .nr 81 \n(38
-.81
-.rm 81
-.nr 38 \n(a-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(b-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(c-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(d-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(e-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(g-
-.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 38 \n(k-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 82 0
-.nr 38 \w\f3Command line\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wSEI
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-d\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-classpath\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-cp\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-r\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-s\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-keep\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-verbose\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-wsdl\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-servicename\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-servicename\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-extension\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.82
-.rm 82
-.nr 38 \n(i-
-.if \n(82<\n(38 .nr 82 \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 TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 217 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
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP
-.ne \n(a|u+\n(.Vu
-.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2sei\fP\h'|\n(41u'\h'|\n(42u'SEI
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.a+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(b|u+\n(.Vu
-.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP
-.mk ##
-.nr 31 \n(##
-.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(31u
-.ne \n(c|u+\n(.Vu
-.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2classpath\fP\h'|\n(41u'\h'|\n(42u'\f2\-classpath\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.c+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2cp\fP\h'|\n(41u'Same as \f2\-classpath\fP\h'|\n(42u'\f2\-cp\fP
-.ne \n(d|u+\n(.Vu
-.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2resourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-r\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2sourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-s\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.e+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'Keep generated files\h'|\n(42u'\f2\-keep\fP
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.f+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2genwsdl\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-wsdl\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.g+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2protocol\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.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(42u
-.in +\n(37u
-.i+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2servicename\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.ne \n(j|u+\n(.Vu
-.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP
-.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(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2portname\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.ne \n(k|u+\n(.Vu
-.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.k+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.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+
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-68
-
-.LP
-.LP
-The \f2classpath\fP attribute is a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<classpath>\fP elements. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below:
-.LP
-.nf
-\f3
-.fl
- <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">\fP
-.br
-\f3
-.fl
- <classpath path="jaxws.classpath"/>\fP
-.br
-\f3
-.fl
- </taskdef>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-where \f2jaxws.classpath\fP is a reference to a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools.
-.LP
.SH "Example"
-.LP
-
-.LP
.nf
\f3
.fl
-<wsgen
+\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP
.fl
- resourcedestdir="${wsdl.dir}"
-.fl
- sei="fromjava.server.AddNumbersImpl">
-.fl
- <classpath refid="compile.classpath"/>
-.fl
-</wsgen>
-.fl
-\fP
.fi
-
.LP
-
+This will generate the wrapper classes needed for StockService annotated with @WebService annotation inside \f3stock\fPdirectory.
+.nf
+\f3
+.fl
+\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP
+.fl
+.fi
.LP
-
+This will generate a SOAP 1.1 WSDL and schema for your Java class stock.StockService annotated with @WebService annotation.
+.nf
+\f3
+.fl
+\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP
+.fl
+.fi
+.LP
+Will generate a SOAP 1.2 WSDL.
+.LP
+Note that you do not have to generate WSDL at the development time as JAXWS runtime will automatically generate a WSDL for you when you deploy your service.
diff --git a/jdk/src/linux/doc/man/wsimport.1 b/jdk/src/linux/doc/man/wsimport.1
index 524e548..111d49d 100644
--- a/jdk/src/linux/doc/man/wsimport.1
+++ b/jdk/src/linux/doc/man/wsimport.1
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2006 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
@@ -21,32 +19,18 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH wsimport 1 "07 Aug 2006"
-." Generated by html2man
-
+.TH wsimport 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
+wsimport \- Java(TM) API for XML Web Services (JAX\-WS) 2.0
.LP
-.SH NAME
-wsimport \- JAX\-WS 2.0 Beta
-.LP
-.SH "SYNOPSIS"
-.LP
-
-.LP
-.nf
-\f3
-.fl
-wsimport [options] <wsdl>
-.fl
-\fP
-.fi
-
-.LP
-.SH "DESCRIPTION"
-.LP
+\f3Specification Version:\fP 2.1
+.br
+\f3Implementation Version:\fP 2.1.1
+.br
+.SH "Overview"
.LP
The \f2wsimport\fP tool generates JAX\-WS portable artifacts, such as:
-.LP
.RS 3
.TP 2
o
@@ -64,28 +48,46 @@
o
JAXB generated value types (mapped java classes from schema types)
.RE
-
.LP
-.LP
-These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed.
+These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. also provides wsimport ant task, see
+.na
+\f2Wsimport ant task\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html.
.br
.LP
-.LP
-wsimport tool can be launched using the command line script wsimport.sh (Unix) or wsimport.bat(windows). There is also and ant task to import and compile the wsdl, see the details below.
-.br
+.SH "Launching wsimport"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2/bin/wsimport.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2\\bin\\wsimport.bat \-help\fP
+.RE
+.RE
.LP
-.SH "OPTIONS"
-.LP
+.SH "Syntax"
+.nf
+\f3
+.fl
+wsimport [options] <wsdl>
+.fl
+\fP
+.fi
.LP
The following table lists the \f2wsimport\fP options.
-.br
-
-.LP
-.LP
-Table 1\-1 wsimport Options
-.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
@@ -147,7 +149,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the XML Entity and URI Resolvers document or see \f3wsimport_catalog\fP sample.
+Pass this option to JAXB schema compiler
.br
.di
.nr c| \n(dn
@@ -163,7 +165,11 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
+Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of
+.na
+\f2catalog\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html and see \f3catalog\fP sample.
.br
.di
.nr d| \n(dn
@@ -171,15 +177,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di e+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-httpproxy:<host>:<port>\fP
+Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
.br
.di
.nr e| \n(dn
@@ -187,15 +193,15 @@
..
.ec \
.eo
-.am 81
+.am 80
.br
.di f+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
+.if \n(.l<\n(80 .ll \n(80u
.in 0
-Specify an HTTP proxy server (port defaults to 8080)
+\f3\-httpproxy:<host>:<port> \fP
.br
.di
.nr f| \n(dn
@@ -211,7 +217,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
+Specify an HTTP proxy server (port defaults to 8080)
.br
.di
.nr g| \n(dn
@@ -227,7 +233,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specify where to place generated source files
+Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
.br
.di
.nr h| \n(dn
@@ -243,7 +249,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Output messages about what the compiler is doing
+Specify where to place generated source files
.br
.di
.nr i| \n(dn
@@ -259,7 +265,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Print version information
+Output messages about what the compiler is doing
.br
.di
.nr j| \n(dn
@@ -267,16 +273,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di k+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-wsdllocation <location>\fP
-.br
+Print version information
.br
.di
.nr k| \n(dn
@@ -284,53 +289,90 @@
..
.ec \
.eo
-.am 81
+.am 80
.br
.di l+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
+.if \n(.l<\n(80 .ll \n(80u
.in 0
-\f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP value
-.br
+\f3\-wsdllocation <location>\fP
.br
.di
.nr l| \n(dn
.nr l- \n(dl
..
.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@WebServiceClient.wsdlLocation\fP value
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Generate code as per the given JAX\-WS specification version. version 2.0 will generate compliant code for JAX\-WS 2.0 spec.
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
.35
.nf
.ll \n(34u
.nr 80 0
.nr 38 \w\f3Option\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-d <directory>\fP
+.nr 38 \w\f3\-d <directory> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-b <path>\fP
+.nr 38 \w\f3\-b <path> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\-catalog
+.nr 38 \w\f3\-B <jaxbOption>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-extension\fP
+.nr 38 \w\f3\-catalog\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-help\fP
+.nr 38 \w\f3\-extension \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-keep\fP
+.nr 38 \w\f3\-help \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-p\fP
+.nr 38 \w\f3\-keep \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-s <directory>\fP
+.nr 38 \w\f3\-p \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-verbose\fP
+.nr 38 \w\f3\-s <directory> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-version\fP
+.nr 38 \w\f3\-verbose \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-version \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-target \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-quiet \fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
-.nr 38 \n(e-
+.nr 38 \n(f-
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(k-
+.nr 38 \n(l-
.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
@@ -339,6 +381,8 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \wKeep generated files
.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wSuppress wsimport output
+.if \n(81<\n(38 .nr 81 \n(38
.81
.rm 81
.nr 38 \n(a-
@@ -349,7 +393,7 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(d-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
+.nr 38 \n(e-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(g-
.if \n(81<\n(38 .nr 81 \n(38
@@ -359,7 +403,11 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(j-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
.if \n(81<\n(38 .nr 81 \n(38
.35
.nf
@@ -371,7 +419,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 124 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -394,7 +442,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -410,7 +458,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-b <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -426,7 +474,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\-catalog\h'|\n(41u'
+\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -442,7 +490,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -453,14 +501,30 @@
.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
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help
-.ne \n(e|u+\n(.Vu
+\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'Display help
.ne \n(f|u+\n(.Vu
-.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ne \n(g|u+\n(.Vu
.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
@@ -470,30 +534,10 @@
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
-.e+
-.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
.f+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files
-.ne \n(g|u+\n(.Vu
-.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-p\fP\h'|\n(41u'
-.mk ##
-.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -502,12 +546,16 @@
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'Keep generated files
.ne \n(h|u+\n(.Vu
.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -523,7 +571,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -539,7 +587,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -551,687 +599,54 @@
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(k|u+\n(.Vu
-.ne \n(l|u+\n(.Vu
.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
-.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'
+\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
-.nr 37 \n(40u
+.nr 37 \n(41u
.in +\n(37u
.k+
.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
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
-.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+
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-54
-
-.LP
-.LP
-Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the customization documentation.
-.br
-
-.LP
-.SS
-Ant task
-.LP
-.LP
-An Ant task for the \f2wsimport\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
-.br
-
-.LP
-.nf
-\f3
-.fl
- <wsimport \fP
-.br
-\f3
-.fl
- wsdl="..." \fP
-.br
-\f3
-.fl
- destdir="directory for generated class files"\fP
-.br
-\f3
-.fl
- sourcedestdir="directory for generated source files"\fP
-.br
-\f3
-.fl
- keep="true|false"\fP
-.br
-\f3
-.fl
- extension="true|false"\fP
-.br
-\f3
-.fl
- verbose="true|false"\fP
-.br
-\f3
-.fl
- version="true|false"\fP
-.br
-\f3
-.fl
- wsdlLocation="..."\fP
-.br
-\f3
-.fl
- catalog="catalog file"\fP
-.br
-\f3
-.fl
- package="package name"\fP
-.br
-\f3
-.fl
- <binding dir="..." includes="..." />\fP
-.br
-\f3
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.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
-.nr 34 \n(.lu
-.eo
-.am 81
-.br
-.di a+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place output generated classes
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place generated source files, keep is turned on with this option
-.br
-.di
-.nr b| \n(dn
-.nr b- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di c+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Keep generated files, tunred on with sourcedestdir option
-.br
-.di
-.nr c| \n(dn
-.nr c- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di d+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Output messages about what the compiler is doing
-.br
-.di
-.nr d| \n(dn
-.nr d- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di e+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify external JAX\-WS or JAXB binding files
-.br
-.di
-.nr e| \n(dn
-.nr e- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di f+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
-.br
-.di
-.nr f| \n(dn
-.nr f- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di g+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2wsdllocation\fP
-.br
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-The wsdl URI passed thru this option will be used to set the value of \f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP annotation elements on the generated SEI and Service interface
-.br
-.br
-.di
-.nr h| \n(dn
-.nr h- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di i+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-wsdllocation\fP
-.br
-.br
-.di
-.nr i| \n(dn
-.nr i- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di j+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2catalog\fP
-.br
-.br
-.di
-.nr j| \n(dn
-.nr j- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di k+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample.
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-catalog\fP
-.br
-.br
-.di
-.nr l| \n(dn
-.nr l- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di m+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2package\fP
-.br
-.br
-.di
-.nr m| \n(dn
-.nr m- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di n+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specifies the target package
-.br
-.di
-.nr n| \n(dn
-.nr n- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di o+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-p\fP
-.br
-.br
-.di
-.nr o| \n(dn
-.nr o- \n(dl
-..
-.ec \
-.35
-.nf
-.ll \n(34u
-.nr 80 0
-.nr 38 \w\f3Attribute\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2wsdl\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2destdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \wsourcedestdir
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2keep\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2verbose\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2binding\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2extension\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.80
-.rm 80
-.nr 38 \n(g-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(j-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(m-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 81 0
-.nr 38 \w\f3Description\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wWSDL file
-.if \n(81<\n(38 .nr 81 \n(38
-.81
-.rm 81
-.nr 38 \n(a-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(b-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(c-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(d-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(e-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
-.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(k-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(n-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 82 0
-.nr 38 \w\f3Command line\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wWSDL
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-d\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-s\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-keep\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-verbose\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-b\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-extension\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.82
-.rm 82
-.nr 38 \n(i-
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \n(l-
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \n(o-
-.if \n(82<\n(38 .nr 82 \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 TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 261 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
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2wsdl\fP\h'|\n(41u'WSDL file\h'|\n(42u'WSDL
-.ne \n(a|u+\n(.Vu
-.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.a+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(b|u+\n(.Vu
-.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'sourcedestdir\h'|\n(41u'\h'|\n(42u'\f2\-s\fP
-.mk ##
-.nr 31 \n(##
-.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(31u
-.ne \n(c|u+\n(.Vu
-.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'\h'|\n(42u'\f2\-keep\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.c+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(d|u+\n(.Vu
-.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2binding\fP\h'|\n(41u'\h'|\n(42u'\f2\-b\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.e+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.ne \n(h|u+\n(.Vu
-.ne \n(i|u+\n(.Vu
-.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(40u
-.in +\n(37u
-.g+
-.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
-.h+
-.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
-.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
.ne \n(l|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)
-.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(40u
-.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(41u
-.in +\n(37u
-.k+
-.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
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
.ne \n(m|u+\n(.Vu
-.ne \n(n|u+\n(.Vu
-.ne \n(o|u+\n(.Vu
+.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
-.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
-.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
+.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+\&\h'|\n(40u'\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
+.l+
+.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
.m+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -1239,14 +654,11 @@
.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
-.o+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'Suppress wsimport output
.fc
.nr T. 1
.T# 1
@@ -1265,137 +677,23 @@
.rm l+
.rm m+
.rm n+
-.rm o+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
-
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-66
.LP
-.LP
-The \f2binding\fP attributes is like a
+Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the
.na
-\f2path\-like structure\fP @
+\f2customization documentation\fP @
.fi
-http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<binding>\fP elements, respectively. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below:
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html.
.LP
+.SH "Example"
.nf
\f3
.fl
- <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">\fP
-.br
-\f3
+\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP
.fl
- <classpath path="jaxws.classpath"/>\fP
-.br
-\f3
-.fl
- </taskdef>
-.fl
-\fP
.fi
-
.LP
-.LP
-where \f2jaxws.classpath\fP is a reference to a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools.
-.LP
-.SH "Examples"
-.LP
-.nf
-\f3
-.fl
- <wsimport\fP
+This will generate the Java artifacts and compile them by importing the \f2http://stockquote.xyz/quote?wsdl\fP.
.br
-\f3
-.fl
- \fP\f4destdir\fP\f3="${build.classes.home}"\fP
-.br
-\f3
-.fl
- debug="true"\fP
-.br
-\f3
-.fl
- wsdl="AddNumbers.wsdl"\fP
-.br
-\f3
-.fl
- binding="custom.xml"/>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The above example generates client\-side artifacts for \f2AddNumbers.wsdl\fP, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory using the \f2custom.xml\fP customization file. The classpath used is \f2xyz.jar\fP and compiles with debug information on.
-.LP
-.nf
-\f3
-.fl
- <wsimport\fP
-.br
-\f3
-.fl
- keep="true"\fP
-.br
-\f3
-.fl
- sourcedestdir="${source.dir}"\fP
-.br
-\f3
-.fl
- \fP\f4destdir\fP\f3="${build.classes.home}"\fP
-.br
-\f3
-.fl
- wsdl="AddNumbers.wsdl">\fP
-.br
-\f3
-.fl
- <binding dir="${basedir}/etc" includes="custom.xml"/>\fP
-.br
-\f3
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The above example generates portable artifacts for \f2AddNumbers.wsdl\fP, stores \f2.java\fP files in the \f2${source.dir}\fP directory, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory.
-.LP
-.SH "Notes"
-.LP
-.LP
-Summary of Changed and Removed wsimport ant attributes:
-.LP
-\f3base\fP replaced by \f3destdir\fP
-.br
-
-.LP
-.br
-
-.LP
-\f3sourceBase\fP is replaced by \f3sourcedestdir\fP
-.br
-
-.LP
-.br
-
-.LP
-\f3wsdlFile\fP is replaced by \f3wsdl\fP
-.br
-.br
-\f3httpProxy\fP is removed. Use ant's setproxy task instead for proxy configuration.
-.br
-.br
-\f3version\fP is removed
-.br
-
-.LP
-
-.LP
diff --git a/jdk/src/linux/doc/man/xjc.1 b/jdk/src/linux/doc/man/xjc.1
index a7f77ff..1770bd0 100644
--- a/jdk/src/linux/doc/man/xjc.1
+++ b/jdk/src/linux/doc/man/xjc.1
@@ -1,5 +1,3 @@
-.'" t
-."
." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -21,52 +19,37 @@
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
."
-." `
-.TH xjc 1 "07 Aug 2006"
-." Generated by html2man
+.TH xjc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.ad c
-.SH NAME
+.SH "Name"
xjc \- Java(TM) Architecture for XML Binding
.br
-Binding Compiler \f3Specification Version:\fP 2.0
+Binding Compiler
+.LP
+\f3Specification Version:\fP 2.1
.br
-\f3Reference Implementation (RI) Version:\fP 2.0 ea3
-.br
-.ad l
+\f3Reference Implementation (RI) Version:\fP 2.1.3 .ad l
.LP
.SH "Launching xjc"
.LP
.LP
-The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for using xjc with Ant.
-.LP
-.RS 3
-
-.LP
-\f3For Solaris/Linux\fP
+The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for
+.na
+\f2using the XJC Ant task\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html.
.LP
.RS 3
.LP
.LP
-\f2% /path/to/jaxb/bin/xjc.sh \-help\fP
+\f2% xjc \-help\fP
.LP
.RE
-\f3For WindowsNT/2000/XP\fP
-.LP
-.RS 3
-
-.LP
-.LP
-\f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP
-.LP
-.RE
-.RE
-.RS 3
-
-.LP
\f3Output\fP
.LP
.RS 3
@@ -85,7 +68,9 @@
.fl
Compatibility Rules and App E.2 from the JAXB Spec
.fl
- \-b <file> : specify external bindings files (each <file> must have its own \-b)
+ \-b <file/dir> : specify external bindings files (each <file> must have its own \-b)
+.fl
+ If a directory is given, **/*.xjb is searched
.fl
\-d <dir> : generated files will go into this directory
.fl
@@ -105,6 +90,10 @@
.fl
\-npa : suppress generation of package level annotations (**/package\-info.java)
.fl
+ \-no\-header : suppress generation of a file header with timestamp
+.fl
+ \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features.
+.fl
\-xmlschema : treat input as W3C XML Schema (default)
.fl
\-relaxng : treat input as RELAX NG (experimental,unsupported)
@@ -128,37 +117,6 @@
.RE
.LP
-.RE
-.RS 3
-
-.LP
-\f3Execute the jaxb\-xjc.jar JAR File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-If all else fails, you should be able to execute the \f2jaxb\-xjc.jar\fP file:
-.LP
-.RS 3
-
-.LP
-.RS 3
-.TP 3
-For Solaris/Linux:
-\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP
-.TP 3
-For Windows:
-\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP
-.RE
-
-.LP
-.RE
-.LP
-This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set the JVM parameters.
-.LP
-.RE
-.RE
.SH "OPTIONS"
.LP
@@ -169,10 +127,10 @@
By default, the XJC binding compiler performs strict validation of the source schema before processing it. Use this option to disable strict schema validation. This does not mean that the binding compiler will not perform any validation, it simply means that it will perform less\-strict validation.
.TP 3
\-extension
-By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions.
+By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions
.TP 3
\-b <file>
-Specify one or more external binding files to process. (Each binding file must have it's own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files:
+Specify one or more external binding files to process. (Each binding file must have its own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files:
.RS 3
.LP
@@ -206,8 +164,14 @@
\-npa
Supress the generation of package level annotations into **/package\-info.java. Using this switch causes the generated code to internalize those annotations into the other generated classes.
.TP 3
+\-no\-header
+Supress the generation of a file header comment that includes some note and timestamp. Using this makes the generated code more diff\-friendly.
+.TP 3
+\-target 2.0
+Avoid generating code that relies on any JAXB 2.1 features. This will allow the generated code to run with JAXB 2.0 runtime (such as JavaSE 6.)
+.TP 3
\-xmlschema
-treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema.
+Treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema.
.TP 3
\-relaxng
Treat input schemas as RELAX NG (experimental, unsupported). Support for RELAX NG schemas is provided as a JAXB Vendor Extension.
@@ -222,10 +186,10 @@
Treat input as WSDL and compile schemas inside it (experimental,unsupported).
.TP 3
\-quiet
-Suppress compiler output, such as progress information and warnings..
+Suppress compiler output, such as progress information and warnings.
.TP 3
\-verbose
-Be extra verbose, such as printing informational messages or displaying stack traces upon some errors..
+Be extra verbose, such as printing informational messages or displaying stack traces upon some errors.
.TP 3
\-help
Display a brief summary of the compiler switches.
@@ -303,138 +267,24 @@
.RS 3
.TP 2
o
-JAXB 2.0:
-.RS 3
-.TP 2
-*
+Running the binding compiler (XJC): [
.na
-\f2Release Notes\fP @
+\f2command\-line instructions\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html
-.TP 2
-*
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html,
.na
-\f2XJC\fP @
+\f2using the XJC Ant task\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html
-.TP 2
-*
-.na
-\f2XJCTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html
-.TP 2
-*
-.na
-\f2SchemaGen\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html
-.TP 2
-*
-.na
-\f2schemagenTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html
-.TP 2
-*
-.na
-\f2Sample Apps\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/samples.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html
-.RE
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html]
.TP 2
o
-JAXB 1.0.x:
-.RS 3
-.TP 2
-*
.na
-\f2Release Notes\fP @
+\f2Java Architecture for XML Binding (JAXB)\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
.RE
-.TP 2
-o
-JAXB RI Extensions:
-.RS 3
-.TP 2
-*
-.na
-\f2Runtime Properties\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html
-.TP 2
-*
-.na
-\f2XJC Customizations\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html
-.TP 2
-*
-.na
-\f2Develop Plugins\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html
-.RE
-.TP 2
-o
-JAXB RI Schema Languages:
-.RS 3
-.TP 2
-*
-.na
-\f2W3C XML Schema\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema
-.TP 2
-*
-.na
-\f2RELAX NG\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng
-.TP 2
-*
-.na
-\f2DTD\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd
-.RE
-.TP 2
-o
-JAXB Community:
-.RS 3
-.TP 2
-*
-.na
-\f2Java.net Homepage\fP @
-.fi
-http://jaxb.dev.java.net
-.TP 2
-*
-.na
-\f2Developer interest list\fP @
-.fi
-https://jaxb.dev.java.net/servlets/ProjectMailingListList
-.TP 2
-*
-.na
-\f2FAQ\fP @
-.fi
-https://jaxb.dev.java.net/faq/index.html
-.RE
-.RE
+
+.LP
.LP
diff --git a/jdk/src/share/classes/java/dyn/CallSite.java b/jdk/src/share/classes/java/dyn/CallSite.java
new file mode 100644
index 0000000..67ad52f
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/CallSite.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+import sun.dyn.util.BytecodeName;
+
+/**
+ * An <code>invokedynamic</code> call site, as reified to the bootstrap method.
+ * Every instance of a call site corresponds to a distinct instance
+ * of the <code>invokedynamic</code> instruction.
+ * Call sites have state, one reference word, called the <code>target</code>,
+ * and typed as a {@link MethodHandle}. When this state is null (as it is
+ * initially) the call site is in the unlinked state. Otherwise, it is said
+ * to be linked to its target.
+ * <p>
+ * When an unlinked call site is executed, a bootstrap routine is called
+ * to finish the execution of the call site, and optionally to link
+ * the call site.
+ * <p>
+ * @author John Rose, JSR 292 EG
+ */
+public class CallSite {
+ // Fields used only by the JVM. Do not use or change.
+ private Object vmmethod;
+ int callerMID, callerBCI; // supplied by the JVM
+
+ MethodHandle target;
+ final Object caller; // usually a class
+ final String name;
+ final MethodType type;
+
+ public CallSite(Object caller, String name, MethodType type) {
+ this.caller = caller;
+ this.name = name;
+ this.type = type;
+ }
+
+ private static void privateInitializeCallSite(CallSite site, int callerMID, int callerBCI) {
+ site.callerMID = callerMID;
+ site.callerBCI = callerBCI;
+ if (site.target == null)
+ site.setTarget(site.initialTarget());
+ }
+
+ /**
+ * Just after a call site is created by a bootstrap method handle,
+ * if the target has not been initialized by the factory method itself,
+ * the method {@code initialTarget} is called to produce an initial
+ * non-null target. (Live call sites must never have null targets.)
+ * <p>
+ * If the bootstrap method itself does not initialize the call site,
+ * this method must be overridden, because it just raises an
+ * {@code InvokeDynamicBootstrapError}.
+ */
+ protected MethodHandle initialTarget() {
+ throw new InvokeDynamicBootstrapError("target must be initialized before call site is linked: "+this);
+ }
+
+ /**
+ * Report the current linkage state of the call site. (This is mutable.)
+ * The value is null if and only if the call site is currently unlinked.
+ * When a linked call site is invoked, the target method is used directly.
+ * When an unlinked call site is invoked, its bootstrap method receives
+ * the call, as if via {@link Linkage#bootstrapInvokeDynamic}.
+ * <p>
+ * The interactions of {@code getTarget} with memory are the same
+ * as of a read from an ordinary variable, such as an array element or a
+ * non-volatile, non-final field.
+ * <p>
+ * In particular, the current thread may choose to reuse the result
+ * of a previous read of the target from memory, and may fail to see
+ * a recent update to the target by another thread.
+ * @return the current linkage state of the call site
+ * @see #setTarget
+ */
+ public MethodHandle getTarget() {
+ return target;
+ }
+
+ /**
+ * Link or relink the call site, by setting its target method.
+ * <p>
+ * The interactions of {@code setTarget} with memory are the same
+ * as of a write to an ordinary variable, such as an array element or a
+ * non-volatile, non-final field.
+ * <p>
+ * In particular, unrelated threads may fail to see the updated target
+ * until they perform a read from memory.
+ * Stronger guarantees can be created by putting appropriate operations
+ * into the bootstrap method and/or the target methods used
+ * at any given call site.
+ * @param target the new target, or null if it is to be unlinked
+ * @throws WrongMethodTypeException if the new target is not null
+ * and has a method type that differs from the call site's {@link #type}
+ */
+ public void setTarget(MethodHandle target) {
+ checkTarget(target);
+ this.target = target;
+ }
+
+ protected void checkTarget(MethodHandle target) {
+ if (!canSetTarget(target))
+ throw new WrongMethodTypeException(String.valueOf(target));
+ }
+
+ protected boolean canSetTarget(MethodHandle target) {
+ return (target != null && target.type() == type());
+ }
+
+ /**
+ * Report the class containing the call site.
+ * This is immutable static context.
+ * @return class containing the call site
+ */
+ public Class<?> callerClass() {
+ return (Class) caller;
+ }
+
+ /**
+ * Report the method name specified in the {@code invokedynamic} instruction.
+ * This is immutable static context.
+ * <p>
+ * Note that the name is a JVM bytecode name, and as such can be any
+ * non-empty string, as long as it does not contain certain "dangerous"
+ * characters such as slash {@code '/'} and dot {@code '.'}.
+ * See the Java Virtual Machine specification for more details.
+ * <p>
+ * Application such as a language runtimes may need to encode
+ * arbitrary program element names and other configuration information
+ * into the name. A standard convention for doing this is
+ * <a href="http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm">specified here</a>.
+ * @return method name specified by the call site
+ */
+ public String name() {
+ return name;
+ }
+
+ /**
+ * Report the method name specified in the {@code invokedynamic} instruction,
+ * as a series of components, individually demangled according to
+ * the standard convention
+ * <a href="http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm">specified here</a>.
+ * <p>
+ * Non-empty runs of characters between dangerous characters are demangled.
+ * Each component is either a completely arbitrary demangled string,
+ * or else a character constant for a punctuation character, typically ':'.
+ * (In principle, the character can be any dangerous character that the
+ * JVM lets through in a method name, such as '$' or ']'.
+ * Runtime implementors are encouraged to use colon ':' for building
+ * structured names.)
+ * <p>
+ * In the common case where the name contains no dangerous characters,
+ * the result is an array whose only element array is the demangled
+ * name at the call site. Such a demangled name can be any sequence
+ * of any number of any unicode characters.
+ * @return method name components specified by the call site
+ */
+ public Object[] nameComponents() {
+ return BytecodeName.parseBytecodeName(name);
+ }
+
+ /**
+ * Report the resolved result and parameter types of this call site,
+ * which are derived from its bytecode-level invocation descriptor.
+ * The types are packaged into a {@link MethodType}.
+ * Any linked target of this call site must be exactly this method type.
+ * This is immutable static context.
+ * @return method type specified by the call site
+ */
+ public MethodType type() {
+ return type;
+ }
+
+ @Override
+ public String toString() {
+ return "CallSite#"+hashCode()+"["+name+type+" => "+target+"]";
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/InvokeDynamic.java b/jdk/src/share/classes/java/dyn/InvokeDynamic.java
new file mode 100644
index 0000000..446c2d0
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/InvokeDynamic.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * Syntactic marker interface to request javac to emit an {@code invokedynamic} instruction.
+ * <p>
+ * This type has no particular meaning as a class or interface supertype, and can never be instantiated.
+ * Logically, it denotes a source of all dynamically typed methods.
+ * @author John Rose, JSR 292 EG
+ */
+public final class InvokeDynamic {
+ private InvokeDynamic() { throw new InternalError(); } // do not instantiate
+
+ // no statically defined static methods
+}
diff --git a/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java b/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java
new file mode 100644
index 0000000..975ba7d
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * Thrown to indicate that an {@code invokedynamic} instruction has
+ * failed to find its bootstrap method, or the bootstrap method has
+ * failed to provide a call site with a non-null target.
+ * <p>
+ * The boostrap method must have been declared during a class's initialization
+ * by a call to {@link Linkage#registerBootstrapMethod}.
+ *
+ * @author John Rose, JSR 292 EG
+ */
+public class InvokeDynamicBootstrapError extends LinkageError {
+ /**
+ * Constructs a {@code InvokeDynamicBootstrapError} with no detail message.
+ */
+ public InvokeDynamicBootstrapError() {
+ super();
+ }
+
+ /**
+ * Constructs a {@code InvokeDynamicBootstrapError} with the specified
+ * detail message.
+ *
+ * @param s the detail message.
+ */
+ public InvokeDynamicBootstrapError(String s) {
+ super(s);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/JavaMethodHandle.java b/jdk/src/share/classes/java/dyn/JavaMethodHandle.java
new file mode 100644
index 0000000..b7432a7
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/JavaMethodHandle.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * A Java method handle extends the basic method handle type with additional
+ * programmer defined methods and fields.
+ * Its behavior as a method handle is determined at instance creation time,
+ * by providing the new instance with an "entry point" method handle
+ * to handle calls. This entry point must accept a leading argument
+ * whose type is the Java method handle itself or a supertype, and the
+ * entry point is always called with the Java method handle itself as
+ * the first argument. This is similar to ordinary virtual methods, which also
+ * accept the receiver object {@code this} as an implicit leading argument.
+ * The {@code MethodType} of the Java method handle is the same as that
+ * of the entry point method handle, with the leading parameter type
+ * omitted.
+ * <p>
+ * Here is an example of usage:
+ * <p><blockquote><pre>
+ * class Greeter extends JavaMethodHandle {
+ * public void run() { System.out.println("hello, "+greetee); }
+ * private final String greetee;
+ * Greeter(String greetee) {
+ * super(RUN);
+ * this.greetee = greetee;
+ * }
+ * // the entry point function is computed once:
+ * private static final MethodHandle RUN
+ * = MethodHandles.findVirtual(MyMethodHandle.class, "run",
+ * MethodType.make(void.class));
+ * }
+ * Greeter greeter = new Greeter("world");
+ * greeter.run(); // prints "hello, world"
+ * MethodHandle mh = greeter;
+ * mh.invoke(); // also prints "hello, world"
+ * </pre></blockquote>
+ * <p>
+ * In this example, the method {@code run} provides the entry point.
+ * The entry point need not be a constant value; it may be independently
+ * computed in each call to the constructor. The entry point does not
+ * even need to be a method on the Java method handle class, though
+ * that is the typical case.
+ * @see MethodHandle
+ * @author John Rose, JSR 292 EG
+ */
+public abstract class JavaMethodHandle
+ // Note: This is an implementation inheritance hack, and will be removed
+ // with a JVM change which moves the required hidden behavior onto this class.
+ extends sun.dyn.BoundMethodHandle
+{
+ /**
+ * When creating a, pass in {@code entryPoint}, any method handle which
+ * can take the current object
+ * @param entryPoint
+ */
+ protected JavaMethodHandle(MethodHandle entryPoint) {
+ super(entryPoint, 0);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/Linkage.java b/jdk/src/share/classes/java/dyn/Linkage.java
new file mode 100644
index 0000000..09e84d1
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/Linkage.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+import java.util.WeakHashMap;
+import sun.reflect.Reflection;
+import static sun.dyn.util.VerifyAccess.checkBootstrapPrivilege;
+
+/**
+ * Static methods which control the linkage of invokedynamic call sites.
+ * @author John Rose, JSR 292 EG
+ */
+public class Linkage {
+ private Linkage() {} // do not instantiate
+
+ /**
+ * Register a bootstrap method for use for a given caller class.
+ * The method handle must be of a type equivalent to {@link Linkage#makeCallSite}.
+ * <p>
+ * The operation will fail with an exception if any of the following conditions hold:
+ * <ul>
+ * <li>The caller of this method is in a different package than the {@code callerClass},
+ * and there is a security manager, and its {@code checkPermission} call throws
+ * when passed {@link LinkagePermission}("registerBootstrapMethod",callerClass).
+ * <li>The given class already has a bootstrap method, either from an embedded
+ * {@code BootstrapInvokeDynamic} classfile attribute, or from a previous
+ * call to this method.
+ * <li>The given class is already fully initialized.
+ * <li>The given class is in the process of initialization, in another thread.
+ * </ul>
+ * Because of these rules, a class may install its own bootstrap method in
+ * a static initializer.
+ */
+ public static
+ void registerBootstrapMethod(Class callerClass, MethodHandle mh) {
+ Class callc = Reflection.getCallerClass(2);
+ checkBootstrapPrivilege(callc, callerClass, "registerBootstrapMethod");
+ checkBSM(mh);
+ synchronized (bootstrapMethods) {
+ if (bootstrapMethods.containsKey(callerClass))
+ throw new IllegalStateException("bootstrap method already declared in "+callerClass);
+ bootstrapMethods.put(callerClass, mh);
+ }
+ }
+
+ static void checkBSM(MethodHandle mh) {
+ if (mh == null) throw new IllegalArgumentException("null bootstrap method");
+ if (mh.type() == OLD_BOOTSTRAP_METHOD_TYPE) // FIXME: delete at EDR/PFD
+ throw new WrongMethodTypeException("bootstrap method must be a CallSite factory");
+ if (mh.type() != BOOTSTRAP_METHOD_TYPE)
+ throw new WrongMethodTypeException(mh.toString());
+ }
+
+ /**
+ * Simplified version of registerBootstrapMethod for self-registration,
+ * to be called from a static initializer.
+ * Finds a static method of type (CallSite, Object[]) -> Object in the
+ * given class, and installs it on the caller.
+ * @throws IllegalArgumentException if there is no such method
+ */
+ public static
+ void registerBootstrapMethod(Class<?> runtime, String name) {
+ Class callc = Reflection.getCallerClass(2);
+ MethodHandle bootstrapMethod =
+ MethodHandles.findStaticFrom(callc, runtime, name, BOOTSTRAP_METHOD_TYPE);
+ // FIXME: exception processing wrong here
+ checkBSM(bootstrapMethod);
+ Linkage.registerBootstrapMethod(callc, bootstrapMethod);
+ }
+
+ /**
+ * Simplified version of registerBootstrapMethod for self-registration,
+ * to be called from a static initializer.
+ * Finds a static method of type (CallSite, Object[]) -> Object in the
+ * caller's class, and installs it on the caller.
+ * @throws IllegalArgumentException if there is no such method
+ */
+ public static
+ void registerBootstrapMethod(String name) {
+ Class callc = Reflection.getCallerClass(2);
+ MethodHandle bootstrapMethod =
+ MethodHandles.findStaticFrom(callc, callc, name, BOOTSTRAP_METHOD_TYPE);
+ // FIXME: exception processing wrong here
+ checkBSM(bootstrapMethod);
+ Linkage.registerBootstrapMethod(callc, bootstrapMethod);
+ }
+
+ /**
+ * Report the bootstrap method registered for a given class.
+ * Returns null if the class has never yet registered a bootstrap method,
+ * or if the class has explicitly registered a null bootstrap method.
+ * Only callers privileged to set the bootstrap method may inquire
+ * about it, because a bootstrap method is potentially a back-door entry
+ * point into its class.
+ */
+ public static
+ MethodHandle getBootstrapMethod(Class callerClass) {
+ Class callc = Reflection.getCallerClass(2);
+ checkBootstrapPrivilege(callc, callerClass, "registerBootstrapMethod");
+ synchronized (bootstrapMethods) {
+ return bootstrapMethods.get(callerClass);
+ }
+ }
+
+ /** The type of any bootstrap method is a three-argument method
+ * {@code (Class<?>, String, MethodType)} returning a {@code CallSite}.
+ */
+ public static final MethodType BOOTSTRAP_METHOD_TYPE
+ = MethodType.make(CallSite.class,
+ Class.class, String.class, MethodType.class);
+
+ private static final MethodType OLD_BOOTSTRAP_METHOD_TYPE
+ = MethodType.make(Object.class,
+ CallSite.class, Object[].class);
+
+ private static final WeakHashMap<Class, MethodHandle> bootstrapMethods =
+ new WeakHashMap<Class, MethodHandle>();
+
+ /**
+ * Invalidate all <code>invokedynamic</code> call sites everywhere.
+ * <p>
+ * When this method returns, every <code>invokedynamic</code> instruction
+ * will invoke its bootstrap method on next call.
+ * <p>
+ * It is unspecified whether call sites already known to the Java
+ * code will continue to be associated with <code>invokedynamic</code>
+ * instructions. If any call site is still so associated, its
+ * {@link CallSite#getTarget()} method is guaranteed to return null
+ * the invalidation operation completes.
+ * <p>
+ * Invalidation operations are likely to be slow. Use them sparingly.
+ */
+ public static
+ Object invalidateAll() {
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+ security.checkPermission(new LinkagePermission("invalidateAll"));
+ }
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ /**
+ * Invalidate all <code>invokedynamic</code> call sites associated
+ * with the given class.
+ * (These are exactly those sites which report the given class
+ * via the {@link CallSite#callerClass()} method.)
+ * <p>
+ * When this method returns, every matching <code>invokedynamic</code>
+ * instruction will invoke its bootstrap method on next call.
+ * <p>
+ * For additional semantics of call site invalidation,
+ * see {@link #invalidateAll()}.
+ */
+ public static
+ Object invalidateCallerClass(Class<?> callerClass) {
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+ security.checkPermission(new LinkagePermission("invalidateAll", callerClass));
+ }
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ private static Object doNotBootstrap(CallSite site, Object... arguments) {
+ throw new UnsupportedOperationException("call site must not have null target: "+site);
+ }
+
+ private static final MethodHandle DO_NOT_BOOTSTRAP =
+ MethodHandles.Lookup.IMPL_LOOKUP.findStatic(Linkage.class, "doNotBootstrap",
+ OLD_BOOTSTRAP_METHOD_TYPE);
+
+ // Up-call from the JVM. Obsolete. FIXME: Delete from VM then from here.
+ static
+ MethodHandle findBootstrapMethod(Class callerClass, Class searchBootstrapClass) {
+ return DO_NOT_BOOTSTRAP;
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/LinkagePermission.java b/jdk/src/share/classes/java/dyn/LinkagePermission.java
new file mode 100644
index 0000000..6ea86f8
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/LinkagePermission.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+import java.security.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+
+/**
+ * This class is for runtime permissions. A RuntimePermission
+ * contains a name (also referred to as a "target name") but
+ * no actions list; you either have the named permission
+ * or you don't.
+ *
+ * <P>
+ * The target name is the name of the runtime permission (see below). The
+ * naming convention follows the hierarchical property naming convention.
+ * Also, an asterisk
+ * may appear at the end of the name, following a ".", or by itself, to
+ * signify a wildcard match. For example: "loadLibrary.*" or "*" is valid,
+ * "*loadLibrary" or "a*b" is not valid.
+ * <P>
+ * The following table lists all the possible RuntimePermission target names,
+ * and for each provides a description of what the permission allows
+ * and a discussion of the risks of granting code the permission.
+ * <P>
+ *
+ * <table border=1 cellpadding=5 summary="permission target name,
+ * what the target allows,and associated risks">
+ * <tr>
+ * <th>Permission Target Name</th>
+ * <th>What the Permission Allows</th>
+ * <th>Risks of Allowing this Permission</th>
+ * </tr>
+ *
+ * <tr>
+ * <td>registerBootstrapMethod.{class name}</td>
+ * <td>Specifying a bootstrap method for invokedynamic, within a class of the given name</td>
+ * <td>An attacker could attempt to attach a bootstrap method to a class which
+ * has just been loaded, thus gaining control of its invokedynamic calls.</td>
+ * </tr>
+ *
+ * <tr>
+ * <td>invalidateAll</td>
+ * <td>Force the relinking of invokedynamic call sites everywhere.</td>
+ * <td>This could allow an attacker to slow down the system, or perhaps surface timing bugs in a dynamic language implementations, by forcing redundant relinking operations.</td>
+ * </tr>
+ *
+ *
+ * <tr>
+ * <td>invalidateCallerClass.{class name}</td>
+ * <td>Force the relinking of invokedynamic call sites in the given class.</td>
+ * <td>See {@code invalidateAll}.</td>
+ * </tr>
+ * </table>
+ *
+ * @see java.security.BasicPermission
+ * @see java.lang.SecurityManager
+ *
+ * @author John Rose, JSR 292 EG
+ */
+
+public final class LinkagePermission extends BasicPermission {
+ /**
+ * Create a new LinkagePermission with the given name.
+ * The name is the symbolic name of the LinkagePermission, such as
+ * "registerBootstrapMethod", "invalidateClass.*", etc. An asterisk
+ * may appear at the end of the name, following a ".", or by itself, to
+ * signify a wildcard match.
+ *
+ * @param name the name of the LinkagePermission
+ */
+ public LinkagePermission(String name) {
+ super(name);
+ }
+
+ /**
+ * Create a new LinkagePermission with the given name on the given class.
+ * Equivalent to {@code LinkagePermission(name+"."+clazz.getName())}.
+ *
+ * @param name the name of the LinkagePermission
+ * @param clazz the class affected by the permission
+ */
+ public LinkagePermission(String name, Class<?> clazz) {
+ super(name + "." + clazz.getName());
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/MethodHandle.java b/jdk/src/share/classes/java/dyn/MethodHandle.java
new file mode 100644
index 0000000..688a9d3
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/MethodHandle.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+//import sun.dyn.*;
+
+import sun.dyn.Access;
+import sun.dyn.MethodHandleImpl;
+
+/**
+ * A method handle is a typed reference to the entry point of a method.
+ * <p>
+ * Method handles are strongly typed according to signature.
+ * They are not distinguished by method name or enclosing class.
+ * A method handle must be invoked under a signature which exactly matches
+ * the method handle's own type.
+ * <p>
+ * Every method handle confesses its type via the <code>type</code> accessor.
+ * The structure of this type is a series of classes, one of which is
+ * the return type of the method (or <code>void.class</code> if none).
+ * <p>
+ * Every method handle appears as an object containing a method named
+ * <code>invoke</code>, whose signature exactly matches
+ * the method handle's type.
+ * A normal Java method call (using the <code>invokevirtual</code> instruction)
+ * can invoke this method from Java source code (if language support is present).
+ * <p>
+ * Every call to a method handle specifies an intended method type,
+ * which must exactly match the type of the method handle.
+ * (The type is specified in the <code>invokevirtual</code> instruction,
+ * via a {@code CONSTANT_NameAndType} constant pool entry.)
+ * The call looks within the receiver object for a method
+ * named <code>invoke</code> of the intended method type.
+ * The call fails with a {@link WrongMethodTypeException}
+ * if the method does not exist, even if there is an <code>invoke</code>
+ * method of a closely similar signature.
+ * <p>
+ * A method handle is an unrestricted capability to call a method.
+ * A method handle can be formed on a non-public method by a class
+ * that has access to that method; the resulting handle can be used
+ * in any place by any caller who receives a reference to it. Thus, access
+ * checking is performed when the method handle is created, not
+ * (as in reflection) every time it is called. Handles to non-public
+ * methods, or in non-public classes, should generally be kept secret.
+ * They should not be passed to untrusted code.
+ * <p>
+ * Bytecode in an extended JVM can directly call a method handle's
+ * <code>invoke</code> from an <code>invokevirtual</code> instruction.
+ * The receiver class type must be <code>MethodHandle</code> and the method name
+ * must be <code>invoke</code>. The signature of the invocation
+ * (after resolving symbolic type names) must exactly match the method type
+ * of the target method.
+ * <p>
+ * Bytecode in an extended JVM can directly obtain a method handle
+ * for any accessible method from a <code>ldc</code> instruction
+ * which refers to a <code>CONSTANT_Methodref</code> or
+ * <code>CONSTANT_InterfaceMethodref</code> constant pool entry.
+ * <p>
+ * All JVMs can also use a reflective API called <code>MethodHandles</code>
+ * for creating and calling method handles.
+ * <p>
+ * A method reference may refer either to a static or non-static method.
+ * In the non-static case, the method handle type includes an explicit
+ * receiver argument, prepended before any other arguments.
+ * In the method handle's type, the initial receiver argument is typed
+ * according to the class under which the method was initially requested.
+ * (E.g., if a non-static method handle is obtained via <code>ldc</code>,
+ * the type of the receiver is the class named in the constant pool entry.)
+ * <p>
+ * When a method handle to a virtual method is invoked, the method is
+ * always looked up in the receiver (that is, the first argument).
+ * <p>
+ * A non-virtual method handles to a specific virtual method implementation
+ * can also be created. These do not perform virtual lookup based on
+ * receiver type. Such a method handle simulates the effect of
+ * an <code>invokespecial</code> instruction to the same method.
+ *
+ * @see MethodType
+ * @see MethodHandles
+ * @author John Rose, JSR 292 EG
+ */
+public abstract class MethodHandle
+ // Note: This is an implementation inheritance hack, and will be removed
+ // with a JVM change which moves the required hidden state onto this class.
+ extends MethodHandleImpl
+{
+ // interface MethodHandle<T extends MethodType<R,A...>>
+ // { T type(); <R,A...> public R invoke(A...); }
+
+ final private MethodType type;
+
+ /**
+ * Report the type of this method handle.
+ * Every invocation of this method handle must exactly match this type.
+ * @return the method handle type
+ */
+ public MethodType type() {
+ return type;
+ }
+
+ /**
+ * The constructor for MethodHandle may only be called by privileged code.
+ * Subclasses may be in other packages, but must possess
+ * a token which they obtained from MH with a security check.
+ * @param token non-null object which proves access permission
+ * @param type type (permanently assigned) of the new method handle
+ */
+ protected MethodHandle(Access token, MethodType type) {
+ super(token);
+ this.type = type;
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/MethodHandles.java b/jdk/src/share/classes/java/dyn/MethodHandles.java
new file mode 100644
index 0000000..e7a6feb
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/MethodHandles.java
@@ -0,0 +1,1092 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+import java.lang.reflect.Constructor;
+import sun.dyn.Access;
+import sun.dyn.MemberName;
+import sun.dyn.MethodHandleImpl;
+import sun.dyn.util.VerifyAccess;
+import sun.dyn.util.Wrapper;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import sun.dyn.Invokers;
+import sun.dyn.MethodTypeImpl;
+import sun.reflect.Reflection;
+import static sun.dyn.MemberName.newIllegalArgumentException;
+import static sun.dyn.MemberName.newNoAccessException;
+
+/**
+ * Fundamental operations and utilities for MethodHandle.
+ * <p>
+ * <em>API Note:</em> The matching of method types in this API cannot
+ * be completely checked by Java's generic type system for three reasons:
+ * <ol>
+ * <li>Method types range over all possible arities,
+ * from no arguments to an arbitrary number of arguments.
+ * Generics are not variadic, and so cannot represent this.</li>
+ * <li>Method types can specify arguments of primitive types,
+ * which Java generic types cannot range over.</li>
+ * <li>Method types can optionally specify varargs (ellipsis).</li>
+ * </ol>
+ * @author John Rose, JSR 292 EG
+ */
+public class MethodHandles {
+
+ private MethodHandles() { } // do not instantiate
+
+ private static final Access IMPL_TOKEN = Access.getToken();
+ private static final MemberName.Factory IMPL_NAMES = MemberName.getFactory(IMPL_TOKEN);
+ static { MethodHandleImpl.initStatics(); }
+ // See IMPL_LOOKUP below.
+
+ //// Method handle creation from ordinary methods.
+
+ public static Lookup lookup() {
+ return new Lookup();
+ }
+
+ /**
+ * A factory object for creating method handles, when the creation
+ * requires access checking. Method handles do not perform
+ * access checks when they are called; this is a major difference
+ * from reflective {@link Method}, which performs access checking
+ * against every caller, on every call. Method handle access
+ * restrictions are enforced when a method handle is created.
+ * The caller class against which those restrictions are enforced
+ * is known as the "lookup class". {@link Lookup} embodies an
+ * authenticated lookup class, and can be used to create any number
+ * of access-checked method handles, all checked against a single
+ * lookup class.
+ * <p>
+ * A class which needs to create method handles will call
+ * {@code MethodHandles.lookup()} to create a factory for itself.
+ * It may then use this factory to create method handles on
+ * all of its methods, including private ones.
+ * It may also delegate the lookup (e.g., to a metaobject protocol)
+ * by passing the {@code Lookup} object to other code.
+ * If this other code creates method handles, they will be access
+ * checked against the original lookup class, and not with any higher
+ * privileges.
+ * <p>
+ * Note that access checks only apply to named and reflected methods.
+ * Other method handle creation methods, such as {@link #convertArguments},
+ * do not require any access checks, and can be done independently
+ * of any lookup class.
+ * <p>
+ * <em>A note about error conditions:<em> A lookup can fail, because
+ * the containing class is not accessible to the lookup class, or
+ * because the desired class member is missing, or because the
+ * desired class member is not accessible to the lookup class.
+ * It can also fail if a security manager is installed and refuses
+ * access. In any of these cases, an exception will be
+ * thrown from the attempted lookup.
+ * In general, the conditions under which a method handle may be
+ * created for a method M are exactly as restrictive as the conditions
+ * under which the lookup class could have compiled a call to M.
+ */
+ public static final
+ class Lookup {
+ private final Class<?> lookupClass;
+
+ /** Which class is performing the lookup? It is this class against
+ * which checks are performed for visibility and access permissions.
+ * <p>
+ * This value is null if and only if this lookup is {@link #PUBLIC_LOOKUP}.
+ */
+ public Class<?> lookupClass() {
+ return lookupClass;
+ }
+
+ /** Embody the current class (the lookupClass) as a lookup class
+ * for method handle creation.
+ * Must be called by from a method in this package,
+ * which in turn is called by a method not in this package.
+ * Also, don't make it private, lest javac interpose
+ * an access$N method.
+ */
+ Lookup() {
+ Class caller = getCallerClassAtEntryPoint();
+ // make sure we haven't accidentally picked up this class:
+ checkUnprivilegedlookupClass(caller);
+ this.lookupClass = caller;
+ }
+
+ private Lookup(Class<?> lookupClass) {
+ this.lookupClass = lookupClass;
+ }
+
+ /** Version of lookup which is trusted minimally.
+ * It can only be used to create method handles to
+ * publicly accessible members.
+ */
+ public static final Lookup PUBLIC_LOOKUP = new Lookup(null);
+
+ /** Package-private version of lookup which is trusted. */
+ static final Lookup IMPL_LOOKUP = new Lookup(Access.class);
+ static { MethodHandleImpl.initLookup(IMPL_TOKEN, IMPL_LOOKUP); }
+
+ private static void checkUnprivilegedlookupClass(Class<?> lookupClass) {
+ if (lookupClass == null ||
+ lookupClass == Access.class ||
+ lookupClass.getName().startsWith("java.dyn."))
+ throw newIllegalArgumentException("illegal lookupClass: "+lookupClass);
+ }
+
+ @Override
+ public String toString() {
+ if (lookupClass == null)
+ return "public";
+ return lookupClass.getName();
+ }
+
+ // call this from an entry point method in Lookup with extraFrames=0.
+ private static Class<?> getCallerClassAtEntryPoint() {
+ final int CALLER_DEPTH = 4;
+ // 0: Reflection.getCC, 1: getCallerClassAtEntryPoint,
+ // 2: Lookup.<init>, 3: MethodHandles.*, 4: caller
+ // Note: This should be the only use of getCallerClass in this file.
+ return Reflection.getCallerClass(CALLER_DEPTH);
+ }
+
+ /**
+ * Produce a method handle for a static method.
+ * The type of the method handle will be that of the method.
+ * The method and all its argument types must be accessible to the lookup class.
+ * If the method's class has not yet been initialized, that is done
+ * immediately, before the method handle is returned.
+ * @param defc the class from which the method is accessed
+ * @param name the name of the method
+ * @param type the type of the method
+ * @return the desired method handle
+ * @exception SecurityException <em>TBD</em>
+ * @exception NoAccessException if the method does not exist or access checking fails
+ */
+ public
+ MethodHandle findStatic(Class<?> defc, String name, MethodType type) throws NoAccessException {
+ MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type, Modifier.STATIC), true, lookupClass);
+ checkStatic(true, method, lookupClass);
+ //throw NoSuchMethodException
+ return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, lookupClass);
+ }
+
+ /**
+ * Produce a method handle for a virtual method.
+ * The type of the method handle will be that of the method,
+ * with the receiver type ({@code defc}) prepended.
+ * The method and all its argument types must be accessible to the lookup class.
+ * <p>
+ * When called, the handle will treat the first argument as a receiver
+ * and dispatch on the receiver's type to determine which method
+ * implementation to enter.
+ * (The dispatching action is identical with that performed by an
+ * {@code invokevirtual} or {@code invokeinterface} instruction.)
+ * @param defc the class or interface from which the method is accessed
+ * @param name the name of the method
+ * @param type the type of the method, with the receiver argument omitted
+ * @return the desired method handle
+ * @exception SecurityException <em>TBD</em>
+ * @exception NoAccessException if the method does not exist or access checking fails
+ */
+ public MethodHandle findVirtual(Class<?> defc, String name, MethodType type) throws NoAccessException {
+ MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type), true, lookupClass);
+ checkStatic(false, method, lookupClass);
+ return MethodHandleImpl.findMethod(IMPL_TOKEN, method, true, lookupClass);
+ }
+
+ /**
+ * Produce an early-bound method handle for a virtual method,
+ * or a handle for a constructor, as if called from an {@code invokespecial}
+ * instruction from {@code caller}.
+ * The type of the method handle will be that of the method or constructor,
+ * with a suitably restricted receiver type (such as {@code caller}) prepended.
+ * The method or constructor and all its argument types must be accessible
+ * to the caller.
+ * <p>
+ * When called, the handle will treat the first argument as a receiver,
+ * but will not dispatch on the receiver's type.
+ * (This direct invocation action is identical with that performed by an
+ * {@code invokespecial} instruction.)
+ * <p>
+ * If the explicitly specified caller class is not identical with the
+ * lookup class, a security check TBD is performed.
+ * @param defc the class or interface from which the method is accessed
+ * @param name the name of the method, or "<init>" for a constructor
+ * @param type the type of the method, with the receiver argument omitted
+ * @param specialCaller the proposed calling class to perform the {@code invokespecial}
+ * @return the desired method handle
+ * @exception SecurityException <em>TBD</em>
+ * @exception NoAccessException if the method does not exist or access checking fails
+ */
+ public MethodHandle findSpecial(Class<?> defc, String name, MethodType type,
+ Class<?> specialCaller) throws NoAccessException {
+ checkSpecialCaller(specialCaller, lookupClass);
+ MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type), false, specialCaller);
+ checkStatic(false, method, lookupClass);
+ if (name.equals("<init>")) {
+ if (defc != specialCaller)
+ throw newNoAccessException("constructor must be local to lookup class", method, lookupClass);
+ } else if (defc.isInterface() || !defc.isAssignableFrom(specialCaller)) {
+ throw newNoAccessException("method must be in a superclass of lookup class", method, lookupClass);
+ }
+ return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, specialCaller);
+ }
+
+ /**
+ * Produce an early-bound method handle for a non-static method.
+ * The receiver must have a supertype {@code defc} in which a method
+ * of the given name and type is accessible to the lookup class.
+ * The method and all its argument types must be accessible to the lookup class.
+ * The type of the method handle will be that of the method.
+ * The given receiver will be bound into the method handle.
+ * <p>
+ * Equivalent to the following expression:
+ * <code>
+ * {@link #insertArgument}({@link #findVirtual}(defc, name, type), receiver)
+ * </code>
+ * @param receiver the object from which the method is accessed
+ * @param name the name of the method
+ * @param type the type of the method, with the receiver argument omitted
+ * @return the desired method handle
+ * @exception SecurityException <em>TBD</em>
+ * @exception NoAccessException if the method does not exist or access checking fails
+ */
+ public MethodHandle bind(Object receiver, String name, MethodType type) throws NoAccessException {
+ Class<? extends Object> rcvc = receiver.getClass(); // may get NPE
+ MemberName reference = new MemberName(rcvc, name, type);
+ MemberName method = IMPL_NAMES.resolveOrFail(reference, true, lookupClass);
+ checkStatic(false, method, lookupClass);
+ MethodHandle dmh = MethodHandleImpl.findMethod(IMPL_TOKEN, method, true, lookupClass);
+ MethodHandle bmh = MethodHandleImpl.bindReceiver(IMPL_TOKEN, dmh, receiver);
+ if (bmh == null)
+ throw newNoAccessException(method, lookupClass);
+ return bmh;
+ }
+
+ /**
+ * Make a direct method handle to <i>m</i>, if the lookup class has permission.
+ * If <i>m</i> is non-static, the receiver argument is treated as an initial argument.
+ * If <i>m</i> is virtual, overriding is respected on every call.
+ * Unlike the Core Reflection API, exceptions are <em>not</em> wrapped.
+ * The type of the method handle will be that of the method,
+ * with the receiver type prepended (but only if it is non-static).
+ * If the method's {@code accessible} flag is not set,
+ * access checking is performed immediately on behalf of the lookup class.
+ * If <i>m</i> is not public, do not share the resulting handle with untrusted parties.
+ * @param m the reflected method
+ * @return a method handle which can invoke the reflected method
+ * @exception NoAccessException if access checking fails
+ */
+ public MethodHandle unreflect(Method m) throws NoAccessException {
+ return unreflectImpl(new MemberName(m), m.isAccessible(), true, lookupClass);
+ }
+
+ /**
+ * Produce a method handle for a reflected method.
+ * It will bypass checks for overriding methods on the receiver,
+ * as if by the {@code invokespecial} instruction.
+ * The type of the method handle will be that of the method,
+ * with the receiver type prepended.
+ * If the method's {@code accessible} flag is not set,
+ * access checking is performed immediately on behalf of the lookup class,
+ * as if {@code invokespecial} instruction were being linked.
+ * @param m the reflected method
+ * @return a method handle which can invoke the reflected method
+ * @exception NoAccessException if access checking fails
+ */
+ public MethodHandle unreflectSpecial(Method m, Class<?> specialCaller) throws NoAccessException {
+ checkSpecialCaller(specialCaller, lookupClass);
+ MemberName mname = new MemberName(m);
+ checkStatic(false, mname, lookupClass);
+ return unreflectImpl(mname, m.isAccessible(), false, specialCaller);
+ }
+
+ /**
+ * Produce a method handle for a reflected constructor.
+ * The type of the method handle will be that of the constructor.
+ * The method handle will perform a {@code newInstance} operation,
+ * creating a new instance of the constructor's class on the
+ * arguments passed to the method handle.
+ * <p>
+ * If the constructor's {@code accessible} flag is not set,
+ * access checking is performed immediately on behalf of the lookup class,
+ * as if {@code invokespecial} instruction were being linked.
+ * @param ctor the reflected constructor
+ * @return a method handle which can invoke the reflected constructor
+ * @exception NoAccessException if access checking fails
+ */
+ public MethodHandle unreflectConstructor(Constructor ctor) throws NoAccessException {
+ MemberName m = new MemberName(ctor);
+ return unreflectImpl(m, ctor.isAccessible(), false, lookupClass);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle giving read access to a reflected field.
+ * The type of the method handle will have a return type of the field's
+ * value type. Its sole argument will be the field's containing class
+ * (but only if it is non-static).
+ * If the method's {@code accessible} flag is not set,
+ * access checking is performed immediately on behalf of the lookup class.
+ * @param f the reflected field
+ * @return a method handle which can load values from the reflected field
+ * @exception NoAccessException if access checking fails
+ */
+ public MethodHandle unreflectGetter(Field f) throws NoAccessException {
+ return MethodHandleImpl.accessField(IMPL_TOKEN, new MemberName(f), false, lookupClass);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle giving write access to a reflected field.
+ * The type of the method handle will have a void return type.
+ * Its last argument will be the field's value type.
+ * Its other argument will be the field's containing class
+ * (but only if it is non-static).
+ * If the method's {@code accessible} flag is not set,
+ * access checking is performed immediately on behalf of the lookup class.
+ * @param f the reflected field
+ * @return a method handle which can store values into the reflected field
+ * @exception NoAccessException if access checking fails
+ */
+ public MethodHandle unreflectSetter(Field f) throws NoAccessException {
+ return MethodHandleImpl.accessField(IMPL_TOKEN, new MemberName(f), true, lookupClass);
+ }
+
+ }
+
+ static /*must not be public*/
+ MethodHandle findStaticFrom(Class<?> lookupClass,
+ Class<?> defc, String name, MethodType type) throws NoAccessException {
+ MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type, Modifier.STATIC), true, lookupClass);
+ checkStatic(true, method, lookupClass);
+ return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, lookupClass);
+ }
+
+ static void checkStatic(boolean wantStatic, MemberName m, Class<?> lookupClass) {
+ if (wantStatic != m.isStatic()) {
+ String message = wantStatic ? "expected a static method" : "expected a non-static method";
+ throw newNoAccessException(message, m, lookupClass);
+ }
+ }
+
+ static void checkSpecialCaller(Class<?> specialCaller, Class<?> lookupClass) {
+ if (lookupClass == Lookup.IMPL_LOOKUP.lookupClass())
+ return; // privileged action
+ if (lookupClass == null || // public-only access
+ !VerifyAccess.isSamePackageMember(specialCaller, lookupClass))
+ throw newNoAccessException("no private access", new MemberName(specialCaller), lookupClass);
+ }
+
+ // Helper for creating handles on reflected methods and constructors.
+ static MethodHandle unreflectImpl(MemberName m, boolean isAccessible,
+ boolean doDispatch, Class<?> lookupClass) {
+ MethodType mtype = m.getInvocationType();
+ Class<?> defc = m.getDeclaringClass();
+ int mods = m.getModifiers();
+ if (m.isStatic()) {
+ if (!isAccessible &&
+ VerifyAccess.isAccessible(defc, mods, false, lookupClass) == null)
+ throw newNoAccessException(m, lookupClass);
+ } else {
+ Class<?> constraint;
+ if (isAccessible) {
+ // abbreviated access check for "unlocked" method
+ constraint = doDispatch ? defc : lookupClass;
+ } else {
+ constraint = VerifyAccess.isAccessible(defc, mods, doDispatch, lookupClass);
+ }
+ if (constraint != defc && !constraint.isAssignableFrom(defc)) {
+ if (!defc.isAssignableFrom(constraint))
+ throw newNoAccessException("receiver must be in caller class", m, lookupClass);
+ mtype = mtype.changeParameterType(0, constraint);
+ }
+ }
+ return MethodHandleImpl.findMethod(IMPL_TOKEN, m, doDispatch, lookupClass);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle giving read access to elements of an array.
+ * The type of the method handle will have a return type of the array's
+ * element type. Its first argument will be the array type,
+ * and the second will be {@code int}.
+ * @param arrayClass an array type
+ * @return a method handle which can load values from the given array type
+ * @throws IllegalArgumentException if arrayClass is not an array type
+ */
+ public static
+ MethodHandle arrayElementGetter(Class<?> arrayClass) throws IllegalArgumentException {
+ return MethodHandleImpl.accessArrayElement(IMPL_TOKEN, arrayClass, false);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle giving write access to elements of an array.
+ * The type of the method handle will have a void return type.
+ * Its last argument will be the array's element type.
+ * The first and second arguments will be the array type and int.
+ * @return a method handle which can store values into the array type
+ * @throws IllegalArgumentException if arrayClass is not an array type
+ */
+ public static
+ MethodHandle arrayElementSetter(Class<?> arrayClass) throws IllegalArgumentException {
+ return MethodHandleImpl.accessArrayElement(IMPL_TOKEN, arrayClass, true);
+ }
+
+
+ /// method handle invocation (reflective style)
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Call the {@code invoke} method of a given method handle,
+ * with arguments that exactly match the parameter types of the method handle.
+ * The length of the arguments array must equal the parameter count
+ * of the target's type.
+ * The arguments array is spread into separate arguments, and
+ * basic reference and unboxing conversions are applied.
+ * <p>
+ * In order to match the type of the target, the following argument
+ * conversions are applied as necessary:
+ * <ul>
+ * <li>reference casting
+ * <li>unboxing
+ * </ul>
+ * The following conversions are not applied:
+ * <ul>
+ * <li>primitive conversions (e.g., {@code byte} to {@code int}
+ * <li>varargs conversions other than the initial spread
+ * <li>any application-specific conversions (e.g., string to number)
+ * </ul>
+ * The result returned by the call is boxed if it is a primitive,
+ * or forced to null if the return type is void.
+ * <p>
+ * This call is a convenience method for the following code:
+ * <pre>
+ * MethodHandle invoker = MethodHandles.genericInvoker(target.type(), 0, true);
+ * Object result = invoker.invoke(arguments);
+ * </pre>
+ * @param target the method handle to invoke
+ * @param arguments the arguments to pass to the target
+ * @return the result returned by the target
+ */
+ public static
+ Object invoke(MethodHandle target, Object... arguments) {
+ int argc = arguments == null ? 0 : arguments.length;
+ MethodType type = target.type();
+ if (argc <= 4) {
+ MethodHandle invoker = invokers(type).genericInvoker();
+ switch (argc) {
+ case 0: return invoker.<Object>invoke(target);
+ case 1: return invoker.<Object>invoke(target,
+ arguments[0]);
+ case 2: return invoker.<Object>invoke(target,
+ arguments[0], arguments[1]);
+ case 3: return invoker.<Object>invoke(target,
+ arguments[0], arguments[1], arguments[2]);
+ case 4: return invoker.<Object>invoke(target,
+ arguments[0], arguments[1], arguments[2], arguments[3]);
+ }
+ }
+ MethodHandle invoker = invokers(type).varargsInvoker();
+ return invoker.<Object>invoke(target, arguments);
+ }
+
+ public static
+ Object invoke_0(MethodHandle target) {
+ MethodHandle invoker = invokers(target.type()).genericInvoker();
+ return invoker.<Object>invoke(target);
+ }
+ public static
+ Object invoke_1(MethodHandle target, Object a0) {
+ MethodHandle invoker = invokers(target.type()).genericInvoker();
+ return invoker.<Object>invoke(target, a0);
+ }
+ public static
+ Object invoke_2(MethodHandle target, Object a0, Object a1) {
+ MethodHandle invoker = invokers(target.type()).genericInvoker();
+ return invoker.<Object>invoke(target, a0, a1);
+ }
+ public static
+ Object invoke_3(MethodHandle target, Object a0, Object a1, Object a2) {
+ MethodHandle invoker = invokers(target.type()).genericInvoker();
+ return invoker.<Object>invoke(target, a0, a1, a2);
+ }
+ public static
+ Object invoke_4(MethodHandle target, Object a0, Object a1, Object a2, Object a3) {
+ MethodHandle invoker = invokers(target.type()).genericInvoker();
+ return invoker.<Object>invoke(target, a0, a1, a2, a3);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Give a method handle which will invoke any method handle of the
+ * given type on a standard set of {@code Object} type arguments.
+ * The the resulting invoker will be a method handle with the following
+ * arguments:
+ * <ul>
+ * <li>a single {@code MethodHandle} target
+ * <li>zero or more {@code Object} values
+ * <li>an optional {@code Object[]} array containing more arguments
+ * </ul>
+ * The invoker will spread the varargs array (if present), apply
+ * reference casts as necessary, and unbox primitive arguments.
+ * The return value of the invoker will be an {@code Object} reference,
+ * boxing a primitive value if the original type returns a primitive,
+ * and always null if the original type returns void.
+ * <p>
+ * This is a convenience method equivalent to the following code:
+ * <pre>
+ * MethodHandle invoker = exactInvoker(type);
+ * MethodType genericType = MethodType.makeGeneric(objectArgCount, varargs);
+ * genericType = genericType.insertParameterType(0, MethodHandle.class);
+ * if (!varargs)
+ * return convertArguments(invoker, genericType);
+ * else
+ * return spreadArguments(invoker, genericType);
+ * </pre>
+ * @param type the desired target type
+ * @param objectArgCount number of fixed (non-varargs) {@code Object} arguments
+ * @param varargs if true, the invoker will accept a final {@code Object[]} argument
+ * @return a method handle suitable for invoking any method handle of the given type
+ */
+ static public
+ MethodHandle genericInvoker(MethodType type, int objectArgCount, boolean varargs) {
+ return invokers(type).genericInvoker();
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Give a method handle which will take a invoke any method handle of the
+ * given type. The resulting invoker will have a type which is
+ * exactly equal to the desired type, except that it will accept
+ * an additional leading argument of type {@code MethodHandle}.
+ * <p>
+ * This is a convenience method equivalent to the following code:
+ * <pre>
+ * MethodHandles.lookup().findVirtual(MethodHandle.class, "invoke", type);
+ * </pre>
+ * @param type the desired target type
+ * @return a method handle suitable for invoking any method handle of the given type
+ */
+ static public
+ MethodHandle exactInvoker(MethodType type) {
+ return invokers(type).exactInvoker();
+ }
+
+ static private Invokers invokers(MethodType type) {
+ return MethodTypeImpl.invokers(IMPL_TOKEN, type);
+ }
+
+ /**
+ * <em>WORK IN PROGRESS:</em>
+ * Perform value checking, exactly as if for an adapted method handle.
+ * It is assumed that the given value is either null, of type T0,
+ * or (if T0 is primitive) of the wrapper type corresponding to T0.
+ * The following checks and conversions are made:
+ * <ul>
+ * <li>If T0 and T1 are references, then a cast to T1 is applied.
+ * (The types do not need to be related in any particular way.)
+ * <li>If T0 and T1 are primitives, then a widening or narrowing
+ * conversion is applied, if one exists.
+ * <li>If T0 is a primitive and T1 a reference, and
+ * T0 has a wrapper type TW, a boxing conversion to TW is applied,
+ * possibly followed by a reference conversion.
+ * T1 must be TW or a supertype.
+ * <li>If T0 is a reference and T1 a primitive, and
+ * T1 has a wrapper type TW, an unboxing conversion is applied,
+ * possibly preceded by a reference conversion.
+ * T0 must be TW or a supertype.
+ * <li>If T1 is void, the return value is discarded
+ * <li>If T0 is void and T1 a reference, a null value is introduced.
+ * <li>If T0 is void and T1 a primitive, a zero value is introduced.
+ * </ul>
+ * If the value is discarded, null will be returned.
+ * @param valueType
+ * @param value
+ * @return the value, converted if necessary
+ * @throws java.lang.ClassCastException if a cast fails
+ */
+ static
+ <T0, T1> T1 checkValue(Class<T0> t0, Class<T1> t1, Object value)
+ throws ClassCastException
+ {
+ if (t0 == t1) {
+ // no conversion needed; just reassert the same type
+ if (t0.isPrimitive())
+ return Wrapper.asPrimitiveType(t1).cast(value);
+ else
+ return Wrapper.OBJECT.cast(value, t1);
+ }
+ boolean prim0 = t0.isPrimitive(), prim1 = t1.isPrimitive();
+ if (!prim0) {
+ // check contract with caller
+ Wrapper.OBJECT.cast(value, t0);
+ if (!prim1) {
+ return Wrapper.OBJECT.cast(value, t1);
+ }
+ // convert reference to primitive by unboxing
+ Wrapper w1 = Wrapper.forPrimitiveType(t1);
+ return w1.cast(value, t1);
+ }
+ // check contract with caller:
+ Wrapper.asWrapperType(t0).cast(value);
+ Wrapper w1 = Wrapper.forPrimitiveType(t1);
+ return w1.cast(value, t1);
+ }
+
+ static
+ Object checkValue(Class<?> T1, Object value)
+ throws ClassCastException
+ {
+ Class<?> T0;
+ if (value == null)
+ T0 = Object.class;
+ else
+ T0 = value.getClass();
+ return checkValue(T0, T1, value);
+ }
+
+ /// method handle modification (creation from other method handles)
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which adapts the type of the
+ * given method handle to a new type, by pairwise argument conversion,
+ * and/or varargs conversion.
+ * The original type and new type must have the same number of
+ * arguments, or else one or both them the must be varargs types.
+ * The resulting method handle is guaranteed to confess a type
+ * which is equal to the desired new type, with any varargs property erased.
+ * <p>
+ * If the original type and new type are equal, returns target.
+ * <p>
+ * The following conversions are applied as needed both to
+ * arguments and return types. Let T0 and T1 be the differing
+ * new and old parameter types (or old and new return types)
+ * for corresponding values passed by the new and old method types.
+ * <p>
+ * If an ordinary (non-varargs) parameter of the new type is
+ * to be boxed in a varargs parameter of the old type of type T1[],
+ * then T1 is the element type of the varargs array.
+ * Otherwise, if a varargs parameter of the new type of type T0[]
+ * is to be spread into one or more outgoing old type parameters,
+ * then T0 is the element type of the
+ * If the new type is varargs and the old type is not, the varargs
+ * argument will be checked and must be a non-null array of exactly
+ * the right length. If there are no parameters in the old type
+ * corresponding to the new varargs parameter, the varargs argument
+ * is also allowed to be null.
+ * <p>
+ * Given those types T0, T1, one of the following conversions is applied
+ * if possible:
+ * <ul>
+ * <li>If T0 and T1 are references, then a cast to T2 is applied,
+ * where T2 is Object if T1 is an interface, else T1.
+ * (The types do not need to be related in any particular way.
+ * The treatment of interfaces follows the usage of the bytecode verifier.)
+ * <li>If T0 and T1 are primitives, then a Java casting
+ * conversion (JLS 5.5) is applied, if one exists.
+ * <li>If T0 and T1 are primitives and one is boolean,
+ * the boolean is treated as a one-bit unsigned integer.
+ * (This treatment follows the usage of the bytecode verifier.)
+ * A conversion from another primitive type behaves as if
+ * it first converts to byte, and then masks all but the low bit.
+ * <li>If T0 is a primitive and T1 a reference, a boxing
+ * conversion is applied if one exists, possibly followed by
+ * an reference conversion to a superclass.
+ * T1 must be a wrapper class or a supertype of one.
+ * If T1 is a wrapper class, T0 is converted if necessary
+ * to T1's primitive type by one of the preceding conversions.
+ * Otherwise, T0 is boxed, and its wrapper converted to T1.
+ * <li>If T0 is a reference and T1 a primitive, an unboxing
+ * conversion is applied if one exists, possibly preceded by
+ * a reference conversion to a wrapper class.
+ * T0 must be a wrapper class or a supertype of one.
+ * If T0 is a wrapper class, its primitive value is converted
+ * if necessary to T1 by one of the preceding conversions.
+ * Otherwise, T0 is converted directly to the wrapper type for T1,
+ * which is then unboxed.
+ * <li>If T1 is void, any returned value is discarded
+ * <li>If T0 is void and T1 a reference, a null value is introduced.
+ * <li>If T0 is void and T1 a primitive, a zero value is introduced.
+ * </ul>
+ * @param target the method handle to invoke after arguments are retyped
+ * @param newType the expected type of the new method handle
+ * @return a method handle which delegates to {@code target} after performing
+ * any necessary argument conversions, and arranges for any
+ * necessary return value conversions
+ * @throws WrongMethodTypeException if the conversion cannot be made
+ */
+ public static
+ MethodHandle convertArguments(MethodHandle target, MethodType newType) {
+ MethodType oldType = target.type();
+ if (oldType.equals(newType))
+ return target;
+ MethodHandle res = MethodHandleImpl.convertArguments(IMPL_TOKEN, target,
+ newType, oldType, null);
+ if (res == null)
+ throw newIllegalArgumentException("cannot convert to "+newType+": "+target);
+ return res;
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which adapts the calling sequence of the
+ * given method handle to a new type, by reordering the arguments.
+ * The resulting method handle is guaranteed to confess a type
+ * which is equal to the desired new type.
+ * <p>
+ * The given array controls the reordering.
+ * Call {@code #I} the number of incoming parameters (the value
+ * {@code newType.parameterCount()}, and call {@code #O} the number
+ * of outgoing parameters (the value {@code target.type().parameterCount()}).
+ * Then the length of the reordering array must be {@code #O},
+ * and each element must be a non-negative number less than {@code #I}.
+ * For every {@code N} less than {@code #O}, the {@code N}-th
+ * outgoing argument will be taken from the {@code I}-th incoming
+ * argument, where {@code I} is {@code reorder[N]}.
+ * <p>
+ * The reordering array need not specify an actual permutation.
+ * An incoming argument will be duplicated if its index appears
+ * more than once in the array, and an incoming argument will be dropped
+ * if its index does not appear in the array.
+ * <p>
+ * Pairwise conversions are applied as needed to arguments and return
+ * values, as with {@link #convertArguments}.
+ * @param target the method handle to invoke after arguments are reordered
+ * @param newType the expected type of the new method handle
+ * @param reorder a string which controls the reordering
+ * @return a method handle which delegates to {@code target} after performing
+ * any necessary argument motion and conversions, and arranges for any
+ * necessary return value conversions
+ */
+ public static
+ MethodHandle permuteArguments(MethodHandle target, MethodType newType, int[] reorder) {
+ MethodType oldType = target.type();
+ checkReorder(reorder, newType, oldType);
+ return MethodHandleImpl.convertArguments(IMPL_TOKEN, target,
+ newType, oldType,
+ reorder);
+ }
+
+ private static void checkReorder(int[] reorder, MethodType newType, MethodType oldType) {
+ if (reorder.length == oldType.parameterCount()) {
+ int limit = newType.parameterCount();
+ boolean bad = false;
+ for (int i : reorder) {
+ if (i < 0 || i >= limit) {
+ bad = true; break;
+ }
+ }
+ if (!bad) return;
+ }
+ throw newIllegalArgumentException("bad reorder array");
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which adapts the type of the
+ * given method handle to a new type, by spreading the final argument.
+ * The resulting method handle is guaranteed to confess a type
+ * which is equal to the desired new type.
+ * <p>
+ * The final parameter type of the new type must be an array type T[].
+ * This is the type of what is called the <i>spread</i> argument.
+ * All other arguments of the new type are called <i>ordinary</i> arguments.
+ * <p>
+ * The ordinary arguments of the new type are pairwise converted
+ * to the initial parameter types of the old type, according to the
+ * rules in {@link #convertArguments}.
+ * Any additional arguments in the old type
+ * are converted from the array element type T,
+ * again according to the rules in {@link #convertArguments}.
+ * The return value is converted according likewise.
+ * <p>
+ * The call verifies that the spread argument is in fact an array
+ * of exactly the type length, i.e., the excess number of
+ * arguments in the old type over the ordinary arguments in the new type.
+ * If there are no excess arguments, the spread argument is also
+ * allowed to be null.
+ * @param target the method handle to invoke after the argument is prepended
+ * @param newType the expected type of the new method handle
+ * @return a new method handle which spreads its final argument,
+ * before calling the original method handle
+ */
+ public static
+ MethodHandle spreadArguments(MethodHandle target, MethodType newType) {
+ MethodType oldType = target.type();
+ int inargs = newType.parameterCount();
+ int outargs = oldType.parameterCount();
+ int spreadPos = inargs - 1;
+ int numSpread = (outargs - spreadPos);
+ MethodHandle res = null;
+ if (spreadPos >= 0 && numSpread >= 0) {
+ res = MethodHandleImpl.spreadArguments(IMPL_TOKEN, target, newType, spreadPos);
+ }
+ if (res == null) {
+ throw newIllegalArgumentException("cannot spread "+newType+" to " +oldType);
+ }
+ return res;
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which adapts the type of the
+ * given method handle to a new type, by collecting a series of
+ * trailing arguments into an array.
+ * The resulting method handle is guaranteed to confess a type
+ * which is equal to the desired new type.
+ * <p>
+ * This method is inverse to {@link #spreadArguments}.
+ * The final parameter type of the old type must be an array type T[],
+ * which is the type of what is called the <i>spread</i> argument.
+ * The trailing arguments of the new type which correspond to
+ * the spread argument are all converted to type T and collected
+ * into an array before the original method is called.
+ * <p>
+ * ISSUE: Unify this with combineArguments. CollectArguments
+ * is combineArguments with (a) new Object[]{...} as a combiner,
+ * and (b) the combined arguments dropped, in favor of the combined result.
+ * @param target the method handle to invoke after the argument is prepended
+ * @param newType the expected type of the new method handle
+ * @return a new method handle which collects some trailings argument
+ * into an array, before calling the original method handle
+ */
+ public static
+ MethodHandle collectArguments(MethodHandle target, MethodType newType) {
+ MethodType oldType = target.type();
+ int inargs = newType.parameterCount();
+ int outargs = oldType.parameterCount();
+ int collectPos = outargs - 1;
+ int numCollect = (inargs - collectPos);
+ if (collectPos < 0 || numCollect < 0)
+ throw newIllegalArgumentException("wrong number of arguments");
+ return MethodHandleImpl.collectArguments(IMPL_TOKEN, target, newType, collectPos);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which calls the original method handle,
+ * after inserting the given argument at the given position.
+ * The type of the new method handle will drop the corresponding argument
+ * type from the original handle's type.
+ * <p>
+ * The given argument object must match the dropped argument type.
+ * If the dropped argument type is a primitive, the argument object
+ * must be a wrapper, and is unboxed to produce the primitive.
+ * <p>
+ * The <i>pos</i> may range between zero and <i>N</i> (inclusively),
+ * where <i>N</i> is the number of argument types in <i>target</i>,
+ * meaning to insert the new argument as the first or last (respectively),
+ * or somewhere in between.
+ * @param target the method handle to invoke after the argument is inserted
+ * @param pos where to insert the argument (zero for the first)
+ * @param value the argument to insert
+ * @return a new method handle which inserts an additional argument,
+ * before calling the original method handle
+ */
+ public static
+ MethodHandle insertArgument(MethodHandle target, int pos, Object value) {
+ MethodType oldType = target.type();
+ ArrayList<Class<?>> ptypes =
+ new ArrayList<Class<?>>(oldType.parameterList());
+ int outargs = oldType.parameterCount();
+ int inargs = outargs - 1;
+ if (pos < 0 || pos >= outargs)
+ throw newIllegalArgumentException("no argument type to append");
+ Class<?> valueType = ptypes.remove(pos);
+ value = checkValue(valueType, value);
+ if (pos == 0 && !valueType.isPrimitive()) {
+ // At least for now, make bound method handles a special case.
+ // This lets us get by with minimal JVM support, at the expense
+ // of generating signature-specific adapters as Java bytecodes.
+ MethodHandle bmh = MethodHandleImpl.bindReceiver(IMPL_TOKEN, target, value);
+ if (bmh != null) return bmh;
+ // else fall through to general adapter machinery
+ }
+ return MethodHandleImpl.bindArgument(IMPL_TOKEN, target, pos, value);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Produce a method handle which calls the original method handle,
+ * after dropping the given argument(s) at the given position.
+ * The type of the new method handle will insert the given argument
+ * type(s), at that position, into the original handle's type.
+ * <p>
+ * The <i>pos</i> may range between zero and <i>N-1</i>,
+ * where <i>N</i> is the number of argument types in <i>target</i>,
+ * meaning to drop the first or last argument (respectively),
+ * or an argument somewhere in between.
+ * @param target the method handle to invoke after the argument is dropped
+ * @param valueTypes the type(s) of the argument to drop
+ * @param pos which argument to drop (zero for the first)
+ * @return a new method handle which drops an argument of the given type,
+ * before calling the original method handle
+ */
+ public static
+ MethodHandle dropArguments(MethodHandle target, int pos, Class<?>... valueTypes) {
+ if (valueTypes.length == 0) return target;
+ MethodType oldType = target.type();
+ int outargs = oldType.parameterCount();
+ int inargs = outargs + valueTypes.length;
+ if (pos < 0 || pos >= inargs)
+ throw newIllegalArgumentException("no argument type to remove");
+ ArrayList<Class<?>> ptypes =
+ new ArrayList<Class<?>>(oldType.parameterList());
+ ptypes.addAll(pos, Arrays.asList(valueTypes));
+ MethodType newType = MethodType.make(oldType.returnType(), ptypes);
+ return MethodHandleImpl.dropArguments(IMPL_TOKEN, target, newType, pos);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Make a method handle which adapts a target method handle,
+ * by guarding it with a test, a boolean-valued method handle.
+ * If the guard fails, a fallback handle is called instead.
+ * All three method handles must have the same corresponding
+ * argument and return types, except that the return type
+ * of the test must be boolean.
+ * <p> Here is pseudocode for the resulting adapter:
+ * <blockquote><pre>
+ * signature T(A...);
+ * boolean test(A...);
+ * T target(A...);
+ * T fallback(A...);
+ * T adapter(A... a) {
+ * if (test(a...))
+ * return target(a...);
+ * else
+ * return fallback(a...);
+ * }
+ * </pre></blockquote>
+ * @param test method handle used for test, must return boolean
+ * @param target method handle to call if test passes
+ * @param fallback method handle to call if test fails
+ * @return method handle which incorporates the specified if/then/else logic
+ * @throws IllegalArgumentException if {@code test} does not return boolean,
+ * or if all three method types do not match (with the return
+ * type of {@code test} changed to match that of {@code target}).
+ */
+ public static
+ MethodHandle guardWithTest(MethodHandle test,
+ MethodHandle target,
+ MethodHandle fallback) {
+ if (target.type() != fallback.type())
+ throw newIllegalArgumentException("target and fallback types do not match");
+ if (target.type().changeReturnType(boolean.class) != test.type())
+ throw newIllegalArgumentException("target and test types do not match");
+ /* {
+ MethodHandle invoke = findVirtual(MethodHandle.class, "invoke", target.type());
+ static MethodHandle choose(boolean z, MethodHandle t, MethodHandle f) {
+ return z ? t : f;
+ }
+ static MethodHandle compose(MethodHandle f, MethodHandle g) {
+ Class<?> initargs = g.type().parameterArray();
+ f = dropArguments(f, 1, initargs); // ignore 2nd copy of args
+ return combineArguments(f, g);
+ }
+ // choose = \z.(z ? target : fallback)
+ MethodHandle choose = findVirtual(MethodHandles.class, "choose",
+ MethodType.make(boolean.class, MethodHandle.class, MethodHandle.class));
+ choose = appendArgument(choose, target);
+ choose = appendArgument(choose, fallback);
+ MethodHandle dispatch = compose(choose, test);
+ // dispatch = \(a...).(test(a...) ? target : fallback)
+ return combineArguments(invoke, dispatch, 0);
+ // return \(a...).((test(a...) ? target : fallback).invoke(a...))
+ } */
+ return MethodHandleImpl.makeGuardWithTest(IMPL_TOKEN, test, target, fallback);
+ }
+
+ /**
+ * <em>PROVISIONAL API, WORK IN PROGRESS:</em>
+ * Adapt a target method handle {@code target} by first processing
+ * its arguments, and then calling the target.
+ * The initial processing is performed by a second method handle, the {@code combiner}.
+ * After this, control passes to the {@code target}, with the same arguments.
+ * <p>
+ * The return value of the {@code combiner} is inserted into the argument list
+ * for the {@code target} at the indicated position {@code pos}, if it is non-negative.
+ * Except for this inserted argument (if any), the argument types of
+ * the target {@code target} and the {@code combiner} must be identical.
+ * <p>
+ * (Note that {@link #dropArguments} can be used to remove any arguments
+ * that either the {@code combiner} or {@code target} does not wish to receive.)
+ * <p>
+ * The combiner handle must have the same argument types as the
+ * target handle, but must return {@link MethodHandle} instead of
+ * the ultimate return type. The returned method handle, in turn,
+ * is required to have exactly the given final method type.
+ * <p> Here is pseudocode for the resulting adapter:
+ * <blockquote><pre>
+ * signature V(A[pos]..., B...);
+ * signature T(A[pos]..., V, B...);
+ * T target(A... a, V v, B... b);
+ * V combiner(A..., B...);
+ * T adapter(A... a, B... b) {
+ * V v = combiner(a..., b...);
+ * return target(a..., v, b...);
+ * }
+ * </pre></blockquote>
+ * @param target the method handle to invoke after arguments are combined
+ * @param pos where the return value of {@code combiner} is to
+ * be inserted as an argument to {@code target}
+ * @param combiner method handle to call initially on the incoming arguments
+ * @return method handle which incorporates the specified dispatch logic
+ * @throws IllegalArgumentException if {@code combiner} does not itself
+ * return either void or the {@code pos}-th argument of {@code target},
+ * or does not have the same argument types as {@code target}
+ * (minus the inserted argument)
+ */
+ public static
+ MethodHandle combineArguments(MethodHandle target, int pos, MethodHandle combiner) {
+ MethodType mhType = target.type();
+ Class<?> combineType = combiner.type().returnType();
+ MethodType incomingArgs;
+ if (pos < 0) {
+ // No inserted argument; target & combiner must have same argument types.
+ incomingArgs = mhType;
+ if (!incomingArgs.changeReturnType(combineType).equals(combiner.type()))
+ throw newIllegalArgumentException("target and combiner types do not match");
+ } else {
+ // Inserted argument.
+ if (pos >= mhType.parameterCount()
+ || mhType.parameterType(pos) != combineType)
+ throw newIllegalArgumentException("inserted combiner argument does not match target");
+ incomingArgs = mhType.dropParameterType(pos);
+ }
+ if (!incomingArgs.changeReturnType(combineType).equals(combiner.type())) {
+ throw newIllegalArgumentException("target and combiner types do not match");
+ }
+ return MethodHandleImpl.combineArguments(IMPL_TOKEN, target, combiner, pos);
+ }
+
+}
diff --git a/jdk/src/share/classes/java/dyn/MethodType.java b/jdk/src/share/classes/java/dyn/MethodType.java
new file mode 100644
index 0000000..e39f5b5
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/MethodType.java
@@ -0,0 +1,575 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import sun.dyn.Access;
+import sun.dyn.Invokers;
+import sun.dyn.MethodTypeImpl;
+import sun.dyn.util.BytecodeSignature;
+import static sun.dyn.MemberName.newIllegalArgumentException;
+
+/**
+ * Run-time token used to match call sites with method handles.
+ * The structure is a return type accompanied by any number of parameter types.
+ * The types (primitive, void, and reference) are represented by Class objects.
+ * All instances of <code>MethodType</code> are immutable.
+ * Two instances are completely interchangeable if they compare equal.
+ * Equality depends exactly on the return and parameter types.
+ * <p>
+ * This type can be created only by factory methods, which manage interning.
+ *
+ * @author John Rose, JSR 292 EG
+ */
+public final
+class MethodType {
+ private final Class<?> rtype;
+ private final Class<?>[] ptypes;
+ private MethodTypeForm form; // erased form, plus cached data about primitives
+ private MethodType wrapAlt; // alternative wrapped/unwrapped version
+ private Invokers invokers; // cache of handy higher-order adapters
+
+ private static final Access IMPL_TOKEN = Access.getToken();
+
+ // share a cache with a friend in this package
+ Invokers getInvokers() { return invokers; }
+ void setInvokers(Invokers inv) { invokers = inv; }
+
+ static {
+ // This hack allows the implementation package special access to
+ // the internals of MethodType. In particular, the Form has all sorts
+ // of cached information useful to the implementation code.
+ MethodTypeImpl.setMethodTypeFriend(IMPL_TOKEN, new MethodTypeImpl.MethodTypeFriend() {
+ public Class<?>[] ptypes(MethodType mt) { return mt.ptypes; }
+ public MethodTypeImpl form(MethodType mt) { return mt.form; }
+ public void setForm(MethodType mt, MethodTypeImpl form) {
+ assert(mt.form == null);
+ mt.form = (MethodTypeForm) form;
+ }
+ public MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted) {
+ return MethodType.makeImpl(rtype, ptypes, trusted);
+ }
+ public MethodTypeImpl newMethodTypeForm(MethodType mt) {
+ return new MethodTypeForm(mt);
+ }
+ public Invokers getInvokers(MethodType mt) { return mt.invokers; }
+ public void setInvokers(MethodType mt, Invokers inv) { mt.invokers = inv; }
+ });
+ }
+
+ private MethodType(Class<?> rtype, Class<?>[] ptypes) {
+ checkRtype(rtype);
+ checkPtypes(ptypes);
+ this.rtype = rtype;
+ this.ptypes = ptypes;
+ }
+
+ private void checkRtype(Class<?> rtype) {
+ rtype.equals(rtype); // null check
+ }
+ private void checkPtypes(Class<?>[] ptypes) {
+ for (Class<?> ptype : ptypes) {
+ ptype.equals(ptype); // null check
+ if (ptype == void.class)
+ throw newIllegalArgumentException("void parameter: "+this);
+ }
+ }
+
+ static final HashMap<MethodType,MethodType> internTable
+ = new HashMap<MethodType, MethodType>();
+
+ static final Class<?>[] NO_PTYPES = {};
+
+ /** Find or create an instance of the given method type.
+ * @param rtype the return type
+ * @param ptypes the parameter types
+ * @return the interned method type with the given parts
+ * @throws NullPointerException if rtype or any ptype is null
+ * @throws IllegalArgumentException if any of the ptypes is void
+ */
+ public static
+ MethodType make(Class<?> rtype, Class<?>[] ptypes) {
+ return makeImpl(rtype, ptypes, false);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. */
+ public static
+ MethodType make(Class<?> rtype, List<? extends Class<?>> ptypes) {
+ return makeImpl(rtype, ptypes.toArray(NO_PTYPES), true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * The leading parameter type is prepended to the remaining array.
+ */
+ public static
+ MethodType make(Class<?> rtype, Class<?> ptype0, Class<?>... ptypes) {
+ Class<?>[] ptypes1 = new Class<?>[1+ptypes.length];
+ ptypes1[0] = ptype0;
+ System.arraycopy(ptypes, 0, ptypes1, 1, ptypes.length);
+ return makeImpl(rtype, ptypes1, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * The resulting method has no parameter types.
+ */
+ public static
+ MethodType make(Class<?> rtype) {
+ return makeImpl(rtype, NO_PTYPES, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * The resulting method has the single given parameter type.
+ */
+ public static
+ MethodType make(Class<?> rtype, Class<?> ptype0) {
+ return makeImpl(rtype, new Class<?>[]{ ptype0 }, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * The resulting method has the same parameter types as {@code ptypes},
+ * and the specified return type.
+ */
+ public static
+ MethodType make(Class<?> rtype, MethodType ptypes) {
+ return makeImpl(rtype, ptypes.ptypes, true);
+ }
+
+ /**
+ * Sole factory method to find or create an interned method type.
+ * @param rtype desired return type
+ * @param ptypes desired parameter types
+ * @param trusted whether the ptypes can be used without cloning
+ * @return the unique method type of the desired structure
+ */
+ private static
+ MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted) {
+ if (ptypes == null || ptypes.length == 0) {
+ ptypes = NO_PTYPES; trusted = true;
+ }
+ MethodType mt1 = new MethodType(rtype, ptypes);
+ MethodType mt0;
+ synchronized (internTable) {
+ mt0 = internTable.get(mt1);
+ if (mt0 != null)
+ return mt0;
+ }
+ if (!trusted)
+ // defensively copy the array passed in by the user
+ mt1 = new MethodType(rtype, ptypes.clone());
+ // promote the object to the Real Thing, and reprobe
+ MethodTypeImpl.initForm(IMPL_TOKEN, mt1);
+ synchronized (internTable) {
+ mt0 = internTable.get(mt1);
+ if (mt0 != null)
+ return mt0;
+ internTable.put(mt1, mt1);
+ }
+ return mt1;
+ }
+
+ // Entry point from JVM. TODO: Change the name & signature.
+ private static MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes,
+ boolean ignore1, boolean ignore2) {
+ return makeImpl(rtype, ptypes, true);
+ }
+
+ private static final MethodType[] objectOnlyTypes = new MethodType[20];
+
+ /**
+ * Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}.
+ * All parameters and the return type will be Object, except the final varargs parameter if any.
+ * @param objectArgCount number of parameters (excluding the varargs parameter if any)
+ * @param varargs whether there will be a varargs parameter, of type Object[]
+ * @return a totally generic method type, given only its count of parameters and varargs
+ * @see #makeGeneric(int)
+ */
+ public static
+ MethodType makeGeneric(int objectArgCount, boolean varargs) {
+ MethodType mt;
+ int ivarargs = (!varargs ? 0 : 1);
+ int ootIndex = objectArgCount*2 + ivarargs;
+ if (ootIndex < objectOnlyTypes.length) {
+ mt = objectOnlyTypes[ootIndex];
+ if (mt != null) return mt;
+ }
+ Class<?>[] ptypes = new Class<?>[objectArgCount + ivarargs];
+ Arrays.fill(ptypes, Object.class);
+ if (ivarargs != 0) ptypes[objectArgCount] = Object[].class;
+ mt = makeImpl(Object.class, ptypes, true);
+ if (ootIndex < objectOnlyTypes.length) {
+ objectOnlyTypes[ootIndex] = mt; // cache it here also!
+ }
+ return mt;
+ }
+
+ /**
+ * All parameters and the return type will be Object.
+ * @param objectArgCount number of parameters
+ * @return a totally generic method type, given only its count of parameters
+ * @see #makeGeneric(int, boolean)
+ */
+ public static
+ MethodType makeGeneric(int objectArgCount) {
+ return makeGeneric(objectArgCount, false);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}.
+ * @param num the index (zero-based) of the parameter type to change
+ * @param nptype a new parameter type to replace the old one with
+ * @return the same type, except with the selected parameter changed
+ */
+ public MethodType changeParameterType(int num, Class<?> nptype) {
+ if (parameterType(num) == nptype) return this;
+ Class<?>[] nptypes = ptypes.clone();
+ nptypes[num] = nptype;
+ return makeImpl(rtype, nptypes, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}.
+ * @param num the position (zero-based) of the inserted parameter type
+ * @param nptype a new parameter type to insert into the parameter list
+ * @return the same type, except with the selected parameter inserted
+ */
+ public MethodType insertParameterType(int num, Class<?> nptype) {
+ int len = ptypes.length;
+ Class<?>[] nptypes = Arrays.copyOfRange(ptypes, 0, len+1);
+ System.arraycopy(nptypes, num, nptypes, num+1, len-num);
+ nptypes[num] = nptype;
+ return makeImpl(rtype, nptypes, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}.
+ * @param num the index (zero-based) of the parameter type to remove
+ * @return the same type, except with the selected parameter removed
+ */
+ public MethodType dropParameterType(int num) {
+ int len = ptypes.length;
+ Class<?>[] nptypes;
+ if (num == 0) {
+ nptypes = Arrays.copyOfRange(ptypes, 1, len);
+ } else {
+ nptypes = Arrays.copyOfRange(ptypes, 0, len-1);
+ System.arraycopy(ptypes, num+1, nptypes, num, (len-1)-num);
+ }
+ return makeImpl(rtype, nptypes, true);
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}.
+ * @param nrtype a return parameter type to replace the old one with
+ * @return the same type, except with the return type change
+ */
+ public MethodType changeReturnType(Class<?> nrtype) {
+ if (returnType() == nrtype) return this;
+ return makeImpl(nrtype, ptypes, true);
+ }
+
+ /** Convenience method.
+ * Report if this type contains a primitive argument or return value.
+ * @return true if any of the types are primitives
+ */
+ public boolean hasPrimitives() {
+ return form.hasPrimitives();
+ }
+
+ /** Convenience method.
+ * Report if this type contains a wrapper argument or return value.
+ * Wrappers are types which box primitive values, such as {@link Integer}.
+ * @return true if any of the types are wrappers
+ */
+ public boolean hasWrappers() {
+ return unwrap() != this;
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * Erase all reference types to Object.
+ * @return a version of the original type with all reference types replaced
+ */
+ public MethodType erase() {
+ return form.erasedType();
+ }
+
+ /** Convenience method for {@link #makeGeneric(int)}.
+ * Convert all types, both reference and primitive, to Object.
+ * @return a version of the original type with all types replaced
+ */
+ public MethodType generic() {
+ return makeGeneric(parameterCount());
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * Convert all primitive types to their corresponding wrapper types.
+ * A {@code void} return type is changed to the type {@code java.lang.Void}.
+ * @return a version of the original type with all primitive types replaced
+ */
+ public MethodType wrap() {
+ return hasPrimitives() ? wrapWithPrims(this) : this;
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * Convert all wrapper types to their corresponding primitive types.
+ * A return type of {@java.lang.Void} is changed to {@code void}.
+ * @return a version of the original type with all wrapper types replaced
+ */
+ public MethodType unwrap() {
+ MethodType noprims = !hasPrimitives() ? this : wrapWithPrims(this);
+ return unwrapWithNoPrims(noprims);
+ }
+
+ private static MethodType wrapWithPrims(MethodType pt) {
+ assert(pt.hasPrimitives());
+ MethodType wt = pt.wrapAlt;
+ if (wt == null) {
+ // fill in lazily
+ wt = MethodTypeImpl.canonicalize(pt, MethodTypeImpl.WRAP, MethodTypeImpl.WRAP);
+ assert(wt != null);
+ pt.wrapAlt = wt;
+ }
+ return wt;
+ }
+
+ private static MethodType unwrapWithNoPrims(MethodType wt) {
+ assert(!wt.hasPrimitives());
+ MethodType uwt = wt.wrapAlt;
+ if (uwt == null) {
+ // fill in lazily
+ uwt = MethodTypeImpl.canonicalize(wt, MethodTypeImpl.UNWRAP, MethodTypeImpl.UNWRAP);
+ if (uwt == null)
+ uwt = wt; // type has no wrappers or prims at all
+ wt.wrapAlt = uwt;
+ }
+ return uwt;
+ }
+
+ /** @param num the index (zero-based) of the desired parameter type
+ * @return the selected parameter type
+ */
+ public Class<?> parameterType(int num) {
+ return ptypes[num];
+ }
+ /** @return the number of parameter types */
+ public int parameterCount() {
+ return ptypes.length;
+ }
+ /** @return the return type */
+ public Class<?> returnType() {
+ return rtype;
+ }
+
+ /**
+ * Convenience method to present the arguments as a list.
+ * @return the parameter types (as an immutable list)
+ */
+ public List<Class<?>> parameterList() {
+ return Collections.unmodifiableList(Arrays.asList(ptypes));
+ }
+
+ /**
+ * Convenience method to present the arguments as an array.
+ * @return the parameter types (as a fresh copy if necessary)
+ */
+ public Class<?>[] parameterArray() {
+ return ptypes.clone();
+ }
+
+ /**
+ * Compares the specified object with this type for equality.
+ * That is, it returns <tt>true</tt> if and only if the specified object
+ * is also a method type with exactly the same parameters and return type.
+ * @param x object to compare
+ * @see Object#equals(Object)
+ */
+ @Override
+ public boolean equals(Object x) {
+ return this == x || x instanceof MethodType && equals((MethodType)x);
+ }
+
+ private boolean equals(MethodType that) {
+ return this.rtype == that.rtype
+ && Arrays.equals(this.ptypes, that.ptypes);
+ }
+
+ /**
+ * Returns the hash code value for this method type.
+ * It is defined to be the same as the hashcode of a List
+ * whose elements are the return type followed by the
+ * parameter types.
+ * @return the hash code value for this method type
+ * @see Object#hashCode()
+ * @see #equals(Object)
+ * @see List#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ int hashCode = 31 + rtype.hashCode();
+ for (Class<?> ptype : ptypes)
+ hashCode = 31*hashCode + ptype.hashCode();
+ return hashCode;
+ }
+
+ /**
+ * The string representation of a method type is a
+ * parenthesis enclosed, comma separated list of type names,
+ * followed immediately by the return type.
+ * <p>
+ * If a type name is array, it the base type followed
+ * by [], rather than the Class.getName of the array type.
+ */
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("(");
+ for (int i = 0; i < ptypes.length; i++) {
+ if (i > 0) sb.append(",");
+ putName(sb, ptypes[i]);
+ }
+ sb.append(")");
+ putName(sb, rtype);
+ return sb.toString();
+ }
+
+ static void putName(StringBuilder sb, Class<?> cls) {
+ int brackets = 0;
+ while (cls.isArray()) {
+ cls = cls.getComponentType();
+ brackets++;
+ }
+ String n = cls.getName();
+ /*
+ if (n.startsWith("java.lang.")) {
+ String nb = n.substring("java.lang.".length());
+ if (nb.indexOf('.') < 0) n = nb;
+ } else if (n.indexOf('.') < 0) {
+ n = "."+n; // anonymous package
+ }
+ */
+ sb.append(n);
+ while (brackets > 0) {
+ sb.append("[]");
+ brackets--;
+ }
+ }
+
+ /// Queries which have to do with the bytecode architecture
+
+ /** The number of JVM stack slots required to invoke a method
+ * of this type. Note that (for historic reasons) the JVM requires
+ * a second stack slot to pass long and double arguments.
+ * So this method returns {@link #parameterCount()} plus the
+ * number of long and double parameters (if any).
+ * <p>
+ * This method is included for the benfit of applications that must
+ * generate bytecodes that process method handles and invokedynamic.
+ * @return the number of JVM stack slots for this type's parameters
+ */
+ public int parameterSlotCount() {
+ return form.parameterSlotCount();
+ }
+
+ /** Number of JVM stack slots which carry all parameters after
+ * the given position, which must be in the range of 0 to
+ * {@code parameterCount} inclusive. Successive parameters are
+ * more shallowly stacked, and parameters are indexed in the bytecodes
+ * according to their trailing edge. Thus, to obtain the depth
+ * in the outgoing call stack of parameter {@code N}, obtain
+ * the {@code parameterSlotDepth} of its trailing edge
+ * at position {@code N+1}.
+ * <p>
+ * Parameters of type {@code long} and {@code double} occupy
+ * two stack slots (for historical reasons) and all others occupy one.
+ * Therefore, the number returned is the number of arguments
+ * <em>including</em> and <em>after</em> the given parameter,
+ * <em>plus</em> the number of long or double arguments
+ * at or after after the argument for the given parameter.
+ * <p>
+ * This method is included for the benfit of applications that must
+ * generate bytecodes that process method handles and invokedynamic.
+ * @param num an index (zero-based, inclusive) within the parameter types
+ * @return the index of the (shallowest) JVM stack slot transmitting the
+ * given parameter
+ */
+ public int parameterSlotDepth(int num) {
+ if (num < 0 || num > ptypes.length)
+ parameterType(num); // force a range check
+ return form.parameterToArgSlot(num-1);
+ }
+
+ /** The number of JVM stack slots required to receive a return value
+ * from a method of this type.
+ * If the {@link #returnType() return type} is void, it will be zero,
+ * else if the return type is long or double, it will be two, else one.
+ * <p>
+ * This method is included for the benfit of applications that must
+ * generate bytecodes that process method handles and invokedynamic.
+ * @return the number of JVM stack slots (0, 1, or 2) for this type's return value
+ */
+ public int returnSlotCount() {
+ return form.returnSlotCount();
+ }
+
+ /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}.
+ * Find or create an instance (interned) of the given method type.
+ * Any class or interface name embedded in the signature string
+ * will be resolved by calling {@link ClassLoader#loadClass(java.lang.String)}
+ * on the given loader (or if it is null, on the system class loader).
+ * <p>
+ * Note that it is possible to build method types which cannot be
+ * constructed by this method, because their component types are
+ * not all reachable from a common class loader.
+ * <p>
+ * This method is included for the benfit of applications that must
+ * generate bytecodes that process method handles and invokedynamic.
+ * @param bytecodeSignature a bytecode-level signature string "(T...)T"
+ * @param loader the class loader in which to look up the types
+ * @return a method type matching the bytecode-level signature
+ * @throws IllegalArgumentException if the string is not well-formed
+ * @throws TypeNotPresentException if a named type cannot be found
+ */
+ public static MethodType fromBytecodeString(String bytecodeSignature, ClassLoader loader)
+ throws IllegalArgumentException, TypeNotPresentException
+ {
+ List<Class<?>> types = BytecodeSignature.parseMethod(bytecodeSignature, loader);
+ Class<?> rtype = types.remove(types.size() - 1);
+ Class<?>[] ptypes = types.toArray(NO_PTYPES);
+ return makeImpl(rtype, ptypes, true);
+ }
+
+ /**
+ * Create a bytecode signature representation of the type.
+ * Note that this is not a strict inverse of
+ * <p>
+ * This method is included for the benfit of applications that must
+ * generate bytecodes that process method handles and invokedynamic.
+ * {@link #fromBytecodeString(java.lang.String, java.lang.ClassLoader)},
+ * because the latter requires a suitable class loader argument.
+ * @return the bytecode signature representation
+ */
+ public String toBytecodeString() {
+ return BytecodeSignature.unparse(this);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/MethodTypeForm.java b/jdk/src/share/classes/java/dyn/MethodTypeForm.java
new file mode 100644
index 0000000..d37ba91
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/MethodTypeForm.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * TO DO: Temporary shim; remove after refactoring effects are complete in JVM.
+ * @author John Rose
+ */
+import sun.dyn.MethodTypeImpl;
+
+class MethodTypeForm extends MethodTypeImpl {
+
+ MethodTypeForm(MethodType erasedType) {
+ super(erasedType);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/NoAccessException.java b/jdk/src/share/classes/java/dyn/NoAccessException.java
new file mode 100644
index 0000000..bb83b40
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/NoAccessException.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * Thrown to indicate that a caller has attempted to create a method handle
+ * which calls a method to which the caller does not have access.
+ * This unchecked exception is analogous to {@link IllegalAccessException},
+ * which is a checked exception thrown when reflective invocation fails
+ * because of an access check. With method handles, this same access
+ * checking is performed on behalf of the method handle creator,
+ * at the time of creation.
+ * @author John Rose, JSR 292 EG
+ */
+public class NoAccessException extends RuntimeException {
+ /**
+ * Constructs a {@code NoAccessException} with no detail message.
+ */
+ public NoAccessException() {
+ super();
+ }
+
+ /**
+ * Constructs a {@code NoAccessException} with the specified
+ * detail message.
+ *
+ * @param s the detail message
+ */
+ public NoAccessException(String s) {
+ super(s);
+ }
+
+ /**
+ * Constructs a {@code NoAccessException} with the specified cause.
+ *
+ * @param cause the underlying cause of the exception
+ */
+ public NoAccessException(Throwable cause) {
+ super(cause);
+ }
+
+ /**
+ * Constructs a {@code NoAccessException} with the specified
+ * detail message and cause.
+ *
+ * @param s the detail message
+ * @param cause the underlying cause of the exception
+ */
+ public NoAccessException(String s, Throwable cause) {
+ super(s, cause);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java b/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java
new file mode 100644
index 0000000..08745f6
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.dyn;
+
+/**
+ * Thrown to indicate that code has attempted to call a method handle
+ * via the wrong method type. As with the bytecode representation of
+ * normal Java method calls, method handle calls are strongly typed
+ * to a specific signature associated with a call site.
+ * <p>
+ * This exception may also be thrown when two method handles are
+ * composed, and the system detects that their types cannot be
+ * matched up correctly. This amounts to an early evaluation
+ * of the type mismatch, at method handle construction time,
+ * instead of when the mismatched method handle is called.
+ *
+ * @author John Rose, JSR 292 EG
+ */
+public class WrongMethodTypeException extends RuntimeException {
+ /**
+ * Constructs a {@code WrongMethodTypeException} with no detail message.
+ */
+ public WrongMethodTypeException() {
+ super();
+ }
+
+ /**
+ * Constructs a {@code WrongMethodTypeException} with the specified
+ * detail message.
+ *
+ * @param s the detail message.
+ */
+ public WrongMethodTypeException(String s) {
+ super(s);
+ }
+}
diff --git a/jdk/src/share/classes/java/dyn/package-info.java b/jdk/src/share/classes/java/dyn/package-info.java
new file mode 100644
index 0000000..858d0e9
--- /dev/null
+++ b/jdk/src/share/classes/java/dyn/package-info.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * This package contains dynamic language support provided directly by
+ * the Java core class libraries and virtual machine.
+ * @author John Rose, JSR 292 EG
+ */
+
+package java.dyn;
diff --git a/jdk/src/share/classes/java/io/Console.java b/jdk/src/share/classes/java/io/Console.java
index 201b66f..abd0e0c 100644
--- a/jdk/src/share/classes/java/io/Console.java
+++ b/jdk/src/share/classes/java/io/Console.java
@@ -503,20 +503,25 @@
// Set up JavaIOAccess in SharedSecrets
static {
-
- // Add a shutdown hook to restore console's echo state should
- // it be necessary.
- sun.misc.SharedSecrets.getJavaLangAccess()
- .registerShutdownHook(0 /* shutdown hook invocation order */,
- new Runnable() {
- public void run() {
- try {
- if (echoOff) {
- echo(true);
- }
- } catch (IOException x) { }
- }
- });
+ try {
+ // Add a shutdown hook to restore console's echo state should
+ // it be necessary.
+ sun.misc.SharedSecrets.getJavaLangAccess()
+ .registerShutdownHook(0 /* shutdown hook invocation order */,
+ false /* only register if shutdown is not in progress */,
+ new Runnable() {
+ public void run() {
+ try {
+ if (echoOff) {
+ echo(true);
+ }
+ } catch (IOException x) { }
+ }
+ });
+ } catch (IllegalStateException e) {
+ // shutdown is already in progress and console is first used
+ // by a shutdown hook
+ }
sun.misc.SharedSecrets.setJavaIOAccess(new sun.misc.JavaIOAccess() {
public Console console() {
diff --git a/jdk/src/share/classes/java/io/DeleteOnExitHook.java b/jdk/src/share/classes/java/io/DeleteOnExitHook.java
index 1dc5c9d..44d604c 100644
--- a/jdk/src/share/classes/java/io/DeleteOnExitHook.java
+++ b/jdk/src/share/classes/java/io/DeleteOnExitHook.java
@@ -34,23 +34,31 @@
*/
class DeleteOnExitHook {
- static {
- sun.misc.SharedSecrets.getJavaLangAccess()
- .registerShutdownHook(2 /* Shutdown hook invocation order */,
- new Runnable() {
- public void run() {
- runHooks();
- }
- });
- }
-
private static LinkedHashSet<String> files = new LinkedHashSet<String>();
+ static {
+ // DeleteOnExitHook must be the last shutdown hook to be invoked.
+ // Application shutdown hooks may add the first file to the
+ // delete on exit list and cause the DeleteOnExitHook to be
+ // registered during shutdown in progress. So set the
+ // registerShutdownInProgress parameter to true.
+ sun.misc.SharedSecrets.getJavaLangAccess()
+ .registerShutdownHook(2 /* Shutdown hook invocation order */,
+ true /* register even if shutdown in progress */,
+ new Runnable() {
+ public void run() {
+ runHooks();
+ }
+ }
+ );
+ }
private DeleteOnExitHook() {}
static synchronized void add(String file) {
- if(files == null)
+ if(files == null) {
+ // DeleteOnExitHook is running. Too late to add a file
throw new IllegalStateException("Shutdown in progress");
+ }
files.add(file);
}
diff --git a/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java b/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java
index b3341de..1afe8fa 100644
--- a/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java
+++ b/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java
@@ -35,17 +35,26 @@
*/
class ApplicationShutdownHooks {
+ /* The set of registered hooks */
+ private static IdentityHashMap<Thread, Thread> hooks;
static {
- Shutdown.add(1 /* shutdown hook invocation order */,
- new Runnable() {
- public void run() {
- runHooks();
+ try {
+ Shutdown.add(1 /* shutdown hook invocation order */,
+ false /* not registered if shutdown in progress */,
+ new Runnable() {
+ public void run() {
+ runHooks();
+ }
}
- });
+ );
+ hooks = new IdentityHashMap<Thread, Thread>();
+ } catch (IllegalStateException e) {
+ // application shutdown hooks cannot be added if
+ // shutdown is in progress.
+ hooks = null;
+ }
}
- /* The set of registered hooks */
- private static IdentityHashMap<Thread, Thread> hooks = new IdentityHashMap<Thread, Thread>();
private ApplicationShutdownHooks() {}
diff --git a/jdk/src/share/classes/java/lang/Shutdown.java b/jdk/src/share/classes/java/lang/Shutdown.java
index b77b450..2d0b0dd 100644
--- a/jdk/src/share/classes/java/lang/Shutdown.java
+++ b/jdk/src/share/classes/java/lang/Shutdown.java
@@ -53,6 +53,9 @@
private static final int MAX_SYSTEM_HOOKS = 10;
private static final Runnable[] hooks = new Runnable[MAX_SYSTEM_HOOKS];
+ // the index of the currently running shutdown hook to the hooks array
+ private static int currentRunningHook = 0;
+
/* The preceding static fields are protected by this lock */
private static class Lock { };
private static Object lock = new Lock();
@@ -68,17 +71,39 @@
}
- /* Add a new shutdown hook. Checks the shutdown state and the hook itself,
+ /**
+ * Add a new shutdown hook. Checks the shutdown state and the hook itself,
* but does not do any security checks.
+ *
+ * The registerShutdownInProgress parameter should be false except
+ * registering the DeleteOnExitHook since the first file may
+ * be added to the delete on exit list by the application shutdown
+ * hooks.
+ *
+ * @params slot the slot in the shutdown hook array, whose element
+ * will be invoked in order during shutdown
+ * @params registerShutdownInProgress true to allow the hook
+ * to be registered even if the shutdown is in progress.
+ * @params hook the hook to be registered
+ *
+ * @throw IllegalStateException
+ * if registerShutdownInProgress is false and shutdown is in progress; or
+ * if registerShutdownInProgress is true and the shutdown process
+ * already passes the given slot
*/
- static void add(int slot, Runnable hook) {
+ static void add(int slot, boolean registerShutdownInProgress, Runnable hook) {
synchronized (lock) {
- if (state > RUNNING)
- throw new IllegalStateException("Shutdown in progress");
-
if (hooks[slot] != null)
throw new InternalError("Shutdown hook at slot " + slot + " already registered");
+ if (!registerShutdownInProgress) {
+ if (state > RUNNING)
+ throw new IllegalStateException("Shutdown in progress");
+ } else {
+ if (state > HOOKS || (state == HOOKS && slot <= currentRunningHook))
+ throw new IllegalStateException("Shutdown in progress");
+ }
+
hooks[slot] = hook;
}
}
@@ -86,11 +111,15 @@
/* Run all registered shutdown hooks
*/
private static void runHooks() {
- /* We needn't bother acquiring the lock just to read the hooks field,
- * since the hooks can't be modified once shutdown is in progress
- */
- for (Runnable hook : hooks) {
+ for (int i=0; i < MAX_SYSTEM_HOOKS; i++) {
try {
+ Runnable hook;
+ synchronized (lock) {
+ // acquire the lock to make sure the hook registered during
+ // shutdown is visible here.
+ currentRunningHook = i;
+ hook = hooks[i];
+ }
if (hook != null) hook.run();
} catch(Throwable t) {
if (t instanceof ThreadDeath) {
diff --git a/jdk/src/share/classes/java/lang/System.java b/jdk/src/share/classes/java/lang/System.java
index 6c539b2..9025913 100644
--- a/jdk/src/share/classes/java/lang/System.java
+++ b/jdk/src/share/classes/java/lang/System.java
@@ -1171,8 +1171,8 @@
public void blockedOn(Thread t, Interruptible b) {
t.blockedOn(b);
}
- public void registerShutdownHook(int slot, Runnable r) {
- Shutdown.add(slot, r);
+ public void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook) {
+ Shutdown.add(slot, registerShutdownInProgress, hook);
}
});
}
diff --git a/jdk/src/share/classes/java/util/zip/ZipFile.java b/jdk/src/share/classes/java/util/zip/ZipFile.java
index 8ee0bc2..f37121c 100644
--- a/jdk/src/share/classes/java/util/zip/ZipFile.java
+++ b/jdk/src/share/classes/java/util/zip/ZipFile.java
@@ -154,7 +154,7 @@
* @param file the ZIP file to be opened for reading
* @param mode the mode in which the file is to be opened
* @param charset
- * the {@link java.nio.charset.Charset {@code charset}} to
+ * the {@linkplain java.nio.charset.Charset charset} to
* be used to decode the ZIP entry name and comment that are not
* encoded by using UTF-8 encoding (indicated by entry's general
* purpose flag).
@@ -206,7 +206,7 @@
*
* @param name the name of the zip file
* @param charset
- * the {@link java.nio.charset.Charset {@code charset}} to
+ * the {@linkplain java.nio.charset.Charset charset} to
* be used to decode the ZIP entry name and comment that are not
* encoded by using UTF-8 encoding (indicated by entry's general
* purpose flag).
@@ -230,7 +230,7 @@
* Opens a ZIP file for reading given the specified File object.
* @param file the ZIP file to be opened for reading
* @param charset
- * The {@link java.nio.charset.Charset {@code charset}} to be
+ * The {@linkplain java.nio.charset.Charset charset} to be
* used to decode the ZIP entry name and comment (ignored if
* the <a href="package-summary.html#lang_encoding"> language
* encoding bit</a> of the ZIP entry's general purpose bit
diff --git a/jdk/src/share/classes/java/util/zip/ZipInputStream.java b/jdk/src/share/classes/java/util/zip/ZipInputStream.java
index 83f9ad4..ed6f331 100644
--- a/jdk/src/share/classes/java/util/zip/ZipInputStream.java
+++ b/jdk/src/share/classes/java/util/zip/ZipInputStream.java
@@ -84,7 +84,7 @@
* @param in the actual input stream
*
* @param charset
- * The {@link java.nio.charset.Charset {@code charset}} to be
+ * The {@linkplain java.nio.charset.Charset charset} to be
* used to decode the ZIP entry name (ignored if the
* <a href="package-summary.html#lang_encoding"> language
* encoding bit</a> of the ZIP entry's general purpose bit
diff --git a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
index da35ed9..d33a922 100644
--- a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
+++ b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
@@ -108,7 +108,7 @@
*
* @param out the actual output stream
*
- * @param charset the {@link java.nio.charset.Charset </code>charset<code>}
+ * @param charset the {@linkplain java.nio.charset.Charset charset}
* to be used to encode the entry names and comments
*
* @since 1.7
diff --git a/jdk/src/share/classes/sun/dyn/Access.java b/jdk/src/share/classes/sun/dyn/Access.java
new file mode 100644
index 0000000..bf137c3
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/Access.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import sun.reflect.Reflection;
+
+/**
+ * Access control to this package.
+ * Classes in other packages can attempt to acquire the access token,
+ * but will fail if they are not recognized as friends.
+ * Certain methods in this package, although public, require a non-null
+ * access token in order to proceed; they act like package-private methods.
+ * @author jrose
+ */
+
+public class Access {
+
+ private Access() { }
+
+ /**
+ * The heart of this pattern: The list of classes which are
+ * permitted to acquire the access token, and become honorary
+ * members of this package.
+ */
+ private static final String[] FRIENDS = {
+ "java.dyn.", "sun.dyn."
+ };
+
+ /**
+ * The following object is NOT public. That's the point of the pattern.
+ * It is package-private, so that any member of this package
+ * can acquire the access token, and give it away to trusted friends.
+ */
+ static final Access TOKEN = new Access();
+
+ /**
+ * @return Access.TOKEN, if the caller is a friend of this package
+ */
+ public static Access getToken() {
+ Class<?> callc = Reflection.getCallerClass(2);
+ if (isFriend(callc))
+ return TOKEN;
+ else
+ throw new IllegalAccessError("bad caller: " + callc);
+ }
+
+ /** Is the given name the name of a class which could be our friend? */
+ public static boolean isFriendName(String name) {
+ for (String friend : FRIENDS) {
+ if (name.startsWith(friend))
+ return true;
+ }
+ return false;
+ }
+
+ /** Is the given class a friend? True if {@link #isFriendName},
+ * and the given class also shares a class loader with us.
+ */
+ public static boolean isFriend(Class<?> c) {
+ return isFriendName(c.getName()) && c.getClassLoader() == CLASS_LOADER;
+ }
+
+ private static final ClassLoader CLASS_LOADER = Access.class.getClassLoader();
+
+ /**
+ * Throw an IllegalAccessError if the caller does not possess
+ * the Access.TOKEN.
+ * @param must be Access.TOKEN
+ */
+ public static void check(Access token) {
+ if (token == null)
+ fail();
+ // else it must be the unique Access.TOKEN
+ assert(token == Access.TOKEN);
+ }
+ private static void fail() {
+ final int CALLER_DEPTH = 3;
+ // 0: Reflection.getCC, 1: this.fail, 2: Access.*, 3: caller
+ Class<?> callc = Reflection.getCallerClass(CALLER_DEPTH);
+ throw new IllegalAccessError("bad caller: " + callc);
+ }
+
+ static {
+ //sun.reflect.Reflection.registerMethodsToFilter(MH.class, "getToken");
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java b/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java
new file mode 100644
index 0000000..334e0a5
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java
@@ -0,0 +1,728 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import sun.dyn.util.VerifyType;
+import sun.dyn.util.Wrapper;
+import java.dyn.*;
+import java.util.Arrays;
+import static sun.dyn.MethodHandleNatives.Constants.*;
+import static sun.dyn.MethodHandleImpl.newIllegalArgumentException;
+
+/**
+ * This method handle performs simple conversion or checking of a single argument.
+ * @author jrose
+ */
+public class AdapterMethodHandle extends BoundMethodHandle {
+
+ //MethodHandle vmtarget; // next AMH or BMH in chain or final DMH
+ //Object argument; // parameter to the conversion if needed
+ //int vmargslot; // which argument slot is affected
+ private final int conversion; // the type of conversion: RETYPE_ONLY, etc.
+
+ // Constructors in this class *must* be package scoped or private.
+ private AdapterMethodHandle(MethodHandle target, MethodType newType,
+ long conv, Object convArg) {
+ super(newType, convArg, newType.parameterSlotDepth(1+convArgPos(conv)));
+ this.conversion = convCode(conv);
+ if (MethodHandleNatives.JVM_SUPPORT) {
+ // JVM might update VM-specific bits of conversion (ignore)
+ MethodHandleNatives.init(this, target, convArgPos(conv));
+ }
+ }
+ private AdapterMethodHandle(MethodHandle target, MethodType newType,
+ long conv) {
+ this(target, newType, conv, null);
+ }
+
+ private static final Access IMPL_TOKEN = Access.getToken();
+
+ // TO DO: When adapting another MH with a null conversion, clone
+ // the target and change its type, instead of adding another layer.
+
+ /** Can a JVM-level adapter directly implement the proposed
+ * argument conversions, as if by MethodHandles.convertArguments?
+ */
+ public static boolean canPairwiseConvert(MethodType newType, MethodType oldType) {
+ // same number of args, of course
+ int len = newType.parameterCount();
+ if (len != oldType.parameterCount())
+ return false;
+
+ // Check return type. (Not much can be done with it.)
+ Class<?> exp = newType.returnType();
+ Class<?> ret = oldType.returnType();
+ if (!VerifyType.isNullConversion(ret, exp))
+ return false;
+
+ // Check args pairwise.
+ for (int i = 0; i < len; i++) {
+ Class<?> src = newType.parameterType(i); // source type
+ Class<?> dst = oldType.parameterType(i); // destination type
+ if (!canConvertArgument(src, dst))
+ return false;
+ }
+
+ return true;
+ }
+
+ /** Can a JVM-level adapter directly implement the proposed
+ * argument conversion, as if by MethodHandles.convertArguments?
+ */
+ public static boolean canConvertArgument(Class<?> src, Class<?> dst) {
+ // ? Retool this logic to use RETYPE_ONLY, CHECK_CAST, etc., as opcodes,
+ // so we don't need to repeat so much decision making.
+ if (VerifyType.isNullConversion(src, dst)) {
+ return true;
+ } else if (src.isPrimitive()) {
+ if (dst.isPrimitive())
+ return canPrimCast(src, dst);
+ else
+ return canBoxArgument(src, dst);
+ } else {
+ if (dst.isPrimitive())
+ return canUnboxArgument(src, dst);
+ else
+ return true; // any two refs can be interconverted
+ }
+ }
+
+ /**
+ * Create a JVM-level adapter method handle to conform the given method
+ * handle to the similar newType, using only pairwise argument conversions.
+ * For each argument, convert incoming argument to the exact type needed.
+ * Only null conversions are allowed on the return value (until
+ * the JVM supports ricochet adapters).
+ * The argument conversions allowed are casting, unboxing,
+ * integral widening or narrowing, and floating point widening or narrowing.
+ * @param token access check
+ * @param newType required call type
+ * @param target original method handle
+ * @return an adapter to the original handle with the desired new type,
+ * or the original target if the types are already identical
+ * or null if the adaptation cannot be made
+ */
+ public static MethodHandle makePairwiseConvert(Access token,
+ MethodType newType, MethodHandle target) {
+ Access.check(token);
+ MethodType oldType = target.type();
+ if (newType == oldType) return target;
+
+ if (!canPairwiseConvert(newType, oldType))
+ return null;
+ // (after this point, it is an assertion error to fail to convert)
+
+ // Find last non-trivial conversion (if any).
+ int lastConv = newType.parameterCount()-1;
+ while (lastConv >= 0) {
+ Class<?> src = newType.parameterType(lastConv); // source type
+ Class<?> dst = oldType.parameterType(lastConv); // destination type
+ if (VerifyType.isNullConversion(src, dst)) {
+ --lastConv;
+ } else {
+ break;
+ }
+ }
+ // Now build a chain of one or more adapters.
+ MethodHandle adapter = target;
+ MethodType midType = oldType.changeReturnType(newType.returnType());
+ for (int i = 0; i <= lastConv; i++) {
+ Class<?> src = newType.parameterType(i); // source type
+ Class<?> dst = midType.parameterType(i); // destination type
+ if (VerifyType.isNullConversion(src, dst)) {
+ // do nothing: difference is trivial
+ continue;
+ }
+ // Work the current type backward toward the desired caller type:
+ if (i != lastConv) {
+ midType = midType.changeParameterType(i, src);
+ } else {
+ // When doing the last (or only) real conversion,
+ // force all remaining null conversions to happen also.
+ assert(VerifyType.isNullConversion(newType, midType.changeParameterType(i, src)));
+ midType = newType;
+ }
+
+ // Tricky case analysis follows.
+ // It parallels canConvertArgument() above.
+ if (src.isPrimitive()) {
+ if (dst.isPrimitive()) {
+ adapter = makePrimCast(token, midType, adapter, i, dst);
+ } else {
+ adapter = makeBoxArgument(token, midType, adapter, i, dst);
+ }
+ } else {
+ if (dst.isPrimitive()) {
+ // Caller has boxed a primitive. Unbox it for the target.
+ // The box type must correspond exactly to the primitive type.
+ // This is simpler than the powerful set of widening
+ // conversions supported by reflect.Method.invoke.
+ // Those conversions require a big nest of if/then/else logic,
+ // which we prefer to make a user responsibility.
+ adapter = makeUnboxArgument(token, midType, adapter, i, dst);
+ } else {
+ // Simple reference conversion.
+ // Note: Do not check for a class hierarchy relation
+ // between src and dst. In all cases a 'null' argument
+ // will pass the cast conversion.
+ adapter = makeCheckCast(token, midType, adapter, i, dst);
+ }
+ }
+ assert(adapter != null);
+ assert(adapter.type() == midType);
+ }
+ if (adapter.type() != newType) {
+ // Only trivial conversions remain.
+ adapter = makeRetypeOnly(IMPL_TOKEN, newType, adapter);
+ assert(adapter != null);
+ // Actually, that's because there were no non-trivial ones:
+ assert(lastConv == -1);
+ }
+ assert(adapter.type() == newType);
+ return adapter;
+ }
+
+ /**
+ * Create a JVM-level adapter method handle to permute the arguments
+ * of the given method.
+ * @param token access check
+ * @param newType required call type
+ * @param target original method handle
+ * @param argumentMap for each target argument, position of its source in newType
+ * @return an adapter to the original handle with the desired new type,
+ * or the original target if the types are already identical
+ * and the permutation is null
+ * @throws IllegalArgumentException if the adaptation cannot be made
+ * directly by a JVM-level adapter, without help from Java code
+ */
+ public static MethodHandle makePermutation(Access token,
+ MethodType newType, MethodHandle target,
+ int[] argumentMap) {
+ MethodType oldType = target.type();
+ boolean nullPermutation = true;
+ for (int i = 0; i < argumentMap.length; i++) {
+ int pos = argumentMap[i];
+ if (pos != i)
+ nullPermutation = false;
+ if (pos < 0 || pos >= newType.parameterCount()) {
+ argumentMap = new int[0]; break;
+ }
+ }
+ if (argumentMap.length != oldType.parameterCount())
+ throw newIllegalArgumentException("bad permutation: "+Arrays.toString(argumentMap));
+ if (nullPermutation) {
+ MethodHandle res = makePairwiseConvert(token, newType, target);
+ // well, that was easy
+ if (res == null)
+ throw newIllegalArgumentException("cannot convert pairwise: "+newType);
+ return res;
+ }
+
+ // Check return type. (Not much can be done with it.)
+ Class<?> exp = newType.returnType();
+ Class<?> ret = oldType.returnType();
+ if (!VerifyType.isNullConversion(ret, exp))
+ throw newIllegalArgumentException("bad return conversion for "+newType);
+
+ // See if the argument types match up.
+ for (int i = 0; i < argumentMap.length; i++) {
+ int j = argumentMap[i];
+ Class<?> src = newType.parameterType(j);
+ Class<?> dst = oldType.parameterType(i);
+ if (!VerifyType.isNullConversion(src, dst))
+ throw newIllegalArgumentException("bad argument #"+j+" conversion for "+newType);
+ }
+
+ // Now figure out a nice mix of SWAP, ROT, DUP, and DROP adapters.
+ // A workable greedy algorithm is as follows:
+ // Drop unused outgoing arguments (right to left: shallowest first).
+ // Duplicate doubly-used outgoing arguments (left to right: deepest first).
+ // Then the remaining problem is a true argument permutation.
+ // Marshal the outgoing arguments as required from left to right.
+ // That is, find the deepest outgoing stack position that does not yet
+ // have the correct argument value, and correct at least that position
+ // by swapping or rotating in the misplaced value (from a shallower place).
+ // If the misplaced value is followed by one or more consecutive values
+ // (also misplaced) issue a rotation which brings as many as possible
+ // into position. Otherwise make progress with either a swap or a
+ // rotation. Prefer the swap as cheaper, but do not use it if it
+ // breaks a slot pair. Prefer the rotation over the swap if it would
+ // preserve more consecutive values shallower than the target position.
+ // When more than one rotation will work (because the required value
+ // is already adjacent to the target position), then use a rotation
+ // which moves the old value in the target position adjacent to
+ // one of its consecutive values. Also, prefer shorter rotation
+ // spans, since they use fewer memory cycles for shuffling.
+
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ private static byte basicType(Class<?> type) {
+ if (type == null) return T_VOID;
+ switch (Wrapper.forBasicType(type)) {
+ case BOOLEAN: return T_BOOLEAN;
+ case CHAR: return T_CHAR;
+ case FLOAT: return T_FLOAT;
+ case DOUBLE: return T_DOUBLE;
+ case BYTE: return T_BYTE;
+ case SHORT: return T_SHORT;
+ case INT: return T_INT;
+ case LONG: return T_LONG;
+ case OBJECT: return T_OBJECT;
+ case VOID: return T_VOID;
+ }
+ return 99; // T_ILLEGAL or some such
+ }
+
+ /** Number of stack slots for the given type.
+ * Two for T_DOUBLE and T_FLOAT, one for the rest.
+ */
+ private static int type2size(int type) {
+ assert(type >= T_BOOLEAN && type <= T_OBJECT);
+ return (type == T_FLOAT || type == T_DOUBLE) ? 2 : 1;
+ }
+
+ /** Construct an adapter conversion descriptor for a single-argument conversion. */
+ private static long makeConv(int convOp, int argnum, int src, int dest) {
+ assert(src == (src & 0xF));
+ assert(dest == (dest & 0xF));
+ assert(convOp >= OP_CHECK_CAST && convOp <= OP_PRIM_TO_REF);
+ long stackMove = type2size(dest) - type2size(src);
+ return ((long) argnum << 32 |
+ (long) convOp << CONV_OP_SHIFT |
+ (int) src << CONV_SRC_TYPE_SHIFT |
+ (int) dest << CONV_DEST_TYPE_SHIFT |
+ stackMove << CONV_STACK_MOVE_SHIFT
+ );
+ }
+ private static long makeConv(int convOp, int argnum, int stackMove) {
+ assert(convOp >= OP_SWAP_ARGS && convOp <= OP_SPREAD_ARGS);
+ byte src = 0, dest = 0;
+ if (convOp >= OP_COLLECT_ARGS && convOp <= OP_SPREAD_ARGS)
+ src = dest = T_OBJECT;
+ return ((long) argnum << 32 |
+ (long) convOp << CONV_OP_SHIFT |
+ (int) src << CONV_SRC_TYPE_SHIFT |
+ (int) dest << CONV_DEST_TYPE_SHIFT |
+ stackMove << CONV_STACK_MOVE_SHIFT
+ );
+ }
+ private static long makeConv(int convOp) {
+ assert(convOp == OP_RETYPE_ONLY);
+ return (long) convOp << CONV_OP_SHIFT; // stackMove, src, dst, argnum all zero
+ }
+ private static int convCode(long conv) {
+ return (int)conv;
+ }
+ private static int convArgPos(long conv) {
+ return (int)(conv >>> 32);
+ }
+ private static boolean convOpSupported(int convOp) {
+ assert(convOp >= 0 && convOp <= CONV_OP_LIMIT);
+ return ((1<<convOp) & CONV_OP_IMPLEMENTED_MASK) != 0;
+ }
+
+ /** One of OP_RETYPE_ONLY, etc. */
+ int conversionOp() { return (conversion & CONV_OP_MASK) >> CONV_OP_SHIFT; }
+
+ @Override
+ public String toString() {
+ return addTypeString(this, "Adapted[" + basicToString(nonAdapter((MethodHandle)vmtarget)) + "]");
+ }
+
+ private static MethodHandle nonAdapter(MethodHandle mh) {
+ return (MethodHandle)
+ MethodHandleNatives.getTarget(mh, ETF_DIRECT_HANDLE);
+ }
+
+ /* Return one plus the position of the first non-trivial difference
+ * between the given types. This is not a symmetric operation;
+ * we are considering adapting the targetType to adapterType.
+ * Trivial differences are those which could be ignored by the JVM
+ * without subverting the verifier. Otherwise, adaptable differences
+ * are ones for which we could create an adapter to make the type change.
+ * Return zero if there are no differences (other than trivial ones).
+ * Return 1+N if N is the only adaptable argument difference.
+ * Return the -2-N where N is the first of several adaptable
+ * argument differences.
+ * Return -1 if there there are differences which are not adaptable.
+ */
+ private static int diffTypes(MethodType adapterType,
+ MethodType targetType,
+ boolean raw) {
+ int diff;
+ diff = diffReturnTypes(adapterType, targetType, raw);
+ if (diff != 0) return diff;
+ int nargs = adapterType.parameterCount();
+ if (nargs != targetType.parameterCount())
+ return -1;
+ diff = diffParamTypes(adapterType, 0, targetType, 0, nargs, raw);
+ //System.out.println("diff "+adapterType);
+ //System.out.println(" "+diff+" "+targetType);
+ return diff;
+ }
+ private static int diffReturnTypes(MethodType adapterType,
+ MethodType targetType,
+ boolean raw) {
+ Class<?> src = targetType.returnType();
+ Class<?> dst = adapterType.returnType();
+ if ((!raw
+ ? VerifyType.canPassUnchecked(src, dst)
+ : VerifyType.canPassRaw(src, dst)
+ ) > 0)
+ return 0; // no significant difference
+ if (raw && !src.isPrimitive() && !dst.isPrimitive())
+ return 0; // can force a reference return (very carefully!)
+ //if (false) return 1; // never adaptable!
+ return -1; // some significant difference
+ }
+ private static int diffParamTypes(MethodType adapterType, int tstart,
+ MethodType targetType, int astart,
+ int nargs, boolean raw) {
+ assert(nargs >= 0);
+ int res = 0;
+ for (int i = 0; i < nargs; i++) {
+ Class<?> src = adapterType.parameterType(tstart+i);
+ Class<?> dest = targetType.parameterType(astart+i);
+ if ((!raw
+ ? VerifyType.canPassUnchecked(src, dest)
+ : VerifyType.canPassRaw(src, dest)
+ ) <= 0) {
+ // found a difference; is it the only one so far?
+ if (res != 0)
+ return -1-res; // return -2-i for prev. i
+ res = 1+i;
+ }
+ }
+ return res;
+ }
+
+ /** Can a retyping adapter (alone) validly convert the target to newType? */
+ public static boolean canRetypeOnly(MethodType newType, MethodType targetType) {
+ return canRetypeOnly(newType, targetType, false);
+ }
+ /** Can a retyping adapter (alone) convert the target to newType?
+ * It is allowed to widen subword types and void to int, to make bitwise
+ * conversions between float/int and double/long, and to perform unchecked
+ * reference conversions on return. This last feature requires that the
+ * caller be trusted, and perform explicit cast conversions on return values.
+ */
+ static boolean canRawRetypeOnly(MethodType newType, MethodType targetType) {
+ return canRetypeOnly(newType, targetType, true);
+ }
+ static boolean canRetypeOnly(MethodType newType, MethodType targetType, boolean raw) {
+ if (!convOpSupported(OP_RETYPE_ONLY)) return false;
+ int diff = diffTypes(newType, targetType, raw);
+ // %%% This assert is too strong. Factor diff into VerifyType and reconcile.
+ assert((diff == 0) == VerifyType.isNullConversion(newType, targetType));
+ return diff == 0;
+ }
+
+ /** Factory method: Performs no conversions; simply retypes the adapter.
+ * Allows unchecked argument conversions pairwise, if they are safe.
+ * Returns null if not possible.
+ */
+ public static MethodHandle makeRetypeOnly(Access token,
+ MethodType newType, MethodHandle target) {
+ return makeRetypeOnly(token, newType, target, false);
+ }
+ public static MethodHandle makeRawRetypeOnly(Access token,
+ MethodType newType, MethodHandle target) {
+ return makeRetypeOnly(token, newType, target, true);
+ }
+ static MethodHandle makeRetypeOnly(Access token,
+ MethodType newType, MethodHandle target, boolean raw) {
+ Access.check(token);
+ if (!canRetypeOnly(newType, target.type(), raw))
+ return null;
+ // TO DO: clone the target guy, whatever he is, with new type.
+ return new AdapterMethodHandle(target, newType, makeConv(OP_RETYPE_ONLY));
+ }
+
+ /** Can a checkcast adapter validly convert the target to newType?
+ * The JVM supports all kind of reference casts, even silly ones.
+ */
+ public static boolean canCheckCast(MethodType newType, MethodType targetType,
+ int arg, Class<?> castType) {
+ if (!convOpSupported(OP_CHECK_CAST)) return false;
+ Class<?> src = newType.parameterType(arg);
+ Class<?> dst = targetType.parameterType(arg);
+ if (!canCheckCast(src, castType)
+ || !VerifyType.isNullConversion(castType, dst))
+ return false;
+ int diff = diffTypes(newType, targetType, false);
+ return (diff == arg+1); // arg is sole non-trivial diff
+ }
+ /** Can an primitive conversion adapter validly convert src to dst? */
+ public static boolean canCheckCast(Class<?> src, Class<?> dst) {
+ return (!src.isPrimitive() && !dst.isPrimitive());
+ }
+
+ /** Factory method: Forces a cast at the given argument.
+ * The castType is the target of the cast, and can be any type
+ * with a null conversion to the corresponding target parameter.
+ * Return null if this cannot be done.
+ */
+ public static MethodHandle makeCheckCast(Access token,
+ MethodType newType, MethodHandle target,
+ int arg, Class<?> castType) {
+ Access.check(token);
+ if (!canCheckCast(newType, target.type(), arg, castType))
+ return null;
+ long conv = makeConv(OP_CHECK_CAST, arg, 0);
+ return new AdapterMethodHandle(target, newType, conv, castType);
+ }
+
+ /** Can an primitive conversion adapter validly convert the target to newType?
+ * The JVM currently supports all conversions except those between
+ * floating and integral types.
+ */
+ public static boolean canPrimCast(MethodType newType, MethodType targetType,
+ int arg, Class<?> convType) {
+ if (!convOpSupported(OP_PRIM_TO_PRIM)) return false;
+ Class<?> src = newType.parameterType(arg);
+ Class<?> dst = targetType.parameterType(arg);
+ if (!canPrimCast(src, convType)
+ || !VerifyType.isNullConversion(convType, dst))
+ return false;
+ int diff = diffTypes(newType, targetType, false);
+ return (diff == arg+1); // arg is sole non-trivial diff
+ }
+ /** Can an primitive conversion adapter validly convert src to dst? */
+ public static boolean canPrimCast(Class<?> src, Class<?> dst) {
+ if (src == dst || !src.isPrimitive() || !dst.isPrimitive()) {
+ return false;
+ } else if (Wrapper.forPrimitiveType(dst).isFloating()) {
+ // both must be floating types
+ return Wrapper.forPrimitiveType(src).isFloating();
+ } else {
+ // both are integral, and all combinations work fine
+ assert(Wrapper.forPrimitiveType(src).isIntegral() &&
+ Wrapper.forPrimitiveType(dst).isIntegral());
+ return true;
+ }
+ }
+
+ /** Factory method: Truncate the given argument with zero or sign extension,
+ * and/or convert between single and doubleword versions of integer or float.
+ * The convType is the target of the conversion, and can be any type
+ * with a null conversion to the corresponding target parameter.
+ * Return null if this cannot be done.
+ */
+ public static MethodHandle makePrimCast(Access token,
+ MethodType newType, MethodHandle target,
+ int arg, Class<?> convType) {
+ Access.check(token);
+ MethodType oldType = target.type();
+ Class<?> src = newType.parameterType(arg);
+ Class<?> dst = oldType.parameterType(arg);
+ if (!canPrimCast(newType, oldType, arg, convType))
+ return null;
+ long conv = makeConv(OP_PRIM_TO_PRIM, arg, basicType(src), basicType(convType));
+ return new AdapterMethodHandle(target, newType, conv);
+ }
+
+ /** Can an unboxing conversion validly convert src to dst?
+ * The JVM currently supports all kinds of casting and unboxing.
+ * The convType is the unboxed type; it can be either a primitive or wrapper.
+ */
+ public static boolean canUnboxArgument(MethodType newType, MethodType targetType,
+ int arg, Class<?> convType) {
+ if (!convOpSupported(OP_REF_TO_PRIM)) return false;
+ Class<?> src = newType.parameterType(arg);
+ Class<?> dst = targetType.parameterType(arg);
+ Class<?> boxType = Wrapper.asWrapperType(convType);
+ convType = Wrapper.asPrimitiveType(convType);
+ if (!canCheckCast(src, boxType)
+ || boxType == convType
+ || !VerifyType.isNullConversion(convType, dst))
+ return false;
+ int diff = diffTypes(newType, targetType, false);
+ return (diff == arg+1); // arg is sole non-trivial diff
+ }
+ /** Can an primitive unboxing adapter validly convert src to dst? */
+ public static boolean canUnboxArgument(Class<?> src, Class<?> dst) {
+ return (!src.isPrimitive() && Wrapper.asPrimitiveType(dst).isPrimitive());
+ }
+
+ /** Factory method: Unbox the given argument.
+ * Return null if this cannot be done.
+ */
+ public static MethodHandle makeUnboxArgument(Access token,
+ MethodType newType, MethodHandle target,
+ int arg, Class<?> convType) {
+ MethodType oldType = target.type();
+ Class<?> src = newType.parameterType(arg);
+ Class<?> dst = oldType.parameterType(arg);
+ Class<?> boxType = Wrapper.asWrapperType(convType);
+ Class<?> primType = Wrapper.asPrimitiveType(convType);
+ if (!canUnboxArgument(newType, oldType, arg, convType))
+ return null;
+ MethodType castDone = newType;
+ if (!VerifyType.isNullConversion(src, boxType))
+ castDone = newType.changeParameterType(arg, boxType);
+ long conv = makeConv(OP_REF_TO_PRIM, arg, T_OBJECT, basicType(primType));
+ MethodHandle adapter = new AdapterMethodHandle(target, castDone, conv, boxType);
+ if (castDone == newType)
+ return adapter;
+ return makeCheckCast(token, newType, adapter, arg, boxType);
+ }
+
+ /** Can an primitive boxing adapter validly convert src to dst? */
+ public static boolean canBoxArgument(Class<?> src, Class<?> dst) {
+ if (!convOpSupported(OP_PRIM_TO_REF)) return false;
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ /** Factory method: Unbox the given argument.
+ * Return null if this cannot be done.
+ */
+ public static MethodHandle makeBoxArgument(Access token,
+ MethodType newType, MethodHandle target,
+ int arg, Class<?> convType) {
+ // this is difficult to do in the JVM because it must GC
+ return null;
+ }
+
+ // TO DO: makeSwapArguments, makeRotateArguments, makeDuplicateArguments
+
+ /** Can an adapter simply drop arguments to convert the target to newType? */
+ public static boolean canDropArguments(MethodType newType, MethodType targetType,
+ int dropArgPos, int dropArgCount) {
+ if (dropArgCount == 0)
+ return canRetypeOnly(newType, targetType);
+ if (!convOpSupported(OP_DROP_ARGS)) return false;
+ if (diffReturnTypes(newType, targetType, false) != 0)
+ return false;
+ int nptypes = newType.parameterCount();
+ // parameter types must be the same up to the drop point
+ if (dropArgPos != 0 && diffParamTypes(newType, 0, targetType, 0, dropArgPos, false) != 0)
+ return false;
+ int afterPos = dropArgPos + dropArgCount;
+ int afterCount = nptypes - afterPos;
+ if (dropArgPos < 0 || dropArgPos >= nptypes ||
+ dropArgCount < 1 || afterPos > nptypes ||
+ targetType.parameterCount() != nptypes - dropArgCount)
+ return false;
+ // parameter types after the drop point must also be the same
+ if (afterCount != 0 && diffParamTypes(newType, afterPos, targetType, dropArgPos, afterCount, false) != 0)
+ return false;
+ return true;
+ }
+
+ /** Factory method: Drop selected arguments.
+ * Allow unchecked retyping of remaining arguments, pairwise.
+ * Return null if this is not possible.
+ */
+ public static MethodHandle makeDropArguments(Access token,
+ MethodType newType, MethodHandle target,
+ int dropArgPos, int dropArgCount) {
+ Access.check(token);
+ if (dropArgCount == 0)
+ return makeRetypeOnly(IMPL_TOKEN, newType, target);
+ MethodType mt = target.type();
+ int argCount = mt.parameterCount();
+ if (!canDropArguments(newType, mt, dropArgPos, dropArgCount))
+ return null;
+ int dropSlotCount, dropSlotPos;
+ if (dropArgCount >= argCount) {
+ assert(dropArgPos == argCount-1);
+ dropSlotPos = 0;
+ dropSlotCount = mt.parameterSlotCount();
+ } else {
+ // arglist: [0: keep... | dpos: drop... | dpos+dcount: keep... ]
+ int lastDroppedArg = dropArgPos + dropArgCount - 1;
+ int lastKeptArg = dropArgPos - 1; // might be -1, which is OK
+ dropSlotPos = mt.parameterSlotDepth(1+lastDroppedArg);
+ int lastKeptSlot = mt.parameterSlotDepth(1+lastKeptArg);
+ dropSlotCount = lastKeptSlot - dropSlotPos;
+ assert(dropSlotCount >= dropArgCount);
+ }
+ long conv = makeConv(OP_DROP_ARGS, dropArgPos, +dropSlotCount);
+ return new AdapterMethodHandle(target, newType, dropSlotCount, conv);
+ }
+
+ /** Can an adapter spread an argument to convert the target to newType? */
+ public static boolean canSpreadArguments(MethodType newType, MethodType targetType,
+ Class<?> spreadArgType, int spreadArgPos, int spreadArgCount) {
+ if (!convOpSupported(OP_SPREAD_ARGS)) return false;
+ if (diffReturnTypes(newType, targetType, false) != 0)
+ return false;
+ int nptypes = newType.parameterCount();
+ // parameter types must be the same up to the spread point
+ if (spreadArgPos != 0 && diffParamTypes(newType, 0, targetType, 0, spreadArgPos, false) != 0)
+ return false;
+ int afterPos = spreadArgPos + spreadArgCount;
+ int afterCount = nptypes - afterPos;
+ if (spreadArgPos < 0 || spreadArgPos >= nptypes ||
+ spreadArgCount < 0 ||
+ targetType.parameterCount() != nptypes - 1 + spreadArgCount)
+ return false;
+ // parameter types after the spread point must also be the same
+ if (afterCount != 0 && diffParamTypes(newType, spreadArgPos+1, targetType, afterPos, afterCount, false) != 0)
+ return false;
+ // match the array element type to the spread arg types
+ Class<?> rawSpreadArgType = newType.parameterType(spreadArgPos);
+ if (rawSpreadArgType != spreadArgType && !canCheckCast(rawSpreadArgType, spreadArgType))
+ return false;
+ for (int i = 0; i < spreadArgCount; i++) {
+ Class<?> src = VerifyType.spreadArgElementType(spreadArgType, i);
+ Class<?> dst = targetType.parameterType(spreadArgPos + i);
+ if (src == null || !VerifyType.isNullConversion(src, dst))
+ return false;
+ }
+ return true;
+ }
+
+ /** Factory method: Spread selected argument. */
+ public static MethodHandle makeSpreadArguments(Access token,
+ MethodType newType, MethodHandle target,
+ Class<?> spreadArgType, int spreadArgPos, int spreadArgCount) {
+ Access.check(token);
+ MethodType mt = target.type();
+ int argCount = mt.parameterCount();
+ if (!canSpreadArguments(newType, mt, spreadArgType, spreadArgPos, spreadArgCount))
+ return null;
+ int spreadSlotCount, spreadSlotPos;
+ if (spreadArgCount >= argCount) {
+ assert(spreadArgPos == argCount-1);
+ spreadSlotPos = 0;
+ spreadSlotCount = mt.parameterSlotCount();
+ } else {
+ // arglist: [0: keep... | dpos: spread... | dpos+dcount: keep... ]
+ int lastSpreadArg = spreadArgPos + spreadArgCount - 1;
+ int lastKeptArg = spreadArgPos - 1; // might be -1, which is OK
+ spreadSlotPos = mt.parameterSlotDepth(1+lastSpreadArg);
+ int lastKeptSlot = mt.parameterSlotDepth(1+lastKeptArg);
+ spreadSlotCount = lastKeptSlot - spreadSlotPos;
+ assert(spreadSlotCount >= spreadArgCount);
+ }
+ long conv = makeConv(OP_SPREAD_ARGS, spreadArgPos, spreadSlotCount);
+ return new AdapterMethodHandle(target, newType, conv, spreadArgType);
+ }
+
+ // TO DO: makeCollectArguments, makeFlyby, makeRicochet
+}
diff --git a/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java b/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java
new file mode 100644
index 0000000..b0c511c
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import sun.dyn.util.VerifyType;
+import sun.dyn.util.Wrapper;
+import java.dyn.*;
+
+/**
+ * The flavor of method handle which emulates an invoke instruction
+ * on a predetermined argument. The JVM dispatches to the correct method
+ * when the handle is created, not when it is invoked.
+ * @author jrose
+ */
+public class BoundMethodHandle extends MethodHandle {
+ //MethodHandle vmtarget; // next BMH or final DMH or methodOop
+ private final Object argument; // argument to insert
+ private final int vmargslot; // position at which it is inserted
+
+ // Constructors in this class *must* be package scoped or private.
+
+ /** Bind a direct MH to its receiver (or first ref. argument).
+ * The JVM will pre-dispatch the MH if it is not already static.
+ */
+ BoundMethodHandle(DirectMethodHandle mh, Object argument) {
+ super(Access.TOKEN, mh.type().dropParameterType(0));
+ // check the type now, once for all:
+ this.argument = checkReferenceArgument(argument, mh, 0);
+ this.vmargslot = this.type().parameterSlotCount();
+ if (MethodHandleNatives.JVM_SUPPORT) {
+ this.vmtarget = null; // maybe updated by JVM
+ MethodHandleNatives.init(this, mh, 0);
+ } else {
+ this.vmtarget = mh;
+ }
+ }
+
+ private static final int REF_ARG = 0, PRIM_ARG = 1, SELF_ARG = 2;
+
+ /** Insert an argument into an arbitrary method handle.
+ * If argnum is zero, inserts the first argument, etc.
+ * The argument type must be a reference.
+ */
+ BoundMethodHandle(MethodHandle mh, Object argument, int argnum) {
+ this(mh, argument, argnum, mh.type().parameterType(argnum).isPrimitive() ? PRIM_ARG : REF_ARG);
+ }
+
+ /** Insert an argument into an arbitrary method handle.
+ * If argnum is zero, inserts the first argument, etc.
+ */
+ BoundMethodHandle(MethodHandle mh, Object argument, int argnum, int whichArg) {
+ super(Access.TOKEN, mh.type().dropParameterType(argnum));
+ if (whichArg == PRIM_ARG)
+ this.argument = bindPrimitiveArgument(argument, mh, argnum);
+ else {
+ if (whichArg == SELF_ARG) argument = this;
+ this.argument = checkReferenceArgument(argument, mh, argnum);
+ }
+ this.vmargslot = this.type().parameterSlotDepth(argnum);
+ if (MethodHandleNatives.JVM_SUPPORT) {
+ this.vmtarget = null; // maybe updated by JVM
+ MethodHandleNatives.init(this, mh, argnum);
+ } else {
+ this.vmtarget = mh;
+ }
+ }
+
+ /** For the AdapterMethodHandle subclass.
+ */
+ BoundMethodHandle(MethodType type, Object argument, int vmargslot) {
+ super(Access.TOKEN, type);
+ this.argument = argument;
+ this.vmargslot = vmargslot;
+ assert(this.getClass() == AdapterMethodHandle.class);
+ }
+
+ /** Initialize the current object as a method handle, binding it
+ * as the {@code argnum}th argument of the method handle {@code entryPoint}.
+ * The invocation type of the resulting method handle will be the
+ * same as {@code entryPoint}, except that the {@code argnum}th argument
+ * type will be dropped.
+ */
+ public BoundMethodHandle(MethodHandle entryPoint, int argnum) {
+ this(entryPoint, null, argnum, SELF_ARG);
+
+ // Note: If the conversion fails, perhaps because of a bad entryPoint,
+ // the MethodHandle.type field will not be filled in, and therefore
+ // no MH.invoke call will ever succeed. The caller may retain a pointer
+ // to the broken method handle, but no harm can be done with it.
+ }
+
+ /** Initialize the current object as a method handle, binding it
+ * as the first argument of the method handle {@code entryPoint}.
+ * The invocation type of the resulting method handle will be the
+ * same as {@code entryPoint}, except that the first argument
+ * type will be dropped.
+ */
+ public BoundMethodHandle(MethodHandle entryPoint) {
+ this(entryPoint, null, 0, SELF_ARG);
+ }
+
+ /** Make sure the given {@code argument} can be used as {@code argnum}-th
+ * parameter of the given method handle {@code mh}, which must be a reference.
+ * <p>
+ * If this fails, throw a suitable {@code WrongMethodTypeException},
+ * which will prevent the creation of an illegally typed bound
+ * method handle.
+ */
+ final static Object checkReferenceArgument(Object argument, MethodHandle mh, int argnum) {
+ Class<?> ptype = mh.type().parameterType(argnum);
+ if (ptype.isPrimitive()) {
+ // fail
+ } else if (argument == null) {
+ return null;
+ } else if (VerifyType.isNullReferenceConversion(argument.getClass(), ptype)) {
+ return argument;
+ }
+ throw badBoundArgumentException(argument, mh, argnum);
+ }
+
+ /** Make sure the given {@code argument} can be used as {@code argnum}-th
+ * parameter of the given method handle {@code mh}, which must be a primitive.
+ * <p>
+ * If this fails, throw a suitable {@code WrongMethodTypeException},
+ * which will prevent the creation of an illegally typed bound
+ * method handle.
+ */
+ final static Object bindPrimitiveArgument(Object argument, MethodHandle mh, int argnum) {
+ Class<?> ptype = mh.type().parameterType(argnum);
+ Wrapper wrap = Wrapper.forPrimitiveType(ptype);
+ Object zero = wrap.zero();
+ if (zero == null) {
+ // fail
+ } else if (argument == null) {
+ if (ptype != int.class && wrap.isSubwordOrInt())
+ return Integer.valueOf(0);
+ else
+ return zero;
+ } else if (VerifyType.isNullReferenceConversion(argument.getClass(), zero.getClass())) {
+ if (ptype != int.class && wrap.isSubwordOrInt())
+ return Wrapper.INT.wrap(argument);
+ else
+ return argument;
+ }
+ throw badBoundArgumentException(argument, mh, argnum);
+ }
+
+ final static RuntimeException badBoundArgumentException(Object argument, MethodHandle mh, int argnum) {
+ String atype = (argument == null) ? "null" : argument.getClass().toString();
+ return new WrongMethodTypeException("cannot bind "+atype+" argument to parameter #"+argnum+" of "+mh.type());
+ }
+
+ @Override
+ public String toString() {
+ return "Bound[" + super.toString() + "]";
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/CallSiteImpl.java b/jdk/src/share/classes/sun/dyn/CallSiteImpl.java
new file mode 100644
index 0000000..c5ac600
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/CallSiteImpl.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.*;
+
+/**
+ * The CallSite privately created by the JVM at every invokedynamic instruction.
+ * @author jrose
+ */
+class CallSiteImpl extends CallSite {
+ // Fields used only by the JVM. Do not use or change.
+ private Object vmmethod;
+
+ // Values supplied by the JVM:
+ int callerMID, callerBCI;
+
+ private CallSiteImpl(Class<?> caller, String name, MethodType type) {
+ super(caller, name, type);
+ }
+
+ @Override
+ public void setTarget(MethodHandle mh) {
+ checkTarget(mh);
+ if (MethodHandleNatives.JVM_SUPPORT)
+ MethodHandleNatives.linkCallSite(this, (MethodHandle) mh);
+ else
+ super.setTarget(mh);
+ }
+
+ private static final MethodHandle PRIVATE_INITIALIZE_CALL_SITE =
+ MethodHandleImpl.IMPL_LOOKUP.findStatic(CallSite.class, "privateInitializeCallSite",
+ MethodType.make(void.class, CallSite.class, int.class, int.class));
+
+ // this is the up-call from the JVM:
+ static CallSite makeSite(Class<?> caller, String name, MethodType type,
+ int callerMID, int callerBCI) {
+ MethodHandle bsm = Linkage.getBootstrapMethod(caller);
+ if (bsm == null)
+ throw new InvokeDynamicBootstrapError("class has no bootstrap method: "+caller);
+ CallSite site = bsm.<CallSite>invoke(caller, name, type);
+ if (site == null)
+ throw new InvokeDynamicBootstrapError("class bootstrap method failed to create a call site: "+caller);
+ PRIVATE_INITIALIZE_CALL_SITE.<void>invoke(site, callerMID, callerBCI);
+ return site;
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java b/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java
new file mode 100644
index 0000000..d86b64a
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.*;
+import static sun.dyn.MethodHandleNatives.Constants.*;
+
+/**
+ * The flavor of method handle which emulates invokespecial or invokestatic.
+ * @author jrose
+ */
+class DirectMethodHandle extends MethodHandle {
+ //inherited oop vmtarget; // methodOop or virtual class/interface oop
+ private final int vmindex; // method index within class or interface
+ { vmindex = VM_INDEX_UNINITIALIZED; } // JVM may change this
+
+ // Constructors in this class *must* be package scoped or private.
+ DirectMethodHandle(MethodType mtype, MemberName m, boolean doDispatch, Class<?> lookupClass) {
+ super(Access.TOKEN, mtype);
+
+ assert(m.isMethod() || !doDispatch && m.isConstructor());
+ if (!m.isResolved())
+ throw new InternalError();
+
+ // Null check and replace privilege token (as passed to JVM) with null.
+ if (lookupClass.equals(Access.class)) lookupClass = null;
+ MethodHandleNatives.init(this, (Object) m, doDispatch, lookupClass);
+ }
+
+ boolean isValid() {
+ return (vmindex != VM_INDEX_UNINITIALIZED);
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/FilterGeneric.java b/jdk/src/share/classes/sun/dyn/FilterGeneric.java
new file mode 100644
index 0000000..a99eb26
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/FilterGeneric.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sf, tifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.JavaMethodHandle;
+import java.dyn.MethodHandle;
+import java.dyn.MethodType;
+import java.dyn.NoAccessException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * "Flyby adapters" which apply arbitrary conversions to arguments
+ * on the way to a ultimate target.
+ * For simplicity, these are all generically typed.
+ * @author jrose
+ */
+class FilterGeneric {
+ // type for the outgoing call (will be generic)
+ private final MethodType targetType;
+ // position of (first) argument to participate in filtering
+ private final short argumentPosition;
+ // number of arguments to participate in filtering
+ private final short argumentCount;
+ // how the result interacts with the filtered arguments: Prepend, Append, Replace, Discard
+ private final char replaceMode;
+ // prototype adapter (clone and customize for each new target & conversion!)
+ private final Adapter adapter;
+ // entry point for adapter (Adapter mh, a...) => ...
+ private final MethodHandle entryPoint;
+ // more of them (loosely cached)
+ private FilterGeneric variations;
+
+ /** Compute and cache information common to all unboxing adapters
+ * that can call out to targets of the erasure-family of the given erased type.
+ */
+ // TO DO: Make this private.
+ FilterGeneric(MethodType targetType, short argumentPosition, short argumentCount, char replaceMode) {
+ if (argumentCount == 0) {
+ if (replaceMode == 'P' || replaceMode == 'A') replaceMode = 'R';
+ if (replaceMode == 'I') argumentPosition = 0;
+ }
+ this.targetType = targetType;
+ this.argumentPosition = argumentPosition;
+ this.argumentCount = argumentCount;
+ this.replaceMode = replaceMode;
+ validate(targetType, argumentPosition, argumentCount, replaceMode);
+ Adapter ad = findAdapter(targetType, argumentPosition, argumentCount, replaceMode, filterType());
+ if (ad == null)
+ ad = buildAdapterFromBytecodes(targetType, argumentPosition, argumentCount, replaceMode, filterType());
+ this.adapter = ad;
+ this.entryPoint = ad.prototypeEntryPoint();
+ }
+
+ Adapter makeInstance(MethodHandle filter, MethodHandle target) {
+ return adapter.makeInstance(entryPoint, filter, target);
+ }
+
+ /** Build an adapter of the given generic type, which invokes typedTarget
+ * on the incoming arguments, after unboxing as necessary.
+ * The return value is boxed if necessary.
+ * @param genericType the required type of the result
+ * @param typedTarget the target
+ * @return an adapter method handle
+ */
+ public static MethodHandle make(MethodHandle target, int pos, MethodHandle filter) {
+ return FilterGeneric.of(target.type(), (short)pos, (short)1, 'R').makeInstance(filter, target);
+ }
+
+ /** Return the adapter information for this type's erasure. */
+ static FilterGeneric of(MethodType type, short ap, short ac, char mode) {
+ if (type.generic() != type)
+ throw new IllegalArgumentException("must be generic: "+type);
+ validate(type, ap, ac, mode);
+ MethodTypeImpl form = MethodTypeImpl.of(type);
+ FilterGeneric filterGen = form.filterGeneric;
+ if (filterGen == null)
+ form.filterGeneric = filterGen = new FilterGeneric(type, (short)0, (short)1, 'R');
+ return find(filterGen, ap, ac, mode);
+ }
+
+ static FilterGeneric find(FilterGeneric gen, short ap, short ac, char mode) {
+ for (;;) {
+ if (gen.argumentPosition == ap &&
+ gen.argumentCount == ac &&
+ gen.replaceMode == mode) {
+ return gen;
+ }
+ FilterGeneric gen2 = gen.variations;
+ if (gen2 == null) break;
+ gen = gen2;
+ }
+ FilterGeneric gen2 = new FilterGeneric(gen.targetType, ap, ac, mode);
+ gen.variations = gen2; // OK if this smashes another cached chain
+ return gen2;
+ }
+
+ private static void validate(MethodType type, short ap, short ac, char mode) {
+ int endpos = ap + ac;
+ switch (mode) {
+ case 'P': case 'A': case 'R': case 'D':
+ if (ap >= 0 && ac >= 0 &&
+ endpos >= 0 && endpos <= type.parameterCount())
+ return;
+ default:
+ throw new InternalError("configuration "+patternName(ap, ac, mode));
+ }
+ }
+
+ public String toString() {
+ return "FilterGeneric/"+patternName()+targetType;
+ }
+
+ String patternName() {
+ return patternName(argumentPosition, argumentCount, replaceMode);
+ }
+
+ static String patternName(short ap, short ac, char mode) {
+ return ""+mode+ap+(ac>1?"_"+ac:"");
+ }
+
+ Class<?> filterType() {
+ return Object.class; // result of filter operation; an uninteresting type
+ }
+
+ static MethodType targetType(MethodType entryType, short ap, short ac, char mode,
+ Class<?> arg) {
+ MethodType type = entryType;
+ int pos = ap;
+ switch (mode) {
+ case 'A':
+ pos += ac;
+ case 'P':
+ type = type.insertParameterType(pos, arg);
+ break;
+ case 'I':
+ for (int i = 1; i < ac; i++)
+ type = type.dropParameterType(pos);
+ assert(type.parameterType(pos) == arg);
+ break;
+ case 'D':
+ break;
+ }
+ return type;
+ }
+
+ static MethodType entryType(MethodType targetType, short ap, short ac, char mode,
+ Class<?> arg) {
+ MethodType type = targetType;
+ int pos = ap;
+ switch (mode) {
+ case 'A':
+ pos += ac;
+ case 'P':
+ type = type.dropParameterType(pos);
+ break;
+ case 'I':
+ for (int i = 1; i < ac; i++)
+ type = type.insertParameterType(pos, arg);
+ assert(type.parameterType(pos) == arg);
+ break;
+ case 'D':
+ break;
+ }
+ return type;
+ }
+
+ /* Create an adapter that handles spreading calls for the given type. */
+ static Adapter findAdapter(MethodType targetType, short ap, short ac, char mode, Class<?> arg) {
+ MethodType entryType = entryType(targetType, ap, ac, mode, arg);
+ int argc = targetType.parameterCount();
+ String pname = patternName(ap, ac, mode);
+ String cname0 = "F"+argc;
+ String cname1 = "F"+argc+mode;
+ String cname2 = "F"+argc+pname;
+ String[] cnames = { cname0, cname1, cname1+"X", cname2 };
+ String iname = "invoke_"+pname;
+ // e.g., F5R; invoke_R3
+ for (String cname : cnames) {
+ Class<? extends Adapter> acls = Adapter.findSubClass(cname);
+ if (acls == null) continue;
+ // see if it has the required invoke method
+ MethodHandle entryPoint = null;
+ try {
+ entryPoint = MethodHandleImpl.IMPL_LOOKUP.findSpecial(acls, iname, entryType, acls);
+ } catch (NoAccessException ex) {
+ }
+ if (entryPoint == null) continue;
+ Constructor<? extends Adapter> ctor = null;
+ try {
+ ctor = acls.getDeclaredConstructor(MethodHandle.class);
+ } catch (NoSuchMethodException ex) {
+ } catch (SecurityException ex) {
+ }
+ if (ctor == null) continue;
+ try {
+ // Produce an instance configured as a prototype.
+ return ctor.newInstance(entryPoint);
+ } catch (IllegalArgumentException ex) {
+ } catch (InvocationTargetException ex) {
+ } catch (InstantiationException ex) {
+ } catch (IllegalAccessException ex) {
+ }
+ }
+ return null;
+ }
+
+ static Adapter buildAdapterFromBytecodes(MethodType targetType, short ap, short ac, char mode, Class<?> arg) {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ /**
+ * This adapter takes some untyped arguments, and returns an untyped result.
+ * Internally, it applies the invoker to the target, which causes the
+ * objects to be unboxed; the result is a raw type in L/I/J/F/D.
+ * This result is passed to convert, which is responsible for
+ * converting the raw result into a boxed object.
+ * The invoker is kept separate from the target because it can be
+ * generated once per type erasure family, and reused across adapters.
+ */
+ static abstract class Adapter extends JavaMethodHandle {
+ protected final MethodHandle filter;
+ protected final MethodHandle target;
+
+ protected boolean isPrototype() { return target == null; }
+ protected Adapter(MethodHandle entryPoint) {
+ this(entryPoint, entryPoint, null);
+ assert(isPrototype());
+ }
+ protected MethodHandle prototypeEntryPoint() {
+ if (!isPrototype()) throw new InternalError();
+ return filter;
+ }
+
+ protected Adapter(MethodHandle entryPoint,
+ MethodHandle filter, MethodHandle target) {
+ super(entryPoint);
+ this.filter = filter;
+ this.target = target;
+ }
+
+ /** Make a copy of self, with new fields. */
+ protected abstract Adapter makeInstance(MethodHandle entryPoint,
+ MethodHandle filter, MethodHandle target);
+ // { return new ThisType(entryPoint, filter, target); }
+
+ static private final String CLASS_PREFIX; // "sun.dyn.FilterGeneric$"
+ static {
+ String aname = Adapter.class.getName();
+ String sname = Adapter.class.getSimpleName();
+ if (!aname.endsWith(sname)) throw new InternalError();
+ CLASS_PREFIX = aname.substring(0, aname.length() - sname.length());
+ }
+ /** Find a sibing class of Adapter. */
+ static Class<? extends Adapter> findSubClass(String name) {
+ String cname = Adapter.CLASS_PREFIX + name;
+ try {
+ return Class.forName(cname).asSubclass(Adapter.class);
+ } catch (ClassNotFoundException ex) {
+ return null;
+ } catch (ClassCastException ex) {
+ return null;
+ }
+ }
+ }
+
+ //* generated classes follow this pattern:
+ static class F1RX extends Adapter {
+ protected F1RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected F1RX(MethodHandle e, MethodHandle f, MethodHandle t)
+ { super(e, f, t); }
+ protected F1RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
+ { return new F1RX(e, f, t); }
+ protected Object filter(Object a0) { return filter.<Object>invoke(a0); }
+ protected Object target(Object a0) { return target.<Object>invoke(a0); }
+ protected Object invoke_R0(Object a0) { return target(filter(a0)); }
+ }
+ static class F2RX extends Adapter {
+ protected F2RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected F2RX(MethodHandle e, MethodHandle f, MethodHandle t)
+ { super(e, f, t); }
+ protected F2RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
+ { return new F2RX(e, f, t); }
+ protected Object filter(Object a0) { return filter.<Object>invoke(a0); }
+ protected Object target(Object a0, Object a1) { return target.<Object>invoke(a0, a1); }
+ protected Object invoke_R0(Object a0, Object a1) { return target(filter(a0), a1); }
+ protected Object invoke_R1(Object a0, Object a1) { return target(a0, filter(a1)); }
+ }
+ static class F3RX extends Adapter {
+ protected F3RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected F3RX(MethodHandle e, MethodHandle f, MethodHandle t)
+ { super(e, f, t); }
+ protected F3RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
+ { return new F3RX(e, f, t); }
+ protected Object filter(Object a0) { return filter.<Object>invoke(a0); }
+ protected Object target(Object a0, Object a1, Object a2) { return target.<Object>invoke(a0, a1, a2); }
+ protected Object invoke_R0(Object a0, Object a1, Object a2) { return target(filter(a0), a1, a2); }
+ protected Object invoke_R1(Object a0, Object a1, Object a2) { return target(a0, filter(a1), a2); }
+ protected Object invoke_R2(Object a0, Object a1, Object a2) { return target(a0, a1, filter(a2)); }
+ }
+ static class F4RX extends Adapter {
+ protected F4RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected F4RX(MethodHandle e, MethodHandle f, MethodHandle t)
+ { super(e, f, t); }
+ protected F4RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t)
+ { return new F4RX(e, f, t); }
+ protected Object filter(Object a0) { return filter.<Object>invoke(a0); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3) { return target.<Object>invoke(a0, a1, a2, a3); }
+ protected Object invoke_R0(Object a0, Object a1, Object a2, Object a3) { return target(filter(a0), a1, a2, a3); }
+ protected Object invoke_R1(Object a0, Object a1, Object a2, Object a3) { return target(a0, filter(a1), a2, a3); }
+ protected Object invoke_R2(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, filter(a2), a3); }
+ protected Object invoke_R3(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, a2, filter(a3)); }
+ }
+ // */
+}
diff --git a/jdk/src/share/classes/sun/dyn/FilterOneArgument.java b/jdk/src/share/classes/sun/dyn/FilterOneArgument.java
new file mode 100644
index 0000000..c2fd98e
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/FilterOneArgument.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.JavaMethodHandle;
+import java.dyn.MethodHandle;
+import java.dyn.MethodHandles;
+import java.dyn.MethodType;
+
+/**
+ * Unary function composition, useful for many small plumbing jobs.
+ * The invoke method takes a single reference argument, and returns a reference
+ * Internally, it first calls the {@code filter} method on the argument,
+ * Making up the difference between the raw method type and the
+ * final method type is the responsibility of a JVM-level adapter.
+ * @author jrose
+ */
+public class FilterOneArgument extends JavaMethodHandle {
+ protected final MethodHandle filter; // Object -> Object
+ protected final MethodHandle target; // Object -> Object
+
+ protected Object entryPoint(Object argument) {
+ Object filteredArgument = filter.<Object>invoke(argument);
+ return target.<Object>invoke(filteredArgument);
+ }
+
+ private static final MethodHandle entryPoint =
+ MethodHandleImpl.IMPL_LOOKUP.findVirtual(FilterOneArgument.class, "entryPoint", MethodType.makeGeneric(1));
+
+ protected FilterOneArgument(MethodHandle filter, MethodHandle target) {
+ super(entryPoint);
+ this.filter = filter;
+ this.target = target;
+ }
+
+ public static MethodHandle make(MethodHandle filter, MethodHandle target) {
+ if (filter == null) return target;
+ if (target == null) return filter;
+ return new FilterOneArgument(filter, target);
+ }
+
+ public String toString() {
+ return filter + "|>" + target;
+ }
+
+// MethodHandle make(MethodHandle filter1, MethodHandle filter2, MethodHandle target) {
+// MethodHandle filter = make(filter1, filter2);
+// return make(filter, target);
+// }
+}
diff --git a/jdk/src/share/classes/sun/dyn/FromGeneric.java b/jdk/src/share/classes/sun/dyn/FromGeneric.java
new file mode 100644
index 0000000..85f35d6
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/FromGeneric.java
@@ -0,0 +1,627 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.JavaMethodHandle;
+import java.dyn.MethodHandle;
+import java.dyn.MethodHandles;
+import java.dyn.MethodType;
+import java.dyn.NoAccessException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import sun.dyn.util.ValueConversions;
+import sun.dyn.util.Wrapper;
+
+/**
+ * Adapters which mediate between incoming calls which are not generic
+ * and outgoing calls which are. Any call can be represented generically
+ * boxing up its arguments, and (on return) unboxing the return value.
+ * <p>
+ * A call is "generic" (in MethodHandle terms) if its MethodType features
+ * only Object arguments. A non-generic call therefore features
+ * primitives and/or reference types other than Object.
+ * An adapter has types for its incoming and outgoing calls.
+ * The incoming call type is simply determined by the adapter's type
+ * (the MethodType it presents to callers). The outgoing call type
+ * is determined by the adapter's target (a MethodHandle that the adapter
+ * either binds internally or else takes as a leading argument).
+ * (To stretch the term, adapter-like method handles may have multiple
+ * targets or be polymorphic across multiple call types.)
+ * <p>
+ * This adapter can sometimes be more directly implemented
+ * by the JVM's built-in OP_SPREAD_ARGS adapter.
+ * @author jrose
+ */
+class FromGeneric {
+ // type for the outgoing call (may have primitives, etc.)
+ private final MethodType targetType;
+ // type of the outgoing call internal to the adapter
+ private final MethodType internalType;
+ // prototype adapter (clone and customize for each new target!)
+ private final Adapter adapter;
+ // entry point for adapter (Adapter mh, a...) => ...
+ private final MethodHandle entryPoint;
+ // unboxing invoker of type (MH, Object**N) => raw return value
+ // it makes up the difference of internalType => targetType
+ private final MethodHandle unboxingInvoker;
+ // conversion which boxes a the target's raw return value
+ private final MethodHandle returnConversion;
+
+ /** Compute and cache information common to all unboxing adapters
+ * that can call out to targets of the erasure-family of the given erased type.
+ */
+ private FromGeneric(MethodType targetType) {
+ this.targetType = targetType;
+ MethodType internalType0;
+ // the target invoker will generally need casts on reference arguments
+ Adapter ad = findAdapter(internalType0 = targetType.erase());
+ if (ad != null) {
+ // Immediate hit to exactly the adapter we want,
+ // with no monkeying around with primitive types.
+ this.internalType = internalType0;
+ this.adapter = ad;
+ this.entryPoint = ad.prototypeEntryPoint();
+ this.returnConversion = computeReturnConversion(targetType, internalType0);
+ this.unboxingInvoker = computeUnboxingInvoker(targetType, internalType0);
+ return;
+ }
+
+ // outgoing primitive arguments will be wrapped; unwrap them
+ MethodType primsAsObj = MethodTypeImpl.of(targetType).primArgsAsBoxes();
+ MethodType objArgsRawRet = MethodTypeImpl.of(primsAsObj).primsAsInts();
+ if (objArgsRawRet != targetType)
+ ad = findAdapter(internalType0 = objArgsRawRet);
+ if (ad == null) {
+ ad = buildAdapterFromBytecodes(internalType0 = targetType);
+ }
+ this.internalType = internalType0;
+ this.adapter = ad;
+ MethodType tepType = targetType.insertParameterType(0, adapter.getClass());
+ this.entryPoint = ad.prototypeEntryPoint();
+ this.returnConversion = computeReturnConversion(targetType, internalType0);
+ this.unboxingInvoker = computeUnboxingInvoker(targetType, internalType0);
+ }
+
+ /**
+ * The typed target will be called according to targetType.
+ * The adapter code will in fact see the raw result from internalType,
+ * and must box it into an object. Produce a converter for this.
+ */
+ private static MethodHandle computeReturnConversion(
+ MethodType targetType, MethodType internalType) {
+ Class<?> tret = targetType.returnType();
+ Class<?> iret = internalType.returnType();
+ Wrapper wrap = Wrapper.forBasicType(tret);
+ if (!iret.isPrimitive()) {
+ assert(iret == Object.class);
+ return ValueConversions.identity();
+ } else if (wrap.primitiveType() == iret) {
+ return ValueConversions.box(wrap, false);
+ } else {
+ assert(tret == double.class ? iret == long.class : iret == int.class);
+ return ValueConversions.boxRaw(wrap, false);
+ }
+ }
+
+ /**
+ * The typed target will need an exact invocation point; provide it here.
+ * The adapter will possibly need to make a slightly different call,
+ * so adapt the invoker. This way, the logic for making up the
+ * difference between what the adapter can call and what the target
+ * needs can be cached once per type.
+ */
+ private static MethodHandle computeUnboxingInvoker(
+ MethodType targetType, MethodType internalType) {
+ // All the adapters we have here have reference-untyped internal calls.
+ assert(internalType == internalType.erase());
+ MethodHandle invoker = MethodHandles.exactInvoker(targetType);
+ // cast all narrow reference types, unbox all primitive arguments:
+ MethodType fixArgsType = internalType.changeReturnType(targetType.returnType());
+ MethodHandle fixArgs = AdapterMethodHandle.convertArguments(Access.TOKEN,
+ invoker, Invokers.invokerType(fixArgsType),
+ invoker.type(), null);
+ if (fixArgs == null)
+ throw new InternalError("bad fixArgs");
+ // reinterpret the calling sequence as raw:
+ MethodHandle retyper = AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN,
+ Invokers.invokerType(internalType), fixArgs);
+ if (retyper == null)
+ throw new InternalError("bad retyper");
+ return retyper;
+ }
+
+ Adapter makeInstance(MethodHandle typedTarget) {
+ MethodType type = typedTarget.type();
+ if (type == targetType) {
+ return adapter.makeInstance(entryPoint, unboxingInvoker, returnConversion, typedTarget);
+ }
+ // my erased-type is not exactly the same as the desired type
+ assert(type.erase() == targetType); // else we are busted
+ MethodHandle invoker = computeUnboxingInvoker(type, internalType);
+ return adapter.makeInstance(entryPoint, invoker, returnConversion, typedTarget);
+ }
+
+ /** Build an adapter of the given generic type, which invokes typedTarget
+ * on the incoming arguments, after unboxing as necessary.
+ * The return value is boxed if necessary.
+ * @param genericType the required type of the result
+ * @param typedTarget the target
+ * @return an adapter method handle
+ */
+ public static MethodHandle make(MethodHandle typedTarget) {
+ MethodType type = typedTarget.type();
+ if (type == type.generic()) return typedTarget;
+ return FromGeneric.of(type).makeInstance(typedTarget);
+ }
+
+ /** Return the adapter information for this type's erasure. */
+ static FromGeneric of(MethodType type) {
+ MethodTypeImpl form = MethodTypeImpl.of(type);
+ FromGeneric fromGen = form.fromGeneric;
+ if (fromGen == null)
+ form.fromGeneric = fromGen = new FromGeneric(form.erasedType());
+ return fromGen;
+ }
+
+ public String toString() {
+ return "FromGeneric"+targetType;
+ }
+
+ /* Create an adapter that handles spreading calls for the given type. */
+ static Adapter findAdapter(MethodType internalType) {
+ MethodType entryType = internalType.generic();
+ MethodTypeImpl form = MethodTypeImpl.of(internalType);
+ Class<?> rtype = internalType.returnType();
+ int argc = form.parameterCount();
+ int lac = form.longPrimitiveParameterCount();
+ int iac = form.primitiveParameterCount() - lac;
+ String intsAndLongs = (iac > 0 ? "I"+iac : "")+(lac > 0 ? "J"+lac : "");
+ String rawReturn = String.valueOf(Wrapper.forPrimitiveType(rtype).basicTypeChar());
+ String cname0 = rawReturn + argc;
+ String cname1 = "A" + argc;
+ String[] cnames = { cname0+intsAndLongs, cname0, cname1+intsAndLongs, cname1 };
+ String iname = "invoke_"+cname0+intsAndLongs;
+ // e.g., D5I2, D5, L5I2, L5; invoke_D5
+ for (String cname : cnames) {
+ Class<? extends Adapter> acls = Adapter.findSubClass(cname);
+ if (acls == null) continue;
+ // see if it has the required invoke method
+ MethodHandle entryPoint = null;
+ try {
+ entryPoint = MethodHandleImpl.IMPL_LOOKUP.findSpecial(acls, iname, entryType, acls);
+ } catch (NoAccessException ex) {
+ }
+ if (entryPoint == null) continue;
+ Constructor<? extends Adapter> ctor = null;
+ try {
+ ctor = acls.getDeclaredConstructor(MethodHandle.class);
+ } catch (NoSuchMethodException ex) {
+ } catch (SecurityException ex) {
+ }
+ if (ctor == null) continue;
+ try {
+ // Produce an instance configured as a prototype.
+ return ctor.newInstance(entryPoint);
+ } catch (IllegalArgumentException ex) {
+ } catch (InvocationTargetException ex) {
+ } catch (InstantiationException ex) {
+ } catch (IllegalAccessException ex) {
+ }
+ }
+ return null;
+ }
+
+ static Adapter buildAdapterFromBytecodes(MethodType internalType) {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ /**
+ * This adapter takes some untyped arguments, and returns an untyped result.
+ * Internally, it applies the invoker to the target, which causes the
+ * objects to be unboxed; the result is a raw type in L/I/J/F/D.
+ * This result is passed to convert, which is responsible for
+ * converting the raw result into a boxed object.
+ * The invoker is kept separate from the target because it can be
+ * generated once per type erasure family, and reused across adapters.
+ */
+ static abstract class Adapter extends JavaMethodHandle {
+ /*
+ * class X<<R,int N>> extends Adapter {
+ * (MH, Object**N)=>raw(R) invoker;
+ * (any**N)=>R target;
+ * raw(R)=>Object convert;
+ * Object invoke(Object**N a) = convert(invoker(target, a...))
+ * }
+ */
+ protected final MethodHandle invoker; // (MH, Object**N) => raw(R)
+ protected final MethodHandle convert; // raw(R) => Object
+ protected final MethodHandle target; // (any**N) => R
+
+ protected boolean isPrototype() { return target == null; }
+ protected Adapter(MethodHandle entryPoint) {
+ this(entryPoint, null, entryPoint, null);
+ assert(isPrototype());
+ }
+ protected MethodHandle prototypeEntryPoint() {
+ if (!isPrototype()) throw new InternalError();
+ return convert;
+ }
+
+ protected Adapter(MethodHandle entryPoint,
+ MethodHandle invoker, MethodHandle convert, MethodHandle target) {
+ super(entryPoint);
+ this.invoker = invoker;
+ this.convert = convert;
+ this.target = target;
+ }
+
+ /** Make a copy of self, with new fields. */
+ protected abstract Adapter makeInstance(MethodHandle entryPoint,
+ MethodHandle invoker, MethodHandle convert, MethodHandle target);
+ // { return new ThisType(entryPoint, convert, target); }
+
+ /// Conversions on the value returned from the target.
+ protected Object convert_L(Object result) { return convert.<Object>invoke(result); }
+ protected Object convert_I(int result) { return convert.<Object>invoke(result); }
+ protected Object convert_J(long result) { return convert.<Object>invoke(result); }
+ protected Object convert_F(float result) { return convert.<Object>invoke(result); }
+ protected Object convert_D(double result) { return convert.<Object>invoke(result); }
+
+ static private final String CLASS_PREFIX; // "sun.dyn.FromGeneric$"
+ static {
+ String aname = Adapter.class.getName();
+ String sname = Adapter.class.getSimpleName();
+ if (!aname.endsWith(sname)) throw new InternalError();
+ CLASS_PREFIX = aname.substring(0, aname.length() - sname.length());
+ }
+ /** Find a sibing class of Adapter. */
+ static Class<? extends Adapter> findSubClass(String name) {
+ String cname = Adapter.CLASS_PREFIX + name;
+ try {
+ return Class.forName(cname).asSubclass(Adapter.class);
+ } catch (ClassNotFoundException ex) {
+ return null;
+ } catch (ClassCastException ex) {
+ return null;
+ }
+ }
+ }
+
+ /* generated classes follow this pattern:
+ static class xA2 extends Adapter {
+ protected xA2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected xA2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected xA2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new xA2(e, i, c, t); }
+ protected Object invoke_L2(Object a0, Object a1) { return convert_L(invoker.<Object>invoke(target, a0, a1)); }
+ protected Object invoke_I2(Object a0, Object a1) { return convert_I(invoker.<int >invoke(target, a0, a1)); }
+ protected Object invoke_J2(Object a0, Object a1) { return convert_J(invoker.<long >invoke(target, a0, a1)); }
+ protected Object invoke_F2(Object a0, Object a1) { return convert_F(invoker.<float >invoke(target, a0, a1)); }
+ protected Object invoke_D2(Object a0, Object a1) { return convert_D(invoker.<double>invoke(target, a0, a1)); }
+ }
+ // */
+
+/*
+: SHELL; n=FromGeneric; cp -p $n.java $n.java-; sed < $n.java- > $n.java+ -e '/{{*{{/,/}}*}}/w /tmp/genclasses.java' -e '/}}*}}/q'; (cd /tmp; javac -d . genclasses.java; java -cp . genclasses) >> $n.java+; echo '}' >> $n.java+; mv $n.java+ $n.java; mv $n.java- $n.java~
+//{{{
+import java.util.*;
+class genclasses {
+ static String[] TYPES = { "Object", "int ", "long ", "float ", "double" };
+ static String[] TCHARS = { "L", "I", "J", "F", "D", "A" };
+ static String[][] TEMPLATES = { {
+ "@for@ arity=0..10 rcat<=4 nrefs<=99 nints=0 nlongs=0",
+ " //@each-cat@",
+ " static class @cat@ extends Adapter {",
+ " protected @cat@(MethodHandle entryPoint) { super(entryPoint); } // to build prototype",
+ " protected @cat@(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)",
+ " { super(e, i, c, t); }",
+ " protected @cat@ makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)",
+ " { return new @cat@(e, i, c, t); }",
+ " //@each-R@",
+ " protected Object invoke_@catN@(@Tvav@) { return convert_@Rc@(invoker.<@R@>invoke(target@av@)); }",
+ " //@end-R@",
+ " }",
+ } };
+ static final String NEWLINE_INDENT = "\n ";
+ enum VAR {
+ cat, catN, R, Rc, av, Tvav, Ovav;
+ public final String pattern = "@"+toString().replace('_','.')+"@";
+ public String binding;
+ static void makeBindings(boolean topLevel, int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ if (topLevel)
+ VAR.cat.binding = catstr(ALL_RETURN_TYPES ? TYPES.length : rcat, nrefs, nints, nlongs);
+ VAR.catN.binding = catstr(rcat, nrefs, nints, nlongs);
+ VAR.R.binding = TYPES[rcat];
+ VAR.Rc.binding = TCHARS[rcat];
+ String[] Tv = new String[nargs];
+ String[] av = new String[nargs];
+ String[] Tvav = new String[nargs];
+ String[] Ovav = new String[nargs];
+ for (int i = 0; i < nargs; i++) {
+ int tcat = (i < nrefs) ? 0 : (i < nrefs + nints) ? 1 : 2;
+ Tv[i] = TYPES[tcat];
+ av[i] = arg(i);
+ Tvav[i] = param(Tv[i], av[i]);
+ Ovav[i] = param("Object", av[i]);
+ }
+ VAR.av.binding = comma(", ", av);
+ VAR.Tvav.binding = comma(Tvav);
+ VAR.Ovav.binding = comma(Ovav);
+ }
+ static String arg(int i) { return "a"+i; }
+ static String param(String t, String a) { return t+" "+a; }
+ static String comma(String[] v) { return comma("", v); }
+ static String comma(String sep, String[] v) {
+ if (v.length == 0) return "";
+ String res = sep+v[0];
+ for (int i = 1; i < v.length; i++) res += ", "+v[i];
+ return res;
+ }
+ static String transform(String string) {
+ for (VAR var : values())
+ string = string.replaceAll(var.pattern, var.binding);
+ return string;
+ }
+ }
+ static String[] stringsIn(String[] strings, int beg, int end) {
+ return Arrays.copyOfRange(strings, beg, Math.min(end, strings.length));
+ }
+ static String[] stringsBefore(String[] strings, int pos) {
+ return stringsIn(strings, 0, pos);
+ }
+ static String[] stringsAfter(String[] strings, int pos) {
+ return stringsIn(strings, pos, strings.length);
+ }
+ static int indexAfter(String[] strings, int pos, String tag) {
+ return Math.min(indexBefore(strings, pos, tag) + 1, strings.length);
+ }
+ static int indexBefore(String[] strings, int pos, String tag) {
+ for (int i = pos, end = strings.length; ; i++) {
+ if (i == end || strings[i].endsWith(tag)) return i;
+ }
+ }
+ static int MIN_ARITY, MAX_ARITY, MAX_RCAT, MAX_REFS, MAX_INTS, MAX_LONGS;
+ static boolean ALL_ARG_TYPES, ALL_RETURN_TYPES;
+ static HashSet<String> done = new HashSet<String>();
+ public static void main(String... av) {
+ for (String[] template : TEMPLATES) {
+ int forLinesLimit = indexBefore(template, 0, "@each-cat@");
+ String[] forLines = stringsBefore(template, forLinesLimit);
+ template = stringsAfter(template, forLinesLimit);
+ for (String forLine : forLines)
+ expandTemplate(forLine, template);
+ }
+ }
+ static void expandTemplate(String forLine, String[] template) {
+ String[] params = forLine.split("[^0-9]+");
+ if (params[0].length() == 0) params = stringsAfter(params, 1);
+ System.out.println("//params="+Arrays.asList(params));
+ int pcur = 0;
+ MIN_ARITY = Integer.valueOf(params[pcur++]);
+ MAX_ARITY = Integer.valueOf(params[pcur++]);
+ MAX_RCAT = Integer.valueOf(params[pcur++]);
+ MAX_REFS = Integer.valueOf(params[pcur++]);
+ MAX_INTS = Integer.valueOf(params[pcur++]);
+ MAX_LONGS = Integer.valueOf(params[pcur++]);
+ if (pcur != params.length) throw new RuntimeException("bad extra param: "+forLine);
+ if (MAX_RCAT >= TYPES.length) MAX_RCAT = TYPES.length - 1;
+ ALL_ARG_TYPES = (indexBefore(template, 0, "@each-Tv@") < template.length);
+ ALL_RETURN_TYPES = (indexBefore(template, 0, "@each-R@") < template.length);
+ for (int nargs = MIN_ARITY; nargs <= MAX_ARITY; nargs++) {
+ for (int rcat = 0; rcat <= MAX_RCAT; rcat++) {
+ expandTemplate(template, true, rcat, nargs, 0, 0);
+ if (ALL_ARG_TYPES) break;
+ expandTemplateForPrims(template, true, rcat, nargs, 1, 1);
+ if (ALL_RETURN_TYPES) break;
+ }
+ }
+ }
+ static String catstr(int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ String cat = TCHARS[rcat] + nargs;
+ if (!ALL_ARG_TYPES) cat += (nints==0?"":"I"+nints)+(nlongs==0?"":"J"+nlongs);
+ return cat;
+ }
+ static void expandTemplateForPrims(String[] template, boolean topLevel, int rcat, int nargs, int minints, int minlongs) {
+ for (int isLong = 0; isLong <= 1; isLong++) {
+ for (int nprims = 1; nprims <= nargs; nprims++) {
+ int nrefs = nargs - nprims;
+ int nints = ((1-isLong) * nprims);
+ int nlongs = (isLong * nprims);
+ expandTemplate(template, topLevel, rcat, nrefs, nints, nlongs);
+ }
+ }
+ }
+ static void expandTemplate(String[] template, boolean topLevel,
+ int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ if (nrefs > MAX_REFS || nints > MAX_INTS || nlongs > MAX_LONGS) return;
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ if (topLevel && !done.add(VAR.cat.binding)) {
+ System.out.println(" //repeat "+VAR.cat.binding);
+ return;
+ }
+ for (int i = 0; i < template.length; i++) {
+ String line = template[i];
+ if (line.endsWith("@each-cat@")) {
+ // ignore
+ } else if (line.endsWith("@each-R@")) {
+ int blockEnd = indexAfter(template, i, "@end-R@");
+ String[] block = stringsIn(template, i+1, blockEnd-1);
+ for (int rcat1 = rcat; rcat1 <= MAX_RCAT; rcat1++)
+ expandTemplate(block, false, rcat1, nrefs, nints, nlongs);
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ i = blockEnd-1; continue;
+ } else if (line.endsWith("@each-Tv@")) {
+ int blockEnd = indexAfter(template, i, "@end-Tv@");
+ String[] block = stringsIn(template, i+1, blockEnd-1);
+ expandTemplate(block, false, rcat, nrefs, nints, nlongs);
+ expandTemplateForPrims(block, false, rcat, nargs, nints+1, nlongs+1);
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ i = blockEnd-1; continue;
+ } else {
+ System.out.println(VAR.transform(line));
+ }
+ }
+ }
+}
+//}}} */
+//params=[0, 10, 4, 99, 0, 0]
+ static class A0 extends Adapter {
+ protected A0(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A0(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A0 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A0(e, i, c, t); }
+ protected Object invoke_L0() { return convert_L(invoker.<Object>invoke(target)); }
+ protected Object invoke_I0() { return convert_I(invoker.<int >invoke(target)); }
+ protected Object invoke_J0() { return convert_J(invoker.<long >invoke(target)); }
+ protected Object invoke_F0() { return convert_F(invoker.<float >invoke(target)); }
+ protected Object invoke_D0() { return convert_D(invoker.<double>invoke(target)); }
+ }
+ static class A1 extends Adapter {
+ protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A1(e, i, c, t); }
+ protected Object invoke_L1(Object a0) { return convert_L(invoker.<Object>invoke(target, a0)); }
+ protected Object invoke_I1(Object a0) { return convert_I(invoker.<int >invoke(target, a0)); }
+ protected Object invoke_J1(Object a0) { return convert_J(invoker.<long >invoke(target, a0)); }
+ protected Object invoke_F1(Object a0) { return convert_F(invoker.<float >invoke(target, a0)); }
+ protected Object invoke_D1(Object a0) { return convert_D(invoker.<double>invoke(target, a0)); }
+ }
+ static class A2 extends Adapter {
+ protected A2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A2(e, i, c, t); }
+ protected Object invoke_L2(Object a0, Object a1) { return convert_L(invoker.<Object>invoke(target, a0, a1)); }
+ protected Object invoke_I2(Object a0, Object a1) { return convert_I(invoker.<int >invoke(target, a0, a1)); }
+ protected Object invoke_J2(Object a0, Object a1) { return convert_J(invoker.<long >invoke(target, a0, a1)); }
+ protected Object invoke_F2(Object a0, Object a1) { return convert_F(invoker.<float >invoke(target, a0, a1)); }
+ protected Object invoke_D2(Object a0, Object a1) { return convert_D(invoker.<double>invoke(target, a0, a1)); }
+ }
+ static class A3 extends Adapter {
+ protected A3(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A3(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A3 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A3(e, i, c, t); }
+ protected Object invoke_L3(Object a0, Object a1, Object a2) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2)); }
+ protected Object invoke_I3(Object a0, Object a1, Object a2) { return convert_I(invoker.<int >invoke(target, a0, a1, a2)); }
+ protected Object invoke_J3(Object a0, Object a1, Object a2) { return convert_J(invoker.<long >invoke(target, a0, a1, a2)); }
+ protected Object invoke_F3(Object a0, Object a1, Object a2) { return convert_F(invoker.<float >invoke(target, a0, a1, a2)); }
+ protected Object invoke_D3(Object a0, Object a1, Object a2) { return convert_D(invoker.<double>invoke(target, a0, a1, a2)); }
+ }
+ static class A4 extends Adapter {
+ protected A4(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A4(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A4 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A4(e, i, c, t); }
+ protected Object invoke_L4(Object a0, Object a1, Object a2, Object a3) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3)); }
+ protected Object invoke_I4(Object a0, Object a1, Object a2, Object a3) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3)); }
+ protected Object invoke_J4(Object a0, Object a1, Object a2, Object a3) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3)); }
+ protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3)); }
+ protected Object invoke_D4(Object a0, Object a1, Object a2, Object a3) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3)); }
+ }
+ static class A5 extends Adapter {
+ protected A5(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A5(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A5 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A5(e, i, c, t); }
+ protected Object invoke_L5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4)); }
+ protected Object invoke_I5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4)); }
+ protected Object invoke_J5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4)); }
+ protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4)); }
+ protected Object invoke_D5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4)); }
+ }
+ static class A6 extends Adapter {
+ protected A6(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A6(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A6 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A6(e, i, c, t); }
+ protected Object invoke_L6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_I6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_J6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_D6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5)); }
+ }
+ static class A7 extends Adapter {
+ protected A7(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A7(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A7 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A7(e, i, c, t); }
+ protected Object invoke_L7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_I7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_J7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_D7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6)); }
+ }
+ static class A8 extends Adapter {
+ protected A8(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A8(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A8 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A8(e, i, c, t); }
+ protected Object invoke_L8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_I8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_J8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_D8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+ }
+ static class A9 extends Adapter {
+ protected A9(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A9(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A9 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A9(e, i, c, t); }
+ protected Object invoke_L9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_I9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_J9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_D9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ }
+ static class A10 extends Adapter {
+ protected A10(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A10(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { super(e, i, c, t); }
+ protected A10 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+ { return new A10(e, i, c, t); }
+ protected Object invoke_L10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_I10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_J10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_D10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/Invokers.java b/jdk/src/share/classes/sun/dyn/Invokers.java
new file mode 100644
index 0000000..eddd437
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/Invokers.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.MethodHandle;
+import java.dyn.MethodHandles;
+import java.dyn.MethodType;
+
+
+/**
+ * Construction and caching of often-used invokers.
+ * @author jrose
+ */
+public class Invokers {
+ // exact type (sans leading taget MH) for the outgoing call
+ private final MethodType targetType;
+
+ // exact invoker for the outgoing call
+ private /*lazy*/ MethodHandle exactInvoker;
+
+ // generic (untyped) invoker for the outgoing call
+ private /*lazy*/ MethodHandle genericInvoker;
+
+ /** Compute and cache information common to all collecting adapters
+ * that implement members of the erasure-family of the given erased type.
+ */
+ public Invokers(Access token, MethodType targetType) {
+ Access.check(token);
+ this.targetType = targetType;
+ }
+
+ public static MethodType invokerType(MethodType targetType) {
+ return targetType.insertParameterType(0, MethodHandle.class);
+ }
+
+ public MethodHandle exactInvoker() {
+ MethodHandle invoker = exactInvoker;
+ if (invoker != null) return invoker;
+ invoker = MethodHandleImpl.IMPL_LOOKUP.findVirtual(MethodHandle.class, "invoke", targetType);
+ if (invoker == null) throw new InternalError("JVM cannot find invoker for "+targetType);
+ assert(invokerType(targetType) == invoker.type());
+ exactInvoker = invoker;
+ return invoker;
+ }
+
+ public MethodHandle genericInvoker() {
+ MethodHandle invoker1 = exactInvoker();
+ MethodHandle invoker = genericInvoker;
+ if (invoker != null) return invoker;
+ MethodType genericType = targetType.generic();
+ invoker = MethodHandles.convertArguments(invoker1, invokerType(genericType));
+ genericInvoker = invoker;
+ return invoker;
+ }
+
+ public MethodHandle varargsInvoker() {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public String toString() {
+ return "Invokers"+targetType;
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/MemberName.java b/jdk/src/share/classes/sun/dyn/MemberName.java
new file mode 100644
index 0000000..a5ea25e
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/MemberName.java
@@ -0,0 +1,552 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import sun.dyn.util.BytecodeSignature;
+import java.dyn.*;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Member;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import static sun.dyn.MethodHandleNatives.Constants.*;
+
+/**
+ * Compact information which fully characterizes a method or field reference.
+ * When resolved, it includes a direct pointer to JVM metadata.
+ * This representation is stateless and only decriptive.
+ * It provides no private information and no capability to use the member.
+ * <p>
+ * By contrast, a java.lang.reflect.Method contains fuller information
+ * about the internals of a method (except its bytecodes) and also
+ * allows invocation. A MemberName is much lighter than a reflect.Method,
+ * since it contains about 7 fields to Method's 16 (plus its sub-arrays),
+ * and those seven fields omit much of the information in Method.
+ * @author jrose
+ */
+public final class MemberName implements Member, Cloneable {
+ private Class<?> clazz; // class in which the method is defined
+ private String name; // may be null if not yet materialized
+ private Object type; // may be null if not yet materialized
+ private int flags; // modifier bits; see reflect.Modifier
+
+ private Object vmtarget; // VM-specific target value
+ private int vmindex; // method index within class or interface
+
+ { vmindex = VM_INDEX_UNINITIALIZED; }
+
+ public Class<?> getDeclaringClass() {
+ if (clazz == null && isResolved()) {
+ expandFromVM();
+ }
+ return clazz;
+ }
+
+ public ClassLoader getClassLoader() {
+ return clazz.getClassLoader();
+ }
+
+ public String getName() {
+ if (name == null) {
+ expandFromVM();
+ if (name == null) return null;
+ }
+ return name;
+ }
+
+ public MethodType getMethodType() {
+ if (type == null) {
+ expandFromVM();
+ if (type == null) return null;
+ }
+ if (!isInvocable())
+ throw newIllegalArgumentException("not invocable, no method type");
+ if (type instanceof MethodType) {
+ return (MethodType) type;
+ }
+ if (type instanceof String) {
+ String sig = (String) type;
+ MethodType res = MethodType.fromBytecodeString(sig, getClassLoader());
+ this.type = res;
+ return res;
+ }
+ if (type instanceof Object[]) {
+ Object[] typeInfo = (Object[]) type;
+ Class<?>[] ptypes = (Class<?>[]) typeInfo[1];
+ Class<?> rtype = (Class<?>) typeInfo[0];
+ MethodType res = MethodType.make(rtype, ptypes);
+ this.type = res;
+ return res;
+ }
+ throw new InternalError("bad method type "+type);
+ }
+
+ public MethodType getInvocationType() {
+ MethodType itype = getMethodType();
+ if (!isStatic())
+ itype = itype.insertParameterType(0, clazz);
+ return itype;
+ }
+
+ public Class<?>[] getParameterTypes() {
+ return getMethodType().parameterArray();
+ }
+
+ public Class<?> getReturnType() {
+ return getMethodType().returnType();
+ }
+
+ public Class<?> getFieldType() {
+ if (type == null) {
+ expandFromVM();
+ if (type == null) return null;
+ }
+ if (isInvocable())
+ throw newIllegalArgumentException("not a field or nested class, no simple type");
+ if (type instanceof Class<?>) {
+ return (Class<?>) type;
+ }
+ if (type instanceof String) {
+ String sig = (String) type;
+ MethodType mtype = MethodType.fromBytecodeString("()"+sig, getClassLoader());
+ Class<?> res = mtype.returnType();
+ this.type = res;
+ return res;
+ }
+ throw new InternalError("bad field type "+type);
+ }
+
+ public Object getType() {
+ return (isInvocable() ? getMethodType() : getFieldType());
+ }
+
+ public String getSignature() {
+ if (type == null) {
+ expandFromVM();
+ if (type == null) return null;
+ }
+ if (type instanceof String)
+ return (String) type;
+ if (isInvocable())
+ return BytecodeSignature.unparse(getMethodType());
+ else
+ return BytecodeSignature.unparse(getFieldType());
+ }
+
+ public int getModifiers() {
+ return (flags & RECOGNIZED_MODIFIERS);
+ }
+
+ private void setFlags(int flags) {
+ this.flags = flags;
+ assert(testAnyFlags(ALL_KINDS));
+ }
+
+ private boolean testFlags(int mask, int value) {
+ return (flags & mask) == value;
+ }
+ private boolean testAllFlags(int mask) {
+ return testFlags(mask, mask);
+ }
+ private boolean testAnyFlags(int mask) {
+ return !testFlags(mask, 0);
+ }
+
+ public boolean isStatic() {
+ return Modifier.isStatic(flags);
+ }
+ public boolean isPublic() {
+ return Modifier.isPublic(flags);
+ }
+ public boolean isPrivate() {
+ return Modifier.isPrivate(flags);
+ }
+ public boolean isProtected() {
+ return Modifier.isProtected(flags);
+ }
+ public boolean isFinal() {
+ return Modifier.isFinal(flags);
+ }
+ public boolean isAbstract() {
+ return Modifier.isAbstract(flags);
+ }
+ // let the rest (native, volatile, transient, etc.) be tested via Modifier.isFoo
+
+ // unofficial modifier flags, used by HotSpot:
+ static final int BRIDGE = 0x00000040;
+ static final int VARARGS = 0x00000080;
+ static final int SYNTHETIC = 0x00001000;
+ static final int ANNOTATION= 0x00002000;
+ static final int ENUM = 0x00004000;
+ public boolean isBridge() {
+ return testAllFlags(IS_METHOD | BRIDGE);
+ }
+ public boolean isVarargs() {
+ return testAllFlags(VARARGS) && isInvocable();
+ }
+ public boolean isSynthetic() {
+ return testAllFlags(SYNTHETIC);
+ }
+
+ static final String CONSTRUCTOR_NAME = "<init>"; // the ever-popular
+
+ // modifiers exported by the JVM:
+ static final int RECOGNIZED_MODIFIERS = 0xFFFF;
+
+ // private flags, not part of RECOGNIZED_MODIFIERS:
+ static final int
+ IS_METHOD = MN_IS_METHOD, // method (not constructor)
+ IS_CONSTRUCTOR = MN_IS_CONSTRUCTOR, // constructor
+ IS_FIELD = MN_IS_FIELD, // field
+ IS_TYPE = MN_IS_TYPE; // nested type
+ static final int // for MethodHandleNatives.getMembers
+ SEARCH_SUPERCLASSES = MN_SEARCH_SUPERCLASSES,
+ SEARCH_INTERFACES = MN_SEARCH_INTERFACES;
+
+ static final int ALL_ACCESS = Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED;
+ static final int ALL_KINDS = IS_METHOD | IS_CONSTRUCTOR | IS_FIELD | IS_TYPE;
+ static final int IS_INVOCABLE = IS_METHOD | IS_CONSTRUCTOR;
+ static final int IS_FIELD_OR_METHOD = IS_METHOD | IS_FIELD;
+ static final int SEARCH_ALL_SUPERS = SEARCH_SUPERCLASSES | SEARCH_INTERFACES;
+
+ public boolean isInvocable() {
+ return testAnyFlags(IS_INVOCABLE);
+ }
+ public boolean isFieldOrMethod() {
+ return testAnyFlags(IS_FIELD_OR_METHOD);
+ }
+ public boolean isMethod() {
+ return testAllFlags(IS_METHOD);
+ }
+ public boolean isConstructor() {
+ return testAllFlags(IS_CONSTRUCTOR);
+ }
+ public boolean isField() {
+ return testAllFlags(IS_FIELD);
+ }
+ public boolean isType() {
+ return testAllFlags(IS_TYPE);
+ }
+ public boolean isPackage() {
+ return !testAnyFlags(ALL_ACCESS);
+ }
+
+ /** Initialize a query. It is not resolved. */
+ private void init(Class<?> defClass, String name, Object type, int flags) {
+ // defining class is allowed to be null (for a naked name/type pair)
+ name.toString(); // null check
+ type.equals(type); // null check
+ // fill in fields:
+ this.clazz = defClass;
+ this.name = name;
+ this.type = type;
+ setFlags(flags);
+ assert(!isResolved());
+ }
+
+ private void expandFromVM() {
+ if (!isResolved()) return;
+ if (type instanceof Object[])
+ type = null; // don't saddle JVM w/ typeInfo
+ MethodHandleNatives.expand(this);
+ }
+
+ // Capturing information from the Core Reflection API:
+ private static int flagsMods(int flags, int mods) {
+ assert((flags & RECOGNIZED_MODIFIERS) == 0);
+ assert((mods & ~RECOGNIZED_MODIFIERS) == 0);
+ return flags | mods;
+ }
+ public MemberName(Method m) {
+ Object[] typeInfo = { m.getReturnType(), m.getParameterTypes() };
+ init(m.getDeclaringClass(), m.getName(), typeInfo, flagsMods(IS_METHOD, m.getModifiers()));
+ // fill in vmtarget, vmindex while we have m in hand:
+ MethodHandleNatives.init(this, m);
+ assert(isResolved());
+ }
+ public MemberName(Constructor ctor) {
+ Object[] typeInfo = { void.class, ctor.getParameterTypes() };
+ init(ctor.getDeclaringClass(), CONSTRUCTOR_NAME, typeInfo, flagsMods(IS_CONSTRUCTOR, ctor.getModifiers()));
+ // fill in vmtarget, vmindex while we have ctor in hand:
+ MethodHandleNatives.init(this, ctor);
+ assert(isResolved());
+ }
+ public MemberName(Field fld) {
+ init(fld.getDeclaringClass(), fld.getName(), fld.getType(), flagsMods(IS_FIELD, fld.getModifiers()));
+ // fill in vmtarget, vmindex while we have fld in hand:
+ MethodHandleNatives.init(this, fld);
+ assert(isResolved());
+ }
+ public MemberName(Class<?> type) {
+ init(type.getDeclaringClass(), type.getSimpleName(), type, flagsMods(IS_TYPE, type.getModifiers()));
+ vmindex = 0; // isResolved
+ assert(isResolved());
+ }
+
+ // bare-bones constructor; the JVM will fill it in
+ MemberName() { }
+
+ // locally useful cloner
+ @Override protected MemberName clone() {
+ try {
+ return (MemberName) super.clone();
+ } catch (CloneNotSupportedException ex) {
+ throw new InternalError();
+ }
+ }
+
+ // %%% define equals/hashcode?
+
+ // Construction from symbolic parts, for queries:
+ public MemberName(Class<?> defClass, String name, Class<?> type, int modifiers) {
+ init(defClass, name, type, IS_FIELD | (modifiers & RECOGNIZED_MODIFIERS));
+ }
+ public MemberName(Class<?> defClass, String name, Class<?> type) {
+ this(defClass, name, type, 0);
+ }
+ public MemberName(Class<?> defClass, String name, MethodType type, int modifiers) {
+ int flagBit = (name.equals(CONSTRUCTOR_NAME) ? IS_CONSTRUCTOR : IS_METHOD);
+ init(defClass, name, type, flagBit | (modifiers & RECOGNIZED_MODIFIERS));
+ }
+ public MemberName(Class<?> defClass, String name, MethodType type) {
+ this(defClass, name, type, 0);
+ }
+
+ boolean isResolved() {
+ return (vmindex != VM_INDEX_UNINITIALIZED);
+ }
+
+ public boolean hasReceiverTypeDispatch() {
+ return (isMethod() && getVMIndex(Access.TOKEN) >= 0);
+ }
+
+ @Override
+ public String toString() {
+ if (isType())
+ return type.toString(); // class java.lang.String
+ // else it is a field, method, or constructor
+ StringBuilder buf = new StringBuilder();
+ if (getDeclaringClass() != null) {
+ buf.append(getName(clazz));
+ buf.append('.');
+ }
+ buf.append(getName());
+ if (!isInvocable()) buf.append('/');
+ buf.append(getName(getType()));
+ /*
+ buf.append('/');
+ // key: Public, private, pRotected, sTatic, Final, sYnchronized,
+ // transient/Varargs, native, (interface), abstract, sTrict, sYnthetic,
+ // (annotation), Enum, (unused)
+ final String FIELD_MOD_CHARS = "PprTF?vt????Y?E?";
+ final String METHOD_MOD_CHARS = "PprTFybVn?atY???";
+ String modChars = (isInvocable() ? METHOD_MOD_CHARS : FIELD_MOD_CHARS);
+ for (int i = 0; i < modChars.length(); i++) {
+ if ((flags & (1 << i)) != 0) {
+ char mc = modChars.charAt(i);
+ if (mc != '.')
+ buf.append(mc);
+ }
+ }
+ */
+ return buf.toString();
+ }
+ private static String getName(Object obj) {
+ if (obj instanceof Class<?>)
+ return ((Class<?>)obj).getName();
+ return obj.toString();
+ }
+
+ // Queries to the JVM:
+ public int getVMIndex(Access token) {
+ Access.check(token);
+ if (!isResolved())
+ throw newIllegalStateException("not resolved");
+ return vmindex;
+ }
+// public Object getVMTarget(Access token) {
+// Access.check(token);
+// if (!isResolved())
+// throw newIllegalStateException("not resolved");
+// return vmtarget;
+// }
+ private RuntimeException newIllegalStateException(String message) {
+ return new IllegalStateException(message+": "+this);
+ }
+
+ // handy shared exception makers (they simplify the common case code)
+ public static RuntimeException newIllegalArgumentException(String message) {
+ return new IllegalArgumentException(message);
+ }
+ public static NoAccessException newNoAccessException(MemberName name, Class<?> lookupClass) {
+ return newNoAccessException("cannot access", name, lookupClass);
+ }
+ public static NoAccessException newNoAccessException(String message,
+ MemberName name, Class<?> lookupClass) {
+ message += ": " + name;
+ if (lookupClass != null) message += ", from " + lookupClass.getName();
+ return new NoAccessException(message);
+ }
+
+ /** Actually making a query requires an access check. */
+ public static Factory getFactory(Access token) {
+ Access.check(token);
+ return Factory.INSTANCE;
+ }
+ public static Factory getFactory() {
+ return getFactory(Access.getToken());
+ }
+ public static class Factory {
+ private Factory() { } // singleton pattern
+ static Factory INSTANCE = new Factory();
+
+ private static int ALLOWED_FLAGS = SEARCH_ALL_SUPERS | ALL_KINDS;
+
+ /// Queries
+ List<MemberName> getMembers(Class<?> defc,
+ String matchName, Object matchType,
+ int matchFlags, Class<?> lookupClass) {
+ matchFlags &= ALLOWED_FLAGS;
+ String matchSig = null;
+ if (matchType != null) {
+ matchSig = BytecodeSignature.unparse(matchType);
+ if (matchSig.startsWith("("))
+ matchFlags &= ~(ALL_KINDS & ~IS_INVOCABLE);
+ else
+ matchFlags &= ~(ALL_KINDS & ~IS_FIELD);
+ }
+ final int BUF_MAX = 0x2000;
+ int len1 = matchName == null ? 10 : matchType == null ? 4 : 1;
+ MemberName[] buf = newMemberBuffer(len1);
+ int totalCount = 0;
+ ArrayList<MemberName[]> bufs = null;
+ for (;;) {
+ int bufCount = MethodHandleNatives.getMembers(defc,
+ matchName, matchSig, matchFlags,
+ MethodHandleNatives.asNativeCaller(lookupClass),
+ totalCount, buf);
+ if (bufCount <= buf.length) {
+ if (bufCount >= 0)
+ totalCount += bufCount;
+ break;
+ }
+ // JVM returned tp us with an intentional overflow!
+ totalCount += buf.length;
+ int excess = bufCount - buf.length;
+ if (bufs == null) bufs = new ArrayList<MemberName[]>(1);
+ bufs.add(buf);
+ int len2 = buf.length;
+ len2 = Math.max(len2, excess);
+ len2 = Math.max(len2, totalCount / 4);
+ buf = newMemberBuffer(Math.min(BUF_MAX, len2));
+ }
+ ArrayList<MemberName> result = new ArrayList<MemberName>(totalCount);
+ if (bufs != null) {
+ for (MemberName[] buf0 : bufs) {
+ Collections.addAll(result, buf0);
+ }
+ }
+ Collections.addAll(result, buf);
+ // Signature matching is not the same as type matching, since
+ // one signature might correspond to several types.
+ // So if matchType is a Class or MethodType, refilter the results.
+ if (matchType != null && matchType != matchSig) {
+ for (Iterator<MemberName> it = result.iterator(); it.hasNext();) {
+ MemberName m = it.next();
+ if (!matchType.equals(m.getType()))
+ it.remove();
+ }
+ }
+ return result;
+ }
+ boolean resolveInPlace(MemberName m, boolean searchSupers, Class<?> lookupClass) {
+ Class<?> caller = MethodHandleNatives.asNativeCaller(lookupClass);
+ MethodHandleNatives.resolve(m, caller);
+ if (m.isResolved()) return true;
+ int matchFlags = m.flags | (searchSupers ? SEARCH_ALL_SUPERS : 0);
+ String matchSig = m.getSignature();
+ MemberName[] buf = { m };
+ int n = MethodHandleNatives.getMembers(m.getDeclaringClass(),
+ m.getName(), matchSig, matchFlags, caller, 0, buf);
+ if (n != 1) return false;
+ return m.isResolved();
+ }
+ public MemberName resolveOrNull(MemberName m, boolean searchSupers, Class<?> lookupClass) {
+ MemberName result = m.clone();
+ if (resolveInPlace(result, searchSupers, lookupClass))
+ return result;
+ return null;
+ }
+ public MemberName resolveOrFail(MemberName m, boolean searchSupers, Class<?> lookupClass) {
+ MemberName result = resolveOrNull(m, searchSupers, lookupClass);
+ if (result != null)
+ return result;
+ throw newNoAccessException(m, lookupClass);
+ }
+ public List<MemberName> getMethods(Class<?> defc, boolean searchSupers,
+ Class<?> lookupClass) {
+ return getMethods(defc, searchSupers, null, null, lookupClass);
+ }
+ public List<MemberName> getMethods(Class<?> defc, boolean searchSupers,
+ String name, MethodType type, Class<?> lookupClass) {
+ int matchFlags = IS_METHOD | (searchSupers ? SEARCH_ALL_SUPERS : 0);
+ return getMembers(defc, name, type, matchFlags, lookupClass);
+ }
+ public List<MemberName> getConstructors(Class<?> defc, Class<?> lookupClass) {
+ return getMembers(defc, null, null, IS_CONSTRUCTOR, lookupClass);
+ }
+ public List<MemberName> getFields(Class<?> defc, boolean searchSupers,
+ Class<?> lookupClass) {
+ return getFields(defc, searchSupers, null, null, lookupClass);
+ }
+ public List<MemberName> getFields(Class<?> defc, boolean searchSupers,
+ String name, Class<?> type, Class<?> lookupClass) {
+ int matchFlags = IS_FIELD | (searchSupers ? SEARCH_ALL_SUPERS : 0);
+ return getMembers(defc, name, type, matchFlags, lookupClass);
+ }
+ public List<MemberName> getNestedTypes(Class<?> defc, boolean searchSupers,
+ Class<?> lookupClass) {
+ int matchFlags = IS_TYPE | (searchSupers ? SEARCH_ALL_SUPERS : 0);
+ return getMembers(defc, null, null, matchFlags, lookupClass);
+ }
+ private static MemberName[] newMemberBuffer(int length) {
+ MemberName[] buf = new MemberName[length];
+ // fill the buffer with dummy structs for the JVM to fill in
+ for (int i = 0; i < length; i++)
+ buf[i] = new MemberName();
+ return buf;
+ }
+ }
+
+// static {
+// System.out.println("Hello world! My methods are:");
+// System.out.println(Factory.INSTANCE.getMethods(MemberName.class, true, null));
+// }
+}
diff --git a/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java b/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java
new file mode 100644
index 0000000..a063b6f
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java
@@ -0,0 +1,355 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.MethodHandle;
+import java.dyn.MethodHandles;
+import java.dyn.MethodHandles.Lookup;
+import java.dyn.MethodType;
+import sun.dyn.util.VerifyType;
+import java.dyn.NoAccessException;
+import static sun.dyn.MemberName.newIllegalArgumentException;
+import static sun.dyn.MemberName.newNoAccessException;
+
+/**
+ * Base class for method handles, containing JVM-specific fields and logic.
+ * TO DO: It should not be a base class.
+ * @author jrose
+ */
+public abstract class MethodHandleImpl {
+
+ // Fields which really belong in MethodHandle:
+ private byte vmentry; // adapter stub or method entry point
+ //private int vmslots; // optionally, hoist type.form.vmslots
+ protected Object vmtarget; // VM-specific, class-specific target value
+ //MethodType type; // defined in MethodHandle
+
+ // TO DO: vmtarget should be invisible to Java, since the JVM puts internal
+ // managed pointers into it. Making it visible exposes it to debuggers,
+ // which can cause errors when they treat the pointer as an Object.
+
+ // These two dummy fields are present to force 'I' and 'J' signatures
+ // into this class's constant pool, so they can be transferred
+ // to vmentry when this class is loaded.
+ static final int INT_FIELD = 0;
+ static final long LONG_FIELD = 0;
+
+ // type is defined in java.dyn.MethodHandle, which is platform-independent
+
+ // vmentry (a void* field) is used *only* by by the JVM.
+ // The JVM adjusts its type to int or long depending on system wordsize.
+ // Since it is statically typed as neither int nor long, it is impossible
+ // to use this field from Java bytecode. (Please don't try to, either.)
+
+ // The vmentry is an assembly-language stub which is jumped to
+ // immediately after the method type is verified.
+ // For a direct MH, this stub loads the vmtarget's entry point
+ // and jumps to it.
+
+ /**
+ * VM-based method handles must have a security token.
+ * This security token can only be obtained by trusted code.
+ * Do not create method handles directly; use factory methods.
+ */
+ public MethodHandleImpl(Access token) {
+ Access.check(token);
+ }
+
+ /** Initialize the method type form to participate in JVM calls.
+ * This is done once for each erased type.
+ */
+ public static void init(Access token, MethodType self) {
+ Access.check(token);
+ if (MethodHandleNatives.JVM_SUPPORT)
+ MethodHandleNatives.init(self);
+ }
+
+ /// Factory methods to create method handles:
+
+ private static final MemberName.Factory LOOKUP = MemberName.Factory.INSTANCE;
+
+ static private Lookup IMPL_LOOKUP_INIT;
+
+ public static void initLookup(Access token, Lookup lookup) {
+ Access.check(token);
+ if (IMPL_LOOKUP_INIT != null || lookup.lookupClass() != Access.class)
+ throw new InternalError();
+ IMPL_LOOKUP_INIT = lookup;
+ }
+
+ public static Lookup getLookup(Access token) {
+ Access.check(token);
+ return IMPL_LOOKUP;
+ }
+
+ static {
+ // Force initialization:
+ Lookup.PUBLIC_LOOKUP.lookupClass();
+ if (IMPL_LOOKUP_INIT == null)
+ throw new InternalError();
+ }
+
+ public static void initStatics() {
+ // Trigger preceding sequence.
+ }
+
+ /** Shared secret with MethodHandles.Lookup, a copy of Lookup.IMPL_LOOKUP. */
+ static final Lookup IMPL_LOOKUP = IMPL_LOOKUP_INIT;
+
+
+ /** Look up a given method.
+ * Callable only from java.dyn and related packages.
+ * <p>
+ * The resulting method handle type will be of the given type,
+ * with a receiver type {@code rcvc} prepended if the member is not static.
+ * <p>
+ * Access checks are made as of the given lookup class.
+ * In particular, if the method is protected and {@code defc} is in a
+ * different package from the lookup class, then {@code rcvc} must be
+ * the lookup class or a subclass.
+ * @param token Proof that the lookup class has access to this package.
+ * @param member Resolved method or constructor to call.
+ * @param name Name of the desired method.
+ * @param rcvc Receiver type of desired non-static method (else null)
+ * @param doDispatch whether the method handle will test the receiver type
+ * @param lookupClass access-check relative to this class
+ * @return a direct handle to the matching method
+ * @throws NoAccessException if the given method cannot be accessed by the lookup class
+ */
+ public static
+ MethodHandle findMethod(Access token, MemberName method,
+ boolean doDispatch, Class<?> lookupClass) {
+ Access.check(token); // only trusted calls
+ MethodType mtype = method.getMethodType();
+ if (method.isStatic()) {
+ doDispatch = false;
+ } else {
+ // adjust the advertised receiver type to be exactly the one requested
+ // (in the case of invokespecial, this will be the calling class)
+ mtype = mtype.insertParameterType(0, method.getDeclaringClass());
+ if (method.isConstructor())
+ doDispatch = true;
+ }
+ DirectMethodHandle mh = new DirectMethodHandle(mtype, method, doDispatch, lookupClass);
+ if (!mh.isValid())
+ throw newNoAccessException(method, lookupClass);
+ return mh;
+ }
+
+ public static
+ MethodHandle accessField(Access token,
+ MemberName member, boolean isSetter,
+ Class<?> lookupClass) {
+ Access.check(token);
+ // FIXME: Use sun.misc.Unsafe to dig up the dirt on the field.
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
+ public static
+ MethodHandle accessArrayElement(Access token,
+ Class<?> arrayClass, boolean isSetter) {
+ Access.check(token);
+ if (!arrayClass.isArray())
+ throw newIllegalArgumentException("not an array: "+arrayClass);
+ // FIXME: Use sun.misc.Unsafe to dig up the dirt on the array.
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
+ /** Bind a predetermined first argument to the given direct method handle.
+ * Callable only from MethodHandles.
+ * @param token Proof that the caller has access to this package.
+ * @param target Any direct method handle.
+ * @param receiver Receiver (or first static method argument) to pre-bind.
+ * @return a BoundMethodHandle for the given DirectMethodHandle, or null if it does not exist
+ */
+ public static
+ MethodHandle bindReceiver(Access token,
+ MethodHandle target, Object receiver) {
+ Access.check(token);
+ if (target instanceof DirectMethodHandle)
+ return new BoundMethodHandle((DirectMethodHandle)target, receiver, 0);
+ return null; // let caller try something else
+ }
+
+ /** Bind a predetermined argument to the given arbitrary method handle.
+ * Callable only from MethodHandles.
+ * @param token Proof that the caller has access to this package.
+ * @param target Any method handle.
+ * @param receiver Argument (which can be a boxed primitive) to pre-bind.
+ * @return a suitable BoundMethodHandle
+ */
+ public static
+ MethodHandle bindArgument(Access token,
+ MethodHandle target, int argnum, Object receiver) {
+ Access.check(token);
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public static MethodHandle convertArguments(Access token,
+ MethodHandle target,
+ MethodType newType,
+ MethodType oldType,
+ int[] permutationOrNull) {
+ Access.check(token);
+ MethodHandle res = AdapterMethodHandle.makePairwiseConvert(token, newType, target);
+ if (res != null)
+ return res;
+ int argc = oldType.parameterCount();
+ // The JVM can't do it directly, so fill in the gap with a Java adapter.
+ // TO DO: figure out what to put here from case-by-case experience
+ // Use a heavier method: Convert all the arguments to Object,
+ // then back to the desired types. We might have to use Java-based
+ // method handles to do this.
+ MethodType objType = MethodType.makeGeneric(argc);
+ MethodHandle objTarget = AdapterMethodHandle.makePairwiseConvert(token, objType, target);
+ if (objTarget == null)
+ objTarget = FromGeneric.make(target);
+ res = AdapterMethodHandle.makePairwiseConvert(token, newType, objTarget);
+ if (res != null)
+ return res;
+ return ToGeneric.make(newType, objTarget);
+ }
+
+ public static MethodHandle spreadArguments(Access token,
+ MethodHandle target,
+ MethodType newType,
+ int spreadArg) {
+ Access.check(token);
+ // TO DO: maybe allow the restarg to be Object and implicitly cast to Object[]
+ MethodType oldType = target.type();
+ // spread the last argument of newType to oldType
+ int spreadCount = oldType.parameterCount() - spreadArg;
+ Class<Object[]> spreadArgType = Object[].class;
+ MethodHandle res = AdapterMethodHandle.makeSpreadArguments(token, newType, target, spreadArgType, spreadArg, spreadCount);
+ if (res != null)
+ return res;
+ // try an intermediate adapter
+ Class<?> spreadType = null;
+ if (spreadArg < 0 || spreadArg >= newType.parameterCount()
+ || !VerifyType.isSpreadArgType(spreadType = newType.parameterType(spreadArg)))
+ throw newIllegalArgumentException("no restarg in "+newType);
+ Class<?>[] ptypes = oldType.parameterArray();
+ for (int i = 0; i < spreadCount; i++)
+ ptypes[spreadArg + i] = VerifyType.spreadArgElementType(spreadType, i);
+ MethodType midType = MethodType.make(newType.returnType(), ptypes);
+ // after spreading, some arguments may need further conversion
+ target = convertArguments(token, target, midType, oldType, null);
+ if (target == null)
+ throw new UnsupportedOperationException("NYI: convert "+midType+" =calls=> "+oldType);
+ res = AdapterMethodHandle.makeSpreadArguments(token, newType, target, spreadArgType, spreadArg, spreadCount);
+ return res;
+ }
+
+ public static MethodHandle collectArguments(Access token,
+ MethodHandle target,
+ MethodType newType,
+ int collectArg) {
+ if (collectArg > 0)
+ throw new UnsupportedOperationException("NYI");
+ throw new UnsupportedOperationException("NYI");
+ }
+ public static
+ MethodHandle dropArguments(Access token, MethodHandle target,
+ MethodType newType, int argnum) {
+ Access.check(token);
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public static
+ MethodHandle makeGuardWithTest(Access token,
+ final MethodHandle test,
+ final MethodHandle target,
+ final MethodHandle fallback) {
+ Access.check(token);
+ // %%% This is just a sketch. It needs to be de-boxed.
+ // Adjust the handles to accept varargs lists.
+ MethodType type = target.type();
+ Class<?> rtype = type.returnType();
+ if (type.parameterCount() != 1 || type.parameterType(0).isPrimitive()) {
+ MethodType vatestType = MethodType.make(boolean.class, Object[].class);
+ MethodType vatargetType = MethodType.make(rtype, Object[].class);
+ MethodHandle vaguard = makeGuardWithTest(token,
+ MethodHandles.spreadArguments(test, vatestType),
+ MethodHandles.spreadArguments(target, vatargetType),
+ MethodHandles.spreadArguments(fallback, vatargetType));
+ return MethodHandles.collectArguments(vaguard, type);
+ }
+ if (rtype.isPrimitive()) {
+ MethodType boxtype = type.changeReturnType(Object.class);
+ MethodHandle boxguard = makeGuardWithTest(token,
+ test,
+ MethodHandles.convertArguments(target, boxtype),
+ MethodHandles.convertArguments(fallback, boxtype));
+ return MethodHandles.convertArguments(boxguard, type);
+ }
+ // Got here? Reduced calling sequence to Object(Object).
+ class Guarder {
+ Object invoke(Object x) {
+ // If javac supports MethodHandle.invoke directly:
+ //z = vatest.invoke<boolean>(arguments);
+ // If javac does not support direct MH.invoke calls:
+ boolean z = (Boolean) MethodHandles.invoke_1(test, x);
+ MethodHandle mh = (z ? target : fallback);
+ return MethodHandles.invoke_1(mh, x);
+ }
+ MethodHandle handle() {
+ MethodType invokeType = MethodType.makeGeneric(0, true);
+ MethodHandle vh = IMPL_LOOKUP.bind(this, "invoke", invokeType);
+ return MethodHandles.collectArguments(vh, target.type());
+ }
+ }
+ return new Guarder().handle();
+ }
+
+ public static
+ MethodHandle combineArguments(Access token, MethodHandle target, MethodHandle checker, int pos) {
+ Access.check(token);
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
+ protected static String basicToString(MethodHandle target) {
+ MemberName name = null;
+ if (target != null)
+ name = MethodHandleNatives.getMethodName(target);
+ if (name == null)
+ return "<unknown>";
+ return name.getName();
+ }
+
+ protected static String addTypeString(MethodHandle target, String name) {
+ if (target == null) return name;
+ return name+target.type();
+ }
+ static RuntimeException newIllegalArgumentException(String string) {
+ return new IllegalArgumentException(string);
+ }
+
+ @Override
+ public String toString() {
+ MethodHandle self = (MethodHandle) this;
+ return addTypeString(self, basicToString(self));
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java b/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java
new file mode 100644
index 0000000..d2ed41e
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java
@@ -0,0 +1,271 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.MethodHandle;
+import java.dyn.MethodType;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Field;
+import static sun.dyn.MethodHandleNatives.Constants.*;
+
+/**
+ * The JVM interface for the method handles package is all here.
+ * @author jrose
+ */
+class MethodHandleNatives {
+
+ private MethodHandleNatives() { } // static only
+
+ /// MethodName support
+
+ static native void init(MemberName self, Object ref);
+ static native void expand(MemberName self);
+ static native void resolve(MemberName self, Class<?> caller);
+ static native int getMembers(Class<?> defc, String matchName, String matchSig,
+ int matchFlags, Class<?> caller, int skip, MemberName[] results);
+
+ static Class<?> asNativeCaller(Class<?> lookupClass) {
+ if (lookupClass == null) // means "public only, non-privileged"
+ return sun.dyn.empty.Empty.class;
+ if (lookupClass == Access.class) // means "internal, privileged"
+ return null; // to the JVM, null means completely privileged
+ return lookupClass;
+ }
+
+ /// MethodHandle support
+
+ /** Initialize the method handle to adapt the call. */
+ static native void init(AdapterMethodHandle self, MethodHandle target, int argnum);
+ /** Initialize the method handle to call the correct method, directly. */
+ static native void init(BoundMethodHandle self, Object target, int argnum);
+ /** Initialize the method handle to call as if by an invoke* instruction. */
+ static native void init(DirectMethodHandle self, Object ref, boolean doDispatch, Class<?> caller);
+
+ /** Initialize a method type, once per form. */
+ static native void init(MethodType self);
+
+ /** Tell the JVM that we need to change the target of an invokedynamic. */
+ static native void linkCallSite(CallSiteImpl site, MethodHandle target);
+
+ /** Fetch the vmtarget field.
+ * It will be sanitized as necessary to avoid exposing non-Java references.
+ * This routine is for debugging and reflection.
+ */
+ static native Object getTarget(MethodHandle self, int format);
+
+ /** Fetch the name of the handled method, if available.
+ * This routine is for debugging and reflection.
+ */
+ static MemberName getMethodName(MethodHandle self) {
+ if (!JVM_SUPPORT) return null;
+ return (MemberName) getTarget(self, ETF_METHOD_NAME);
+ }
+
+ /** Fetch the reflective version of the handled method, if available.
+ */
+ static AccessibleObject getTargetMethod(MethodHandle self) {
+ if (!JVM_SUPPORT) return null;
+ return (AccessibleObject) getTarget(self, ETF_REFLECT_METHOD);
+ }
+
+ /** Fetch the target of this method handle.
+ * If it directly targets a method, return a tuple of method info.
+ * The info is of the form new Object[]{defclass, name, sig, refclass}.
+ * If it is chained to another method handle, return that handle.
+ */
+ static Object getTargetInfo(MethodHandle self) {
+ if (!JVM_SUPPORT) return null;
+ return getTarget(self, ETF_HANDLE_OR_METHOD_NAME);
+ }
+
+ static Object[] makeTarget(Class<?> defc, String name, String sig, int mods, Class<?> refc) {
+ return new Object[] { defc, name, sig, mods, refc };
+ }
+
+ /** Fetch MH-related JVM parameter.
+ * which=0 retrieves MethodHandlePushLimit
+ * which=1 retrieves stack slot push size (in address units)
+ */
+ static native int getConstant(int which);
+
+ /** True iff this HotSpot JVM has built-in support for method handles.
+ * If false, some test cases might run, but functionality will be missing.
+ */
+ public static final boolean JVM_SUPPORT;
+
+ /** Java copy of MethodHandlePushLimit in range 2..255. */
+ static final int JVM_PUSH_LIMIT;
+ /** JVM stack motion (in words) after one slot is pushed, usually -1.
+ */
+ static final int JVM_STACK_MOVE_UNIT;
+
+ private static native void registerNatives();
+ static {
+ boolean JVM_SUPPORT_;
+ int JVM_PUSH_LIMIT_;
+ int JVM_STACK_MOVE_UNIT_;
+ try {
+ registerNatives();
+ JVM_SUPPORT_ = true;
+ JVM_PUSH_LIMIT_ = getConstant(Constants.GC_JVM_PUSH_LIMIT);
+ JVM_STACK_MOVE_UNIT_ = getConstant(Constants.GC_JVM_STACK_MOVE_LIMIT);
+ //sun.reflect.Reflection.registerMethodsToFilter(MethodHandleImpl.class, "init");
+ } catch (UnsatisfiedLinkError ee) {
+ // ignore; if we use init() methods later we'll see linkage errors
+ JVM_SUPPORT_ = false;
+ JVM_PUSH_LIMIT_ = 3; // arbitrary
+ JVM_STACK_MOVE_UNIT_ = -1; // arbitrary
+ //System.out.println("Warning: Running with JVM_SUPPORT=false");
+ //System.out.println(ee);
+ JVM_SUPPORT = JVM_SUPPORT_;
+ JVM_PUSH_LIMIT = JVM_PUSH_LIMIT_;
+ JVM_STACK_MOVE_UNIT = JVM_STACK_MOVE_UNIT_;
+ throw ee; // just die; hopeless to try to run with an older JVM
+ }
+ JVM_SUPPORT = JVM_SUPPORT_;
+ JVM_PUSH_LIMIT = JVM_PUSH_LIMIT_;
+ JVM_STACK_MOVE_UNIT = JVM_STACK_MOVE_UNIT_;
+ }
+
+ // All compile-time constants go here.
+ // There is an opportunity to check them against the JVM's idea of them.
+ static class Constants {
+ Constants() { } // static only
+ // MethodHandleImpl
+ static final int // for getConstant
+ GC_JVM_PUSH_LIMIT = 0,
+ GC_JVM_STACK_MOVE_LIMIT = 1;
+ static final int
+ ETF_HANDLE_OR_METHOD_NAME = 0, // all available data (immediate MH or method)
+ ETF_DIRECT_HANDLE = 1, // ultimate method handle (will be a DMH, may be self)
+ ETF_METHOD_NAME = 2, // ultimate method as MemberName
+ ETF_REFLECT_METHOD = 3; // ultimate method as java.lang.reflect object (sans refClass)
+
+ // MemberName
+ // The JVM uses values of -2 and above for vtable indexes.
+ // Field values are simple positive offsets.
+ // Ref: src/share/vm/oops/methodOop.hpp
+ // This value is negative enough to avoid such numbers,
+ // but not too negative.
+ static final int
+ MN_IS_METHOD = 0x00010000, // method (not constructor)
+ MN_IS_CONSTRUCTOR = 0x00020000, // constructor
+ MN_IS_FIELD = 0x00040000, // field
+ MN_IS_TYPE = 0x00080000, // nested type
+ MN_SEARCH_SUPERCLASSES = 0x00100000, // for MHN.getMembers
+ MN_SEARCH_INTERFACES = 0x00200000, // for MHN.getMembers
+ VM_INDEX_UNINITIALIZED = -99;
+
+ // AdapterMethodHandle
+ /** Conversions recognized by the JVM.
+ * They must align with the constants in sun.dyn_AdapterMethodHandle,
+ * in the JVM file hotspot/src/share/vm/classfile/javaClasses.hpp.
+ */
+ static final int
+ OP_RETYPE_ONLY = 0x0, // no argument changes; straight retype
+ OP_CHECK_CAST = 0x1, // ref-to-ref conversion; requires a Class argument
+ OP_PRIM_TO_PRIM = 0x2, // converts from one primitive to another
+ OP_REF_TO_PRIM = 0x3, // unboxes a wrapper to produce a primitive
+ OP_PRIM_TO_REF = 0x4, // boxes a primitive into a wrapper (NYI)
+ OP_SWAP_ARGS = 0x5, // swap arguments (vminfo is 2nd arg)
+ OP_ROT_ARGS = 0x6, // rotate arguments (vminfo is displaced arg)
+ OP_DUP_ARGS = 0x7, // duplicates one or more arguments (at TOS)
+ OP_DROP_ARGS = 0x8, // remove one or more argument slots
+ OP_COLLECT_ARGS = 0x9, // combine one or more arguments into a varargs (NYI)
+ OP_SPREAD_ARGS = 0xA, // expand in place a varargs array (of known size)
+ OP_FLYBY = 0xB, // operate first on reified argument list (NYI)
+ OP_RICOCHET = 0xC, // run an adapter chain on the return value (NYI)
+ CONV_OP_LIMIT = 0xD; // limit of CONV_OP enumeration
+ /** Shift and mask values for decoding the AMH.conversion field.
+ * These numbers are shared with the JVM for creating AMHs.
+ */
+ static final int
+ CONV_OP_MASK = 0xF00, // this nybble contains the conversion op field
+ CONV_VMINFO_MASK = 0x0FF, // LSB is reserved for JVM use
+ CONV_VMINFO_SHIFT = 0, // position of bits in CONV_VMINFO_MASK
+ CONV_OP_SHIFT = 8, // position of bits in CONV_OP_MASK
+ CONV_DEST_TYPE_SHIFT = 12, // byte 2 has the adapter BasicType (if needed)
+ CONV_SRC_TYPE_SHIFT = 16, // byte 2 has the source BasicType (if needed)
+ CONV_STACK_MOVE_SHIFT = 20, // high 12 bits give signed SP change
+ CONV_STACK_MOVE_MASK = (1 << (32 - CONV_STACK_MOVE_SHIFT)) - 1;
+
+ /** Which conv-ops are implemented by the JVM? */
+ static final int CONV_OP_IMPLEMENTED_MASK =
+ // TODO: The following expression should be replaced by
+ // a JVM query.
+ ((1<<OP_RETYPE_ONLY)
+ |(1<<OP_CHECK_CAST)
+ |(1<<OP_PRIM_TO_PRIM)
+ |(1<<OP_REF_TO_PRIM)
+ |(1<<OP_SWAP_ARGS)
+ |(1<<OP_ROT_ARGS)
+ |(1<<OP_DUP_ARGS)
+ |(1<<OP_DROP_ARGS)
+ );
+
+ /**
+ * Basic types as encoded in the JVM. These code values are not
+ * intended for use outside this class. They are used as part of
+ * a private interface between the JVM and this class.
+ */
+ static final int
+ T_BOOLEAN = 4,
+ T_CHAR = 5,
+ T_FLOAT = 6,
+ T_DOUBLE = 7,
+ T_BYTE = 8,
+ T_SHORT = 9,
+ T_INT = 10,
+ T_LONG = 11,
+ T_OBJECT = 12,
+ //T_ARRAY = 13
+ T_VOID = 14;
+ //T_ADDRESS = 15
+ }
+
+ private static native int getNamedCon(int which, Object[] name);
+ static boolean verifyConstants() {
+ Object[] box = { null };
+ for (int i = 0; ; i++) {
+ box[0] = null;
+ int vmval = getNamedCon(i, box);
+ if (box[0] == null) break;
+ String name = (String) box[0];
+ try {
+ Field con = Constants.class.getDeclaredField(name);
+ int jval = con.getInt(null);
+ if (jval != vmval)
+ throw new InternalError(name+": JVM has "+vmval+" while Java has "+jval);
+ } catch (Exception ex) {
+ throw new InternalError(name+": access failed, got "+ex);
+ }
+ }
+ return true;
+ }
+ static {
+ if (JVM_SUPPORT) verifyConstants();
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java b/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java
new file mode 100644
index 0000000..f8d3c33
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java
@@ -0,0 +1,502 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.*;
+import sun.dyn.util.Wrapper;
+
+/**
+ * Shared information for a group of method types, which differ
+ * only by reference types, and therefore share a common erasure
+ * and wrapping.
+ * <p>
+ * For an empirical discussion of the structure of method types,
+ * see <a href="http://groups.google.com/group/jvm-languages/browse_thread/thread/ac9308ae74da9b7e/">
+ * the thread "Avoiding Boxing" on jvm-languages</a>.
+ * There are approximately 2000 distinct erased method types in the JDK.
+ * There are a little over 10 times that number of unerased types.
+ * No more than half of these are likely to be loaded at once.
+ * @author John Rose
+ */
+public class MethodTypeImpl {
+ final int[] argToSlotTable, slotToArgTable;
+ final long argCounts; // packed slot & value counts
+ final long primCounts; // packed prim & double counts
+ final int vmslots; // total number of parameter slots
+ final MethodType erasedType; // the canonical erasure
+ /*lazy*/ MethodType primsAsBoxes; // replace prims by wrappers
+ /*lazy*/ MethodType primArgsAsBoxes; // wrap args only; make raw return
+ /*lazy*/ MethodType primsAsInts; // replace prims by int/long
+ /*lazy*/ MethodType primsAsLongs; // replace prims by long
+ /*lazy*/ MethodType primsAtEnd; // reorder primitives to the end
+
+ // Cached adapter information:
+ /*lazy*/ ToGeneric toGeneric; // convert cs. with prims to w/o
+ /*lazy*/ FromGeneric fromGeneric; // convert cs. w/o prims to with
+ /*lazy*/ FilterGeneric filterGeneric; // convert argument(s) on the fly
+ ///*lazy*/ Invokers invokers; // cache of handy higher-order adapters
+
+ public MethodType erasedType() {
+ return erasedType;
+ }
+
+ public static MethodTypeImpl of(MethodType type) {
+ return METHOD_TYPE_FRIEND.form(type);
+ }
+
+ /** Access methods for the internals of MethodType, supplied to
+ * MethodTypeForm as a trusted agent.
+ */
+ static public interface MethodTypeFriend {
+ Class<?>[] ptypes(MethodType mt);
+ MethodTypeImpl form(MethodType mt);
+ void setForm(MethodType mt, MethodTypeImpl form);
+ MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted);
+ MethodTypeImpl newMethodTypeForm(MethodType mt);
+ Invokers getInvokers(MethodType mt);
+ void setInvokers(MethodType mt, Invokers inv);
+ }
+ public static void setMethodTypeFriend(Access token, MethodTypeFriend am) {
+ Access.check(token);
+ if (METHOD_TYPE_FRIEND != null)
+ throw new InternalError(); // just once
+ METHOD_TYPE_FRIEND = am;
+ }
+ static private MethodTypeFriend METHOD_TYPE_FRIEND;
+
+ protected MethodTypeImpl(MethodType erasedType) {
+ this.erasedType = erasedType;
+
+ Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(erasedType);
+ int ptypeCount = ptypes.length;
+ int pslotCount = ptypeCount; // temp. estimate
+ int rtypeCount = 1; // temp. estimate
+ int rslotCount = 1; // temp. estimate
+
+ int[] argToSlotTab = null, slotToArgTab = null;
+
+ // Walk the argument types, looking for primitives.
+ int pac = 0, lac = 0, prc = 0, lrc = 0;
+ Class<?> epts[] = ptypes;
+ for (int i = 0; i < epts.length; i++) {
+ Class<?> pt = epts[i];
+ if (pt != Object.class) {
+ assert(pt.isPrimitive());
+ ++pac;
+ if (hasTwoArgSlots(pt)) ++lac;
+ }
+ }
+ pslotCount += lac; // #slots = #args + #longs
+ Class<?> rt = erasedType.returnType();
+ if (rt != Object.class) {
+ ++prc; // even void.class counts as a prim here
+ if (hasTwoArgSlots(rt)) ++lrc;
+ // adjust #slots, #args
+ if (rt == void.class)
+ rtypeCount = rslotCount = 0;
+ else
+ rslotCount += lrc;
+ }
+ if (lac != 0) {
+ int slot = ptypeCount + lac;
+ slotToArgTab = new int[slot+1];
+ argToSlotTab = new int[1+ptypeCount];
+ argToSlotTab[0] = slot; // argument "-1" is past end of slots
+ for (int i = 0; i < epts.length; i++) {
+ Class<?> pt = epts[i];
+ if (hasTwoArgSlots(pt)) --slot;
+ --slot;
+ slotToArgTab[slot] = i+1; // "+1" see argSlotToParameter note
+ argToSlotTab[1+i] = slot;
+ }
+ assert(slot == 0); // filled the table
+ }
+ this.primCounts = pack(lrc, prc, lac, pac);
+ this.argCounts = pack(rslotCount, rtypeCount, pslotCount, ptypeCount);
+ if (slotToArgTab == null) {
+ int slot = ptypeCount; // first arg is deepest in stack
+ slotToArgTab = new int[slot+1];
+ argToSlotTab = new int[1+ptypeCount];
+ argToSlotTab[0] = slot; // argument "-1" is past end of slots
+ for (int i = 0; i < ptypeCount; i++) {
+ --slot;
+ slotToArgTab[slot] = i+1; // "+1" see argSlotToParameter note
+ argToSlotTab[1+i] = slot;
+ }
+ }
+ this.argToSlotTable = argToSlotTab;
+ this.slotToArgTable = slotToArgTab;
+
+ if (pslotCount >= 256) throw new IllegalArgumentException("too many arguments");
+
+ // send a few bits down to the JVM:
+ this.vmslots = parameterSlotCount();
+
+ // short circuit some no-op canonicalizations:
+ if (!hasPrimitives()) {
+ primsAsBoxes = erasedType;
+ primArgsAsBoxes = erasedType;
+ primsAsInts = erasedType;
+ primsAsLongs = erasedType;
+ primsAtEnd = erasedType;
+ }
+ }
+
+ /** Turn all primitive types to corresponding wrapper types.
+ */
+ public MethodType primsAsBoxes() {
+ MethodType ct = primsAsBoxes;
+ if (ct != null) return ct;
+ MethodType t = erasedType;
+ ct = canonicalize(erasedType, WRAP, WRAP);
+ if (ct == null) ct = t; // no prims to box
+ return primsAsBoxes = ct;
+ }
+
+ /** Turn all primitive argument types to corresponding wrapper types.
+ * Subword and void return types are promoted to int.
+ */
+ public MethodType primArgsAsBoxes() {
+ MethodType ct = primArgsAsBoxes;
+ if (ct != null) return ct;
+ MethodType t = erasedType;
+ ct = canonicalize(erasedType, RAW_RETURN, WRAP);
+ if (ct == null) ct = t; // no prims to box
+ return primArgsAsBoxes = ct;
+ }
+
+ /** Turn all primitive types to either int or long.
+ * Floating point return types are not changed, because
+ * they may require special calling sequences.
+ * A void return value is turned to int.
+ */
+ public MethodType primsAsInts() {
+ MethodType ct = primsAsInts;
+ if (ct != null) return ct;
+ MethodType t = erasedType;
+ ct = canonicalize(t, RAW_RETURN, INTS);
+ if (ct == null) ct = t; // no prims to int-ify
+ return primsAsInts = ct;
+ }
+
+ /** Turn all primitive types to either int or long.
+ * Floating point return types are not changed, because
+ * they may require special calling sequences.
+ * A void return value is turned to int.
+ */
+ public MethodType primsAsLongs() {
+ MethodType ct = primsAsLongs;
+ if (ct != null) return ct;
+ MethodType t = erasedType;
+ ct = canonicalize(t, RAW_RETURN, LONGS);
+ if (ct == null) ct = t; // no prims to int-ify
+ return primsAsLongs = ct;
+ }
+
+ /** Stably sort parameters into 3 buckets: ref, int, long. */
+ public MethodType primsAtEnd() {
+ MethodType ct = primsAtEnd;
+ if (ct != null) return ct;
+ MethodType t = erasedType;
+
+ int pac = primitiveParameterCount();
+ if (pac == 0)
+ return primsAtEnd = t;
+
+ int argc = parameterCount();
+ int lac = longPrimitiveParameterCount();
+ if (pac == argc && (lac == 0 || lac == argc))
+ return primsAtEnd = t;
+
+ // known to have a mix of 2 or 3 of ref, int, long
+ return primsAtEnd = reorderParameters(t, primsAtEndOrder(t), null);
+
+ }
+
+ /** Compute a new ordering of parameters so that all references
+ * are before all ints or longs, and all ints are before all longs.
+ * For this ordering, doubles count as longs, and all other primitive
+ * values count as ints.
+ * As a special case, if the parameters are already in the specified
+ * order, this method returns a null reference, rather than an array
+ * specifying a null permutation.
+ * <p>
+ * For example, the type {@code (int,boolean,int,Object,String)void}
+ * produces the order {@code {3,4,0,1,2}}, the type
+ * {@code (long,int,String)void} produces {@code {2,1,2}}, and
+ * the type {@code (Object,int)Object} produces {@code null}.
+ */
+ public static int[] primsAtEndOrder(MethodType mt) {
+ MethodTypeImpl form = METHOD_TYPE_FRIEND.form(mt);
+ if (form.primsAtEnd == form.erasedType)
+ // quick check shows no reordering is necessary
+ return null;
+
+ int argc = form.parameterCount();
+ int[] paramOrder = new int[argc];
+
+ // 3-way bucket sort:
+ int pac = form.primitiveParameterCount();
+ int lac = form.longPrimitiveParameterCount();
+ int rfill = 0, ifill = argc - pac, lfill = argc - lac;
+
+ Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt);
+ boolean changed = false;
+ for (int i = 0; i < ptypes.length; i++) {
+ Class<?> pt = ptypes[i];
+ int ord;
+ if (!pt.isPrimitive()) ord = rfill++;
+ else if (!hasTwoArgSlots(pt)) ord = ifill++;
+ else ord = lfill++;
+ if (ord != i) changed = true;
+ paramOrder[i] = ord;
+ }
+ assert(rfill == argc - pac && ifill == argc - lac && lfill == argc);
+ if (!changed) {
+ form.primsAtEnd = form.erasedType;
+ return null;
+ }
+ return paramOrder;
+ }
+
+ /** Put the existing parameters of mt into a new order, given by newParamOrder.
+ * The third argument is logically appended to mt.parameterArray,
+ * so that elements of newParamOrder can index either pre-existing or
+ * new parameter types.
+ */
+ public static MethodType reorderParameters(MethodType mt, int[] newParamOrder, Class<?>[] moreParams) {
+ if (newParamOrder == null) return mt; // no-op reordering
+ Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt);
+ Class<?>[] ntypes = new Class<?>[newParamOrder.length];
+ int ordMax = ptypes.length + (moreParams == null ? 0 : moreParams.length);
+ boolean changed = (ntypes.length != ptypes.length);
+ for (int i = 0; i < newParamOrder.length; i++) {
+ int ord = newParamOrder[i];
+ if (ord != i) changed = true;
+ Class<?> nt;
+ if (ord < ptypes.length) nt = ptypes[ord];
+ else if (ord == ordMax) nt = mt.returnType();
+ else nt = moreParams[ord - ptypes.length];
+ ntypes[i] = nt;
+ }
+ if (!changed) return mt;
+ return METHOD_TYPE_FRIEND.makeImpl(mt.returnType(), ntypes, true);
+ }
+
+ private static boolean hasTwoArgSlots(Class<?> type) {
+ return type == long.class || type == double.class;
+ }
+
+ private static long pack(int a, int b, int c, int d) {
+ assert(((a|b|c|d) & ~0xFFFF) == 0);
+ long hw = ((a << 16) | b), lw = ((c << 16) | d);
+ return (hw << 32) | lw;
+ }
+ private static char unpack(long packed, int word) { // word==0 => return a, ==3 => return d
+ assert(word <= 3);
+ return (char)(packed >> ((3-word) * 16));
+ }
+
+ public int parameterCount() { // # outgoing values
+ return unpack(argCounts, 3);
+ }
+ public int parameterSlotCount() { // # outgoing interpreter slots
+ return unpack(argCounts, 2);
+ }
+ public int returnCount() { // = 0 (V), or 1
+ return unpack(argCounts, 1);
+ }
+ public int returnSlotCount() { // = 0 (V), 2 (J/D), or 1
+ return unpack(argCounts, 0);
+ }
+ public int primitiveParameterCount() {
+ return unpack(primCounts, 3);
+ }
+ public int longPrimitiveParameterCount() {
+ return unpack(primCounts, 2);
+ }
+ public int primitiveReturnCount() { // = 0 (obj), or 1
+ return unpack(primCounts, 1);
+ }
+ public int longPrimitiveReturnCount() { // = 1 (J/D), or 0
+ return unpack(primCounts, 0);
+ }
+ public boolean hasPrimitives() {
+ return primCounts != 0;
+ }
+// public boolean hasNonVoidPrimitives() {
+// if (primCounts == 0) return false;
+// if (primitiveParameterCount() != 0) return true;
+// return (primitiveReturnCount() != 0 && returnCount() != 0);
+// }
+ public boolean hasLongPrimitives() {
+ return (longPrimitiveParameterCount() | longPrimitiveReturnCount()) != 0;
+ }
+ public int parameterToArgSlot(int i) {
+ return argToSlotTable[1+i];
+ }
+ public int argSlotToParameter(int argSlot) {
+ // Note: Empty slots are represented by zero in this table.
+ // Valid arguments slots contain incremented entries, so as to be non-zero.
+ // We return -1 the caller to mean an empty slot.
+ return slotToArgTable[argSlot] - 1;
+ }
+
+ public static void initForm(Access token, MethodType mt) {
+ Access.check(token);
+ MethodTypeImpl form = findForm(mt);
+ METHOD_TYPE_FRIEND.setForm(mt, form);
+ if (form.erasedType == mt) {
+ // This is a principal (erased) type; show it to the JVM.
+ MethodHandleImpl.init(token, mt);
+ }
+ }
+
+ static MethodTypeImpl findForm(MethodType mt) {
+ MethodType erased = canonicalize(mt, ERASE, ERASE);
+ if (erased == null) {
+ // It is already erased. Make a new MethodTypeForm.
+ return METHOD_TYPE_FRIEND.newMethodTypeForm(mt);
+ } else {
+ // Share the MethodTypeForm with the erased version.
+ return METHOD_TYPE_FRIEND.form(erased);
+ }
+ }
+
+ /** Codes for {@link #canonicalize(java.lang.Class, int).
+ * ERASE means change every reference to {@code Object}.
+ * WRAP means convert primitives (including {@code void} to their
+ * corresponding wrapper types. UNWRAP means the reverse of WRAP.
+ * INTS means convert all non-void primitive types to int or long,
+ * according to size. LONGS means convert all non-void primitives
+ * to long, regardless of size. RAW_RETURN means convert a type
+ * (assumed to be a return type) to int if it is smaller than an int,
+ * or if it is void.
+ */
+ public static final int NO_CHANGE = 0, ERASE = 1, WRAP = 2, UNWRAP = 3, INTS = 4, LONGS = 5, RAW_RETURN = 6;
+
+ /** Canonicalize the types in the given method type.
+ * If any types change, intern the new type, and return it.
+ * Otherwise return null.
+ */
+ public static MethodType canonicalize(MethodType mt, int howRet, int howArgs) {
+ Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt);
+ Class<?>[] ptc = MethodTypeImpl.canonicalizes(ptypes, howArgs);
+ Class<?> rtype = mt.returnType();
+ Class<?> rtc = MethodTypeImpl.canonicalize(rtype, howRet);
+ if (ptc == null && rtc == null) {
+ // It is already canonical.
+ return null;
+ }
+ // Find the erased version of the method type:
+ if (rtc == null) rtc = rtype;
+ if (ptc == null) ptc = ptypes;
+ return METHOD_TYPE_FRIEND.makeImpl(rtc, ptc, true);
+ }
+
+ /** Canonicalize the given return or param type.
+ * Return null if the type is already canonicalized.
+ */
+ static Class<?> canonicalize(Class<?> t, int how) {
+ Class<?> ct;
+ if (t == Object.class) {
+ // no change, ever
+ } else if (!t.isPrimitive()) {
+ switch (how) {
+ case UNWRAP:
+ ct = Wrapper.asPrimitiveType(t);
+ if (ct != t) return ct;
+ break;
+ case RAW_RETURN:
+ case ERASE:
+ return Object.class;
+ }
+ } else if (t == void.class) {
+ // no change, usually
+ switch (how) {
+ case RAW_RETURN:
+ return int.class;
+ case WRAP:
+ return Void.class;
+ }
+ } else {
+ // non-void primitive
+ switch (how) {
+ case WRAP:
+ return Wrapper.asWrapperType(t);
+ case INTS:
+ if (t == int.class || t == long.class)
+ return null; // no change
+ if (t == double.class)
+ return long.class;
+ return int.class;
+ case LONGS:
+ if (t == long.class)
+ return null; // no change
+ return long.class;
+ case RAW_RETURN:
+ if (t == int.class || t == long.class ||
+ t == float.class || t == double.class)
+ return null; // no change
+ // everything else returns as an int
+ return int.class;
+ }
+ }
+ // no change; return null to signify
+ return null;
+ }
+
+ /** Canonicalize each param type in the given array.
+ * Return null if all types are already canonicalized.
+ */
+ static Class<?>[] canonicalizes(Class<?>[] ts, int how) {
+ Class<?>[] cs = null;
+ for (int imax = ts.length, i = 0; i < imax; i++) {
+ Class<?> c = canonicalize(ts[i], how);
+ if (c != null) {
+ if (cs == null)
+ cs = ts.clone();
+ cs[i] = c;
+ }
+ }
+ return cs;
+ }
+
+ public static Invokers invokers(Access token, MethodType type) {
+ Access.check(token);
+ Invokers inv = METHOD_TYPE_FRIEND.getInvokers(type);
+ if (inv != null) return inv;
+ inv = new Invokers(token, type);
+ METHOD_TYPE_FRIEND.setInvokers(type, inv);
+ return inv;
+ }
+
+ @Override
+ public String toString() {
+ return "Form"+erasedType;
+ }
+
+}
diff --git a/jdk/src/share/classes/sun/dyn/ToGeneric.java b/jdk/src/share/classes/sun/dyn/ToGeneric.java
new file mode 100644
index 0000000..fd04d75
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/ToGeneric.java
@@ -0,0 +1,1018 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn;
+
+import java.dyn.JavaMethodHandle;
+import java.dyn.MethodHandle;
+import java.dyn.MethodHandles;
+import java.dyn.MethodType;
+import java.dyn.NoAccessException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import sun.dyn.util.ValueConversions;
+import sun.dyn.util.Wrapper;
+
+/**
+ * Adapters which mediate between incoming calls which are not generic
+ * and outgoing calls which are. Any call can be represented generically
+ * boxing up its arguments, and (on return) unboxing the return value.
+ * <p>
+ * A call is "generic" (in MethodHandle terms) if its MethodType features
+ * only Object arguments. A non-generic call therefore features
+ * primitives and/or reference types other than Object.
+ * An adapter has types for its incoming and outgoing calls.
+ * The incoming call type is simply determined by the adapter's type
+ * (the MethodType it presents to callers). The outgoing call type
+ * is determined by the adapter's target (a MethodHandle that the adapter
+ * either binds internally or else takes as a leading argument).
+ * (To stretch the term, adapter-like method handles may have multiple
+ * targets or be polymorphic across multiple call types.)
+ * @author jrose
+ */
+class ToGeneric {
+ // type for the incoming call (may be erased)
+ private final MethodType entryType;
+ // incoming type with primitives moved to the end and turned to int/long
+ private final MethodType rawEntryType;
+ // adapter for the erased type
+ private final Adapter adapter;
+ // entry point for adapter (Adapter mh, a...) => ...
+ private final MethodHandle entryPoint;
+ // permutation of arguments for primsAtEndType
+ private final int[] primsAtEndOrder;
+ // optional final argument list conversions (at least, invokes the target)
+ private final MethodHandle invoker;
+ // conversion which unboxes a primitive return value
+ private final MethodHandle returnConversion;
+
+ /** Compute and cache information common to all collecting adapters
+ * that implement members of the erasure-family of the given erased type.
+ */
+ private ToGeneric(MethodType entryType) {
+ assert(entryType.erase() == entryType); // for now
+ // incoming call will first "forget" all reference types except Object
+ this.entryType = entryType;
+ MethodHandle invoker0 = MethodHandles.exactInvoker(entryType.generic());
+ MethodType rawEntryTypeInit;
+ Adapter ad = findAdapter(rawEntryTypeInit = entryType);
+ if (ad != null) {
+ // Immediate hit to exactly the adapter we want,
+ // with no monkeying around with primitive types.
+ this.returnConversion = computeReturnConversion(entryType, rawEntryTypeInit, false);
+ this.rawEntryType = rawEntryTypeInit;
+ this.adapter = ad;
+ this.entryPoint = ad.prototypeEntryPoint();
+ this.primsAtEndOrder = null;
+ this.invoker = invoker0;
+ return;
+ }
+
+ // next, it will reorder primitives after references
+ MethodType primsAtEnd = MethodTypeImpl.of(entryType).primsAtEnd();
+ // at the same time, it will "forget" all primitive types except int/long
+ this.primsAtEndOrder = MethodTypeImpl.primsAtEndOrder(entryType);
+ if (primsAtEndOrder != null) {
+ // reordering is required; build on top of a simpler ToGeneric
+ ToGeneric va2 = ToGeneric.of(primsAtEnd);
+ this.adapter = va2.adapter;
+ this.entryPoint = MethodHandleImpl.convertArguments(Access.TOKEN,
+ va2.entryPoint, primsAtEnd, entryType, primsAtEndOrder);
+ // example: for entryType of (int,Object,Object), the reordered
+ // type is (Object,Object,int) and the order is {1,2,0},
+ // and putPAE is (mh,int0,obj1,obj2) => mh.invoke(obj1,obj2,int0)
+ if (true) throw new UnsupportedOperationException("NYI");
+ return;
+ }
+
+ // after any needed argument reordering, it will reinterpret
+ // primitive arguments according to their "raw" types int/long
+ MethodType intsAtEnd = MethodTypeImpl.of(primsAtEnd).primsAsInts();
+ ad = findAdapter(rawEntryTypeInit = intsAtEnd);
+ if (ad == null) {
+ // Perhaps the adapter is available only for longs.
+ // If so, we can use it, but there will have to be a little
+ // more stack motion on each call.
+ MethodType longsAtEnd = MethodTypeImpl.of(primsAtEnd).primsAsLongs();
+ ad = findAdapter(rawEntryTypeInit = longsAtEnd);
+ if (ad == null) {
+ // If there is no statically compiled adapter,
+ // build one by means of dynamic bytecode generation.
+ ad = buildAdapterFromBytecodes(rawEntryTypeInit = intsAtEnd);
+ }
+ }
+ MethodHandle rawEntryPoint = ad.prototypeEntryPoint();
+ MethodType tepType = entryType.insertParameterType(0, ad.getClass());
+ this.entryPoint =
+ AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN, tepType, rawEntryPoint);
+ if (this.entryPoint == null)
+ throw new UnsupportedOperationException("cannot retype to "+entryType
+ +" from "+rawEntryPoint.type().dropParameterType(0));
+ this.returnConversion = computeReturnConversion(entryType, rawEntryTypeInit, false);
+ this.rawEntryType = rawEntryTypeInit;
+ this.adapter = ad;
+ this.invoker = makeRawArgumentFilter(invoker0,
+ rawEntryPoint.type().dropParameterType(0), entryType);
+ }
+
+ /** A generic argument list will be created by a call of type 'raw'.
+ * The values need to be reboxed for to match 'cooked'.
+ * Do this on the fly.
+ */
+ // TO DO: Use a generic argument converter in a different file
+ static MethodHandle makeRawArgumentFilter(MethodHandle invoker,
+ MethodType raw, MethodType cooked) {
+ MethodHandle filteredInvoker = null;
+ for (int i = 0, nargs = raw.parameterCount(); i < nargs; i++) {
+ Class<?> src = raw.parameterType(i);
+ Class<?> dst = cooked.parameterType(i);
+ if (src == dst) continue;
+ assert(src.isPrimitive() && dst.isPrimitive());
+ if (filteredInvoker == null) {
+ filteredInvoker =
+ AdapterMethodHandle.makeCheckCast(Access.TOKEN,
+ invoker.type().generic(), invoker, 0, MethodHandle.class);
+ if (filteredInvoker == null) throw new UnsupportedOperationException("NYI");
+ }
+ MethodHandle reboxer = ValueConversions.rebox(dst, false);
+ FilterGeneric gen = new FilterGeneric(filteredInvoker.type(), (short)(1+i), (short)1, 'R');
+ filteredInvoker = gen.makeInstance(reboxer, filteredInvoker);
+ }
+ if (filteredInvoker == null) return invoker;
+ return AdapterMethodHandle.makeRetypeOnly(Access.TOKEN, invoker.type(), filteredInvoker);
+ }
+
+ /**
+ * Caller will be expecting a result from a call to {@code type},
+ * while the internal adapter entry point is rawEntryType.
+ * Also, the internal target method will be returning a boxed value,
+ * as an untyped object.
+ * <p>
+ * Produce a value converter which will be typed to convert from
+ * {@code Object} to the return value of {@code rawEntryType}, and will
+ * in fact ensure that the value is compatible with the return type of
+ * {@code type}.
+ */
+ private static MethodHandle computeReturnConversion(
+ MethodType type, MethodType rawEntryType, boolean mustCast) {
+ Class<?> tret = type.returnType();
+ Class<?> rret = rawEntryType.returnType();
+ if (mustCast || !tret.isPrimitive()) {
+ assert(!tret.isPrimitive());
+ assert(!rret.isPrimitive());
+ if (rret == Object.class && !mustCast)
+ return null;
+ return ValueConversions.cast(tret, false);
+ } else if (tret == rret) {
+ return ValueConversions.unbox(tret, false);
+ } else {
+ assert(rret.isPrimitive());
+ assert(tret == double.class ? rret == long.class : rret == int.class);
+ return ValueConversions.unboxRaw(tret, false);
+ }
+ }
+
+ Adapter makeInstance(MethodType type, MethodHandle genericTarget) {
+ genericTarget.getClass(); // check for NPE
+ MethodHandle convert = returnConversion;
+ if (primsAtEndOrder != null)
+ // reorder arguments passed to genericTarget, if primsAtEndOrder
+ throw new UnsupportedOperationException("NYI");
+ if (type == entryType) {
+ if (convert == null) convert = ValueConversions.identity();
+ return adapter.makeInstance(entryPoint, invoker, convert, genericTarget);
+ }
+ // my erased-type is not exactly the same as the desired type
+ assert(type.erase() == entryType); // else we are busted
+ if (convert == null)
+ convert = computeReturnConversion(type, rawEntryType, true);
+ // retype erased reference arguments (the cast makes it safe to do this)
+ MethodType tepType = type.insertParameterType(0, adapter.getClass());
+ MethodHandle typedEntryPoint =
+ AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN, tepType, entryPoint);
+ return adapter.makeInstance(typedEntryPoint, invoker, convert, genericTarget);
+ }
+
+ /** Build an adapter of the given type, which invokes genericTarget
+ * on the incoming arguments, after boxing as necessary.
+ * The return value is unboxed if necessary.
+ * @param type the required type of the
+ * @param genericTarget the target, which must accept and return only Object values
+ * @return an adapter method handle
+ */
+ public static MethodHandle make(MethodType type, MethodHandle genericTarget) {
+ MethodType gtype = genericTarget.type();
+ if (type.generic() != gtype)
+ throw new IllegalArgumentException();
+ if (type == gtype) return genericTarget;
+ return ToGeneric.of(type).makeInstance(type, genericTarget);
+ }
+
+ /** Return the adapter information for this type's erasure. */
+ static ToGeneric of(MethodType type) {
+ MethodTypeImpl form = MethodTypeImpl.of(type);
+ ToGeneric toGen = form.toGeneric;
+ if (toGen == null)
+ form.toGeneric = toGen = new ToGeneric(form.erasedType());
+ return toGen;
+ }
+
+ public String toString() {
+ return "ToGeneric"+entryType
+ +(primsAtEndOrder!=null?"[reorder]":"");
+ }
+
+ /* Create an adapter for the given incoming call type. */
+ static Adapter findAdapter(MethodType entryPointType) {
+ MethodTypeImpl form = MethodTypeImpl.of(entryPointType);
+ Class<?> rtype = entryPointType.returnType();
+ int argc = form.parameterCount();
+ int lac = form.longPrimitiveParameterCount();
+ int iac = form.primitiveParameterCount() - lac;
+ String intsAndLongs = (iac > 0 ? "I"+iac : "")+(lac > 0 ? "J"+lac : "");
+ String rawReturn = String.valueOf(Wrapper.forPrimitiveType(rtype).basicTypeChar());
+ String iname0 = "invoke_"+rawReturn;
+ String iname1 = "invoke";
+ String[] inames = { iname0, iname1 };
+ String cname0 = rawReturn + argc;
+ String cname1 = "A" + argc;
+ String[] cnames = { cname1, cname1+intsAndLongs, cname0, cname0+intsAndLongs };
+ // e.g., D5I2, D5, L5I2, L5
+ for (String cname : cnames) {
+ Class<? extends Adapter> acls = Adapter.findSubClass(cname);
+ if (acls == null) continue;
+ // see if it has the required invoke method
+ for (String iname : inames) {
+ MethodHandle entryPoint = null;
+ try {
+ entryPoint = MethodHandleImpl.IMPL_LOOKUP.
+ findSpecial(acls, iname, entryPointType, acls);
+ } catch (NoAccessException ex) {
+ }
+ if (entryPoint == null) continue;
+ Constructor<? extends Adapter> ctor = null;
+ try {
+ // Prototype builder:
+ ctor = acls.getDeclaredConstructor(MethodHandle.class);
+ } catch (NoSuchMethodException ex) {
+ } catch (SecurityException ex) {
+ }
+ if (ctor == null) continue;
+ try {
+ return ctor.newInstance(entryPoint);
+ } catch (IllegalArgumentException ex) {
+ } catch (InvocationTargetException ex) {
+ } catch (InstantiationException ex) {
+ } catch (IllegalAccessException ex) {
+ }
+ }
+ }
+ return null;
+ }
+
+ static Adapter buildAdapterFromBytecodes(MethodType entryPointType) {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ /**
+ * The invoke method takes some particular but unconstrained spread
+ * of raw argument types, and returns a raw return type (in L/I/J/F/D).
+ * Internally, it converts the incoming arguments uniformly into objects.
+ * This series of objects is then passed to the {@code target} method,
+ * which returns a result object. This result is finally converted,
+ * via another method handle {@code convert}, which is responsible for
+ * converting the object result into the raw return value.
+ */
+ static abstract class Adapter extends JavaMethodHandle {
+ /*
+ * class X<<R,A...>> extends Adapter {
+ * Object...=>Object target;
+ * Object=>R convert;
+ * R invoke(A... a...) = convert(invoker(target, a...)))
+ * }
+ */
+ protected final MethodHandle invoker; // (MH, Object...) -> Object
+ protected final MethodHandle target; // Object... -> Object
+ protected final MethodHandle convert; // Object -> R
+
+ protected boolean isPrototype() { return target == null; }
+ /* Prototype constructor. */
+ protected Adapter(MethodHandle entryPoint) {
+ super(entryPoint);
+ this.invoker = null;
+ this.convert = entryPoint;
+ this.target = null;
+ assert(isPrototype());
+ }
+ protected MethodHandle prototypeEntryPoint() {
+ if (!isPrototype()) throw new InternalError();
+ return convert;
+ }
+
+ protected Adapter(MethodHandle entryPoint, MethodHandle invoker, MethodHandle convert, MethodHandle target) {
+ super(entryPoint);
+ this.invoker = invoker;
+ this.convert = convert;
+ this.target = target;
+ }
+
+ /** Make a copy of self, with new fields. */
+ protected abstract Adapter makeInstance(MethodHandle entryPoint,
+ MethodHandle invoker, MethodHandle convert, MethodHandle target);
+ // { return new ThisType(entryPoint, convert, target); }
+
+ // Code to run when the arguments (<= 4) have all been boxed.
+ protected Object target() { return invoker.<Object>invoke(target); }
+ protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); }
+ protected Object target(Object a0, Object a1)
+ { return invoker.<Object>invoke(target, a0, a1); }
+ protected Object target(Object a0, Object a1, Object a2)
+ { return invoker.<Object>invoke(target, a0, a1, a2); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3)
+ { return invoker.<Object>invoke(target, a0, a1, a2, a3); }
+ /*
+ protected Object target_0(Object... av) { return invoker.<Object>invoke(target, av); }
+ protected Object target_1(Object a0, Object... av)
+ { return invoker.<Object>invoke(target, a0, (Object)av); }
+ protected Object target_2(Object a0, Object a1, Object... av)
+ { return invoker.<Object>invoke(target, a0, a1, (Object)av); }
+ protected Object target_3(Object a0, Object a1, Object a2, Object... av)
+ { return invoker.<Object>invoke(target, a0, a1, a2, (Object)av); }
+ protected Object target_4(Object a0, Object a1, Object a2, Object a3, Object... av)
+ { return invoker.<Object>invoke(target, a0, a1, a2, a3, (Object)av); }
+ // */
+ // (For more than 4 arguments, generate the code in the adapter itself.)
+
+ // Code to run when the generic target has finished and produced a value.
+ protected Object return_L(Object res) { return convert.<Object>invoke(res); }
+ protected int return_I(Object res) { return convert.<int >invoke(res); }
+ protected long return_J(Object res) { return convert.<long >invoke(res); }
+ protected float return_F(Object res) { return convert.<float >invoke(res); }
+ protected double return_D(Object res) { return convert.<double>invoke(res); }
+
+ static private final String CLASS_PREFIX; // "sun.dyn.ToGeneric$"
+ static {
+ String aname = Adapter.class.getName();
+ String sname = Adapter.class.getSimpleName();
+ if (!aname.endsWith(sname)) throw new InternalError();
+ CLASS_PREFIX = aname.substring(0, aname.length() - sname.length());
+ }
+ /** Find a sibing class of Adapter. */
+ static Class<? extends Adapter> findSubClass(String name) {
+ String cname = Adapter.CLASS_PREFIX + name;
+ try {
+ return Class.forName(cname).asSubclass(Adapter.class);
+ } catch (ClassNotFoundException ex) {
+ return null;
+ } catch (ClassCastException ex) {
+ return null;
+ }
+ }
+ }
+
+ /* generated classes follow this pattern:
+ static class A1 extends Adapter {
+ protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A1(e, i, c, t); }
+ protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); }
+ protected Object targetA1(Object a0) { return target(a0); }
+ protected Object targetA1(int a0) { return target(a0); }
+ protected Object targetA1(long a0) { return target(a0); }
+ protected Object invoke_L(Object a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(Object a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(Object a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(Object a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(Object a0) { return return_D(targetA1(a0)); }
+ protected Object invoke_L(int a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(int a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(int a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(int a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(int a0) { return return_D(targetA1(a0)); }
+ protected Object invoke_L(long a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(long a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(long a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(long a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(long a0) { return return_D(targetA1(a0)); }
+ }
+ // */
+
+/*
+: SHELL; n=ToGeneric; cp -p $n.java $n.java-; sed < $n.java- > $n.java+ -e '/{{*{{/,/}}*}}/w /tmp/genclasses.java' -e '/}}*}}/q'; (cd /tmp; javac -d . genclasses.java; java -cp . genclasses) >> $n.java+; echo '}' >> $n.java+; mv $n.java+ $n.java; mv $n.java- $n.java~
+//{{{
+import java.util.*;
+class genclasses {
+ static String[] TYPES = { "Object", "int ", "long ", "float ", "double" };
+ static String[] TCHARS = { "L", "I", "J", "F", "D", "A" };
+ static String[][] TEMPLATES = { {
+ "@for@ arity=0..3 rcat<=4 nrefs<=99 nints<=99 nlongs<=99",
+ "@for@ arity=4..5 rcat<=2 nrefs<=99 nints<=99 nlongs<=99",
+ "@for@ arity=6..10 rcat<=2 nrefs<=99 nints=0 nlongs<=99",
+ " //@each-cat@",
+ " static class @cat@ extends Adapter {",
+ " protected @cat@(MethodHandle entryPoint) { super(entryPoint); } // to build prototype",
+ " protected @cat@(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }",
+ " protected @cat@ makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new @cat@(e, i, c, t); }",
+ " protected Object target(@Ovav@) { return invoker.<Object>invoke(target, @av@); }",
+ " //@each-Tv@",
+ " protected Object target@cat@(@Tvav@) { return target(@av@); }",
+ " //@end-Tv@",
+ " //@each-Tv@",
+ " //@each-R@",
+ " protected @R@ invoke_@Rc@(@Tvav@) { return return_@Rc@(target@cat@(@av@)); }",
+ " //@end-R@",
+ " //@end-Tv@",
+ " }",
+ } };
+ enum VAR {
+ cat, R, Rc, Tv, av, Tvav, Ovav;
+ public final String pattern = "@"+toString().replace('_','.')+"@";
+ public String binding;
+ static void makeBindings(boolean topLevel, int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ if (topLevel)
+ VAR.cat.binding = catstr(ALL_RETURN_TYPES ? TYPES.length : rcat, nrefs, nints, nlongs);
+ VAR.R.binding = TYPES[rcat];
+ VAR.Rc.binding = TCHARS[rcat];
+ String[] Tv = new String[nargs];
+ String[] av = new String[nargs];
+ String[] Tvav = new String[nargs];
+ String[] Ovav = new String[nargs];
+ for (int i = 0; i < nargs; i++) {
+ int tcat = (i < nrefs) ? 0 : (i < nrefs + nints) ? 1 : 2;
+ Tv[i] = TYPES[tcat];
+ av[i] = arg(i);
+ Tvav[i] = param(Tv[i], av[i]);
+ Ovav[i] = param("Object", av[i]);
+ }
+ VAR.Tv.binding = comma(Tv);
+ VAR.av.binding = comma(av);
+ VAR.Tvav.binding = comma(Tvav);
+ VAR.Ovav.binding = comma(Ovav);
+ }
+ static String arg(int i) { return "a"+i; }
+ static String param(String t, String a) { return t+" "+a; }
+ static String comma(String[] v) { return comma(v, ""); }
+ static String comma(String sep, String[] v) {
+ if (v.length == 0) return "";
+ String res = sep+v[0];
+ for (int i = 1; i < v.length; i++) res += ", "+v[i];
+ return res;
+ }
+ static String transform(String string) {
+ for (VAR var : values())
+ string = string.replaceAll(var.pattern, var.binding);
+ return string;
+ }
+ }
+ static String[] stringsIn(String[] strings, int beg, int end) {
+ return Arrays.copyOfRange(strings, beg, Math.min(end, strings.length));
+ }
+ static String[] stringsBefore(String[] strings, int pos) {
+ return stringsIn(strings, 0, pos);
+ }
+ static String[] stringsAfter(String[] strings, int pos) {
+ return stringsIn(strings, pos, strings.length);
+ }
+ static int indexAfter(String[] strings, int pos, String tag) {
+ return Math.min(indexBefore(strings, pos, tag) + 1, strings.length);
+ }
+ static int indexBefore(String[] strings, int pos, String tag) {
+ for (int i = pos, end = strings.length; ; i++) {
+ if (i == end || strings[i].endsWith(tag)) return i;
+ }
+ }
+ static int MIN_ARITY, MAX_ARITY, MAX_RCAT, MAX_REFS, MAX_INTS, MAX_LONGS;
+ static boolean ALL_ARG_TYPES, ALL_RETURN_TYPES;
+ static HashSet<String> done = new HashSet<String>();
+ public static void main(String... av) {
+ for (String[] template : TEMPLATES) {
+ int forLinesLimit = indexBefore(template, 0, "@each-cat@");
+ String[] forLines = stringsBefore(template, forLinesLimit);
+ template = stringsAfter(template, forLinesLimit);
+ for (String forLine : forLines)
+ expandTemplate(forLine, template);
+ }
+ }
+ static void expandTemplate(String forLine, String[] template) {
+ String[] params = forLine.split("[^0-9]+");
+ if (params[0].length() == 0) params = stringsAfter(params, 1);
+ System.out.println("//params="+Arrays.asList(params));
+ int pcur = 0;
+ MIN_ARITY = Integer.valueOf(params[pcur++]);
+ MAX_ARITY = Integer.valueOf(params[pcur++]);
+ MAX_RCAT = Integer.valueOf(params[pcur++]);
+ MAX_REFS = Integer.valueOf(params[pcur++]);
+ MAX_INTS = Integer.valueOf(params[pcur++]);
+ MAX_LONGS = Integer.valueOf(params[pcur++]);
+ if (pcur != params.length) throw new RuntimeException("bad extra param: "+forLine);
+ if (MAX_RCAT >= TYPES.length) MAX_RCAT = TYPES.length - 1;
+ ALL_ARG_TYPES = (indexBefore(template, 0, "@each-Tv@") < template.length);
+ ALL_RETURN_TYPES = (indexBefore(template, 0, "@each-R@") < template.length);
+ for (int nargs = MIN_ARITY; nargs <= MAX_ARITY; nargs++) {
+ for (int rcat = 0; rcat <= MAX_RCAT; rcat++) {
+ expandTemplate(template, true, rcat, nargs, 0, 0);
+ if (ALL_ARG_TYPES) break;
+ expandTemplateForPrims(template, true, rcat, nargs, 1, 1);
+ if (ALL_RETURN_TYPES) break;
+ }
+ }
+ }
+ static String catstr(int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ String cat = TCHARS[rcat] + nargs;
+ if (!ALL_ARG_TYPES) cat += (nints==0?"":"I"+nints)+(nlongs==0?"":"J"+nlongs);
+ return cat;
+ }
+ static void expandTemplateForPrims(String[] template, boolean topLevel, int rcat, int nargs, int minints, int minlongs) {
+ for (int isLong = 0; isLong <= 1; isLong++) {
+ for (int nprims = 1; nprims <= nargs; nprims++) {
+ int nrefs = nargs - nprims;
+ int nints = ((1-isLong) * nprims);
+ int nlongs = (isLong * nprims);
+ expandTemplate(template, topLevel, rcat, nrefs, nints, nlongs);
+ }
+ }
+ }
+ static void expandTemplate(String[] template, boolean topLevel,
+ int rcat, int nrefs, int nints, int nlongs) {
+ int nargs = nrefs + nints + nlongs;
+ if (nrefs > MAX_REFS || nints > MAX_INTS || nlongs > MAX_LONGS) return;
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ if (topLevel && !done.add(VAR.cat.binding)) {
+ System.out.println(" //repeat "+VAR.cat.binding);
+ return;
+ }
+ for (int i = 0; i < template.length; i++) {
+ String line = template[i];
+ if (line.endsWith("@each-cat@")) {
+ // ignore
+ } else if (line.endsWith("@each-R@")) {
+ int blockEnd = indexAfter(template, i, "@end-R@");
+ String[] block = stringsIn(template, i+1, blockEnd-1);
+ for (int rcat1 = rcat; rcat1 <= MAX_RCAT; rcat1++)
+ expandTemplate(block, false, rcat1, nrefs, nints, nlongs);
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ i = blockEnd-1; continue;
+ } else if (line.endsWith("@each-Tv@")) {
+ int blockEnd = indexAfter(template, i, "@end-Tv@");
+ String[] block = stringsIn(template, i+1, blockEnd-1);
+ expandTemplate(block, false, rcat, nrefs, nints, nlongs);
+ expandTemplateForPrims(block, false, rcat, nargs, nints+1, nlongs+1);
+ VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs);
+ i = blockEnd-1; continue;
+ } else {
+ System.out.println(VAR.transform(line));
+ }
+ }
+ }
+}
+//}}} */
+//params=[0, 3, 4, 99, 99, 99]
+ static class A0 extends Adapter {
+ protected A0(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A0(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A0 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A0(e, i, c, t); }
+ protected Object target() { return invoker.<Object>invoke(target); }
+ protected Object targetA0() { return target(); }
+ protected Object invoke_L() { return return_L(targetA0()); }
+ protected int invoke_I() { return return_I(targetA0()); }
+ protected long invoke_J() { return return_J(targetA0()); }
+ protected float invoke_F() { return return_F(targetA0()); }
+ protected double invoke_D() { return return_D(targetA0()); }
+ }
+ static class A1 extends Adapter {
+ protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A1(e, i, c, t); }
+ protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); }
+ protected Object targetA1(Object a0) { return target(a0); }
+ protected Object targetA1(int a0) { return target(a0); }
+ protected Object targetA1(long a0) { return target(a0); }
+ protected Object invoke_L(Object a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(Object a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(Object a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(Object a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(Object a0) { return return_D(targetA1(a0)); }
+ protected Object invoke_L(int a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(int a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(int a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(int a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(int a0) { return return_D(targetA1(a0)); }
+ protected Object invoke_L(long a0) { return return_L(targetA1(a0)); }
+ protected int invoke_I(long a0) { return return_I(targetA1(a0)); }
+ protected long invoke_J(long a0) { return return_J(targetA1(a0)); }
+ protected float invoke_F(long a0) { return return_F(targetA1(a0)); }
+ protected double invoke_D(long a0) { return return_D(targetA1(a0)); }
+ }
+ static class A2 extends Adapter {
+ protected A2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A2(e, i, c, t); }
+ protected Object target(Object a0, Object a1) { return invoker.<Object>invoke(target, a0, a1); }
+ protected Object targetA2(Object a0, Object a1) { return target(a0, a1); }
+ protected Object targetA2(Object a0, int a1) { return target(a0, a1); }
+ protected Object targetA2(int a0, int a1) { return target(a0, a1); }
+ protected Object targetA2(Object a0, long a1) { return target(a0, a1); }
+ protected Object targetA2(long a0, long a1) { return target(a0, a1); }
+ protected Object invoke_L(Object a0, Object a1) { return return_L(targetA2(a0, a1)); }
+ protected int invoke_I(Object a0, Object a1) { return return_I(targetA2(a0, a1)); }
+ protected long invoke_J(Object a0, Object a1) { return return_J(targetA2(a0, a1)); }
+ protected float invoke_F(Object a0, Object a1) { return return_F(targetA2(a0, a1)); }
+ protected double invoke_D(Object a0, Object a1) { return return_D(targetA2(a0, a1)); }
+ protected Object invoke_L(Object a0, int a1) { return return_L(targetA2(a0, a1)); }
+ protected int invoke_I(Object a0, int a1) { return return_I(targetA2(a0, a1)); }
+ protected long invoke_J(Object a0, int a1) { return return_J(targetA2(a0, a1)); }
+ protected float invoke_F(Object a0, int a1) { return return_F(targetA2(a0, a1)); }
+ protected double invoke_D(Object a0, int a1) { return return_D(targetA2(a0, a1)); }
+ protected Object invoke_L(int a0, int a1) { return return_L(targetA2(a0, a1)); }
+ protected int invoke_I(int a0, int a1) { return return_I(targetA2(a0, a1)); }
+ protected long invoke_J(int a0, int a1) { return return_J(targetA2(a0, a1)); }
+ protected float invoke_F(int a0, int a1) { return return_F(targetA2(a0, a1)); }
+ protected double invoke_D(int a0, int a1) { return return_D(targetA2(a0, a1)); }
+ protected Object invoke_L(Object a0, long a1) { return return_L(targetA2(a0, a1)); }
+ protected int invoke_I(Object a0, long a1) { return return_I(targetA2(a0, a1)); }
+ protected long invoke_J(Object a0, long a1) { return return_J(targetA2(a0, a1)); }
+ protected float invoke_F(Object a0, long a1) { return return_F(targetA2(a0, a1)); }
+ protected double invoke_D(Object a0, long a1) { return return_D(targetA2(a0, a1)); }
+ protected Object invoke_L(long a0, long a1) { return return_L(targetA2(a0, a1)); }
+ protected int invoke_I(long a0, long a1) { return return_I(targetA2(a0, a1)); }
+ protected long invoke_J(long a0, long a1) { return return_J(targetA2(a0, a1)); }
+ protected float invoke_F(long a0, long a1) { return return_F(targetA2(a0, a1)); }
+ protected double invoke_D(long a0, long a1) { return return_D(targetA2(a0, a1)); }
+ }
+ static class A3 extends Adapter {
+ protected A3(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A3(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A3 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A3(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2) { return invoker.<Object>invoke(target, a0, a1, a2); }
+ protected Object targetA3(Object a0, Object a1, Object a2) { return target(a0, a1, a2); }
+ protected Object targetA3(Object a0, Object a1, int a2) { return target(a0, a1, a2); }
+ protected Object targetA3(Object a0, int a1, int a2) { return target(a0, a1, a2); }
+ protected Object targetA3(int a0, int a1, int a2) { return target(a0, a1, a2); }
+ protected Object targetA3(Object a0, Object a1, long a2) { return target(a0, a1, a2); }
+ protected Object targetA3(Object a0, long a1, long a2) { return target(a0, a1, a2); }
+ protected Object targetA3(long a0, long a1, long a2) { return target(a0, a1, a2); }
+ protected Object invoke_L(Object a0, Object a1, Object a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(Object a0, Object a1, Object a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(Object a0, Object a1, Object a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(Object a0, Object a1, Object a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(Object a0, Object a1, Object a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(Object a0, Object a1, int a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(Object a0, Object a1, int a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(Object a0, Object a1, int a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(Object a0, Object a1, int a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(Object a0, Object a1, int a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(Object a0, int a1, int a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(Object a0, int a1, int a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(Object a0, int a1, int a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(Object a0, int a1, int a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(Object a0, int a1, int a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(int a0, int a1, int a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(int a0, int a1, int a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(int a0, int a1, int a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(int a0, int a1, int a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(int a0, int a1, int a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(Object a0, Object a1, long a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(Object a0, Object a1, long a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(Object a0, Object a1, long a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(Object a0, Object a1, long a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(Object a0, Object a1, long a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(Object a0, long a1, long a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(Object a0, long a1, long a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(Object a0, long a1, long a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(Object a0, long a1, long a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(Object a0, long a1, long a2) { return return_D(targetA3(a0, a1, a2)); }
+ protected Object invoke_L(long a0, long a1, long a2) { return return_L(targetA3(a0, a1, a2)); }
+ protected int invoke_I(long a0, long a1, long a2) { return return_I(targetA3(a0, a1, a2)); }
+ protected long invoke_J(long a0, long a1, long a2) { return return_J(targetA3(a0, a1, a2)); }
+ protected float invoke_F(long a0, long a1, long a2) { return return_F(targetA3(a0, a1, a2)); }
+ protected double invoke_D(long a0, long a1, long a2) { return return_D(targetA3(a0, a1, a2)); }
+ }
+//params=[4, 5, 2, 99, 99, 99]
+ static class A4 extends Adapter {
+ protected A4(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A4(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A4 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A4(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3) { return invoker.<Object>invoke(target, a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, Object a1, Object a2, int a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, Object a1, int a2, int a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, int a1, int a2, int a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(int a0, int a1, int a2, int a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, Object a1, Object a2, long a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, Object a1, long a2, long a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(Object a0, long a1, long a2, long a3) { return target(a0, a1, a2, a3); }
+ protected Object targetA4(long a0, long a1, long a2, long a3) { return target(a0, a1, a2, a3); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, Object a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, Object a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, Object a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, int a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, int a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, int a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(int a0, int a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(int a0, int a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(int a0, int a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); }
+ }
+ static class A5 extends Adapter {
+ protected A5(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A5(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A5 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A5(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, Object a2, Object a3, Object a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, Object a2, Object a3, int a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, Object a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, int a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(int a0, int a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, Object a2, Object a3, long a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, Object a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, Object a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(Object a0, long a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object targetA5(long a0, long a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, int a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, int a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, int a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(int a0, int a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(int a0, int a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(int a0, int a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); }
+ }
+//params=[6, 10, 2, 99, 0, 99]
+ static class A6 extends Adapter {
+ protected A6(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A6(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A6 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A6(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, Object a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(Object a0, long a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object targetA6(long a0, long a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); }
+ }
+ static class A7 extends Adapter {
+ protected A7(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A7(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A7 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A7(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object targetA7(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); }
+ }
+ static class A8 extends Adapter {
+ protected A8(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A8(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A8 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A8(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object targetA8(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); }
+ }
+ static class A9 extends Adapter {
+ protected A9(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A9(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A9 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A9(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object targetA9(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+ }
+ static class A10 extends Adapter {
+ protected A10(MethodHandle entryPoint) { super(entryPoint); } // to build prototype
+ protected A10(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }
+ protected A10 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A10(e, i, c, t); }
+ protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object targetA10(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java b/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java
new file mode 100644
index 0000000..a182161
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java
@@ -0,0 +1,297 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.anon;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Anonymous class loader. Will load any valid classfile, producing
+ * a {@link Class} metaobject, without installing that class in the
+ * system dictionary. Therefore, {@link Class#forName(String)} will never
+ * produce a reference to an anonymous class.
+ * <p>
+ * The access permissions of the anonymous class are borrowed from
+ * a <em>host class</em>. The new class behaves as if it were an
+ * inner class of the host class. It can access the host's private
+ * members, if the creator of the class loader has permission to
+ * do so (or to create accessible reflective objects).
+ * <p>
+ * When the anonymous class is loaded, elements of its constant pool
+ * can be patched to new values. This provides a hook to pre-resolve
+ * named classes in the constant pool to other classes, including
+ * anonymous ones. Also, string constants can be pre-resolved to
+ * any reference. (The verifier treats non-string, non-class reference
+ * constants as plain objects.)
+ * <p>
+ * Why include the patching function? It makes some use cases much easier.
+ * Second, the constant pool needed some internal patching anyway,
+ * to anonymize the loaded class itself. Finally, if you are going
+ * to use this seriously, you'll want to build anonymous classes
+ * on top of pre-existing anonymous classes, and that requires patching.
+ *
+ * <p>%%% TO-DO:
+ * <ul>
+ * <li>needs better documentation</li>
+ * <li>needs more security work (for safe delegation)</li>
+ * <li>needs a clearer story about error processing</li>
+ * <li>patch member references also (use ';' as delimiter char)</li>
+ * <li>patch method references to (conforming) method handles</li>
+ * </ul>
+ *
+ * @author jrose
+ * @author Remi Forax
+ * @see <a href="http://blogs.sun.com/jrose/entry/anonymous_classes_in_the_vm">
+ * http://blogs.sun.com/jrose/entry/anonymous_classes_in_the_vm</a>
+ */
+
+public class AnonymousClassLoader {
+ final Class<?> hostClass;
+
+ // Note: Do not refactor the calls to checkHostClass unless you
+ // also adjust this constant:
+ private static int CHC_CALLERS = 3;
+
+ public AnonymousClassLoader() {
+ this.hostClass = checkHostClass(null);
+ }
+ public AnonymousClassLoader(Class<?> hostClass) {
+ this.hostClass = checkHostClass(hostClass);
+ }
+
+ private static Class<?> getTopLevelClass(Class<?> clazz) {
+ for(Class<?> outer = clazz.getDeclaringClass(); outer != null;
+ outer = outer.getDeclaringClass()) {
+ clazz = outer;
+ }
+ return clazz;
+ }
+
+ private static Class<?> checkHostClass(Class<?> hostClass) {
+ // called only from the constructor
+ // does a context-sensitive check on caller class
+ // CC[0..3] = {Reflection, this.checkHostClass, this.<init>, caller}
+ Class<?> caller = sun.reflect.Reflection.getCallerClass(CHC_CALLERS);
+
+ if (caller == null) {
+ // called from the JVM directly
+ if (hostClass == null)
+ return AnonymousClassLoader.class; // anything central will do
+ return hostClass;
+ }
+
+ if (hostClass == null)
+ hostClass = caller; // default value is caller itself
+
+ // anonymous class will access hostClass on behalf of caller
+ Class<?> callee = hostClass;
+
+ if (caller == callee)
+ // caller can always nominate itself to grant caller's own access rights
+ return hostClass;
+
+ // normalize caller and callee to their top-level classes:
+ caller = getTopLevelClass(caller);
+ callee = getTopLevelClass(callee);
+ if (caller == callee)
+ return caller;
+
+ ClassLoader callerCL = caller.getClassLoader();
+ if (callerCL == null) {
+ // caller is trusted code, so accept the proposed hostClass
+ return hostClass;
+ }
+
+ // %%% should do something with doPrivileged, because trusted
+ // code should have a way to execute on behalf of
+ // partially-trusted clients
+
+ // Does the caller have the right to access the private
+ // members of the callee? If not, raise an error.
+ final int ACC_PRIVATE = 2;
+ try {
+ sun.reflect.Reflection.ensureMemberAccess(caller, callee, null, ACC_PRIVATE);
+ } catch (IllegalAccessException ee) {
+ throw new IllegalArgumentException(ee);
+ }
+
+ return hostClass;
+ }
+
+ public Class<?> loadClass(byte[] classFile) {
+ if (defineAnonymousClass == null) {
+ // no JVM support; try to fake an approximation
+ try {
+ return fakeLoadClass(new ConstantPoolParser(classFile).createPatch());
+ } catch (InvalidConstantPoolFormatException ee) {
+ throw new IllegalArgumentException(ee);
+ }
+ }
+ return loadClass(classFile, null);
+ }
+
+ public Class<?> loadClass(ConstantPoolPatch classPatch) {
+ if (defineAnonymousClass == null) {
+ // no JVM support; try to fake an approximation
+ return fakeLoadClass(classPatch);
+ }
+ Object[] patches = classPatch.patchArray;
+ // Convert class names (this late in the game)
+ // to use slash '/' instead of dot '.'.
+ // Java likes dots, but the JVM likes slashes.
+ for (int i = 0; i < patches.length; i++) {
+ Object value = patches[i];
+ if (value != null) {
+ byte tag = classPatch.getTag(i);
+ switch (tag) {
+ case ConstantPoolVisitor.CONSTANT_Class:
+ if (value instanceof String) {
+ if (patches == classPatch.patchArray)
+ patches = patches.clone();
+ patches[i] = ((String)value).replace('.', '/');
+ }
+ break;
+ case ConstantPoolVisitor.CONSTANT_Fieldref:
+ case ConstantPoolVisitor.CONSTANT_Methodref:
+ case ConstantPoolVisitor.CONSTANT_InterfaceMethodref:
+ case ConstantPoolVisitor.CONSTANT_NameAndType:
+ // When/if the JVM supports these patches,
+ // we'll probably need to reformat them also.
+ // Meanwhile, let the class loader create the error.
+ break;
+ }
+ }
+ }
+ return loadClass(classPatch.outer.classFile, classPatch.patchArray);
+ }
+
+ private Class<?> loadClass(byte[] classFile, Object[] patchArray) {
+ try {
+ return (Class<?>)
+ defineAnonymousClass.invoke(unsafe,
+ hostClass, classFile, patchArray);
+ } catch (Exception ex) {
+ throwReflectedException(ex);
+ throw new RuntimeException("error loading into "+hostClass, ex);
+ }
+ }
+
+ private static void throwReflectedException(Exception ex) {
+ if (ex instanceof InvocationTargetException) {
+ Throwable tex = ((InvocationTargetException)ex).getTargetException();
+ if (tex instanceof Error)
+ throw (Error) tex;
+ ex = (Exception) tex;
+ }
+ if (ex instanceof RuntimeException) {
+ throw (RuntimeException) ex;
+ }
+ }
+
+ private Class<?> fakeLoadClass(ConstantPoolPatch classPatch) {
+ // Implementation:
+ // 1. Make up a new name nobody has used yet.
+ // 2. Inspect the tail-header of the class to find the this_class index.
+ // 3. Patch the CONSTANT_Class for this_class to the new name.
+ // 4. Add other CP entries required by (e.g.) string patches.
+ // 5. Flatten Class constants down to their names, making sure that
+ // the host class loader can pick them up again accurately.
+ // 6. Generate the edited class file bytes.
+ //
+ // Potential limitations:
+ // * The class won't be truly anonymous, and may interfere with others.
+ // * Flattened class constants might not work, because of loader issues.
+ // * Pseudo-string constants will not flatten down to real strings.
+ // * Method handles will (of course) fail to flatten to linkage strings.
+ if (true) throw new UnsupportedOperationException("NYI");
+ Object[] cpArray;
+ try {
+ cpArray = classPatch.getOriginalCP();
+ } catch (InvalidConstantPoolFormatException ex) {
+ throw new RuntimeException(ex);
+ }
+ int thisClassIndex = classPatch.getParser().getThisClassIndex();
+ String thisClassName = (String) cpArray[thisClassIndex];
+ synchronized (AnonymousClassLoader.class) {
+ thisClassName = thisClassName+"\\|"+(++fakeNameCounter);
+ }
+ classPatch.putUTF8(thisClassIndex, thisClassName);
+ byte[] classFile = null;
+ return unsafe.defineClass(null, classFile, 0, classFile.length,
+ hostClass.getClassLoader(),
+ hostClass.getProtectionDomain());
+ }
+ private static int fakeNameCounter = 99999;
+
+ // ignore two warnings on this line:
+ static sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe();
+ // preceding line requires that this class be on the boot class path
+
+ static private final Method defineAnonymousClass;
+ static {
+ Method dac = null;
+ Class<? extends sun.misc.Unsafe> unsafeClass = unsafe.getClass();
+ try {
+ dac = unsafeClass.getMethod("defineAnonymousClass",
+ Class.class,
+ byte[].class,
+ Object[].class);
+ } catch (Exception ee) {
+ dac = null;
+ }
+ defineAnonymousClass = dac;
+ }
+
+ private static void noJVMSupport() {
+ throw new UnsupportedOperationException("no JVM support for anonymous classes");
+ }
+
+
+ private static native Class<?> loadClassInternal(Class<?> hostClass,
+ byte[] classFile,
+ Object[] patchArray);
+
+ public static byte[] readClassFile(Class<?> templateClass) throws IOException {
+ String templateName = templateClass.getName();
+ int lastDot = templateName.lastIndexOf('.');
+ java.net.URL url = templateClass.getResource(templateName.substring(lastDot+1)+".class");
+ java.net.URLConnection connection = url.openConnection();
+ int contentLength = connection.getContentLength();
+ if (contentLength < 0)
+ throw new IOException("invalid content length "+contentLength);
+
+ byte[] classFile = new byte[contentLength];
+ InputStream tcs = connection.getInputStream();
+ for (int fill = 0, nr; fill < classFile.length; fill += nr) {
+ nr = tcs.read(classFile, fill, classFile.length - fill);
+ if (nr < 0)
+ throw new IOException("premature end of file");
+ }
+ return classFile;
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java
new file mode 100644
index 0000000..db12e95
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java
@@ -0,0 +1,368 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.anon;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.BufferUnderflowException;
+import java.nio.ByteBuffer;
+
+import static sun.dyn.anon.ConstantPoolVisitor.*;
+
+/** A constant pool parser.
+ */
+public class ConstantPoolParser {
+ final byte[] classFile;
+ final byte[] tags;
+ final char[] firstHeader; // maghi, maglo, minor, major, cplen
+
+ // these are filled in on first parse:
+ int endOffset;
+ char[] secondHeader; // flags, this_class, super_class, intlen
+
+ // used to decode UTF8 array
+ private char[] charArray = new char[80];
+
+ /** Creates a constant pool parser.
+ * @param classFile an array of bytes containing a class.
+ * @throws InvalidConstantPoolFormatException if the header of the class has errors.
+ */
+ public ConstantPoolParser(byte[] classFile) throws InvalidConstantPoolFormatException {
+ this.classFile = classFile;
+ this.firstHeader = parseHeader(classFile);
+ this.tags = new byte[firstHeader[4]];
+ }
+
+ /** Create a constant pool parser by loading the bytecodes of the
+ * class taken as argument.
+ *
+ * @param templateClass the class to parse.
+ *
+ * @throws IOException raised if an I/O occurs when loading
+ * the bytecode of the template class.
+ * @throws InvalidConstantPoolFormatException if the header of the class has errors.
+ *
+ * @see #ConstantPoolParser(byte[])
+ * @see AnonymousClassLoader#readClassFile(Class)
+ */
+ public ConstantPoolParser(Class<?> templateClass) throws IOException, InvalidConstantPoolFormatException {
+ this(AnonymousClassLoader.readClassFile(templateClass));
+ }
+
+ /** Creates an empty patch to patch the class file
+ * used by the current parser.
+ * @return a new class patch.
+ */
+ public ConstantPoolPatch createPatch() {
+ return new ConstantPoolPatch(this);
+ }
+
+ /** Report the tag of the indicated CP entry.
+ * @param index
+ * @return one of {@link ConstantPoolVisitor#CONSTANT_Utf8}, etc.
+ */
+ public byte getTag(int index) {
+ getEndOffset(); // trigger an exception if we haven't parsed yet
+ return tags[index];
+ }
+
+ /** Report the length of the constant pool. */
+ public int getLength() {
+ return firstHeader[4];
+ }
+
+ /** Report the offset, within the class file, of the start of the constant pool. */
+ public int getStartOffset() {
+ return firstHeader.length * 2;
+ }
+
+ /** Report the offset, within the class file, of the end of the constant pool. */
+ public int getEndOffset() {
+ if (endOffset == 0)
+ throw new IllegalStateException("class file has not yet been parsed");
+ return endOffset;
+ }
+
+ /** Report the CP index of this class's own name. */
+ public int getThisClassIndex() {
+ getEndOffset(); // provoke exception if not yet parsed
+ return secondHeader[1];
+ }
+
+ /** Report the total size of the class file. */
+ public int getTailLength() {
+ return classFile.length - getEndOffset();
+ }
+
+ /** Write the head (header plus constant pool)
+ * of the class file to the indicated stream.
+ */
+ public void writeHead(OutputStream out) throws IOException {
+ out.write(classFile, 0, getEndOffset());
+ }
+
+ /** Write the head (header plus constant pool)
+ * of the class file to the indicated stream,
+ * incorporating the non-null entries of the given array
+ * as patches.
+ */
+ void writePatchedHead(OutputStream out, Object[] patchArray) {
+ // this will be useful to partially emulate the class loader on old JVMs
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
+ /** Write the tail (everything after the constant pool)
+ * of the class file to the indicated stream.
+ */
+ public void writeTail(OutputStream out) throws IOException {
+ out.write(classFile, getEndOffset(), getTailLength());
+ }
+
+ private static char[] parseHeader(byte[] classFile) throws InvalidConstantPoolFormatException {
+ char[] result = new char[5];
+ ByteBuffer buffer = ByteBuffer.wrap(classFile);
+ for (int i = 0; i < result.length; i++)
+ result[i] = (char) getUnsignedShort(buffer);
+ int magic = result[0] << 16 | result[1] << 0;
+ if (magic != 0xCAFEBABE)
+ throw new InvalidConstantPoolFormatException("invalid magic number "+magic);
+ // skip major, minor version
+ int len = result[4];
+ if (len < 1)
+ throw new InvalidConstantPoolFormatException("constant pool length < 1");
+ return result;
+ }
+
+ /** Parse the constant pool of the class
+ * calling a method visit* each time a constant pool entry is parsed.
+ *
+ * The order of the calls to visit* is not guaranteed to be the same
+ * than the order of the constant pool entry in the bytecode array.
+ *
+ * @param visitor
+ * @throws InvalidConstantPoolFormatException
+ */
+ public void parse(ConstantPoolVisitor visitor) throws InvalidConstantPoolFormatException {
+ ByteBuffer buffer = ByteBuffer.wrap(classFile);
+ buffer.position(getStartOffset()); //skip header
+
+ Object[] values = new Object[getLength()];
+ try {
+ parseConstantPool(buffer, values, visitor);
+ } catch(BufferUnderflowException e) {
+ throw new InvalidConstantPoolFormatException(e);
+ }
+ if (endOffset == 0) {
+ endOffset = buffer.position();
+ secondHeader = new char[4];
+ for (int i = 0; i < secondHeader.length; i++) {
+ secondHeader[i] = (char) getUnsignedShort(buffer);
+ }
+ }
+ resolveConstantPool(values, visitor);
+ }
+
+ private char[] getCharArray(int utfLength) {
+ if (utfLength <= charArray.length)
+ return charArray;
+ return charArray = new char[utfLength];
+ }
+
+ private void parseConstantPool(ByteBuffer buffer, Object[] values, ConstantPoolVisitor visitor) throws InvalidConstantPoolFormatException {
+ for (int i = 1; i < tags.length; ) {
+ byte tag = (byte) getUnsignedByte(buffer);
+ assert(tags[i] == 0 || tags[i] == tag);
+ tags[i] = tag;
+ switch (tag) {
+ case CONSTANT_Utf8:
+ int utfLen = getUnsignedShort(buffer);
+ String value = getUTF8(buffer, utfLen, getCharArray(utfLen));
+ visitor.visitUTF8(i, CONSTANT_Utf8, value);
+ tags[i] = tag;
+ values[i++] = value;
+ break;
+ case CONSTANT_Integer:
+ visitor.visitConstantValue(i, tag, buffer.getInt());
+ i++;
+ break;
+ case CONSTANT_Float:
+ visitor.visitConstantValue(i, tag, buffer.getFloat());
+ i++;
+ break;
+ case CONSTANT_Long:
+ visitor.visitConstantValue(i, tag, buffer.getLong());
+ i+=2;
+ break;
+ case CONSTANT_Double:
+ visitor.visitConstantValue(i, tag, buffer.getDouble());
+ i+=2;
+ break;
+
+ case CONSTANT_Class: // fall through:
+ case CONSTANT_String:
+ tags[i] = tag;
+ values[i++] = new int[] { getUnsignedShort(buffer) };
+ break;
+
+ case CONSTANT_Fieldref: // fall through:
+ case CONSTANT_Methodref: // fall through:
+ case CONSTANT_InterfaceMethodref: // fall through:
+ case CONSTANT_NameAndType:
+ tags[i] = tag;
+ values[i++] = new int[] { getUnsignedShort(buffer), getUnsignedShort(buffer) };
+ break;
+ default:
+ throw new AssertionError("invalid constant "+tag);
+ }
+ }
+ }
+
+ private void resolveConstantPool(Object[] values, ConstantPoolVisitor visitor) {
+ // clean out the int[] values, which are temporary
+ for (int beg = 1, end = values.length-1, beg2, end2;
+ beg <= end;
+ beg = beg2, end = end2) {
+ beg2 = end; end2 = beg-1;
+ //System.out.println("CP resolve pass: "+beg+".."+end);
+ for (int i = beg; i <= end; i++) {
+ Object value = values[i];
+ if (!(value instanceof int[]))
+ continue;
+ int[] array = (int[]) value;
+ byte tag = tags[i];
+ switch (tag) {
+ case CONSTANT_String:
+ String stringBody = (String) values[array[0]];
+ visitor.visitConstantString(i, tag, stringBody, array[0]);
+ values[i] = null;
+ break;
+ case CONSTANT_Class: {
+ String className = (String) values[array[0]];
+ // use the external form favored by Class.forName:
+ className = className.replace('/', '.');
+ visitor.visitConstantString(i, tag, className, array[0]);
+ values[i] = className;
+ break;
+ }
+ case CONSTANT_NameAndType: {
+ String memberName = (String) values[array[0]];
+ String signature = (String) values[array[1]];
+ visitor.visitDescriptor(i, tag, memberName, signature,
+ array[0], array[1]);
+ values[i] = new String[] {memberName, signature};
+ break;
+ }
+ case CONSTANT_Fieldref: // fall through:
+ case CONSTANT_Methodref: // fall through:
+ case CONSTANT_InterfaceMethodref: {
+ Object className = values[array[0]];
+ Object nameAndType = values[array[1]];
+ if (!(className instanceof String) ||
+ !(nameAndType instanceof String[])) {
+ // one more pass is needed
+ if (beg2 > i) beg2 = i;
+ if (end2 < i) end2 = i;
+ continue;
+ }
+ String[] nameAndTypeArray = (String[]) nameAndType;
+ visitor.visitMemberRef(i, tag,
+ (String)className,
+ nameAndTypeArray[0],
+ nameAndTypeArray[1],
+ array[0], array[1]);
+ values[i] = null;
+ }
+ break;
+ default:
+ continue;
+ }
+ }
+ }
+ }
+
+ private static int getUnsignedByte(ByteBuffer buffer) {
+ return buffer.get() & 0xFF;
+ }
+
+ private static int getUnsignedShort(ByteBuffer buffer) {
+ int b1 = getUnsignedByte(buffer);
+ int b2 = getUnsignedByte(buffer);
+ return (b1 << 8) + (b2 << 0);
+ }
+
+ private static String getUTF8(ByteBuffer buffer, int utfLen, char[] charArray) throws InvalidConstantPoolFormatException {
+ int utfLimit = buffer.position() + utfLen;
+ int index = 0;
+ while (buffer.position() < utfLimit) {
+ int c = buffer.get() & 0xff;
+ if (c > 127) {
+ buffer.position(buffer.position() - 1);
+ return getUTF8Extended(buffer, utfLimit, charArray, index);
+ }
+ charArray[index++] = (char)c;
+ }
+ return new String(charArray, 0, index);
+ }
+
+ private static String getUTF8Extended(ByteBuffer buffer, int utfLimit, char[] charArray, int index) throws InvalidConstantPoolFormatException {
+ int c, c2, c3;
+ while (buffer.position() < utfLimit) {
+ c = buffer.get() & 0xff;
+ switch (c >> 4) {
+ case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
+ /* 0xxxxxxx*/
+ charArray[index++] = (char)c;
+ break;
+ case 12: case 13:
+ /* 110x xxxx 10xx xxxx*/
+ c2 = buffer.get();
+ if ((c2 & 0xC0) != 0x80)
+ throw new InvalidConstantPoolFormatException(
+ "malformed input around byte " + buffer.position());
+ charArray[index++] = (char)(((c & 0x1F) << 6) |
+ (c2 & 0x3F));
+ break;
+ case 14:
+ /* 1110 xxxx 10xx xxxx 10xx xxxx */
+ c2 = buffer.get();
+ c3 = buffer.get();
+ if (((c2 & 0xC0) != 0x80) || ((c3 & 0xC0) != 0x80))
+ throw new InvalidConstantPoolFormatException(
+ "malformed input around byte " + (buffer.position()));
+ charArray[index++] = (char)(((c & 0x0F) << 12) |
+ ((c2 & 0x3F) << 6) |
+ ((c3 & 0x3F) << 0));
+ break;
+ default:
+ /* 10xx xxxx, 1111 xxxx */
+ throw new InvalidConstantPoolFormatException(
+ "malformed input around byte " + buffer.position());
+ }
+ }
+ // The number of chars produced may be less than utflen
+ return new String(charArray, 0, index);
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java
new file mode 100644
index 0000000..2775ad2
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java
@@ -0,0 +1,503 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.anon;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.Map;
+
+import static sun.dyn.anon.ConstantPoolVisitor.*;
+
+/** A class and its patched constant pool.
+ *
+ * This class allow to modify (patch) a constant pool
+ * by changing the value of its entry.
+ * Entry are referenced using index that can be get
+ * by parsing the constant pool using
+ * {@link ConstantPoolParser#parse(ConstantPoolVisitor)}.
+ *
+ * @see ConstantPoolVisitor
+ * @see ConstantPoolParser#createPatch()
+ */
+public class ConstantPoolPatch {
+ final ConstantPoolParser outer;
+ final Object[] patchArray;
+
+ ConstantPoolPatch(ConstantPoolParser outer) {
+ this.outer = outer;
+ this.patchArray = new Object[outer.getLength()];
+ }
+
+ /** Create a {@link ConstantPoolParser} and
+ * a {@link ConstantPoolPatch} in one step.
+ * Equivalent to {@code new ConstantPoolParser(classFile).createPatch()}.
+ *
+ * @param classFile an array of bytes containing a class.
+ * @see #ConstantPoolParser(Class)
+ */
+ public ConstantPoolPatch(byte[] classFile) throws InvalidConstantPoolFormatException {
+ this(new ConstantPoolParser(classFile));
+ }
+
+ /** Create a {@link ConstantPoolParser} and
+ * a {@link ConstantPoolPatch} in one step.
+ * Equivalent to {@code new ConstantPoolParser(templateClass).createPatch()}.
+ *
+ * @param templateClass the class to parse.
+ * @see #ConstantPoolParser(Class)
+ */
+ public ConstantPoolPatch(Class<?> templateClass) throws IOException, InvalidConstantPoolFormatException {
+ this(new ConstantPoolParser(templateClass));
+ }
+
+
+ /** Creates a patch from an existing patch.
+ * All changes are copied from that patch.
+ * @param patch a patch
+ *
+ * @see ConstantPoolParser#createPatch()
+ */
+ public ConstantPoolPatch(ConstantPoolPatch patch) {
+ outer = patch.outer;
+ patchArray = patch.patchArray.clone();
+ }
+
+ /** Which parser built this patch? */
+ public ConstantPoolParser getParser() {
+ return outer;
+ }
+
+ /** Report the tag at the given index in the constant pool. */
+ public byte getTag(int index) {
+ return outer.getTag(index);
+ }
+
+ /** Report the current patch at the given index of the constant pool.
+ * Null means no patch will be made.
+ * To observe the unpatched entry at the given index, use
+ * {@link #getParser()}{@code .}@link ConstantPoolParser#parse(ConstantPoolVisitor)}
+ */
+ public Object getPatch(int index) {
+ Object value = patchArray[index];
+ if (value == null) return null;
+ switch (getTag(index)) {
+ case CONSTANT_Fieldref:
+ case CONSTANT_Methodref:
+ case CONSTANT_InterfaceMethodref:
+ if (value instanceof String)
+ value = stripSemis(2, (String) value);
+ break;
+ case CONSTANT_NameAndType:
+ if (value instanceof String)
+ value = stripSemis(1, (String) value);
+ break;
+ }
+ return value;
+ }
+
+ /** Clear all patches. */
+ public void clear() {
+ Arrays.fill(patchArray, null);
+ }
+
+ /** Clear one patch. */
+ public void clear(int index) {
+ patchArray[index] = null;
+ }
+
+ /** Produce the patches as an array. */
+ public Object[] getPatches() {
+ return patchArray.clone();
+ }
+
+ /** Produce the original constant pool as an array. */
+ public Object[] getOriginalCP() throws InvalidConstantPoolFormatException {
+ return getOriginalCP(0, patchArray.length, -1);
+ }
+
+ /** Walk the constant pool, applying patches using the given map.
+ *
+ * @param utf8Map Utf8 strings to modify, if encountered
+ * @param classMap Classes (or their names) to modify, if encountered
+ * @param valueMap Constant values to modify, if encountered
+ * @param deleteUsedEntries if true, delete map entries that are used
+ */
+ public void putPatches(final Map<String,String> utf8Map,
+ final Map<String,Object> classMap,
+ final Map<Object,Object> valueMap,
+ boolean deleteUsedEntries) throws InvalidConstantPoolFormatException {
+ final HashSet<String> usedUtf8Keys;
+ final HashSet<String> usedClassKeys;
+ final HashSet<Object> usedValueKeys;
+ if (deleteUsedEntries) {
+ usedUtf8Keys = (utf8Map == null) ? null : new HashSet<String>();
+ usedClassKeys = (classMap == null) ? null : new HashSet<String>();
+ usedValueKeys = (valueMap == null) ? null : new HashSet<Object>();
+ } else {
+ usedUtf8Keys = null;
+ usedClassKeys = null;
+ usedValueKeys = null;
+ }
+
+ outer.parse(new ConstantPoolVisitor() {
+
+ @Override
+ public void visitUTF8(int index, byte tag, String utf8) {
+ putUTF8(index, utf8Map.get(utf8));
+ if (usedUtf8Keys != null) usedUtf8Keys.add(utf8);
+ }
+
+ @Override
+ public void visitConstantValue(int index, byte tag, Object value) {
+ putConstantValue(index, tag, valueMap.get(value));
+ if (usedValueKeys != null) usedValueKeys.add(value);
+ }
+
+ @Override
+ public void visitConstantString(int index, byte tag, String name, int nameIndex) {
+ if (tag == CONSTANT_Class) {
+ putConstantValue(index, tag, classMap.get(name));
+ if (usedClassKeys != null) usedClassKeys.add(name);
+ } else {
+ assert(tag == CONSTANT_String);
+ visitConstantValue(index, tag, name);
+ }
+ }
+ });
+ if (usedUtf8Keys != null) utf8Map.keySet().removeAll(usedUtf8Keys);
+ if (usedClassKeys != null) classMap.keySet().removeAll(usedClassKeys);
+ if (usedValueKeys != null) valueMap.keySet().removeAll(usedValueKeys);
+ }
+
+ Object[] getOriginalCP(final int startIndex,
+ final int endIndex,
+ final int tagMask) throws InvalidConstantPoolFormatException {
+ final Object[] cpArray = new Object[endIndex - startIndex];
+ outer.parse(new ConstantPoolVisitor() {
+
+ void show(int index, byte tag, Object value) {
+ if (index < startIndex || index >= endIndex) return;
+ if (((1 << tag) & tagMask) == 0) return;
+ cpArray[index - startIndex] = value;
+ }
+
+ @Override
+ public void visitUTF8(int index, byte tag, String utf8) {
+ show(index, tag, utf8);
+ }
+
+ @Override
+ public void visitConstantValue(int index, byte tag, Object value) {
+ assert(tag != CONSTANT_String);
+ show(index, tag, value);
+ }
+
+ @Override
+ public void visitConstantString(int index, byte tag,
+ String value, int j) {
+ show(index, tag, value);
+ }
+
+ @Override
+ public void visitMemberRef(int index, byte tag,
+ String className, String memberName,
+ String signature,
+ int j, int k) {
+ show(index, tag, new String[]{ className, memberName, signature });
+ }
+
+ @Override
+ public void visitDescriptor(int index, byte tag,
+ String memberName, String signature,
+ int j, int k) {
+ show(index, tag, new String[]{ memberName, signature });
+ }
+ });
+ return cpArray;
+ }
+
+ /** Write the head (header plus constant pool)
+ * of the patched class file to the indicated stream.
+ */
+ void writeHead(OutputStream out) throws IOException {
+ outer.writePatchedHead(out, patchArray);
+ }
+
+ /** Write the tail (everything after the constant pool)
+ * of the patched class file to the indicated stream.
+ */
+ void writeTail(OutputStream out) throws IOException {
+ outer.writeTail(out);
+ }
+
+ private void checkConstantTag(byte tag, Object value) {
+ if (value == null)
+ throw new IllegalArgumentException(
+ "invalid null constant value");
+ if (classForTag(tag) != value.getClass())
+ throw new IllegalArgumentException(
+ "invalid constant value"
+ + (tag == CONSTANT_None ? ""
+ : " for tag "+tagName(tag))
+ + " of class "+value.getClass());
+ }
+
+ private void checkTag(int index, byte putTag) {
+ byte tag = outer.tags[index];
+ if (tag != putTag)
+ throw new IllegalArgumentException(
+ "invalid put operation"
+ + " for " + tagName(putTag)
+ + " at index " + index + " found " + tagName(tag));
+ }
+
+ private void checkTagMask(int index, int tagBitMask) {
+ byte tag = outer.tags[index];
+ int tagBit = ((tag & 0x1F) == tag) ? (1 << tag) : 0;
+ if ((tagBit & tagBitMask) == 0)
+ throw new IllegalArgumentException(
+ "invalid put operation"
+ + " at index " + index + " found " + tagName(tag));
+ }
+
+ private static void checkMemberName(String memberName) {
+ if (memberName.indexOf(';') >= 0)
+ throw new IllegalArgumentException("memberName " + memberName + " contains a ';'");
+ }
+
+ /** Set the entry of the constant pool indexed by index to
+ * a new string.
+ *
+ * @param index an index to a constant pool entry containing a
+ * {@link ConstantPoolVisitor#CONSTANT_Utf8} value.
+ * @param utf8 a string
+ *
+ * @see ConstantPoolVisitor#visitUTF8(int, byte, String)
+ */
+ public void putUTF8(int index, String utf8) {
+ if (utf8 == null) { clear(index); return; }
+ checkTag(index, CONSTANT_Utf8);
+ patchArray[index] = utf8;
+ }
+
+ /** Set the entry of the constant pool indexed by index to
+ * a new value, depending on its dynamic type.
+ *
+ * @param index an index to a constant pool entry containing a
+ * one of the following structures:
+ * {@link ConstantPoolVisitor#CONSTANT_Integer},
+ * {@link ConstantPoolVisitor#CONSTANT_Float},
+ * {@link ConstantPoolVisitor#CONSTANT_Long},
+ * {@link ConstantPoolVisitor#CONSTANT_Double},
+ * {@link ConstantPoolVisitor#CONSTANT_String}, or
+ * {@link ConstantPoolVisitor#CONSTANT_Class}
+ * @param value a boxed int, float, long or double; or a string or class object
+ * @throws IllegalArgumentException if the type of the constant does not
+ * match the constant pool entry type,
+ * as reported by {@link #getTag(int)}
+ *
+ * @see #putConstantValue(int, byte, Object)
+ * @see ConstantPoolVisitor#visitConstantValue(int, byte, Object)
+ * @see ConstantPoolVisitor#visitConstantString(int, byte, String, int)
+ */
+ public void putConstantValue(int index, Object value) {
+ if (value == null) { clear(index); return; }
+ byte tag = tagForConstant(value.getClass());
+ checkConstantTag(tag, value);
+ checkTag(index, tag);
+ patchArray[index] = value;
+ }
+
+ /** Set the entry of the constant pool indexed by index to
+ * a new value.
+ *
+ * @param index an index to a constant pool entry matching the given tag
+ * @param tag one of the following values:
+ * {@link ConstantPoolVisitor#CONSTANT_Integer},
+ * {@link ConstantPoolVisitor#CONSTANT_Float},
+ * {@link ConstantPoolVisitor#CONSTANT_Long},
+ * {@link ConstantPoolVisitor#CONSTANT_Double},
+ * {@link ConstantPoolVisitor#CONSTANT_String}, or
+ * {@link ConstantPoolVisitor#CONSTANT_Class}
+ * @param value a boxed number, string, or class object
+ * @throws IllegalArgumentException if the type of the constant does not
+ * match the constant pool entry type, or if a class name contains
+ * '/' or ';'
+ *
+ * @see #putConstantValue(int, Object)
+ * @see ConstantPoolVisitor#visitConstantValue(int, byte, Object)
+ * @see ConstantPoolVisitor#visitConstantString(int, byte, String, int)
+ */
+ public void putConstantValue(int index, byte tag, Object value) {
+ if (value == null) { clear(index); return; }
+ checkTag(index, tag);
+ if (tag == CONSTANT_Class && value instanceof String) {
+ checkClassName((String) value);
+ } else if (tag == CONSTANT_String) {
+ // the JVM accepts any object as a patch for a string
+ } else {
+ // make sure the incoming value is the right type
+ checkConstantTag(tag, value);
+ }
+ checkTag(index, tag);
+ patchArray[index] = value;
+ }
+
+ /** Set the entry of the constant pool indexed by index to
+ * a new {@link ConstantPoolVisitor#CONSTANT_NameAndType} value.
+ *
+ * @param index an index to a constant pool entry containing a
+ * {@link ConstantPoolVisitor#CONSTANT_NameAndType} value.
+ * @param memberName a memberName
+ * @param signature a signature
+ * @throws IllegalArgumentException if memberName contains the character ';'
+ *
+ * @see ConstantPoolVisitor#visitDescriptor(int, byte, String, String, int, int)
+ */
+ public void putDescriptor(int index, String memberName, String signature) {
+ checkTag(index, CONSTANT_NameAndType);
+ checkMemberName(memberName);
+ patchArray[index] = addSemis(memberName, signature);
+ }
+
+ /** Set the entry of the constant pool indexed by index to
+ * a new {@link ConstantPoolVisitor#CONSTANT_Fieldref},
+ * {@link ConstantPoolVisitor#CONSTANT_Methodref}, or
+ * {@link ConstantPoolVisitor#CONSTANT_InterfaceMethodref} value.
+ *
+ * @param index an index to a constant pool entry containing a member reference
+ * @param className a class name
+ * @param memberName a field or method name
+ * @param signature a field or method signature
+ * @throws IllegalArgumentException if memberName contains the character ';'
+ * or signature is not a correct signature
+ *
+ * @see ConstantPoolVisitor#visitMemberRef(int, byte, String, String, String, int, int)
+ */
+ public void putMemberRef(int index, byte tag,
+ String className, String memberName, String signature) {
+ checkTagMask(tag, CONSTANT_MemberRef_MASK);
+ checkTag(index, tag);
+ checkClassName(className);
+ checkMemberName(memberName);
+ if (signature.startsWith("(") == (tag == CONSTANT_Fieldref))
+ throw new IllegalArgumentException("bad signature: "+signature);
+ patchArray[index] = addSemis(className, memberName, signature);
+ }
+
+ static private final int CONSTANT_MemberRef_MASK =
+ CONSTANT_Fieldref
+ | CONSTANT_Methodref
+ | CONSTANT_InterfaceMethodref;
+
+ private static final Map<Class<?>, Byte> CONSTANT_VALUE_CLASS_TAG
+ = new IdentityHashMap<Class<?>, Byte>();
+ private static final Class[] CONSTANT_VALUE_CLASS = new Class[16];
+ static {
+ Object[][] values = {
+ {Integer.class, CONSTANT_Integer},
+ {Long.class, CONSTANT_Long},
+ {Float.class, CONSTANT_Float},
+ {Double.class, CONSTANT_Double},
+ {String.class, CONSTANT_String},
+ {Class.class, CONSTANT_Class}
+ };
+ for (Object[] value : values) {
+ Class<?> cls = (Class<?>)value[0];
+ Byte tag = (Byte) value[1];
+ CONSTANT_VALUE_CLASS_TAG.put(cls, tag);
+ CONSTANT_VALUE_CLASS[(byte)tag] = cls;
+ }
+ }
+
+ static Class<?> classForTag(byte tag) {
+ if ((tag & 0xFF) >= CONSTANT_VALUE_CLASS.length)
+ return null;
+ return CONSTANT_VALUE_CLASS[tag];
+ }
+
+ static byte tagForConstant(Class<?> cls) {
+ Byte tag = CONSTANT_VALUE_CLASS_TAG.get(cls);
+ return (tag == null) ? CONSTANT_None : (byte)tag;
+ }
+
+ private static void checkClassName(String className) {
+ if (className.indexOf('/') >= 0 || className.indexOf(';') >= 0)
+ throw new IllegalArgumentException("invalid class name " + className);
+ }
+
+ static String addSemis(String name, String... names) {
+ StringBuilder buf = new StringBuilder(name.length() * 5);
+ buf.append(name);
+ for (String name2 : names) {
+ buf.append(';').append(name2);
+ }
+ String res = buf.toString();
+ assert(stripSemis(names.length, res)[0].equals(name));
+ assert(stripSemis(names.length, res)[1].equals(names[0]));
+ assert(names.length == 1 ||
+ stripSemis(names.length, res)[2].equals(names[1]));
+ return res;
+ }
+
+ static String[] stripSemis(int count, String string) {
+ String[] res = new String[count+1];
+ int pos = 0;
+ for (int i = 0; i < count; i++) {
+ int pos2 = string.indexOf(';', pos);
+ if (pos2 < 0) pos2 = string.length(); // yuck
+ res[i] = string.substring(pos, pos2);
+ pos = pos2;
+ }
+ res[count] = string.substring(pos);
+ return res;
+ }
+
+ public String toString() {
+ StringBuilder buf = new StringBuilder(this.getClass().getName());
+ buf.append("{");
+ Object[] origCP = null;
+ for (int i = 0; i < patchArray.length; i++) {
+ if (patchArray[i] == null) continue;
+ if (origCP != null) {
+ buf.append(", ");
+ } else {
+ try {
+ origCP = getOriginalCP();
+ } catch (InvalidConstantPoolFormatException ee) {
+ origCP = new Object[0];
+ }
+ }
+ Object orig = (i < origCP.length) ? origCP[i] : "?";
+ buf.append(orig).append("=").append(patchArray[i]);
+ }
+ buf.append("}");
+ return buf.toString();
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java
new file mode 100644
index 0000000..4157f13
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java
@@ -0,0 +1,192 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.anon;
+
+/**
+ * A visitor called by {@link ConstantPoolParser#parse(ConstantPoolVisitor)}
+ * when a constant pool entry is parsed.
+ * <p>
+ * A visit* method is called when a constant pool entry is parsed.
+ * The first argument is always the constant pool index.
+ * The second argument is always the constant pool tag,
+ * even for methods like {@link #visitUTF8(int, byte, String)} which only apply to one tag.
+ * String arguments refer to Utf8 or NameAndType entries declared elsewhere,
+ * and are always accompanied by the indexes of those entries.
+ * <p>
+ * The order of the calls to the visit* methods is not necessarily related
+ * to the order of the entries in the constant pool.
+ * If one entry has a reference to another entry, the latter (lower-level)
+ * entry will be visited first.
+ * <p>
+ * The following table shows the relation between constant pool entry
+ * types and the corresponding visit* methods:
+ *
+ * <table border=1 cellpadding=5 summary="constant pool visitor methods">
+ * <tr><th>Tag(s)</th><th>Method</th></tr>
+ * <tr>
+ * <td>{@link #CONSTANT_Utf8}</td>
+ * <td>{@link #visitUTF8(int, byte, String)}</td>
+ * </tr><tr>
+ * <td>{@link #CONSTANT_Integer}, {@link #CONSTANT_Float},
+ * {@link #CONSTANT_Long}, {@link #CONSTANT_Double}</td>
+ * <td>{@link #visitConstantValue(int, byte, Object)}</td>
+ * </tr><tr>
+ * <td>{@link #CONSTANT_String}, {@link #CONSTANT_Class}</td>
+ * <td>{@link #visitConstantString(int, byte, String, int)}</td>
+ * </tr><tr>
+ * <td>{@link #CONSTANT_NameAndType}</td>
+ * <td>{@link #visitDescriptor(int, byte, String, String, int, int)}</td>
+ * </tr><tr>
+ * <td>{@link #CONSTANT_Fieldref},
+ * {@link #CONSTANT_Methodref},
+ * {@link #CONSTANT_InterfaceMethodref}</td>
+ * <td>{@link #visitMemberRef(int, byte, String, String, String, int, int)}</td>
+ * </tr>
+ * </table>
+ *
+ * @see ConstantPoolPatch
+ * @author Remi Forax
+ * @author jrose
+ */
+public class ConstantPoolVisitor {
+ /** Called each time an UTF8 constant pool entry is found.
+ * @param index the constant pool index
+ * @param tag always {@link #CONSTANT_Utf8}
+ * @param utf8 string encoded in modified UTF-8 format passed as a {@code String}
+ *
+ * @see ConstantPoolPatch#putUTF8(int, String)
+ */
+ public void visitUTF8(int index, byte tag, String utf8) {
+ // do nothing
+ }
+
+ /** Called for each constant pool entry that encodes an integer,
+ * a float, a long, or a double.
+ * Constant strings and classes are not managed by this method but
+ * by {@link #visitConstantString(int, byte, String, int)}.
+ *
+ * @param index the constant pool index
+ * @param tag one of {@link #CONSTANT_Integer},
+ * {@link #CONSTANT_Float},
+ * {@link #CONSTANT_Long},
+ * or {@link #CONSTANT_Double}
+ * @param value encoded value
+ *
+ * @see ConstantPoolPatch#putConstantValue(int, Object)
+ */
+ public void visitConstantValue(int index, byte tag, Object value) {
+ // do nothing
+ }
+
+ /** Called for each constant pool entry that encodes a string or a class.
+ * @param index the constant pool index
+ * @param tag one of {@link #CONSTANT_String},
+ * {@link #CONSTANT_Class},
+ * @param name string body or class name (using dot separator)
+ * @param nameIndex the index of the Utf8 string for the name
+ *
+ * @see ConstantPoolPatch#putConstantValue(int, byte, Object)
+ */
+ public void visitConstantString(int index, byte tag,
+ String name, int nameIndex) {
+ // do nothing
+ }
+
+ /** Called for each constant pool entry that encodes a name and type.
+ * @param index the constant pool index
+ * @param tag always {@link #CONSTANT_NameAndType}
+ * @param memberName a field or method name
+ * @param signature the member signature
+ * @param memberNameIndex index of the Utf8 string for the member name
+ * @param signatureIndex index of the Utf8 string for the signature
+ *
+ * @see ConstantPoolPatch#putDescriptor(int, String, String)
+ */
+ public void visitDescriptor(int index, byte tag,
+ String memberName, String signature,
+ int memberNameIndex, int signatureIndex) {
+ // do nothing
+ }
+
+ /** Called for each constant pool entry that encodes a field or method.
+ * @param index the constant pool index
+ * @param tag one of {@link #CONSTANT_Fieldref},
+ * or {@link #CONSTANT_Methodref},
+ * or {@link #CONSTANT_InterfaceMethodref}
+ * @param className the class name (using dot separator)
+ * @param memberName name of the field or method
+ * @param signature the field or method signature
+ * @param classNameIndex index of the Utf8 string for the class name
+ * @param descriptorIndex index of the NameAndType descriptor constant
+ *
+ * @see ConstantPoolPatch#putMemberRef(int, byte, String, String, String)
+ */
+ public void visitMemberRef(int index, byte tag,
+ String className, String memberName, String signature,
+ int classNameIndex, int descriptorIndex) {
+ // do nothing
+ }
+
+ public static final byte
+ CONSTANT_None = 0,
+ CONSTANT_Utf8 = 1,
+ //CONSTANT_Unicode = 2, /* unused */
+ CONSTANT_Integer = 3,
+ CONSTANT_Float = 4,
+ CONSTANT_Long = 5,
+ CONSTANT_Double = 6,
+ CONSTANT_Class = 7,
+ CONSTANT_String = 8,
+ CONSTANT_Fieldref = 9,
+ CONSTANT_Methodref = 10,
+ CONSTANT_InterfaceMethodref = 11,
+ CONSTANT_NameAndType = 12;
+
+ private static String[] TAG_NAMES = {
+ "Empty",
+ "Utf8",
+ null, //"Unicode",
+ "Integer",
+ "Float",
+ "Long",
+ "Double",
+ "Class",
+ "String",
+ "Fieldref",
+ "Methodref",
+ "InterfaceMethodref",
+ "NameAndType"
+ };
+
+ public static String tagName(byte tag) {
+ String name = null;
+ if ((tag & 0xFF) < TAG_NAMES.length)
+ name = TAG_NAMES[tag];
+ if (name == null)
+ name = "Unknown#"+(tag&0xFF);
+ return name;
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java b/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java
new file mode 100644
index 0000000..652f731
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.anon;
+
+/** Exception used when there is an error in the constant pool
+ * format.
+ */
+public class InvalidConstantPoolFormatException extends Exception {
+ private static final long serialVersionUID=-6103888330523770949L;
+
+ public InvalidConstantPoolFormatException(String message,Throwable cause) {
+ super(message,cause);
+ }
+
+ public InvalidConstantPoolFormatException(String message) {
+ super(message);
+ }
+
+ public InvalidConstantPoolFormatException(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/empty/Empty.java b/jdk/src/share/classes/sun/dyn/empty/Empty.java
new file mode 100644
index 0000000..4fb72d0
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/empty/Empty.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.empty;
+
+/**
+ * An empty class in an empty package.
+ * Used as a proxy for unprivileged code, since making access checks
+ * against it will only succeed against public methods in public types.
+ * @author jrose
+ */
+public class Empty {
+ private Empty() { throw new InternalError(); }
+}
diff --git a/jdk/src/share/classes/sun/dyn/package-info.java b/jdk/src/share/classes/sun/dyn/package-info.java
new file mode 100644
index 0000000..93aa427
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/package-info.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * Implementation details for JSR 292 RI, package java.dyn.
+ * This particular version is specific to Hotspot.
+ * There is also a backport version of this sub-package which uses reflection,
+ * and can therefore run (slowly) on older versions of Java.
+ * Other JVM vendors may create their own versions of this sub-package.
+ * @author jrose
+ */
+
+package sun.dyn;
diff --git a/jdk/src/share/classes/sun/dyn/util/BytecodeName.java b/jdk/src/share/classes/sun/dyn/util/BytecodeName.java
new file mode 100644
index 0000000..2abe780
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/BytecodeName.java
@@ -0,0 +1,711 @@
+/*
+ * Copyright 2007-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+/**
+ * Utility routines for dealing with bytecode-level names.
+ * Includes universal mangling rules for the JVM.
+ *
+ * <h3>Avoiding Dangerous Characters </h3>
+ *
+ * <p>
+ * The JVM defines a very small set of characters which are illegal
+ * in name spellings. We will slightly extend and regularize this set
+ * into a group of <cite>dangerous characters</cite>.
+ * These characters will then be replaced, in mangled names, by escape sequences.
+ * In addition, accidental escape sequences must be further escaped.
+ * Finally, a special prefix will be applied if and only if
+ * the mangling would otherwise fail to begin with the escape character.
+ * This happens to cover the corner case of the null string,
+ * and also clearly marks symbols which need demangling.
+ * </p>
+ * <p>
+ * Dangerous characters are the union of all characters forbidden
+ * or otherwise restricted by the JVM specification,
+ * plus their mates, if they are brackets
+ * (<code><big><b>[</b></big></code> and <code><big><b>]</b></big></code>,
+ * <code><big><b><</b></big></code> and <code><big><b>></b></big></code>),
+ * plus, arbitrarily, the colon character <code><big><b>:</b></big></code>.
+ * There is no distinction between type, method, and field names.
+ * This makes it easier to convert between mangled names of different
+ * types, since they do not need to be decoded (demangled).
+ * </p>
+ * <p>
+ * The escape character is backslash <code><big><b>\</b></big></code>
+ * (also known as reverse solidus).
+ * This character is, until now, unheard of in bytecode names,
+ * but traditional in the proposed role.
+ *
+ * </p>
+ * <h3> Replacement Characters </h3>
+ *
+ *
+ * <p>
+ * Every escape sequence is two characters
+ * (in fact, two UTF8 bytes) beginning with
+ * the escape character and followed by a
+ * <cite>replacement character</cite>.
+ * (Since the replacement character is never a backslash,
+ * iterated manglings do not double in size.)
+ * </p>
+ * <p>
+ * Each dangerous character has some rough visual similarity
+ * to its corresponding replacement character.
+ * This makes mangled symbols easier to recognize by sight.
+ * </p>
+ * <p>
+ * The dangerous characters are
+ * <code><big><b>/</b></big></code> (forward slash, used to delimit package components),
+ * <code><big><b>.</b></big></code> (dot, also a package delimiter),
+ * <code><big><b>;</b></big></code> (semicolon, used in signatures),
+ * <code><big><b>$</b></big></code> (dollar, used in inner classes and synthetic members),
+ * <code><big><b><</b></big></code> (left angle),
+ * <code><big><b>></b></big></code> (right angle),
+ * <code><big><b>[</b></big></code> (left square bracket, used in array types),
+ * <code><big><b>]</b></big></code> (right square bracket, reserved in this scheme for language use),
+ * and <code><big><b>:</b></big></code> (colon, reserved in this scheme for language use).
+ * Their replacements are, respectively,
+ * <code><big><b>|</b></big></code> (vertical bar),
+ * <code><big><b>,</b></big></code> (comma),
+ * <code><big><b>?</b></big></code> (question mark),
+ * <code><big><b>%</b></big></code> (percent),
+ * <code><big><b>^</b></big></code> (caret),
+ * <code><big><b>_</b></big></code> (underscore), and
+ * <code><big><b>{</b></big></code> (left curly bracket),
+ * <code><big><b>}</b></big></code> (right curly bracket),
+ * <code><big><b>!</b></big></code> (exclamation mark).
+ * In addition, the replacement character for the escape character itself is
+ * <code><big><b>-</b></big></code> (hyphen),
+ * and the replacement character for the null prefix is
+ * <code><big><b>=</b></big></code> (equal sign).
+ * </p>
+ * <p>
+ * An escape character <code><big><b>\</b></big></code>
+ * followed by any of these replacement characters
+ * is an escape sequence, and there are no other escape sequences.
+ * An equal sign is only part of an escape sequence
+ * if it is the second character in the whole string, following a backslash.
+ * Two consecutive backslashes do <em>not</em> form an escape sequence.
+ * </p>
+ * <p>
+ * Each escape sequence replaces a so-called <cite>original character</cite>
+ * which is either one of the dangerous characters or the escape character.
+ * A null prefix replaces an initial null string, not a character.
+ * </p>
+ * <p>
+ * All this implies that escape sequences cannot overlap and may be
+ * determined all at once for a whole string. Note that a spelling
+ * string can contain <cite>accidental escapes</cite>, apparent escape
+ * sequences which must not be interpreted as manglings.
+ * These are disabled by replacing their leading backslash with an
+ * escape sequence (<code><big><b>\-</b></big></code>). To mangle a string, three logical steps
+ * are required, though they may be carried out in one pass:
+ * </p>
+ * <ol>
+ * <li>In each accidental escape, replace the backslash with an escape sequence
+ * (<code><big><b>\-</b></big></code>).</li>
+ * <li>Replace each dangerous character with an escape sequence
+ * (<code><big><b>\|</b></big></code> for <code><big><b>/</b></big></code>, etc.).</li>
+ * <li>If the first two steps introduced any change, <em>and</em>
+ * if the string does not already begin with a backslash, prepend a null prefix (<code><big><b>\=</b></big></code>).</li>
+ * </ol>
+ *
+ * To demangle a mangled string that begins with an escape,
+ * remove any null prefix, and then replace (in parallel)
+ * each escape sequence by its original character.
+ * <p>Spelling strings which contain accidental
+ * escapes <em>must</em> have them replaced, even if those
+ * strings do not contain dangerous characters.
+ * This restriction means that mangling a string always
+ * requires a scan of the string for escapes.
+ * But then, a scan would be required anyway,
+ * to check for dangerous characters.
+ *
+ * </p>
+ * <h3> Nice Properties </h3>
+ *
+ * <p>
+ * If a bytecode name does not contain any escape sequence,
+ * demangling is a no-op: The string demangles to itself.
+ * Such a string is called <cite>self-mangling</cite>.
+ * Almost all strings are self-mangling.
+ * In practice, to demangle almost any name “found in nature”,
+ * simply verify that it does not begin with a backslash.
+ * </p>
+ * <p>
+ * Mangling is a one-to-one function, while demangling
+ * is a many-to-one function.
+ * A mangled string is defined as <cite>validly mangled</cite> if
+ * it is in fact the unique mangling of its spelling string.
+ * Three examples of invalidly mangled strings are <code><big><b>\=foo</b></big></code>,
+ * <code><big><b>\-bar</b></big></code>, and <code><big><b>baz\!</b></big></code>, which demangle to <code><big><b>foo</b></big></code>, <code><big><b>\bar</b></big></code>, and
+ * <code><big><b>baz\!</b></big></code>, but then remangle to <code><big><b>foo</b></big></code>, <code><big><b>\bar</b></big></code>, and <code><big><b>\=baz\-!</b></big></code>.
+ * If a language back-end or runtime is using mangled names,
+ * it should never present an invalidly mangled bytecode
+ * name to the JVM. If the runtime encounters one,
+ * it should also report an error, since such an occurrence
+ * probably indicates a bug in name encoding which
+ * will lead to errors in linkage.
+ * However, this note does not propose that the JVM verifier
+ * detect invalidly mangled names.
+ * </p>
+ * <p>
+ * As a result of these rules, it is a simple matter to
+ * compute validly mangled substrings and concatenations
+ * of validly mangled strings, and (with a little care)
+ * these correspond to corresponding operations on their
+ * spelling strings.
+ * </p>
+ * <ul>
+ * <li>Any prefix of a validly mangled string is also validly mangled,
+ * although a null prefix may need to be removed.</li>
+ * <li>Any suffix of a validly mangled string is also validly mangled,
+ * although a null prefix may need to be added.</li>
+ * <li>Two validly mangled strings, when concatenated,
+ * are also validly mangled, although any null prefix
+ * must be removed from the second string,
+ * and a trailing backslash on the first string may need escaping,
+ * if it would participate in an accidental escape when followed
+ * by the first character of the second string.</li>
+ * </ul>
+ * <p>If languages that include non-Java symbol spellings use this
+ * mangling convention, they will enjoy the following advantages:
+ * </p>
+ * <ul>
+ * <li>They can interoperate via symbols they share in common.</li>
+ * <li>Low-level tools, such as backtrace printers, will have readable displays.</li>
+ * <li>Future JVM and language extensions can safely use the dangerous characters
+ * for structuring symbols, but will never interfere with valid spellings.</li>
+ * <li>Runtimes and compilers can use standard libraries for mangling and demangling.</li>
+ * <li>Occasional transliterations and name composition will be simple and regular,
+ * for classes, methods, and fields.</li>
+ * <li>Bytecode names will continue to be compact.
+ * When mangled, spellings will at most double in length, either in
+ * UTF8 or UTF16 format, and most will not change at all.</li>
+ * </ul>
+ *
+ *
+ * <h3> Suggestions for Human Readable Presentations </h3>
+ *
+ *
+ * <p>
+ * For human readable displays of symbols,
+ * it will be better to present a string-like quoted
+ * representation of the spelling, because JVM users
+ * are generally familiar with such tokens.
+ * We suggest using single or double quotes before and after
+ * mangled symbols which are not valid Java identifiers,
+ * with quotes, backslashes, and non-printing characters
+ * escaped as if for literals in the Java language.
+ * </p>
+ * <p>
+ * For example, an HTML-like spelling
+ * <code><big><b><pre></b></big></code> mangles to
+ * <code><big><b>\^pre\_</b></big></code> and could
+ * display more cleanly as
+ * <code><big><b>'<pre>'</b></big></code>,
+ * with the quotes included.
+ * Such string-like conventions are <em>not</em> suitable
+ * for mangled bytecode names, in part because
+ * dangerous characters must be eliminated, rather
+ * than just quoted. Otherwise internally structured
+ * strings like package prefixes and method signatures
+ * could not be reliably parsed.
+ * </p>
+ * <p>
+ * In such human-readable displays, invalidly mangled
+ * names should <em>not</em> be demangled and quoted,
+ * for this would be misleading. Likewise, JVM symbols
+ * which contain dangerous characters (like dots in field
+ * names or brackets in method names) should not be
+ * simply quoted. The bytecode names
+ * <code><big><b>\=phase\,1</b></big></code> and
+ * <code><big><b>phase.1</b></big></code> are distinct,
+ * and in demangled displays they should be presented as
+ * <code><big><b>'phase.1'</b></big></code> and something like
+ * <code><big><b>'phase'.1</b></big></code>, respectively.
+ * </p>
+ *
+ * @author John Rose
+ * @version 1.2, 02/06/2008
+ * @see http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm
+ */
+public class BytecodeName {
+ private BytecodeName() { } // static only class
+
+ /** Given a source name, produce the corresponding bytecode name.
+ * The source name should not be qualified, because any syntactic
+ * markers (dots, slashes, dollar signs, colons, etc.) will be mangled.
+ * @param s the source name
+ * @return a valid bytecode name which represents the source name
+ */
+ public static String toBytecodeName(String s) {
+ String bn = mangle(s);
+ assert((Object)bn == s || looksMangled(bn)) : bn;
+ assert(s.equals(toSourceName(bn))) : s;
+ return bn;
+ }
+
+ /** Given an unqualified bytecode name, produce the corresponding source name.
+ * The bytecode name must not contain dangerous characters.
+ * In particular, it must not be qualified or segmented by colon {@code ':'}.
+ * @param s the bytecode name
+ * @return the source name, which may possibly have unsafe characters
+ * @throws IllegalArgumentException if the bytecode name is not {@link #isSafeBytecodeName safe}
+ * @see #isSafeBytecodeName(java.lang.String)
+ */
+ public static String toSourceName(String s) {
+ checkSafeBytecodeName(s);
+ String sn = s;
+ if (looksMangled(s)) {
+ sn = demangle(s);
+ assert(s.equals(mangle(sn))) : s+" => "+sn+" => "+mangle(sn);
+ }
+ return sn;
+ }
+
+ /**
+ * Given a bytecode name from a classfile, separate it into
+ * components delimited by dangerous characters.
+ * Each resulting array element will be either a dangerous character,
+ * or else a safe bytecode name.
+ * (The safe name might possibly be mangled to hide further dangerous characters.)
+ * For example, the qualified class name {@code java/lang/String}
+ * will be parsed into the array {@code {"java", '/', "lang", '/', "String"}}.
+ * The name {@code <init>} will be parsed into { '<', "init", '>'}}
+ * The name {@code foo/bar$:baz} will be parsed into
+ * {@code {"foo", '/', "bar", '$', ':', "baz"}}.
+ */
+ public static Object[] parseBytecodeName(String s) {
+ int slen = s.length();
+ Object[] res = null;
+ for (int pass = 0; pass <= 1; pass++) {
+ int fillp = 0;
+ int lasti = 0;
+ for (int i = 0; i <= slen; i++) {
+ int whichDC = -1;
+ if (i < slen) {
+ whichDC = DANGEROUS_CHARS.indexOf(s.charAt(i));
+ if (whichDC < DANGEROUS_CHAR_FIRST_INDEX) continue;
+ }
+ // got to end of string or next dangerous char
+ if (lasti < i) {
+ // normal component
+ if (pass != 0)
+ res[fillp] = s.substring(lasti, i);
+ fillp++;
+ lasti = i+1;
+ }
+ if (whichDC >= DANGEROUS_CHAR_FIRST_INDEX) {
+ if (pass != 0)
+ res[fillp] = DANGEROUS_CHARS_CA[whichDC];
+ fillp++;
+ }
+ }
+ if (pass != 0) break;
+ // between passes, build the result array
+ res = new String[fillp];
+ if (fillp <= 1) {
+ if (fillp != 0) res[0] = s;
+ break;
+ }
+ }
+ return res;
+ }
+
+ /**
+ * Given a series of components, create a bytecode name for a classfile.
+ * This is the inverse of {@link #parseBytecodeName(java.lang.String)}.
+ * Each component must either be an interned one-character string of
+ * a dangerous character, or else a safe bytecode name.
+ * @param components a series of name components
+ * @return the concatenation of all components
+ * @throws IllegalArgumentException if any component contains an unsafe
+ * character, and is not an interned one-character string
+ * @throws NullPointerException if any component is null
+ */
+ public static String unparseBytecodeName(Object[] components) {
+ for (Object c : components) {
+ if (c instanceof String)
+ checkSafeBytecodeName((String) c); // may fail
+ }
+ return appendAll(components);
+ }
+ private static String appendAll(Object[] components) {
+ if (components.length <= 1) {
+ if (components.length == 1) {
+ return String.valueOf(components[0]);
+ }
+ return "";
+ }
+ int slen = 0;
+ for (Object c : components) {
+ if (c instanceof String)
+ slen += String.valueOf(c).length();
+ else
+ slen += 1;
+ }
+ StringBuilder sb = new StringBuilder(slen);
+ for (Object c : components) {
+ sb.append(c);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Given a bytecode name, produce the corresponding display name.
+ * This is the source name, plus quotes if needed.
+ * If the bytecode name contains dangerous characters,
+ * assume that they are being used as punctuation,
+ * and pass them through unchanged.
+ * @param s the original bytecode name (which may be qualified)
+ * @return a human-readable presentation
+ */
+ public static String toDisplayName(String s) {
+ Object[] components = parseBytecodeName(s);
+ for (int i = 0; i < components.length; i++) {
+ if (!(components[i] instanceof String))
+ continue;
+ String c = (String) components[i];
+ // pretty up the name by demangling it
+ String sn = toSourceName(c);
+ if ((Object)sn != c || !isJavaIdent(sn)) {
+ components[i] = quoteDisplay(sn);
+ }
+ }
+ return appendAll(components);
+ }
+ private static boolean isJavaIdent(String s) {
+ int slen = s.length();
+ if (slen == 0) return false;
+ if (!Character.isUnicodeIdentifierStart(s.charAt(0)))
+ return false;
+ for (int i = 1; i < slen; i++) {
+ if (!Character.isUnicodeIdentifierPart(s.charAt(0)))
+ return false;
+ }
+ return true;
+ }
+ private static String quoteDisplay(String s) {
+ // TO DO: Replace wierd characters in s by C-style escapes.
+ return "'"+s.replaceAll("['\\\\]", "\\\\$0")+"'";
+ }
+
+ private static void checkSafeBytecodeName(String s)
+ throws IllegalArgumentException {
+ if (!isSafeBytecodeName(s)) {
+ throw new IllegalArgumentException(s);
+ }
+ }
+
+ /**
+ * Report whether a simple name is safe as a bytecode name.
+ * Such names are acceptable in class files as class, method, and field names.
+ * Additionally, they are free of "dangerous" characters, even if those
+ * characters are legal in some (or all) names in class files.
+ * @param s the proposed bytecode name
+ * @return true if the name is non-empty and all of its characters are safe
+ */
+ public static boolean isSafeBytecodeName(String s) {
+ if (s.length() == 0) return false;
+ // check occurrences of each DANGEROUS char
+ for (char xc : DANGEROUS_CHARS_A) {
+ if (xc == ESCAPE_C) continue; // not really that dangerous
+ if (s.indexOf(xc) >= 0) return false;
+ }
+ return true;
+ }
+
+ /**
+ * Report whether a character is safe in a bytecode name.
+ * This is true of any unicode character except the following
+ * <em>dangerous characters</em>: {@code ".;:$[]<>/"}.
+ * @param s the proposed character
+ * @return true if the character is safe to use in classfiles
+ */
+ public static boolean isSafeBytecodeChar(char c) {
+ return DANGEROUS_CHARS.indexOf(c) < DANGEROUS_CHAR_FIRST_INDEX;
+ }
+
+ private static boolean looksMangled(String s) {
+ return s.charAt(0) == ESCAPE_C;
+ }
+
+ private static String mangle(String s) {
+ if (s.length() == 0)
+ return NULL_ESCAPE;
+
+ // build this lazily, when we first need an escape:
+ StringBuilder sb = null;
+
+ for (int i = 0, slen = s.length(); i < slen; i++) {
+ char c = s.charAt(i);
+
+ boolean needEscape = false;
+ if (c == ESCAPE_C) {
+ if (i+1 < slen) {
+ char c1 = s.charAt(i+1);
+ if ((i == 0 && c1 == NULL_ESCAPE_C)
+ || c1 != originalOfReplacement(c1)) {
+ // an accidental escape
+ needEscape = true;
+ }
+ }
+ } else {
+ needEscape = isDangerous(c);
+ }
+
+ if (!needEscape) {
+ if (sb != null) sb.append(c);
+ continue;
+ }
+
+ // build sb if this is the first escape
+ if (sb == null) {
+ sb = new StringBuilder(s.length()+10);
+ // mangled names must begin with a backslash:
+ if (s.charAt(0) != ESCAPE_C && i > 0)
+ sb.append(NULL_ESCAPE);
+ // append the string so far, which is unremarkable:
+ sb.append(s.substring(0, i));
+ }
+
+ // rewrite \ to \-, / to \|, etc.
+ sb.append(ESCAPE_C);
+ sb.append(replacementOf(c));
+ }
+
+ if (sb != null) return sb.toString();
+
+ return s;
+ }
+
+ private static String demangle(String s) {
+ // build this lazily, when we first meet an escape:
+ StringBuilder sb = null;
+
+ int stringStart = 0;
+ if (s.startsWith(NULL_ESCAPE))
+ stringStart = 2;
+
+ for (int i = stringStart, slen = s.length(); i < slen; i++) {
+ char c = s.charAt(i);
+
+ if (c == ESCAPE_C && i+1 < slen) {
+ // might be an escape sequence
+ char rc = s.charAt(i+1);
+ char oc = originalOfReplacement(rc);
+ if (oc != rc) {
+ // build sb if this is the first escape
+ if (sb == null) {
+ sb = new StringBuilder(s.length());
+ // append the string so far, which is unremarkable:
+ sb.append(s.substring(stringStart, i));
+ }
+ ++i; // skip both characters
+ c = oc;
+ }
+ }
+
+ if (sb != null)
+ sb.append(c);
+ }
+
+ if (sb != null) return sb.toString();
+
+ return s.substring(stringStart);
+ }
+
+ static char ESCAPE_C = '\\';
+ // empty escape sequence to avoid a null name or illegal prefix
+ static char NULL_ESCAPE_C = '=';
+ static String NULL_ESCAPE = ESCAPE_C+""+NULL_ESCAPE_C;
+
+ static final String DANGEROUS_CHARS = "\\/.;:$[]<>"; // \\ must be first
+ static final String REPLACEMENT_CHARS = "-|,?!%{}^_";
+ static final int DANGEROUS_CHAR_FIRST_INDEX = 1; // index after \\
+ static char[] DANGEROUS_CHARS_A = DANGEROUS_CHARS.toCharArray();
+ static char[] REPLACEMENT_CHARS_A = REPLACEMENT_CHARS.toCharArray();
+ static final Character[] DANGEROUS_CHARS_CA;
+ static {
+ Character[] dcca = new Character[DANGEROUS_CHARS.length()];
+ for (int i = 0; i < dcca.length; i++)
+ dcca[i] = Character.valueOf(DANGEROUS_CHARS.charAt(i));
+ DANGEROUS_CHARS_CA = dcca;
+ }
+
+ static final long[] SPECIAL_BITMAP = new long[2]; // 128 bits
+ static {
+ String SPECIAL = DANGEROUS_CHARS + REPLACEMENT_CHARS;
+ //System.out.println("SPECIAL = "+SPECIAL);
+ for (char c : SPECIAL.toCharArray()) {
+ SPECIAL_BITMAP[c >>> 6] |= 1L << c;
+ }
+ }
+ static boolean isSpecial(char c) {
+ if ((c >>> 6) < SPECIAL_BITMAP.length)
+ return ((SPECIAL_BITMAP[c >>> 6] >> c) & 1) != 0;
+ else
+ return false;
+ }
+ static char replacementOf(char c) {
+ if (!isSpecial(c)) return c;
+ int i = DANGEROUS_CHARS.indexOf(c);
+ if (i < 0) return c;
+ return REPLACEMENT_CHARS.charAt(i);
+ }
+ static char originalOfReplacement(char c) {
+ if (!isSpecial(c)) return c;
+ int i = REPLACEMENT_CHARS.indexOf(c);
+ if (i < 0) return c;
+ return DANGEROUS_CHARS.charAt(i);
+ }
+ static boolean isDangerous(char c) {
+ if (!isSpecial(c)) return false;
+ return (DANGEROUS_CHARS.indexOf(c) >= DANGEROUS_CHAR_FIRST_INDEX);
+ }
+ static int indexOfDangerousChar(String s, int from) {
+ for (int i = from, slen = s.length(); i < slen; i++) {
+ if (isDangerous(s.charAt(i)))
+ return i;
+ }
+ return -1;
+ }
+ static int lastIndexOfDangerousChar(String s, int from) {
+ for (int i = Math.min(from, s.length()-1); i >= 0; i--) {
+ if (isDangerous(s.charAt(i)))
+ return i;
+ }
+ return -1;
+ }
+
+ // test driver
+ static void main(String[] av) {
+ // If verbose is enabled, quietly check everything.
+ // Otherwise, print the output for the user to check.
+ boolean verbose = false;
+
+ int maxlen = 0;
+
+ while (av.length > 0 && av[0].startsWith("-")) {
+ String flag = av[0].intern();
+ av = java.util.Arrays.copyOfRange(av, 1, av.length); // Java 1.6 or later
+ if (flag == "-" || flag == "--") break;
+ else if (flag == "-q")
+ verbose = false;
+ else if (flag == "-v")
+ verbose = true;
+ else if (flag.startsWith("-l"))
+ maxlen = Integer.valueOf(flag.substring(2));
+ else
+ throw new Error("Illegal flag argument: "+flag);
+ }
+
+ if (maxlen == 0)
+ maxlen = (verbose ? 2 : 4);
+ if (verbose) System.out.println("Note: maxlen = "+maxlen);
+
+ switch (av.length) {
+ case 0: av = new String[] {
+ DANGEROUS_CHARS.substring(0) +
+ REPLACEMENT_CHARS.substring(0, 1) +
+ NULL_ESCAPE + "x"
+ }; // and fall through:
+ case 1:
+ char[] cv = av[0].toCharArray();
+ av = new String[cv.length];
+ int avp = 0;
+ for (char c : cv) {
+ String s = String.valueOf(c);
+ if (c == 'x') s = "foo"; // tradition...
+ av[avp++] = s;
+ }
+ }
+ if (verbose)
+ System.out.println("Note: Verbose output mode enabled. Use '-q' to suppress.");
+ Tester t = new Tester();
+ t.maxlen = maxlen;
+ t.verbose = verbose;
+ t.tokens = av;
+ t.test("", 0);
+ }
+
+ static class Tester {
+ boolean verbose;
+ int maxlen;
+ java.util.Map<String,String> map = new java.util.HashMap<String,String>();
+ String[] tokens;
+
+ void test(String stringSoFar, int tokensSoFar) {
+ test(stringSoFar);
+ if (tokensSoFar <= maxlen) {
+ for (String token : tokens) {
+ if (token.length() == 0) continue; // skip empty tokens
+ if (stringSoFar.indexOf(token) != stringSoFar.lastIndexOf(token))
+ continue; // there are already two occs. of this token
+ if (token.charAt(0) == ESCAPE_C && token.length() == 1 && maxlen < 4)
+ test(stringSoFar+token, tokensSoFar); // want lots of \'s
+ else if (tokensSoFar < maxlen)
+ test(stringSoFar+token, tokensSoFar+1);
+ }
+ }
+ }
+
+ void test(String s) {
+ // for small batches, do not test the null string
+ if (s.length() == 0 && maxlen >=1 && maxlen <= 2) return;
+ String bn = testSourceName(s);
+ if (bn == null) return;
+ if (bn == s) {
+ //if (verbose) System.out.println(s+" == id");
+ } else {
+ if (verbose) System.out.println(s+" => "+bn+" "+toDisplayName(bn));
+ String bnbn = testSourceName(bn);
+ if (bnbn == null) return;
+ if (verbose) System.out.println(bn+" => "+bnbn+" "+toDisplayName(bnbn));
+ /*
+ String bn3 = testSourceName(bnbn);
+ if (bn3 == null) return;
+ if (verbose) System.out.println(bnbn+" => "+bn3);
+ */
+ }
+ }
+
+ String testSourceName(String s) {
+ if (map.containsKey(s)) return null;
+ String bn = toBytecodeName(s);
+ map.put(s, bn);
+ String sn = toSourceName(bn);
+ if (!sn.equals(s)) {
+ String bad = (s+" => "+bn+" != "+sn);
+ if (!verbose) throw new Error("Bad mangling: "+bad);
+ System.out.println("*** "+bad);
+ return null;
+ }
+ return bn;
+ }
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java b/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java
new file mode 100644
index 0000000..37d8708
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+import java.dyn.MethodType;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Utility routines for dealing with bytecode-level signatures.
+ * @author jrose
+ */
+public class BytecodeSignature {
+
+ private BytecodeSignature() { } // cannot instantiate
+
+ public static List<Class<?>> parseMethod(String bytecodeSignature, ClassLoader loader) {
+ return parseMethod(bytecodeSignature, 0, bytecodeSignature.length(), loader);
+ }
+
+ static List<Class<?>> parseMethod(String bytecodeSignature,
+ int start, int end, ClassLoader loader) {
+ if (loader == null)
+ loader = ClassLoader.getSystemClassLoader();
+ String str = bytecodeSignature;
+ int[] i = {start};
+ ArrayList<Class<?>> ptypes = new ArrayList<Class<?>>();
+ if (i[0] < end && str.charAt(i[0]) == '(') {
+ ++i[0]; // skip '('
+ while (i[0] < end && str.charAt(i[0]) != ')') {
+ Class<?> pt = parseSig(str, i, end, loader);
+ if (pt == null || pt == void.class)
+ parseError(str, "bad argument type");
+ ptypes.add(pt);
+ }
+ ++i[0]; // skip ')'
+ } else {
+ parseError(str, "not a method type");
+ }
+ Class<?> rtype = parseSig(str, i, end, loader);
+ if (rtype == null || i[0] != end)
+ parseError(str, "bad return type");
+ ptypes.add(rtype);
+ return ptypes;
+ }
+
+ static private void parseError(String str, String msg) {
+ throw new IllegalArgumentException("bad signature: "+str+": "+msg);
+ }
+
+ static private Class<?> parseSig(String str, int[] i, int end, ClassLoader loader) {
+ if (i[0] == end) return null;
+ char c = str.charAt(i[0]++);
+ if (c == 'L') {
+ int begc = i[0], endc = str.indexOf(';', begc);
+ if (endc < 0) return null;
+ i[0] = endc+1;
+ String name = str.substring(begc, endc).replace('/', '.');
+ try {
+ return loader.loadClass(name);
+ } catch (ClassNotFoundException ex) {
+ throw new TypeNotPresentException(name, ex);
+ }
+ } else if (c == '[') {
+ Class<?> t = parseSig(str, i, end, loader);
+ if (t != null)
+ t = java.lang.reflect.Array.newInstance(t, 0).getClass();
+ return t;
+ } else {
+ return Wrapper.forBasicType(c).primitiveType();
+ }
+ }
+
+ public static String unparse(Class<?> type) {
+ StringBuilder sb = new StringBuilder();
+ unparseSig(type, sb);
+ return sb.toString();
+ }
+
+ public static String unparse(MethodType type) {
+ return unparseMethod(type.returnType(), type.parameterList());
+ }
+
+ public static String unparse(Object type) {
+ if (type instanceof Class<?>)
+ return unparse((Class<?>) type);
+ if (type instanceof MethodType)
+ return unparse((MethodType) type);
+ return (String) type;
+ }
+
+ public static String unparseMethod(Class<?> rtype, List<Class<?>> ptypes) {
+ StringBuilder sb = new StringBuilder();
+ sb.append('(');
+ for (Class<?> pt : ptypes)
+ unparseSig(pt, sb);
+ sb.append(')');
+ unparseSig(rtype, sb);
+ return sb.toString();
+ }
+
+ static private void unparseSig(Class<?> t, StringBuilder sb) {
+ char c = Wrapper.forBasicType(t).basicTypeChar();
+ if (c != 'L') {
+ sb.append(c);
+ } else {
+ boolean lsemi = (!t.isArray());
+ if (lsemi) sb.append('L');
+ sb.append(t.getName().replace('.', '/'));
+ if (lsemi) sb.append(';');
+ }
+ }
+
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/ValueConversions.java b/jdk/src/share/classes/sun/dyn/util/ValueConversions.java
new file mode 100644
index 0000000..817c1c5
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/ValueConversions.java
@@ -0,0 +1,563 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+import java.dyn.*;
+import java.dyn.MethodHandles.Lookup;
+import java.util.EnumMap;
+import sun.dyn.Access;
+import sun.dyn.AdapterMethodHandle;
+import sun.dyn.MethodHandleImpl;
+
+public class ValueConversions {
+ private static final Access IMPL_TOKEN = Access.getToken();
+ private static final Lookup IMPL_LOOKUP = MethodHandleImpl.getLookup(IMPL_TOKEN);
+
+ private static EnumMap<Wrapper, MethodHandle>[] newWrapperCaches(int n) {
+ EnumMap<Wrapper, MethodHandle>[] caches
+ = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap[n]; // unchecked warning expected here
+ for (int i = 0; i < n; i++)
+ caches[i] = new EnumMap<Wrapper, MethodHandle>(Wrapper.class);
+ return caches;
+ }
+
+ /// Converting references to values.
+
+ static int unboxInteger(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Integer) x).intValue();
+ }
+
+ static byte unboxByte(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Byte) x).byteValue();
+ }
+
+ static short unboxShort(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Short) x).shortValue();
+ }
+
+ static boolean unboxBoolean(Object x) {
+ if (x == null) return false; // never NPE
+ return ((Boolean) x).booleanValue();
+ }
+
+ static char unboxCharacter(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Character) x).charValue();
+ }
+
+ static long unboxLong(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Long) x).longValue();
+ }
+
+ static float unboxFloat(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Float) x).floatValue();
+ }
+
+ static double unboxDouble(Object x) {
+ if (x == null) return 0; // never NPE
+ return ((Double) x).doubleValue();
+ }
+
+ /// Converting references to "raw" values.
+ /// A raw primitive value is always an int or long.
+
+ static int unboxByteRaw(Object x) {
+ return unboxByte(x);
+ }
+
+ static int unboxShortRaw(Object x) {
+ return unboxShort(x);
+ }
+
+ static int unboxBooleanRaw(Object x) {
+ return unboxBoolean(x) ? 1 : 0;
+ }
+
+ static int unboxCharacterRaw(Object x) {
+ return unboxCharacter(x);
+ }
+
+ static int unboxFloatRaw(Object x) {
+ return Float.floatToIntBits(unboxFloat(x));
+ }
+
+ static long unboxDoubleRaw(Object x) {
+ return Double.doubleToRawLongBits(unboxDouble(x));
+ }
+
+ private static MethodType unboxType(Wrapper wrap, boolean raw) {
+ return MethodType.make(rawWrapper(wrap, raw).primitiveType(), wrap.wrapperType());
+ }
+
+ private static final EnumMap<Wrapper, MethodHandle>[]
+ UNBOX_CONVERSIONS = newWrapperCaches(4);
+
+ private static MethodHandle unbox(Wrapper wrap, boolean exact, boolean raw) {
+ EnumMap<Wrapper, MethodHandle> cache = UNBOX_CONVERSIONS[(exact?1:0)+(raw?2:0)];
+ MethodHandle mh = cache.get(wrap);
+ if (mh != null) {
+ return mh;
+ }
+ // slow path
+ switch (wrap) {
+ case OBJECT:
+ mh = IDENTITY; break;
+ case VOID:
+ mh = raw ? ALWAYS_ZERO : IGNORE; break;
+ case INT: case LONG:
+ // these guys don't need separate raw channels
+ if (raw) mh = unbox(wrap, exact, false);
+ break;
+ }
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ // look up the method
+ String name = "unbox" + wrap.simpleName() + (raw ? "Raw" : "");
+ MethodType type = unboxType(wrap, raw);
+ if (!exact)
+ // actually, type is wrong; the Java method takes Object
+ mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type.erase());
+ else
+ mh = retype(type, unbox(wrap, !exact, raw));
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ throw new IllegalArgumentException("cannot find unbox adapter for " + wrap + (raw ? " (raw)" : ""));
+ }
+
+ public static MethodHandle unbox(Wrapper type, boolean exact) {
+ return unbox(type, exact, false);
+ }
+
+ public static MethodHandle unboxRaw(Wrapper type, boolean exact) {
+ return unbox(type, exact, true);
+ }
+
+ public static MethodHandle unbox(Class<?> type, boolean exact) {
+ return unbox(Wrapper.forPrimitiveType(type), exact, false);
+ }
+
+ public static MethodHandle unboxRaw(Class<?> type, boolean exact) {
+ return unbox(Wrapper.forPrimitiveType(type), exact, true);
+ }
+
+ /// Converting primitives to references
+
+ static Integer boxInteger(int x) {
+ return x;
+ }
+
+ static Byte boxByte(byte x) {
+ return x;
+ }
+
+ static Short boxShort(short x) {
+ return x;
+ }
+
+ static Boolean boxBoolean(boolean x) {
+ return x;
+ }
+
+ static Character boxCharacter(char x) {
+ return x;
+ }
+
+ static Long boxLong(long x) {
+ return x;
+ }
+
+ static Float boxFloat(float x) {
+ return x;
+ }
+
+ static Double boxDouble(double x) {
+ return x;
+ }
+
+ /// Converting raw primitives to references
+
+ static Byte boxByteRaw(int x) {
+ return boxByte((byte)x);
+ }
+
+ static Short boxShortRaw(int x) {
+ return boxShort((short)x);
+ }
+
+ static Boolean boxBooleanRaw(int x) {
+ return boxBoolean(x != 0);
+ }
+
+ static Character boxCharacterRaw(int x) {
+ return boxCharacter((char)x);
+ }
+
+ static Float boxFloatRaw(int x) {
+ return boxFloat(Float.intBitsToFloat(x));
+ }
+
+ static Double boxDoubleRaw(long x) {
+ return boxDouble(Double.longBitsToDouble(x));
+ }
+
+ // a raw void value is (arbitrarily) a garbage int
+ static Void boxVoidRaw(int x) {
+ return null;
+ }
+
+ private static MethodType boxType(Wrapper wrap, boolean raw) {
+ // be exact, since return casts are hard to compose
+ Class<?> boxType = wrap.wrapperType();
+ return MethodType.make(boxType, rawWrapper(wrap, raw).primitiveType());
+ }
+
+ private static Wrapper rawWrapper(Wrapper wrap, boolean raw) {
+ if (raw) return wrap.isDoubleWord() ? Wrapper.LONG : Wrapper.INT;
+ return wrap;
+ }
+
+ private static final EnumMap<Wrapper, MethodHandle>[]
+ BOX_CONVERSIONS = newWrapperCaches(4);
+
+ private static MethodHandle box(Wrapper wrap, boolean exact, boolean raw) {
+ EnumMap<Wrapper, MethodHandle> cache = BOX_CONVERSIONS[(exact?1:0)+(raw?2:0)];
+ MethodHandle mh = cache.get(wrap);
+ if (mh != null) {
+ return mh;
+ }
+ // slow path
+ switch (wrap) {
+ case OBJECT:
+ mh = IDENTITY; break;
+ case VOID:
+ if (!raw) mh = ZERO_OBJECT;
+ break;
+ case INT: case LONG:
+ // these guys don't need separate raw channels
+ if (raw) mh = box(wrap, exact, false);
+ break;
+ }
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ // look up the method
+ String name = "box" + wrap.simpleName() + (raw ? "Raw" : "");
+ MethodType type = boxType(wrap, raw);
+ if (exact)
+ mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type);
+ else
+ mh = retype(type.erase(), box(wrap, !exact, raw));
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ throw new IllegalArgumentException("cannot find box adapter for " + wrap + (raw ? " (raw)" : ""));
+ }
+
+ public static MethodHandle box(Class<?> type, boolean exact) {
+ return box(Wrapper.forPrimitiveType(type), exact, false);
+ }
+
+ public static MethodHandle boxRaw(Class<?> type, boolean exact) {
+ return box(Wrapper.forPrimitiveType(type), exact, true);
+ }
+
+ public static MethodHandle box(Wrapper type, boolean exact) {
+ return box(type, exact, false);
+ }
+
+ public static MethodHandle boxRaw(Wrapper type, boolean exact) {
+ return box(type, exact, true);
+ }
+
+ /// Kludges for when raw values get accidentally boxed.
+
+ static Byte reboxRawByte(Object x) {
+ if (x instanceof Byte) return (Byte) x;
+ return boxByteRaw(unboxInteger(x));
+ }
+
+ static Short reboxRawShort(Object x) {
+ if (x instanceof Short) return (Short) x;
+ return boxShortRaw(unboxInteger(x));
+ }
+
+ static Boolean reboxRawBoolean(Object x) {
+ if (x instanceof Boolean) return (Boolean) x;
+ return boxBooleanRaw(unboxInteger(x));
+ }
+
+ static Character reboxRawCharacter(Object x) {
+ if (x instanceof Character) return (Character) x;
+ return boxCharacterRaw(unboxInteger(x));
+ }
+
+ static Float reboxRawFloat(Object x) {
+ if (x instanceof Float) return (Float) x;
+ return boxFloatRaw(unboxInteger(x));
+ }
+
+ static Double reboxRawDouble(Object x) {
+ if (x instanceof Double) return (Double) x;
+ return boxDoubleRaw(unboxLong(x));
+ }
+
+ private static MethodType reboxType(Wrapper wrap) {
+ Class<?> boxType = wrap.wrapperType();
+ return MethodType.make(boxType, Object.class);
+ }
+
+ private static final EnumMap<Wrapper, MethodHandle>[]
+ REBOX_CONVERSIONS = newWrapperCaches(2);
+
+ public static MethodHandle rebox(Wrapper wrap, boolean exact) {
+ EnumMap<Wrapper, MethodHandle> cache = REBOX_CONVERSIONS[exact?1:0];
+ MethodHandle mh = cache.get(wrap);
+ if (mh != null) {
+ return mh;
+ }
+ // slow path
+ switch (wrap) {
+ case OBJECT:
+ mh = IDENTITY; break;
+ case VOID:
+ throw new IllegalArgumentException("cannot rebox a void");
+ case INT: case LONG:
+ mh = cast(wrap.wrapperType(), exact);
+ break;
+ }
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ // look up the method
+ String name = "reboxRaw" + wrap.simpleName();
+ MethodType type = reboxType(wrap);
+ if (exact)
+ mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type);
+ else
+ mh = retype(IDENTITY.type(), rebox(wrap, !exact));
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ throw new IllegalArgumentException("cannot find rebox adapter for " + wrap);
+ }
+
+ public static MethodHandle rebox(Class<?> type, boolean exact) {
+ return rebox(Wrapper.forPrimitiveType(type), exact);
+ }
+
+ /// Width-changing conversions between int and long.
+
+ static long widenInt(int x) {
+ return x;
+ }
+
+ static int narrowLong(long x) {
+ return (int) x;
+ }
+
+ /// Constant functions
+
+ static void ignore(Object x) {
+ // no value to return; this is an unbox of null
+ return;
+ }
+
+ static void empty() {
+ return;
+ }
+
+ static Object zeroObject() {
+ return null;
+ }
+
+ static int zeroInteger() {
+ return 0;
+ }
+
+ static long zeroLong() {
+ return 0;
+ }
+
+ static float zeroFloat() {
+ return 0;
+ }
+
+ static double zeroDouble() {
+ return 0;
+ }
+
+ private static final EnumMap<Wrapper, MethodHandle>[]
+ ZERO_CONSTANT_FUNCTIONS = newWrapperCaches(1);
+
+ public static MethodHandle zeroConstantFunction(Wrapper wrap) {
+ EnumMap<Wrapper, MethodHandle> cache = ZERO_CONSTANT_FUNCTIONS[0];
+ MethodHandle mh = cache.get(wrap);
+ if (mh != null) {
+ return mh;
+ }
+ // slow path
+ MethodType type = MethodType.make(wrap.primitiveType());
+ switch (wrap) {
+ case VOID:
+ mh = EMPTY;
+ break;
+ case INT: case LONG: case FLOAT: case DOUBLE:
+ mh = IMPL_LOOKUP.findStatic(ValueConversions.class, "zero"+wrap.simpleName(), type);
+ break;
+ }
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+
+ // use the raw method
+ Wrapper rawWrap = wrap.rawPrimitive();
+ if (rawWrap != wrap) {
+ mh = retype(type, zeroConstantFunction(rawWrap));
+ }
+ if (mh != null) {
+ cache.put(wrap, mh);
+ return mh;
+ }
+ throw new IllegalArgumentException("cannot find zero constant for " + wrap);
+ }
+
+ /// Converting references to references.
+
+ /**
+ * Value-killing function.
+ * @param x an arbitrary reference value
+ * @return a null
+ */
+ static Object alwaysNull(Object x) {
+ return null;
+ }
+
+ /**
+ * Value-killing function.
+ * @param x an arbitrary reference value
+ * @return a zero
+ */
+ static int alwaysZero(Object x) {
+ return 0;
+ }
+
+ /**
+ * Identity function.
+ * @param x an arbitrary reference value
+ * @return the same value x
+ */
+ static <T> T identity(T x) {
+ return x;
+ }
+
+ /**
+ * Identity function, with reference cast.
+ * @param t an arbitrary reference type
+ * @param x an arbitrary reference value
+ * @return the same value x
+ */
+ static <T,U> T castReference(Class<? extends T> t, U x) {
+ return t.cast(x);
+ }
+
+ private static final MethodHandle IDENTITY, CAST_REFERENCE, ALWAYS_NULL, ALWAYS_ZERO, ZERO_OBJECT, IGNORE, EMPTY;
+ static {
+ try {
+ MethodType idType = MethodType.makeGeneric(1);
+ MethodType castType = idType.insertParameterType(0, Class.class);
+ MethodType alwaysZeroType = idType.changeReturnType(int.class);
+ MethodType ignoreType = idType.changeReturnType(void.class);
+ MethodType zeroObjectType = MethodType.makeGeneric(0);
+ IDENTITY = IMPL_LOOKUP.findStatic(ValueConversions.class, "identity", idType);
+ //CAST_REFERENCE = IMPL_LOOKUP.findVirtual(Class.class, "cast", idType);
+ CAST_REFERENCE = IMPL_LOOKUP.findStatic(ValueConversions.class, "castReference", castType);
+ ALWAYS_NULL = IMPL_LOOKUP.findStatic(ValueConversions.class, "alwaysNull", idType);
+ ALWAYS_ZERO = IMPL_LOOKUP.findStatic(ValueConversions.class, "alwaysZero", alwaysZeroType);
+ ZERO_OBJECT = IMPL_LOOKUP.findStatic(ValueConversions.class, "zeroObject", zeroObjectType);
+ IGNORE = IMPL_LOOKUP.findStatic(ValueConversions.class, "ignore", ignoreType);
+ EMPTY = IMPL_LOOKUP.findStatic(ValueConversions.class, "empty", ignoreType.dropParameterType(0));
+ } catch (RuntimeException ex) {
+ throw ex;
+ }
+ }
+
+ private static final EnumMap<Wrapper, MethodHandle> WRAPPER_CASTS
+ = new EnumMap<Wrapper, MethodHandle>(Wrapper.class);
+
+ private static final EnumMap<Wrapper, MethodHandle> EXACT_WRAPPER_CASTS
+ = new EnumMap<Wrapper, MethodHandle>(Wrapper.class);
+
+ /** Return a method that casts its sole argument (an Object) to the given type
+ * and returns it as the given type (if exact is true), or as plain Object (if erase is true).
+ */
+ public static MethodHandle cast(Class<?> type, boolean exact) {
+ if (type.isPrimitive()) throw new IllegalArgumentException("cannot cast primitive type "+type);
+ MethodHandle mh = null;
+ Wrapper wrap = null;
+ EnumMap<Wrapper, MethodHandle> cache = null;
+ if (Wrapper.isWrapperType(type)) {
+ wrap = Wrapper.forWrapperType(type);
+ cache = (exact ? EXACT_WRAPPER_CASTS : WRAPPER_CASTS);
+ mh = cache.get(wrap);
+ if (mh != null) return mh;
+ }
+ if (VerifyType.isNullReferenceConversion(Object.class, type))
+ mh = IDENTITY;
+ else if (VerifyType.isNullType(type))
+ mh = ALWAYS_NULL;
+ else
+ mh = MethodHandles.insertArgument(CAST_REFERENCE, 0, type);
+ if (exact) {
+ MethodType xmt = MethodType.make(type, Object.class);
+ mh = AdapterMethodHandle.makeRawRetypeOnly(IMPL_TOKEN, xmt, mh);
+ }
+ if (cache != null)
+ cache.put(wrap, mh);
+ return mh;
+ }
+
+ public static MethodHandle identity() {
+ return IDENTITY;
+ }
+
+ private static MethodHandle retype(MethodType type, MethodHandle mh) {
+ return AdapterMethodHandle.makeRetypeOnly(IMPL_TOKEN, type, mh);
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java b/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java
new file mode 100644
index 0000000..25c997a
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+import java.dyn.LinkagePermission;
+import java.lang.reflect.Modifier;
+import sun.dyn.Access;
+
+/**
+ * This class centralizes information about the JVM's linkage access control.
+ * @author jrose
+ */
+public class VerifyAccess {
+
+ private VerifyAccess() { } // cannot instantiate
+
+ /**
+ * Evaluate the JVM linkage rules for access to the given method on behalf of caller.
+ * Return non-null if and only if the given accessing class has at least partial
+ * privileges to invoke the given method. The return value {@code Object.class}
+ * denotes unlimited privileges.
+ * <p>
+ * Some circumstances require an additional check on the
+ * leading parameter (the receiver) of the method, if it is non-static.
+ * In the case of {@code invokespecial} ({@code doDispatch} is false),
+ * the leading parameter must be the accessing class or a subclass.
+ * In the case of a call to a {@code protected} method outside the same
+ * package, the same constraint applies.
+ * @param m the proposed callee
+ * @param doDispatch if false, a non-static m will be invoked as if by {@code invokespecial}
+ * @param lookupClass the class for which the access check is being made
+ * @return null if the method is not accessible, else a receiver type constraint, else {@code Object.class}
+ */
+ public static Class<?> isAccessible(Class<?> defc, int mods,
+ boolean doDispatch, Class<?> lookupClass) {
+ if (!isAccessible(defc, lookupClass))
+ return null;
+ Class<?> constraint = Object.class;
+ if (!doDispatch && !Modifier.isStatic(mods)) {
+ constraint = lookupClass;
+ }
+ if (Modifier.isPublic(mods))
+ return constraint;
+ if (Modifier.isPrivate(mods))
+ return isSamePackageMember(defc, lookupClass) ? constraint : null;
+ if (isSamePackage(defc, lookupClass))
+ return constraint;
+ if (Modifier.isProtected(mods) && defc.isAssignableFrom(lookupClass))
+ return constraint;
+ // else it is private or package scoped, and not close enough
+ return null;
+ }
+
+ /**
+ * Evaluate the JVM linkage rules for access to the given class on behalf of caller.
+ */
+ public static boolean isAccessible(Class<?> refc, Class<?> lookupClass) {
+ int mods = refc.getModifiers();
+ if (Modifier.isPublic(mods))
+ return true;
+ if (isSamePackage(lookupClass, refc))
+ return true;
+ return false;
+ }
+
+ /**
+ * Test if two classes have the same class loader and package qualifier.
+ * @param class1
+ * @param class2
+ * @return whether they are in the same package
+ */
+ public static boolean isSamePackage(Class<?> class1, Class<?> class2) {
+ if (class1 == class2)
+ return true;
+ if (loadersAreRelated(class1.getClassLoader(), class2.getClassLoader()))
+ return false;
+ String name1 = class1.getName(), name2 = class2.getName();
+ int dot = name1.lastIndexOf('.');
+ if (dot != name2.lastIndexOf('.'))
+ return false;
+ for (int i = 0; i < dot; i++) {
+ if (name1.charAt(i) != name2.charAt(i))
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Test if two classes are defined as part of the same package member (top-level class).
+ * If this is true, they can share private access with each other.
+ * @param class1
+ * @param class2
+ * @return whether they are identical or nested together
+ */
+ public static boolean isSamePackageMember(Class<?> class1, Class<?> class2) {
+ if (class1 == class2)
+ return true;
+ if (!isSamePackage(class1, class2))
+ return false;
+ if (getOutermostEnclosingClass(class1) != getOutermostEnclosingClass(class2))
+ return false;
+ return true;
+ }
+
+ private static Class<?> getOutermostEnclosingClass(Class<?> c) {
+ Class<?> pkgmem = c;
+ for (Class<?> enc = c; (enc = enc.getEnclosingClass()) != null; )
+ pkgmem = enc;
+ return pkgmem;
+ }
+
+ private static boolean loadersAreRelated(ClassLoader loader1, ClassLoader loader2) {
+ if (loader1 == loader2 || loader1 == null || loader2 == null) {
+ return true;
+ }
+ for (ClassLoader scan1 = loader1;
+ scan1 != null; scan1 = scan1.getParent()) {
+ if (scan1 == loader2) return true;
+ }
+ for (ClassLoader scan2 = loader2;
+ scan2 != null; scan2 = scan2.getParent()) {
+ if (scan2 == loader1) return true;
+ }
+ return false;
+ }
+
+ /**
+ * Ensure the requesting class have privileges to perform invokedynamic
+ * linkage operations on subjectClass. True if requestingClass is
+ * Access.class (meaning the request originates from the JVM) or if the
+ * classes are in the same package and have consistent class loaders.
+ * (The subject class loader must be identical with or be a child of
+ * the requesting class loader.)
+ * @param requestingClass
+ * @param subjectClass
+ */
+ public static void checkBootstrapPrivilege(Class requestingClass, Class subjectClass,
+ String permissionName) {
+ if (requestingClass == Access.class) return;
+ if (requestingClass == subjectClass) return;
+ SecurityManager security = System.getSecurityManager();
+ if (security == null) return; // open season
+ if (isSamePackage(requestingClass, subjectClass)) return;
+ security.checkPermission(new LinkagePermission(permissionName, requestingClass));
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/VerifyType.java b/jdk/src/share/classes/sun/dyn/util/VerifyType.java
new file mode 100644
index 0000000..9d12c74
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/VerifyType.java
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+import java.dyn.MethodType;
+
+/**
+ * This class centralizes information about the JVM verifier
+ * and its requirements about type correctness.
+ * @author jrose
+ */
+public class VerifyType {
+
+ private VerifyType() { } // cannot instantiate
+
+ /**
+ * True if a value can be stacked as the source type and unstacked as the
+ * destination type, without violating the JVM's type consistency.
+ *
+ * @param call the type of a stacked value
+ * @param recv the type by which we'd like to treat it
+ * @return whether the retyping can be done without motion or reformatting
+ */
+ public static boolean isNullConversion(Class<?> src, Class<?> dst) {
+ if (src == dst) return true;
+ // Verifier allows any interface to be treated as Object:
+ if (dst.isInterface()) dst = Object.class;
+ if (src.isInterface()) src = Object.class;
+ if (src == dst) return true; // check again
+ if (dst == void.class) return true; // drop any return value
+ if (isNullType(src)) return !dst.isPrimitive();
+ if (!src.isPrimitive()) return dst.isAssignableFrom(src);
+ // Verifier allows an int to carry byte, short, char, or even boolean:
+ if (dst == int.class) return Wrapper.forPrimitiveType(src).isSubwordOrInt();
+ return false;
+ }
+
+ /**
+ * Specialization of isNullConversion to reference types.
+
+ * @param call the type of a stacked value
+ * @param recv the reference type by which we'd like to treat it
+ * @return whether the retyping can be done without a cast
+ */
+ public static boolean isNullReferenceConversion(Class<?> src, Class<?> dst) {
+ assert(!dst.isPrimitive());
+ if (dst.isInterface()) return true; // verifier allows this
+ if (isNullType(src)) return true;
+ return dst.isAssignableFrom(src);
+ }
+
+ /**
+ * Is the given type either java.lang.Void or java.lang.Null?
+ * These types serve as markers for bare nulls and therefore
+ * may be promoted to any type. This is secure, since
+ */
+ public static boolean isNullType(Class<?> type) {
+ if (type == null) return false;
+ return type == NULL_CLASS_1 || type == NULL_CLASS_2;
+ }
+ private static final Class<?> NULL_CLASS_1, NULL_CLASS_2;
+ static {
+ Class<?> nullClass1 = null, nullClass2 = null;
+ try {
+ nullClass1 = Class.forName("java.lang.Null");
+ } catch (ClassNotFoundException ex) {
+ // OK, we'll cope
+ }
+ NULL_CLASS_1 = nullClass1;
+
+ // This one may also be used as a null type.
+ // TO DO: Decide if we really want to legitimize it here.
+ // Probably we do, unless java.lang.Null really makes it into Java 7
+ nullClass2 = Void.class;
+ NULL_CLASS_2 = nullClass2;
+ }
+
+ /**
+ * True if a method handle can receive a call under a slightly different
+ * method type, without moving or reformatting any stack elements.
+ *
+ * @param call the type of call being made
+ * @param recv the type of the method handle receiving the call
+ * @return whether the retyping can be done without motion or reformatting
+ */
+ public static boolean isNullConversion(MethodType call, MethodType recv) {
+ if (call == recv) return true;
+ int len = call.parameterCount();
+ if (len != recv.parameterCount()) return false;
+ for (int i = 0; i < len; i++)
+ if (!isNullConversion(call.parameterType(i), recv.parameterType(i)))
+ return false;
+ return isNullConversion(recv.returnType(), call.returnType());
+ }
+
+ //TO DO: isRawConversion
+
+ /**
+ * Determine if the JVM verifier allows a value of type call to be
+ * passed to a formal parameter (or return variable) of type recv.
+ * Returns 1 if the verifier allows the types to match without conversion.
+ * Returns -1 if the types can be made to match by a JVM-supported adapter.
+ * Cases supported are:
+ * <ul><li>checkcast
+ * </li><li>conversion between any two integral types (but not floats)
+ * </li><li>unboxing from a wrapper to its corresponding primitive type
+ * </li><li>conversion in either direction between float and double
+ * </li></ul>
+ * (Autoboxing is not supported here; it must be done via Java code.)
+ * Returns 0 otherwise.
+ */
+ public static int canPassUnchecked(Class<?> src, Class<?> dst) {
+ if (src == dst)
+ return 1;
+
+ if (dst.isPrimitive()) {
+ if (dst == void.class)
+ // Return anything to a caller expecting void.
+ // This is a property of the implementation, which links
+ // return values via a register rather than via a stack push.
+ // This makes it possible to ignore cleanly.
+ return 1;
+ if (src == void.class)
+ return 0; // void-to-something?
+ if (!src.isPrimitive())
+ // Cannot pass a reference to any primitive type (exc. void).
+ return 0;
+ Wrapper sw = Wrapper.forPrimitiveType(src);
+ Wrapper dw = Wrapper.forPrimitiveType(dst);
+ if (sw.isSubwordOrInt() && dw.isSubwordOrInt()) {
+ if (sw.bitWidth() >= dw.bitWidth())
+ return -1; // truncation may be required
+ if (!dw.isSigned() && sw.isSigned())
+ return -1; // sign elimination may be required
+ }
+ if (src == float.class || dst == float.class) {
+ if (src == double.class || dst == double.class)
+ return -1; // floating conversion may be required
+ else
+ return 0; // other primitive conversions NYI
+ } else {
+ // all fixed-point conversions are supported
+ return 0;
+ }
+ } else if (src.isPrimitive()) {
+ // Cannot pass a primitive to any reference type.
+ // (Maybe allow null.class?)
+ return 0;
+ }
+
+ // Handle reference types in the rest of the block:
+
+ // The verifier treats interfaces exactly like Object.
+ if (isNullReferenceConversion(src, dst))
+ // pass any reference to object or an arb. interface
+ return 1;
+ // else it's a definite "maybe" (cast is required)
+ return -1;
+ }
+
+ public static int canPassRaw(Class<?> src, Class<?> dst) {
+ if (dst.isPrimitive()) {
+ if (dst == void.class)
+ // As above, return anything to a caller expecting void.
+ return 1;
+ if (src == void.class)
+ // Special permission for raw conversions: allow a void
+ // to be captured as a garbage int.
+ // Caller promises that the actual value will be disregarded.
+ return dst == int.class ? 1 : 0;
+ if (!src.isPrimitive())
+ return 0;
+ Wrapper sw = Wrapper.forPrimitiveType(src);
+ Wrapper dw = Wrapper.forPrimitiveType(dst);
+ if (sw.stackSlots() == dw.stackSlots())
+ return 1; // can do a reinterpret-cast on a stacked primitive
+ if (sw.isSubwordOrInt() && dw == Wrapper.VOID)
+ return 1; // can drop an outgoing int value
+ return 0;
+ } else if (src.isPrimitive()) {
+ return 0;
+ }
+
+ // Both references.
+ if (isNullReferenceConversion(src, dst))
+ return 1;
+ return -1;
+ }
+
+ public static boolean isSpreadArgType(Class<?> spreadArg) {
+ return spreadArg.isArray();
+ }
+ public static Class<?> spreadArgElementType(Class<?> spreadArg, int i) {
+ return spreadArg.getComponentType();
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/Wrapper.java b/jdk/src/share/classes/sun/dyn/util/Wrapper.java
new file mode 100644
index 0000000..556fda3
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/Wrapper.java
@@ -0,0 +1,467 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.dyn.util;
+
+public enum Wrapper {
+ INT(Integer.class, int.class, 'I', (Integer)(int)0, Format.signed(32)),
+ LONG(Long.class, long.class, 'J', (Long)(long)0, Format.signed(64)),
+ BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, Format.signed(8)),
+ SHORT(Short.class, short.class, 'S', (Short)(short)0, Format.signed(16)),
+ CHAR(Character.class, char.class, 'C', (Character)(char)0, Format.unsigned(16)),
+ BOOLEAN(Boolean.class, boolean.class, 'Z', (Boolean)false, Format.unsigned(1)),
+ FLOAT(Float.class, float.class, 'F', (Float)(float)0, Format.floating(32)),
+ DOUBLE(Double.class, double.class, 'D', (Double)(double)0, Format.floating(64)),
+ VOID(Void.class, void.class, 'V', null, Format.other(0)),
+ //NULL(Null.class, null.class, 'N', null, Format.other(1)),
+ OBJECT(Object.class, Object.class, 'L', null, Format.other(1)),
+ ;
+
+ private final Class<?> wrapperType;
+ private final Class<?> primitiveType;
+ private final char basicTypeChar;
+ private final Object zero;
+ private final int format;
+ private final String simpleName;
+
+ private Wrapper(Class<?> wtype, Class<?> ptype, char tchar, Object zero, int format) {
+ this.wrapperType = wtype;
+ this.primitiveType = ptype;
+ this.basicTypeChar = tchar;
+ this.zero = zero;
+ this.format = format;
+ this.simpleName = wtype.getSimpleName();
+ }
+
+ private static abstract class Format {
+ static final int SLOT_SHIFT = 0, SIZE_SHIFT = 2, KIND_SHIFT = 12;
+ static final int
+ SIGNED = (-1) << KIND_SHIFT,
+ UNSIGNED = 0 << KIND_SHIFT,
+ FLOATING = 1 << KIND_SHIFT;
+ static final int
+ SLOT_MASK = ((1<<(SIZE_SHIFT-SLOT_SHIFT))-1),
+ SIZE_MASK = ((1<<(KIND_SHIFT-SIZE_SHIFT))-1);
+ static int format(int kind, int size, int slots) {
+ assert(((kind >> KIND_SHIFT) << KIND_SHIFT) == kind);
+ assert((size & (size-1)) == 0); // power of two
+ assert((kind == SIGNED) ? (size > 0) :
+ (kind == UNSIGNED) ? (size > 0) :
+ (kind == FLOATING) ? (size == 32 || size == 64) :
+ false);
+ assert((slots == 2) ? (size == 64) :
+ (slots == 1) ? (size <= 32) :
+ false);
+ return kind | (size << SIZE_SHIFT) | (slots << SLOT_SHIFT);
+ }
+ static int
+ INT = SIGNED | (32 << SIZE_SHIFT) | (1 << SLOT_SHIFT),
+ BOOLEAN = UNSIGNED | (1 << SIZE_SHIFT) | (1 << SLOT_SHIFT),
+ FLOAT = FLOATING | (32 << SIZE_SHIFT) | (1 << SLOT_SHIFT),
+ VOID = UNSIGNED | (0 << SIZE_SHIFT) | (0 << SLOT_SHIFT),
+ NUM_MASK = (-1) << SIZE_SHIFT;
+ static int signed(int size) { return format(SIGNED, size, (size > 32 ? 2 : 1)); }
+ static int unsigned(int size) { return format(UNSIGNED, size, (size > 32 ? 2 : 1)); }
+ static int floating(int size) { return format(FLOATING, size, (size > 32 ? 2 : 1)); }
+ static int other(int slots) { return slots << SLOT_SHIFT; }
+ }
+
+ /// format queries:
+
+ /** How many bits are in the wrapped value? Returns 0 for OBJECT or VOID. */
+ public int bitWidth() { return (format >> Format.SIZE_SHIFT) & Format.SIZE_MASK; }
+ /** How many JVM stack slots occupied by the wrapped value? Returns 0 for VOID. */
+ public int stackSlots() { return (format >> Format.SLOT_SHIFT) & Format.SLOT_MASK; }
+ /** Does the wrapped value occupy a single JVM stack slot? */
+ public boolean isSingleWord() { return (format & (1 << Format.SLOT_SHIFT)) != 0; }
+ /** Does the wrapped value occupy two JVM stack slots? */
+ public boolean isDoubleWord() { return (format & (2 << Format.SLOT_SHIFT)) != 0; }
+ /** Is the wrapped type numeric (not void or object)? */
+ public boolean isNumeric() { return (format & Format.NUM_MASK) != 0; }
+ /** Is the wrapped type a primitive other than float, double, or void? */
+ public boolean isIntegral() { return isNumeric() && format < Format.FLOAT; }
+ /** Is the wrapped type one of int, boolean, byte, char, or short? */
+ public boolean isSubwordOrInt() { return isIntegral() && isSingleWord(); }
+ /* Is the wrapped value a signed integral type (one of byte, short, int, or long)? */
+ public boolean isSigned() { return format < Format.VOID; }
+ /* Is the wrapped value an unsigned integral type (one of boolean or char)? */
+ public boolean isUnsigned() { return format >= Format.BOOLEAN && format < Format.FLOAT; }
+ /** Is the wrapped type either float or double? */
+ public boolean isFloating() { return format >= Format.FLOAT; }
+
+ /** Produce a zero value for the given wrapper type.
+ * This will be a numeric zero for a number or character,
+ * false for a boolean, and null for a reference or void.
+ * The common thread is that this is what is contained
+ * in a default-initialized variable of the given primitive
+ * type. (For void, it is what a reflective method returns
+ * instead of no value at all.)
+ */
+ public Object zero() { return zero; }
+
+ /** Produce a zero value for the given wrapper type T.
+ * The optinoal argument must a type compatible with this wrapper.
+ * Equivalent to {@code this.cast(this.zero(), type)}.
+ */
+ public <T> T zero(Class<T> type) { return cast(zero, type); }
+
+// /** Produce a wrapper for the given wrapper or primitive type. */
+// public static Wrapper valueOf(Class<?> type) {
+// if (isPrimitiveType(type))
+// return forPrimitiveType(type);
+// else
+// return forWrapperType(type);
+// }
+
+ /** Return the wrapper that wraps values of the given type.
+ * The type may be {@code Object}, meaning the {@code OBJECT} wrapper.
+ * Otherwise, the type must be a primitive.
+ * @throws IllegalArgumentException for unexpected types
+ */
+ public static Wrapper forPrimitiveType(Class<?> type) {
+ Wrapper w = FROM_PRIM[hashPrim(type)];
+ if (w != null && w.primitiveType == type) {
+ return w;
+ }
+ if (type.isPrimitive())
+ throw new InternalError(); // redo hash function
+ throw newIllegalArgumentException("not primitive: "+type);
+ }
+
+ /** Return the wrapper that wraps values into the given wrapper type.
+ * If it is {@code Object} or an interface, return {@code OBJECT}.
+ * Otherwise, it must be a wrapper type.
+ * The type must not be a primitive type.
+ * @throws IllegalArgumentException for unexpected types
+ */
+ public static Wrapper forWrapperType(Class<?> type) {
+ Wrapper w = findWrapperType(type);
+ if (w != null) return w;
+ for (Wrapper x : values())
+ if (w.wrapperType == type)
+ throw new InternalError(); // redo hash function
+ throw newIllegalArgumentException("not wrapper: "+type);
+ }
+
+ static Wrapper findWrapperType(Class<?> type) {
+ Wrapper w = FROM_WRAP[hashWrap(type)];
+ if (w != null && w.wrapperType == type) {
+ return w;
+ }
+ if (type.isInterface())
+ return OBJECT;
+ return null;
+ }
+
+ /** Return the wrapper that corresponds to the given bytecode
+ * signature character. Return {@code OBJECT} for the character 'L'.
+ * @throws IllegalArgumentException for any non-signature character or {@code '['}.
+ */
+ public static Wrapper forBasicType(char type) {
+ Wrapper w = FROM_CHAR[hashChar(type)];
+ if (w != null && w.basicTypeChar == type) {
+ return w;
+ }
+ for (Wrapper x : values())
+ if (w.basicTypeChar == type)
+ throw new InternalError(); // redo hash function
+ throw newIllegalArgumentException("not basic type char: "+type);
+ }
+
+ /** Return the wrapper for the given type, if it is
+ * a primitive type, else return {@code OBJECT}.
+ */
+ public static Wrapper forBasicType(Class<?> type) {
+ if (type.isPrimitive())
+ return forPrimitiveType(type);
+ return OBJECT; // any reference, including wrappers or arrays
+ }
+
+ // Note on perfect hashes:
+ // for signature chars c, do (c + (c >> 1)) % 16
+ // for primitive type names n, do (n[0] + n[2]) % 16
+ // The type name hash works for both primitive and wrapper names.
+ // You can add "java/lang/Object" to the primitive names.
+ // But you add the wrapper name Object, use (n[2] + (3*n[1])) % 16.
+ private static final Wrapper[] FROM_PRIM = new Wrapper[16];
+ private static final Wrapper[] FROM_WRAP = new Wrapper[16];
+ private static final Wrapper[] FROM_CHAR = new Wrapper[16];
+ private static int hashPrim(Class<?> x) {
+ String xn = x.getName();
+ if (xn.length() < 3) return 0;
+ return (xn.charAt(0) + xn.charAt(2)) % 16;
+ }
+ private static int hashWrap(Class<?> x) {
+ String xn = x.getName();
+ final int offset = 10; assert(offset == "java.lang.".length());
+ if (xn.length() < offset+3) return 0;
+ return (3*xn.charAt(offset+1) + xn.charAt(offset+2)) % 16;
+ }
+ private static int hashChar(char x) {
+ return (x + (x >> 1)) % 16;
+ }
+ static {
+ for (Wrapper w : values()) {
+ int pi = hashPrim(w.primitiveType);
+ int wi = hashWrap(w.wrapperType);
+ int ci = hashChar(w.basicTypeChar);
+ assert(FROM_PRIM[pi] == null);
+ assert(FROM_WRAP[wi] == null);
+ assert(FROM_CHAR[ci] == null);
+ FROM_PRIM[pi] = w;
+ FROM_WRAP[wi] = w;
+ FROM_CHAR[ci] = w;
+ }
+ //assert(jdk.sun.dyn.util.WrapperTest.test(false));
+ }
+
+ /** What is the primitive type wrapped by this wrapper? */
+ public Class<?> primitiveType() { return primitiveType; }
+
+ /** What is the wrapper type for this wrapper? */
+ public Class<?> wrapperType() { return wrapperType; }
+
+ /** What is the wrapper type for this wrapper?
+ * The example type must be the wrapper type,
+ * or the corresponding primitive type.
+ * The resulting class type has the same type parameter.
+ */
+ public <T> Class<T> wrapperType(Class<T> exampleType) {
+ if (exampleType == wrapperType) {
+ return exampleType;
+ } else if (exampleType == primitiveType ||
+ wrapperType == Object.class ||
+ exampleType.isInterface()) {
+ return forceType(wrapperType, exampleType);
+ }
+ throw new ClassCastException(exampleType + " not <:" + wrapperType);
+ }
+
+ /** If {@code type} is a primitive type, return the corresponding
+ * wrapper type, else return {@code type} unchanged.
+ */
+ public static <T> Class<T> asWrapperType(Class<T> type) {
+ if (type.isPrimitive()) {
+ return forPrimitiveType(type).wrapperType(type);
+ }
+ return type;
+ }
+
+ /** If {@code type} is a wrapper type, return the corresponding
+ * primitive type, else return {@code type} unchanged.
+ */
+ public static <T> Class<T> asPrimitiveType(Class<T> type) {
+ Wrapper w = findWrapperType(type);
+ if (w != null) {
+ return forceType(w.primitiveType(), type);
+ }
+ return type;
+ }
+
+ /** Query: Is the given type a wrapper, such as {@code Integer} or {@code Void}? */
+ public static boolean isWrapperType(Class<?> type) {
+ return findWrapperType(type) != null;
+ }
+
+ /** Query: Is the given type a primitive, such as {@code int} or {@code void}? */
+ public static boolean isPrimitiveType(Class<?> type) {
+ return type.isPrimitive();
+ }
+
+ /** What is the bytecode signature character for this wrapper's
+ * primitive type?
+ */
+ public char basicTypeChar() { return basicTypeChar; }
+
+ /** What is the simple name of the wrapper type?
+ */
+ public String simpleName() { return simpleName; }
+
+// /** Wrap a value in the given type, which may be either a primitive or wrapper type.
+// * Performs standard primitive conversions, including truncation and float conversions.
+// */
+// public static <T> T wrap(Object x, Class<T> type) {
+// return Wrapper.valueOf(type).cast(x, type);
+// }
+
+ /** Cast a wrapped value to the given type, which may be either a primitive or wrapper type.
+ * Performs standard primitive conversions, including truncation and float conversions.
+ * The given type must be compatible with this wrapper. That is, it must either
+ * be the wrapper type (or a subtype, in the case of {@code OBJECT} or else
+ * it must be the wrapper's primitive type.
+ * @throws ClassCastException if the given type is not compatible with this wrapper
+ */
+ public <T> T cast(Object x, Class<T> type) {
+ Class<T> wtype = wrapperType(type);
+ if (wtype.isInstance(x))
+ return wtype.cast(x);
+ return wtype.cast(wrap(x));
+ }
+
+ /** Cast a reference type to another reference type.
+ * If the target type is an interface, perform no runtime check.
+ * (This loophole is safe, and is allowed by the JVM verifier.)
+ * If the target type is a primitive, change it to a wrapper.
+ */
+ static <T> Class<T> forceType(Class<?> type, Class<T> exampleType) {
+ assert(type == exampleType ||
+ type == asWrapperType(exampleType) ||
+ type == Object.class && exampleType.isInterface());
+ Class<T> result = (Class<T>) type; // unchecked warning is expected here
+ return result;
+ }
+
+ /** Wrap a value in this wrapper's type.
+ * Performs standard primitive conversions, including truncation and float conversions.
+ * Performs returns the unchanged reference for {@code OBJECT}.
+ * Returns null for {@code VOID}.
+ * Returns a zero value for a null input.
+ * @throws ClassCastException if this wrapper is numeric and the operand
+ * is not a number, character, boolean, or null
+ */
+ public Object wrap(Object x) {
+ // do non-numeric wrappers first
+ switch (basicTypeChar) {
+ case 'L': return x;
+ case 'V': return null;
+ }
+ Number xn = numberValue(x);
+ switch (basicTypeChar) {
+ case 'I': return Integer.valueOf(xn.intValue());
+ case 'J': return Long.valueOf(xn.longValue());
+ case 'F': return Float.valueOf(xn.floatValue());
+ case 'D': return Double.valueOf(xn.doubleValue());
+ case 'S': return Short.valueOf((short) xn.intValue());
+ case 'B': return Byte.valueOf((byte) xn.intValue());
+ case 'C': return Character.valueOf((char) xn.intValue());
+ case 'Z': return Boolean.valueOf(boolValue(xn.longValue()));
+ }
+ throw new InternalError("bad wrapper");
+ }
+
+ /** Wrap a value (an int or smaller value) in this wrapper's type.
+ * Performs standard primitive conversions, including truncation and float conversions.
+ * Produces an {@code Integer} for {@code OBJECT}, although the exact type
+ * of the operand is not known.
+ * Returns null for {@code VOID}.
+ */
+ public Object wrap(int x) {
+ if (basicTypeChar == 'L') return (Integer)x;
+ switch (basicTypeChar) {
+ case 'L': throw newIllegalArgumentException("cannot wrap to object type");
+ case 'V': return null;
+ case 'I': return Integer.valueOf((int)x);
+ case 'J': return Long.valueOf(x);
+ case 'F': return Float.valueOf(x);
+ case 'D': return Double.valueOf(x);
+ case 'S': return Short.valueOf((short) x);
+ case 'B': return Byte.valueOf((byte) x);
+ case 'C': return Character.valueOf((char) x);
+ case 'Z': return Boolean.valueOf(boolValue(x));
+ }
+ throw new InternalError("bad wrapper");
+ }
+
+ /** Wrap a value (a long or smaller value) in this wrapper's type.
+ * Does not perform floating point conversion.
+ * Produces a {@code Long} for {@code OBJECT}, although the exact type
+ * of the operand is not known.
+ * Returns null for {@code VOID}.
+ */
+ public Object wrapRaw(long x) {
+ switch (basicTypeChar) {
+ case 'F': return Float.valueOf(Float.intBitsToFloat((int)x));
+ case 'D': return Double.valueOf(Double.longBitsToDouble(x));
+ case 'L': // same as 'J':
+ case 'J': return (Long) x;
+ }
+ // Other wrapping operations are just the same, given that the
+ // operand is already promoted to an int.
+ return wrap((int)x);
+ }
+
+ /** Produce bitwise value which encodes the given wrapped value.
+ * Does not perform floating point conversion.
+ * Returns zero for {@code VOID}.
+ */
+ public long unwrapRaw(Object x) {
+ switch (basicTypeChar) {
+ case 'F': return Float.floatToRawIntBits((Float) x);
+ case 'D': return Double.doubleToRawLongBits((Double) x);
+
+ case 'L': throw newIllegalArgumentException("cannot unwrap from sobject type");
+ case 'V': return 0;
+ case 'I': return (int)(Integer) x;
+ case 'J': return (long)(Long) x;
+ case 'S': return (short)(Short) x;
+ case 'B': return (byte)(Byte) x;
+ case 'C': return (char)(Character) x;
+ case 'Z': return (boolean)(Boolean) x ? 1 : 0;
+ }
+ throw new InternalError("bad wrapper");
+ }
+
+ /** Report what primitive type holds this guy's raw value. */
+ public Class<?> rawPrimitiveType() {
+ return rawPrimitive().primitiveType();
+ }
+
+ /** Report, as a wrapper, what primitive type holds this guy's raw value.
+ * Returns self for INT, LONG, OBJECT; returns LONG for DOUBLE,
+ * else returns INT.
+ */
+ public Wrapper rawPrimitive() {
+ switch (basicTypeChar) {
+ case 'S': case 'B':
+ case 'C': case 'Z':
+ case 'V':
+ case 'F':
+ return INT;
+ case 'D':
+ return LONG;
+ }
+ return this;
+ }
+
+ private static Number numberValue(Object x) {
+ if (x instanceof Number) return (Number)x;
+ if (x instanceof Character) return (int)(Character)x;
+ if (x instanceof Boolean) return (Boolean)x ? 1 : 0;
+ // Remaining allowed case of void: Must be a null reference.
+ return (Number)x;
+ }
+
+ private static boolean boolValue(long bits) {
+ //bits &= 1; // simple 31-bit zero extension
+ return (bits != 0);
+ }
+
+ private static RuntimeException newIllegalArgumentException(String message, Object x) {
+ return newIllegalArgumentException(message + x);
+ }
+ private static RuntimeException newIllegalArgumentException(String message) {
+ return new IllegalArgumentException(message);
+ }
+}
diff --git a/jdk/src/share/classes/sun/dyn/util/package-info.java b/jdk/src/share/classes/sun/dyn/util/package-info.java
new file mode 100644
index 0000000..257d7df
--- /dev/null
+++ b/jdk/src/share/classes/sun/dyn/util/package-info.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2008-2009 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. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * Extra support for using JSR 292 RI, package java.dyn.
+ * @author jrose
+ */
+
+package sun.dyn.util;
diff --git a/jdk/src/share/classes/sun/font/TrueTypeFont.java b/jdk/src/share/classes/sun/font/TrueTypeFont.java
index 13f0f69..7a87e81 100644
--- a/jdk/src/share/classes/sun/font/TrueTypeFont.java
+++ b/jdk/src/share/classes/sun/font/TrueTypeFont.java
@@ -552,17 +552,6 @@
ByteBuffer os2_Table = getTableBuffer(os_2Tag);
setStyle(os2_Table);
setCJKSupport(os2_Table);
-
- ByteBuffer head_Table = getTableBuffer(headTag);
- int upem = -1;
- if (head_Table != null && head_Table.capacity() >= 18) {
- ShortBuffer sb = head_Table.asShortBuffer();
- upem = sb.get(9) & 0xffff;
- }
- setStrikethroughMetrics(os2_Table, upem);
-
- ByteBuffer post_Table = getTableBuffer(postTag);
- setUnderlineMetrics(post_Table, upem);
}
/* The array index corresponds to a bit offset in the TrueType
@@ -1020,8 +1009,26 @@
}
public void getStyleMetrics(float pointSize, float[] metrics, int offset) {
+
+ if (ulSize == 0f && ulPos == 0f) {
+
+ ByteBuffer head_Table = getTableBuffer(headTag);
+ int upem = -1;
+ if (head_Table != null && head_Table.capacity() >= 18) {
+ ShortBuffer sb = head_Table.asShortBuffer();
+ upem = sb.get(9) & 0xffff;
+ }
+
+ ByteBuffer os2_Table = getTableBuffer(os_2Tag);
+ setStrikethroughMetrics(os2_Table, upem);
+
+ ByteBuffer post_Table = getTableBuffer(postTag);
+ setUnderlineMetrics(post_Table, upem);
+ }
+
metrics[offset] = stPos * pointSize;
metrics[offset+1] = stSize * pointSize;
+
metrics[offset+2] = ulPos * pointSize;
metrics[offset+3] = ulSize * pointSize;
}
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java b/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java
index 62026e4..f0b8069 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java
@@ -63,7 +63,7 @@
* (This value can be adjusted if the cost of JNI downcalls is reduced
* in a future release.)
*/
- private static final int COPY_FROM_ARRAY_THRESHOLD = 28;
+ private static final int COPY_FROM_ARRAY_THRESHOLD = 6;
protected final Unsafe unsafe;
protected final long baseAddress;
@@ -93,20 +93,6 @@
}
/**
- * Copies length bytes from the Java-level srcArray to the native
- * memory located at dstAddr. Note that this method performs no bounds
- * checking. Verification that the copy will not result in memory
- * corruption should be done by the caller prior to invocation.
- *
- * @param srcArray the source array
- * @param srcPos the starting position of the source array (in bytes)
- * @param dstAddr pointer to the destination block of native memory
- * @param length the number of bytes to copy from source to destination
- */
- private static native void copyFromArray(Object srcArray, long srcPos,
- long dstAddr, long length);
-
- /**
* The behavior (and names) of the following methods are nearly
* identical to their counterparts in the various NIO Buffer classes.
*/
@@ -147,9 +133,9 @@
public RenderBuffer put(byte[] x, int offset, int length) {
if (length > COPY_FROM_ARRAY_THRESHOLD) {
- long offsetInBytes = offset * SIZEOF_BYTE;
+ long offsetInBytes = offset * SIZEOF_BYTE + Unsafe.ARRAY_BYTE_BASE_OFFSET;
long lengthInBytes = length * SIZEOF_BYTE;
- copyFromArray(x, offsetInBytes, curAddress, lengthInBytes);
+ unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes);
position(position() + lengthInBytes);
} else {
int end = offset + length;
@@ -178,9 +164,9 @@
public RenderBuffer put(short[] x, int offset, int length) {
// assert (position() % SIZEOF_SHORT == 0);
if (length > COPY_FROM_ARRAY_THRESHOLD) {
- long offsetInBytes = offset * SIZEOF_SHORT;
+ long offsetInBytes = offset * SIZEOF_SHORT + Unsafe.ARRAY_SHORT_BASE_OFFSET;
long lengthInBytes = length * SIZEOF_SHORT;
- copyFromArray(x, offsetInBytes, curAddress, lengthInBytes);
+ unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes);
position(position() + lengthInBytes);
} else {
int end = offset + length;
@@ -215,9 +201,9 @@
public RenderBuffer put(int[] x, int offset, int length) {
// assert (position() % SIZEOF_INT == 0);
if (length > COPY_FROM_ARRAY_THRESHOLD) {
- long offsetInBytes = offset * SIZEOF_INT;
+ long offsetInBytes = offset * SIZEOF_INT + Unsafe.ARRAY_INT_BASE_OFFSET;
long lengthInBytes = length * SIZEOF_INT;
- copyFromArray(x, offsetInBytes, curAddress, lengthInBytes);
+ unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes);
position(position() + lengthInBytes);
} else {
int end = offset + length;
@@ -246,9 +232,9 @@
public RenderBuffer put(float[] x, int offset, int length) {
// assert (position() % SIZEOF_FLOAT == 0);
if (length > COPY_FROM_ARRAY_THRESHOLD) {
- long offsetInBytes = offset * SIZEOF_FLOAT;
+ long offsetInBytes = offset * SIZEOF_FLOAT + Unsafe.ARRAY_FLOAT_BASE_OFFSET;
long lengthInBytes = length * SIZEOF_FLOAT;
- copyFromArray(x, offsetInBytes, curAddress, lengthInBytes);
+ unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes);
position(position() + lengthInBytes);
} else {
int end = offset + length;
@@ -277,9 +263,9 @@
public RenderBuffer put(long[] x, int offset, int length) {
// assert (position() % SIZEOF_LONG == 0);
if (length > COPY_FROM_ARRAY_THRESHOLD) {
- long offsetInBytes = offset * SIZEOF_LONG;
+ long offsetInBytes = offset * SIZEOF_LONG + Unsafe.ARRAY_LONG_BASE_OFFSET;
long lengthInBytes = length * SIZEOF_LONG;
- copyFromArray(x, offsetInBytes, curAddress, lengthInBytes);
+ unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes);
position(position() + lengthInBytes);
} else {
int end = offset + length;
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
index 1c189f7..5a0163a 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
@@ -95,6 +95,11 @@
* <pre>
* java -Dsun.java2d.renderer=<classname>
* </pre>
+ *
+ * If no specific {@code RenderingEngine} is specified on the command
+ * or Ductus renderer is specified, it will attempt loading the
+ * sun.dc.DuctusRenderingEngine class using Class.forName as a fastpath;
+ * if not found, use the ServiceLoader.
* If no specific {@code RenderingEngine} is specified on the command
* line then the last one returned by enumerating all subclasses of
* {@code RenderingEngine} known to the ServiceLoader is used.
@@ -115,9 +120,21 @@
reImpl = (RenderingEngine)
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
+ final String ductusREClass = "sun.dc.DuctusRenderingEngine";
String reClass =
- System.getProperty("sun.java2d.renderer",
- "sun.dc.DuctusRenderingEngine");
+ System.getProperty("sun.java2d.renderer", ductusREClass);
+ if (reClass.equals(ductusREClass)) {
+ try {
+ Class cls = Class.forName(ductusREClass);
+ return cls.newInstance();
+ } catch (ClassNotFoundException x) {
+ // not found
+ } catch (IllegalAccessException x) {
+ // should not reach here
+ } catch (InstantiationException x) {
+ // should not reach here
+ }
+ }
ServiceLoader<RenderingEngine> reLoader =
ServiceLoader.loadInstalled(RenderingEngine.class);
diff --git a/jdk/src/share/classes/sun/java2d/pisces/Stroker.java b/jdk/src/share/classes/sun/java2d/pisces/Stroker.java
index 45e4ac7..7ba8c1c 100644
--- a/jdk/src/share/classes/sun/java2d/pisces/Stroker.java
+++ b/jdk/src/share/classes/sun/java2d/pisces/Stroker.java
@@ -181,7 +181,7 @@
Transform4 transform) {
this.lineWidth = lineWidth;
this.lineWidth2 = lineWidth >> 1;
- this.scaledLineWidth2 = (long)transform.m00*lineWidth2;
+ this.scaledLineWidth2 = ((long)transform.m00*lineWidth2) >> 16;
this.capStyle = capStyle;
this.joinStyle = joinStyle;
this.miterLimit = miterLimit;
@@ -243,8 +243,8 @@
if (ilen == 0) {
dx = dy = 0;
} else {
- dx = (int)( (ly*scaledLineWidth2)/ilen >> 16);
- dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16);
+ dx = (int)( (ly*scaledLineWidth2)/ilen);
+ dy = (int)(-(lx*scaledLineWidth2)/ilen);
}
} else {
double dlx = x1 - x0;
diff --git a/jdk/src/share/classes/sun/misc/JavaLangAccess.java b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
index c288bc8..846a671 100644
--- a/jdk/src/share/classes/sun/misc/JavaLangAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
@@ -55,6 +55,22 @@
/** Set thread's blocker field. */
void blockedOn(Thread t, Interruptible b);
- /** register shutdown hook */
- void registerShutdownHook(int slot, Runnable r);
+ /**
+ * Registers a shutdown hook.
+ *
+ * It is expected that this method with registerShutdownInProgress=true
+ * is only used to register DeleteOnExitHook since the first file
+ * may be added to the delete on exit list by the application shutdown
+ * hooks.
+ *
+ * @params slot the slot in the shutdown hook array, whose element
+ * will be invoked in order during shutdown
+ * @params registerShutdownInProgress true to allow the hook
+ * to be registered even if the shutdown is in progress.
+ * @params hook the hook to be registered
+ *
+ * @throw IllegalStateException if shutdown is in progress and
+ * the slot is not valid to register.
+ */
+ void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook);
}
diff --git a/jdk/src/share/classes/sun/misc/Unsafe.java b/jdk/src/share/classes/sun/misc/Unsafe.java
index 3a3fde8..c81c1eb 100644
--- a/jdk/src/share/classes/sun/misc/Unsafe.java
+++ b/jdk/src/share/classes/sun/misc/Unsafe.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2009 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
@@ -811,6 +811,25 @@
public native Class defineClass(String name, byte[] b, int off, int len);
+ /**
+ * Define a class but do not make it known to the class loader or system dictionary.
+ * <p>
+ * For each CP entry, the corresponding CP patch must either be null or have
+ * the a format that matches its tag:
+ * <ul>
+ * <li>Integer, Long, Float, Double: the corresponding wrapper object type from java.lang
+ * <li>Utf8: a string (must have suitable syntax if used as signature or name)
+ * <li>Class: any java.lang.Class object
+ * <li>String: any object (not just a java.lang.String)
+ * <li>InterfaceMethodRef: (NYI) a method handle to invoke on that call site's arguments
+ * </ul>
+ * @params hostClass context for linkage, access control, protection domain, and class loader
+ * @params data bytes of a class file
+ * @params cpPatches where non-null entries exist, they replace corresponding CP entries in data
+ */
+ public native Class defineAnonymousClass(Class hostClass, byte[] data, Object[] cpPatches);
+
+
/** Allocate an instance but do not run any constructor.
Initializes the class if it has not yet been. */
public native Object allocateInstance(Class cls)
diff --git a/jdk/src/share/javavm/export/classfile_constants.h b/jdk/src/share/javavm/export/classfile_constants.h
index 8906ba5..d225fa4 100644
--- a/jdk/src/share/javavm/export/classfile_constants.h
+++ b/jdk/src/share/javavm/export/classfile_constants.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2004-2009 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
@@ -306,7 +306,7 @@
JVM_OPC_invokespecial = 183,
JVM_OPC_invokestatic = 184,
JVM_OPC_invokeinterface = 185,
- JVM_OPC_xxxunusedxxx = 186,
+ JVM_OPC_invokedynamic = 186,
JVM_OPC_new = 187,
JVM_OPC_newarray = 188,
JVM_OPC_anewarray = 189,
@@ -515,7 +515,7 @@
3, /* invokespecial */ \
3, /* invokestatic */ \
5, /* invokeinterface */ \
- 0, /* xxxunusedxxx */ \
+ 5, /* invokedynamic */ \
3, /* new */ \
2, /* newarray */ \
3, /* anewarray */ \
diff --git a/jdk/src/share/native/common/check_code.c b/jdk/src/share/native/common/check_code.c
index 7e16132..f76c8f8 100644
--- a/jdk/src/share/native/common/check_code.c
+++ b/jdk/src/share/native/common/check_code.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1994-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1994-2009 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
@@ -1223,16 +1223,20 @@
case JVM_OPC_invokevirtual:
case JVM_OPC_invokespecial:
case JVM_OPC_invokestatic:
+ case JVM_OPC_invokedynamic:
case JVM_OPC_invokeinterface: {
/* Make sure the constant pool item is the right type. */
int key = (code[offset + 1] << 8) + code[offset + 2];
const char *methodname;
jclass cb = context->class;
fullinfo_type clazz_info;
- int is_constructor, is_internal;
+ int is_constructor, is_internal, is_invokedynamic;
int kind = (opcode == JVM_OPC_invokeinterface
? 1 << JVM_CONSTANT_InterfaceMethodref
+ : opcode == JVM_OPC_invokedynamic
+ ? 1 << JVM_CONSTANT_NameAndType
: 1 << JVM_CONSTANT_Methodref);
+ is_invokedynamic = opcode == JVM_OPC_invokedynamic;
/* Make sure the constant pool item is the right type. */
verify_constant_pool_type(context, key, kind);
methodname = JVM_GetCPMethodNameUTF(env, cb, key);
@@ -1241,8 +1245,11 @@
is_internal = methodname[0] == '<';
pop_and_free(context);
- clazz_info = cp_index_to_class_fullinfo(context, key,
- JVM_CONSTANT_Methodref);
+ if (is_invokedynamic)
+ clazz_info = context->object_info; // anything will do
+ else
+ clazz_info = cp_index_to_class_fullinfo(context, key,
+ JVM_CONSTANT_Methodref);
this_idata->operand.i = key;
this_idata->operand2.fi = clazz_info;
if (is_constructor) {
@@ -1304,6 +1311,11 @@
"Fourth operand byte of invokeinterface must be zero");
}
pop_and_free(context);
+ } else if (opcode == JVM_OPC_invokedynamic) {
+ if (code[offset + 3] != 0 || code[offset + 4] != 0) {
+ CCerror(context,
+ "Third and fourth operand bytes of invokedynamic must be zero");
+ }
} else if (opcode == JVM_OPC_invokevirtual
|| opcode == JVM_OPC_invokespecial)
set_protected(context, inumber, key, opcode);
@@ -1990,6 +2002,7 @@
case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial:
case JVM_OPC_invokeinit: /* invokespecial call to <init> */
+ case JVM_OPC_invokedynamic:
case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: {
/* The top stuff on the stack depends on the method signature */
int operand = this_idata->operand.i;
@@ -2005,7 +2018,8 @@
print_formatted_methodname(context, operand);
}
#endif
- if (opcode != JVM_OPC_invokestatic)
+ if (opcode != JVM_OPC_invokestatic &&
+ opcode != JVM_OPC_invokedynamic)
/* First, push the object */
*ip++ = (opcode == JVM_OPC_invokeinit ? '@' : 'A');
for (p = signature + 1; *p != JVM_SIGNATURE_ENDFUNC; ) {
@@ -2290,6 +2304,7 @@
case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial:
case JVM_OPC_invokeinit:
+ case JVM_OPC_invokedynamic:
case JVM_OPC_invokeinterface: case JVM_OPC_invokestatic: {
int operand = this_idata->operand.i;
const char *signature =
@@ -2299,7 +2314,8 @@
int item;
const char *p;
check_and_push(context, signature, VM_STRING_UTF);
- if (opcode == JVM_OPC_invokestatic) {
+ if (opcode == JVM_OPC_invokestatic ||
+ opcode == JVM_OPC_invokedynamic) {
item = 0;
} else if (opcode == JVM_OPC_invokeinit) {
fullinfo_type init_type = this_idata->operand2.fi;
@@ -2680,6 +2696,7 @@
case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial:
case JVM_OPC_invokeinit:
+ case JVM_OPC_invokedynamic:
case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: {
/* Look to signature to determine correct result. */
int operand = this_idata->operand.i;
diff --git a/jdk/src/share/native/common/opcodes.in_out b/jdk/src/share/native/common/opcodes.in_out
index 364e8ab..757532c 100644
--- a/jdk/src/share/native/common/opcodes.in_out
+++ b/jdk/src/share/native/common/opcodes.in_out
@@ -1,5 +1,5 @@
/*
- * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2009 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
@@ -210,7 +210,7 @@
{"?", "?"}, /* invokespecial */
{"?", "?"}, /* invokestatic */
{"?", "?"}, /* invokeinterface */
- {"?", "?"}, /* xxxunusedxxx */
+ {"?", "?"}, /* invokedynamic */
{"", "A"}, /* new */
{"I", "A"}, /* newarray */
{"I", "A"}, /* anewarray */
diff --git a/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c b/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c
deleted file mode 100644
index fd6b5ab..0000000
--- a/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2005 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. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-#include "jni.h"
-#include "jni_util.h"
-#include "jlong.h"
-#include <string.h>
-
-#include "sun_java2d_pipe_RenderBuffer.h"
-
-/**
- * Note: The code in this file is nearly identical to that in
- * java/nio/Bits.c...
- */
-
-#define MBYTE 1048576
-
-JNIEXPORT void JNICALL
-Java_sun_java2d_pipe_RenderBuffer_copyFromArray
- (JNIEnv *env, jclass rb,
- jobject srcArray, jlong srcPos, jlong dstAddr, jlong length)
-{
- jbyte *bytes;
- size_t size;
-
- while (length > 0) {
- /*
- * Copy no more than one megabyte at a time, to allow for GC.
- * (Probably not an issue for STR, since our buffer size is likely
- * much smaller than a megabyte, but just in case...)
- */
- size = (size_t)(length > MBYTE ? MBYTE : length);
-
- bytes = (*env)->GetPrimitiveArrayCritical(env, srcArray, NULL);
- if (bytes == NULL) {
- JNU_ThrowInternalError(env, "Unable to get array");
- return;
- }
-
- memcpy(jlong_to_ptr(dstAddr), bytes + srcPos, size);
-
- (*env)->ReleasePrimitiveArrayCritical(env, srcArray,
- bytes, JNI_ABORT);
-
- length -= size;
- dstAddr += size;
- srcPos += size;
- }
-}
diff --git a/jdk/src/solaris/doc/sun/man/man1/appletviewer.1 b/jdk/src/solaris/doc/sun/man/man1/appletviewer.1
index 04dec83..f6d27cf 100644
--- a/jdk/src/solaris/doc/sun/man/man1/appletviewer.1
+++ b/jdk/src/solaris/doc/sun/man/man1/appletviewer.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH appletviewer 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
appletviewer \- The Java Applet Viewer
.LP
+.RS 3
.LP
.LP
The \f3appletviewer\fP command allows you to run applets outside of a web browser.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -57,15 +58,18 @@
.LP
.LP
+.RS 3
.TP 3
\-debug
-Starts the applet viewer in the Java debugger, \f3jdb\fP, thus allowing you to debug the applets in the document.
+Starts the applet viewer in the Java debugger, jdb(1), thus allowing you to debug the applets in the document.
.TP 3
\-encoding \ \ encoding name
Specify the input HTML file encoding name.
.TP 3
\-Jjavaoption
Passes through the string \f2javaoption\fP as a single argument to the Java interpreter which runs the appletviewer. The argument should not contain spaces. Multiple argument words must all begin with the prefix \f3\-J\fP, which is stripped. This is useful for adjusting the compiler's execution environment or memory usage.
+.RE
+
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/apt.1 b/jdk/src/solaris/doc/sun/man/man1/apt.1
index b25e8a3..f7a2e64 100644
--- a/jdk/src/solaris/doc/sun/man/man1/apt.1
+++ b/jdk/src/solaris/doc/sun/man/man1/apt.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,9 +18,9 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH apt 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.SH "NAME"
@@ -39,12 +38,15 @@
.LP
Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.
.LP
+.RS 3
.TP 3
sourcefiles
Zero or more source files to be processed.
.TP 3
@files
One or more files that list source files or other options
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -58,19 +60,19 @@
.fi
http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
.LP
+.RS 3
.TP 3
Note:
-\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac\fP tool [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool.
+\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac(1)\fP tool and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool.
+.RE
+
.LP
.SH "OPTIONS"
.LP
.SS
apt specific options
.LP
+.RS 3
.TP 3
\-s dir
Specify the directory root under which processor\-generated source files will be placed; files are placed in subdirectories based on package namespace.
@@ -89,17 +91,21 @@
.TP 3
\-factory classname
Name of annotation processor factory to use; bypasses default discovery process
+.RE
+
.LP
.SS
Options shared with javac
.LP
+.RS 3
.TP 3
\-d dir
Specify where to place processor and javac generated class files
.TP 3
-\-cp path or \-classpath
-path
+\-cp path or \-classpath path
Specify where to find user class files and annotation processor factories. If \f2\-factorypath\fP is given, the classpath is not searched for factories.
+.RE
+
.LP
.LP
Consult the javac(1) man page for information on \f2javac\fP options.
@@ -113,24 +119,11 @@
.LP
.RS 3
.TP 2
-*
-javac: [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows]
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] [Windows]
+o
+javac(1), java(1)
.RE
.LP
+
+.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/extcheck.1 b/jdk/src/solaris/doc/sun/man/man1/extcheck.1
index 718b716..335c1c6 100644
--- a/jdk/src/solaris/doc/sun/man/man1/extcheck.1
+++ b/jdk/src/solaris/doc/sun/man/man1/extcheck.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH extcheck 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
extcheck \- A utility to detect jar conflicts
.LP
+.RS 3
.LP
.LP
\f3extcheck\fP detects version conflicts between a target jar file and currently installed extension jar files.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -65,19 +66,22 @@
.LP
.LP
+.RS 3
.TP 3
\-verbose
Lists Jar files in the extension directory as they are checked. Additionally, manifest attributes of the target jar file and any conflicting jar files are also reported.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-jar
+jar(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/idlj.1 b/jdk/src/solaris/doc/sun/man/man1/idlj.1
index 6e19b3f..95bafd2 100644
--- a/jdk/src/solaris/doc/sun/man/man1/idlj.1
+++ b/jdk/src/solaris/doc/sun/man/man1/idlj.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2001-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH idlj 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
idlj \- The IDL\-to\-Java Compiler
.LP
.RS 3
@@ -52,7 +51,11 @@
.LP
.LP
-The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the OMG IDL to Java Language Language Mapping Specification. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP.
+The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the
+.na
+\f2OMG IDL to Java Language Language Mapping Specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP.
.SS
Emitting Client and Server Bindings
.LP
@@ -76,10 +79,18 @@
The default server\-side model is the \f2Portable Servant Inheritance Model\fP. Given an interface \f2My\fP defined in \f2My.idl\fP, the file \f2MyPOA.java\fP is generated. You must provide the implementation for \f2My\fP and it must inherit from \f2MyPOA\fP.
.LP
.LP
-\f2MyPOA.java\fP is a stream\-based skeleton that extends \f2org.omg.PortableServer.Servant\fP and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
+\f2MyPOA.java\fP is a stream\-based skeleton that extends
+.na
+\f2org.omg.PortableServer.Servant\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
.LP
.LP
-The \f2PortableServer\fP module for the Portable Object Adapter (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
+The \f2PortableServer\fP module for the
+.na
+\f2Portable Object Adapter (POA)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
.LP
.LP
Another option for the Inheritance Model is to use the \f2\-oldImplBase\fP flag in order to generate server\-side bindings that are compatible with versions of the Java programming language prior to J2SE 1.4. Note that using the \f2\-oldImplBase\fP flag is non\-standard: these APIs are being deprecated. You would use this flag ONLY for compatibility with existing servers written in J2SE 1.3. In that case, you would need to modify an existing MAKEFILE to add the \f2\-oldImplBase\fP flag to the \f2idlj\fP compiler, otherwise POA\-based server\-side mappings will be generated. To generate server\-side bindings that are backwards compatible:
@@ -201,7 +212,11 @@
.LP
Since this form of include can become irritatingly long, another means of indicating to the compiler where to search for included files is provided. This technique is similar to the idea of an environment variable. Create a file named \f2idl.config\fP in a directory that is listed in your CLASSPATH. Inside of \f2idl.config\fP, provide a line with the following form: \f2includes=/includes;/moreIncludes\fP
.LP
-The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, read the CLASSPATH\ (Solaris) or CLASSPATH\ (Windows) documentation.
+The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, see the
+.na
+\f2Setting the Classpath\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general.
.RE
.SS
Emitting Bindings for Include Files
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1
index adf7a99..8bfdad5 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,54 +18,58 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH appletviewer 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-appletviewer \- Java ¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢
+.SH "名前"
+appletviewer \- Java アプレットビューア
.LP
+.RS 3
.LP
.LP
-\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï Web ¥Ö¥é¥¦¥¶¤Î³°¤Ç¥¢¥×¥ì¥Ã¥È¤ò¼Â¹Ô¤µ¤»¤Þ¤¹¡£
+\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。
.LP
-.SH "·Á¼°"
+.RE
+.SH "形式"
.LP
.LP
.LP
\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
.LP
-.SH "µ¡Ç½ÀâÌÀ"
+.SH "説明"
.LP
.LP
.LP
-\f3appletviewer\fP ¥³¥Þ¥ó¥É¤Ï \f2urls\fP ¤Ë»ØÄꤵ¤ì¤¿¥É¥¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï¥ê¥½¡¼¥¹¤ÈÀܳ¤·¤Æ¡¢¤½¤Î¥É¥¥å¥á¥ó¥È¤¬»²¾È¤¹¤ë¤½¤ì¤¾¤ì¤Î¥¢¥×¥ì¥Ã¥È¤òÆȼ«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤·¤Þ¤¹¡£Ãí:\f2urls\fP ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤¬¡¢\f2OBJECT\fP¡¢\f2EMBED\fP¡¢¤Þ¤¿¤Ï \f2APPLET\fP ¥¿¥°¤Ç¤É¤Î¥¢¥×¥ì¥Ã¥È¤â»²¾È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3appletviewer\fP ¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£\f3appletviewer\fP ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë HTML ¥¿¥°¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html
-¤Î
+\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、
.na
-¡Ö\f2AppletViewer Tags\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「アプレットビューアのタグ」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。
.LP
.LP
-\f3Ãí:\fP \f3appletviewer\fP ¤Ï¡¢RFC2396 ¤Çµ¬Äꤵ¤ì¤¿¥¨¥¹¥±¡¼¥×µ¡¹½¤Ë½¾¤Ã¤ÆÉä¹æ²½¤µ¤ì¤¿ URL ¤òɬÍפȤ·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï¡¢Éä¹æ²½¤µ¤ì¤¿ URL ¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢RFC2396 ¤Ë»ØÄꤵ¤ì¤¿ÊýË¡¤ÇÉä¹æ²½¤ò²ò½ü¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
+.RS 3
.TP 3
\-debug
-Java ¥Ç¥Ð¥Ã¥¬ \f3jdb\fP ¤Ç¥¢¥×¥ì¥Ã¥È¥Ó¥å¡¼¥¢¤ò³«»Ï¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢¥É¥¥å¥á¥ó¥ÈÃæ¤Î¥¢¥×¥ì¥Ã¥È¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+Java デバッガ jdb(1) でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。
.TP 3
\-encoding \ \ encoding name
-ÆþÎÏ HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
+入力 HTML ファイルのエンコーディング名を指定します。
.TP 3
\-Jjavaoption
-ʸ»úÎó \f2javaoption\fP ¤Ï¡¢appletviewer ¤ò¼Â¹Ô¤¹¤ë Java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë 1 ¤Ä¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£°ú¿ô¤Ë¶õÇòʸ»ú¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Ê£¿ô¤Î°ú¿ô¤Ï¡¢³Æ°ú¿ô¤Î¤¹¤Ù¤Æ¤òÀÜƬ¼ \f3\-J\fP ¤Ç»Ï¤á¤ë¤³¤È¤Ë¤è¤ê¶èʬ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼Â¹Ô´Ä¶¡¢¤Þ¤¿¤Ï¥á¥â¥ê¤ÎÍøÍѤË͸ú¤Ç¤¹¡£
+文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。
+.RE
+
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/apt.1 b/jdk/src/solaris/doc/sun/man/man1/ja/apt.1
index ef11ec4..9bd29f4 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/apt.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/apt.1
@@ -1,176 +1,126 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH apt 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-apt \- Ãí¼á½èÍý¥Ä¡¼¥ë
-.\"
-.SH "·Á¼°"
-.B apt
-.BI [\-classpath " classpath"]
-.BI [\-sourcepath " sourcepath"]
-.BI [\-d " directory"]
-.BI [\-s " directory"]
-.BI [\-factorypath " path"]
-.BI [\-factory " class"]
-.B [\-print]
-.B [\-nocompile]
-.B [\-Akey[=val] ...]
-.BI [javac option]
-.BI sourcefiles
-.BI [@files]
-.SH "¥Ñ¥é¥á¡¼¥¿"
-¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ÈÍѤǤ¤Þ¤¹¡£ÆÃÄê¤Î¥ª¥×¥·¥ç¥ó¤ËŬÍѤµ¤ì¤ë
-¥Ñ¥é¥á¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I sourcefiles
-½èÍý¤µ¤ì¤ë 0 ¸Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I @files
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤ò¥ê¥¹¥È¤¹¤ë 1 ¸Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£
-.SH "µ¡Ç½ÀâÌÀ"
-Ãí¼á½èÍý¥Ä¡¼¥ë
-.B apt
-¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÃí¼á¤ò½èÍý¤¹¤ë¤¿¤á¤Î°ìÏ¢¤Î
-¿·¤·¤¤¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤È¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.B apt
-¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¹½Â¤¤Î¥Ó¥å¡¼¤¬¡¢
-¥Ó¥ë¥É»þ¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤ÎÆɤ߼è¤êÀìÍѤȤ·¤ÆÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤Ï¡¢Áí¾Î·¿¤ÎÄɲøå¤Ë¡¢
-Java(TM) ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î·¿¥·¥¹¥Æ¥à¤ò
-¤ï¤«¤ê¤ä¤¹¤¯¥â¥Ç¥ë²½¤Ç¤¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤·¤¿¡£
-¤Ï¤¸¤á¤Ë¡¢
-.B apt
-¤ÏÃí¼á¥×¥í¥»¥Ã¥µ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Ç¤Ï¡¢
-¿·µ¬¤Î¥½¡¼¥¹¥³¡¼¥É¤ª¤è¤Ó¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤·¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢
-³«È¯¤òÍưפˤ·¤Þ¤¹¡£¥Ä¡¼¥ë¤ÈÂÐÏ乤뤿¤á¤Î¥ê¥Õ¥ì¥¯¥·¥ç¥ó API ¤È
-¤½¤Î¾¤Î API ¤Ï¡¢
-.B com.sun.mirror
-¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B apt
-¤Ë¤è¤ë¥Ä¡¼¥ë¤ÎÁàºîÊýË¡¤È³«È¯¼ê½ç¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢
-http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
-¤Î¡ÖGetting Started with apt¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.SH "NAME"
.LP
+.LP
+\f2apt\fP \- 注釈処理ツール
+.LP
+.SH "形式"
+.LP
+.LP
+\f2apt [\-classpath \fP\f2classpath\fP] [\-sourcepath \f2sourcepath\fP] [\-d \f2directory\fP] [\-s \f2directory\fP] [\-factorypath \f2path\fP] [\-factory \f2class\fP] [\-print] [\-nocompile] [\-A\f2key\fP[\f2=val\fP] ...][\f2javac option\fP] sourcefiles [@files]
+.LP
+.SH "パラメータ"
+.LP
+.LP
+オプションは順不同です。特定のオプションに適用されるパラメータについては、下記の「オプション」を参照してください。
+.LP
+.RS 3
.TP 3
-Ãí:
-\f2apt\fP\f2 ¤Îµ¡Ç½\fP¤Ïɸ½à¤ÎÃí¼á½èÍý¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤ËÁȤ߹þ¤Þ¤ì¤Þ¤·¤¿¡£¤³¤Îɸ½à¤Î¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤Ï¡¢º£¤Ç¤Ï \f2javac\fP ¥Ä¡¼¥ë [
+sourcefiles
+ゼロ、1 つ、または複数の処理対象のソースファイル
+.TP 3
+@files
+ソースファイルまたは他のオプションを一覧表示する 1 つまたは複数のファイル
+.RE
+
+.LP
+.SH "説明"
+.LP
+.LP
+注釈処理ツール \f2apt\fP は、新しいリフレクト API とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\f2apt\fP は、新しいソースコードと他のファイルを作成する注釈プロセッサを実行します。次に、\f2apt\fP は、元のソースファイルと生成したソースファイルの両方をコンパイルするため、開発が楽になります。ツールとのインタフェースに使用されるリフレクト API などの API は、\f2com.sun.mirror\fP のサブパッケージです。
+.LP
+.LP
+ツールの機能に関する詳細と、\f2apt\fP を使用した開発方法については、
.na
-\f2Solaris ¤È Linux\fP ¤Î¾ì¹ç:
+\f4「\fP\f4apt\fP\f3 入門」\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [
-.na
-\f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] ¤Î°ìÉô¤È¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î Java ¥³¥ó¥Ñ¥¤¥é¤Ç»ÈÍѤǤ¤ë¤è¤¦¤Ëɸ½à²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¿·¤·¤¤¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î°ìÉô¤È¤Ê¤Ã¤¿¸À¸ì¥â¥Ç¥ë¤ÈÃí¼á½èÍý API ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤Ãí¼á¥×¥í¥»¥Ã¥µ¤Î³«È¯¤Ï¡¢¤³¤Î¿·¤·¤¤ API ¤È \f2javac\fP ¥Ä¡¼¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤¦¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlを参照してください。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.SS apt ¸ÇͤΥª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-s " dir"
-¥×¥í¥»¥Ã¥µ¤¬À¸À®¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ÇÛÃÖ¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë½¾¤Ã¤Æ¡¢
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-nocompile
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-print
-»ØÄꤷ¤¿·¿¤Î¥Æ¥¥¹¥Èɽ¸½¤ò½ÐÎϤ·¤Þ¤¹¡£
-Ãí¼á½èÍý¤ä¥³¥ó¥Ñ¥¤¥ë¤Ï¼Â¹Ô¤·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-A[key[=val]]
-Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£
-.B apt
-¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤òľÀܲò¼á¤·¤Þ¤»¤ó¤¬¡¢¸ÄÊÌ¤Î¥×¥í¥»¥Ã¥µ
-¤Ë¤è¤Ã¤Æ»ÈÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-factorypath " path"
-Ãí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Õ¥¡¥¯¥È¥ê¤Î¸¡º÷¤Ë
-¥¯¥é¥¹¥Ñ¥¹¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-factory " classname"
-»ÈÍѤ¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤Î̾Á°¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¸¡½Ð½èÍý¤Ï¥Ð¥¤¥Ñ¥¹¤µ¤ì¤Þ¤¹¡£
-.SS javac ¤È¶¦Í¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-d " dir"
-¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó
-.B javac
-¤¬À¸À®¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-cp " path " \fL¤Þ¤¿¤Ï\fP \fL\-classpath " path"
-¥æ¡¼¥¶¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤ÓÃí¼á¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò
-»ØÄꤷ¤Þ¤¹¡£
-.B \-factorypath
-¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Õ¥¡¥¯¥È¥ê¤Î¸¡º÷¤Ë¥¯¥é¥¹¥Ñ¥¹¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
+.RS 3
+.TP 3
+注:
+\f2apt\fP の機能は、\f2javac(1)\fP ツールの一部となった注釈処理インフラストラクチャーに組み込まれ、すべての Java コンパイラで使用できるように標準化されました。この新しいインフラストラクチャーは、言語モデルおよび Java プラットフォームの一部となった注釈処理 API に依存します。注釈プロセッサの開発は、新しい API および \f2javac\fP ツールに基づいて行うようお勧めします。
+.RE
+
.LP
-javac ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR javac(1)
-¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH Ãí°Õ»ö¹à
+.SH "オプション"
.LP
-\f2apt\fP ¤Îµ¡Ç½¤Ï¡¢\f2javac\fP ¤¬Ä󶡤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿É¸½à¤ÎÃí¼á½èÍý¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤ËÁȤ߹þ¤Þ¤ì¤Þ¤·¤¿¡£\f2apt\fP ¤È¤½¤Î´ØÏ¢ API ¤Î¥µ¥Ý¡¼¥È¤Ï¡¢JDK ¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤ÇÂǤÁÀÚ¤é¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+.SS
+apt 固有のオプション
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.RS 3
+.TP 3
+\-s dir
+プロセッサの生成するソースファイルを置くディレクトリルートを指定します。 ファイルは、パッケージの名前空間に基づいてサブディレクトリに置かれます。
+.TP 3
+\-nocompile
+ソースファイルをクラスファイルにコンパイルしません。
+.TP 3
+\-print
+指定したタイプのテキスト表現を出力します。 注釈処理またはコンパイルは行いません。
+.TP 3
+\-A[key[=val]]
+注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。
+.TP 3
+\-factorypath path
+注釈プロセッサファクトリを検索する場所を指定します。 このオプションを使用する場合、クラスパスのファクトリは検索されません。
+.TP 3
+\-factory classname
+使用する注釈プロセッサファクトリの名前です。 デフォルトの検出プロセスを省略します。
+.RE
+
+.LP
+.SS
+javac と共用するオプション
+.LP
+.RS 3
+.TP 3
+\-d dir
+プロセッサと javac 生成のクラスファイルを置く場所を指定します。
+.TP 3
+\-cp path or \-classpath path
+ユーザークラスファイルと注釈プロセッサファクトリを検索する場所を指定します。\f2\-factorypath\fP が指定されている場合、クラスパスのファクトリは検索されません。
+.RE
+
+.LP
+.LP
+\f2javac\fP オプションの詳細については、javac(1) のマニュアルページを参照してください。
+.LP
+.SH "注"
+.LP
+.LP
+\f2apt\fP の機能は、\f2javac\fP により提供される標準注釈処理インフラストラクチャーに組み込まれました。今後の JDK リリースでは、\f2apt\fP および関連する API のサポートが中止する可能性があります。
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-javac: [
-.na
-\f2Solaris ¤È Linux\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html]
-[ \f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html]
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html]
-[ \f2Windows\fP ¤Î¾ì¹ç:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html]
+o
+javac(1), java(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1
index 1b9aa62..e123393 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1
@@ -1,107 +1,88 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-'\"macro stdmacro
-.TH extcheck 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-extcheck \- jar ¤Î¶¥¹ç¸¡½Ð¥æ¡¼¥Æ¥£¥ê¥Æ¥£
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+extcheck \- jar の競合検出ユーティリティー
+.LP
+.RS 3
+
+.LP
+.LP
+\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+extcheck [ \-verbose ] targetfile.jar
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
.LP
.LP
.LP
-\f3extcheck\fP ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¤Î jar ¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î jar ¥Õ¥¡¥¤¥ë´Ö¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¶¥¹ç¤ò¸¡½Ð¤·¤Þ¤¹¡£
+\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。
.LP
-.SH "·Á¼°"
-.B extcheck
-[
-.B \-verbose
-]
-.B targetfile.jar
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "jar conflict detection utility" "" "jar conflict detection utility \(em \fLextcheck\fP"
-.IX "extcheck" "" "\fLextcheck\fP \(em jar conflict detection utility"
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢»ØÄꤵ¤ì¤¿
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥¿¥¤¥È¥ë¤ª¤è¤Ó¥Ð¡¼¥¸¥ç¥ó¤¬ Java(TM) SDK
-¥½¥Õ¥È¥¦¥§¥¢¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤È¶¥¹ç¤·¤Æ¤¤¤Ê¤¤¤«¤ò
-¸¡ºº¤·¤Þ¤¹¡£
-³ÈÄ¥µ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤Ã¤Æ¡¢
-¥Ð¡¼¥¸¥ç¥ó¤¬Æ±¤¸¤«¡¢
-¤è¤ê¿·¤·¤¤³ÈÄ¥µ¡Ç½¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë
-¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
.LP
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-.I targetfile.jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î¥Ø¥Ã¥À
-.I Specification-title
-¤ª¤è¤Ó
-.I Specification-version
-¤ò¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î jar
-¥Õ¥¡¥¤¥ëÆâ¤ÎÂбþ¤¹¤ë¥Ø¥Ã¥À¤ÈÈæ³Ó¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I jre/lib/ext
-¤Ç¤¹¡£
-.B extcheck
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-.I java.lang.Package.isCompatibleWith
-¥á¥½¥Ã¥É¤ÈƱÍͤÎÊýË¡¤Ç¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÈæ³Ó¤·¤Þ¤¹¡£
+\f3extcheck\fP ユーティリティーは、\f2targetfile.jar\fP ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされているすべての Jar ファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。
.LP
-¶¥¹ç¤¬¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¥ê¥¿¡¼¥ó¥³¡¼¥É¤Ï
-.I 0 ¤Ç¤¹¡£
.LP
-³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢Æ±°ì¤Î
-.I Specification-title¡¢
-¤ª¤è¤ÓƱ°ì¤Þ¤¿¤Ï¤è¤ê¿·¤·¤¤
-.I Specification-version
-Èֹ椬¤¢¤ë¾ì¹ç¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼
-¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.I targetfile.jar
-¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë
-.I Specification-title
-¤Þ¤¿¤Ï
-.I Specification-version
-°À¤¬¤Ê¤¤¾ì¹ç¤â¡¢¥¼¥í¤Ç¤Ê¤¤¥¨¥é¡¼¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤¤Þ¤¹¡£
-.TP 15
-.B -verbose
-³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤ò¡¢¸¡ºº»þ¤Ë°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È
-.B jar
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î°À¡¢¤ª¤è¤Ó¶¥¹ç¤¹¤ë
-.B jar
-¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤âÊó¹ð¤·¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à java(1) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-.BR jar (1)
+競合が検出されない場合のリターンコードは \f20\fP です。
+.LP
+.LP
+拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。\f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。
+.LP
+.SH "オプション"
+.LP
+
+.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 バイトに設定されます。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+jar(1)
+.LP
+
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1
index 7ec6ba4..6487087 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1
@@ -1,200 +1,112 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH idlj 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-idlj - IDL-to-Java ¥³¥ó¥Ñ¥¤¥é
-.LP
-.B idlj
-¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤«¤é Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
-.SH "·Á¼°"
-.B idlj
-[
-.IB options
-]
-.B idl-file
-.LP
-.BR idl-file
-¤Ë¤Ï¡¢Interface Definition Language (IDL) ÄêµÁ¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë
-¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.BR Options
-¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢
-.BR idl-file
-¤è¤ê¤âÁ°¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SH "µ¡Ç½ÀâÌÀ"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢¡Ö\f2OMG IDL to Java Language Language Mapping Specification\fP¡×
-.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Îµì¥ê¥ê¡¼¥¹¤Î¤Ê¤«¤Ë¤Ï¡¢
-.BR idltojava ¤È¤¤¤¦Ì¾Á°¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
-.SH "¥¯¥é¥¤¥¢¥ó¥È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¥µ¡¼¥Ð¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô"
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.BR My.idl
-¤È¤¤¤¦Ì¾Á°¤Î IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®
-¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+.SH "名前"
+idlj \- IDL\-to\-Java コンパイラ
.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
+.RS 3
+
+.LP
+\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。
.RE
+.SH "形式"
.LP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾åµ¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë¤â»ØÄê¤Ç¤¤Þ¤¹¡£
+
.LP
-.RS
-.ft 3
.nf
-idlj -fclient My.idl
+\f3
+.fl
+idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥µ¡¼¥Ð¦¤Î¥¹¥±¥ë¥È¥ó¤Ï
-¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ¥µ¡¼¥Ð¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°
-¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-idlj -fserver My.idl
-.fi
-.ft 1
-.RE
+\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。
.LP
-¥µ¡¼¥Ð¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Û¤«
-¤Ë¥¹¥±¥ë¥È¥ó¤¬¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢POA (·Ñ¾µ¥â¥Ç¥ë)
-¥¯¥é¥¹¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë
-¤Ë¤Ï¡¢°Ê²¼¤ÎÅù²Á¥³¥Þ¥ó¥É¤Î¤É¤Á¤é¤«°ìÊý¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+.SH "説明"
.LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver My.idl
-.br
-idlj -fall My.idl
-.fi
-.ft 1
-.RE
+
.LP
-¥µ¡¼¥Ð¦¥â¥Ç¥ë¤È¤·¤Æ¤Ï¡¢·Ñ¾µ¥â¥Ç¥ë¤È Tie °Ñ¾ù¥â¥Ç¥ë¤Î 2 ¼ïÎà¤ò
-ÍøÍѤǤ¤Þ¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¦¥â¥Ç¥ë¤Ï¡¢¥Ý¡¼¥¿¥Ö¥ë¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¤Ç¤¹¡£
-.BR My.idl
-¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥Õ¥¡¥¤¥ë
-.BR MyPOA.java ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR My ¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ï¡¢
-.BR MyPOA ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.LP
-.BR MyPOA.java ¤Ï¡¢
+IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。 バインディングの詳細は、
.na
-\f2org.omg.PortableServer.Servant\fP
+\f2OMG IDL to Java Language Mapping Specification\fP @
.fi
-(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html)
-¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¤¢¤ê¡¢¤³¤Î¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ë
-IDL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢¤·¤¿
-.BR InvokeHandler
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。
+.SS
+クライアントバインディングおよびサーバーバインディングの発行
+.LP
+.RS 3
+
+.LP
+My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。 \f2idlj My.idl\fP
+.LP
+これにより、クライアント側のバインディングが生成されます。 このコマンドは、次のコマンドと等価です。 \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP
+.LP
+サーバー側のバインディングには、クライアント側のバインディングに加えて、スケルトンが組み込まれてています。 これらは、すべて \f2POA\fP (継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP
+.br
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
+.LP
+.LP
+サーバー側のモデルとしては、2 つのモデルが可能です。それは、継承モデルと、Tie 委譲モデルです。
+.LP
+.LP
+デフォルトのサーバー側のモデルは、「移殖可能サーバント継承モデル」です。\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2MyPOA.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyPOA\fP から継承する必要があります。
+.LP
+.LP
+\f2MyPOA.java\fP は
+.na
+\f2org.omg.PortableServer.Servant\fP @
+.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
+\f2Portable Object Adapter (POA)\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) ¤Î
-.BR PortableServer
-¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö Servant ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢
-.BR Servant
-·¿¤Ï¡¢Java
-.BR org.omg.PortableServer.Servant
-¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î
-.BR POA
-¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬¸Æ¤Ó½Ð¤»¤ë
-¿¿ô¤Î¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£¤Þ¤¿¡¢POA ¼«ÂΤ¬¸Æ¤Ó½Ð¤·¤¿¤ê¡¢¥µ¡¼¥Ð¥ó¥ÈÆ°ºî¤ò
-À©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¤¬¾å½ñ¤¤·¤¿¤ê¤Ç¤¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£
+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
-·Ñ¾µ¥â¥Ç¥ë¤Ë¤Ï¡¢J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
-¤È¸ß´¹À¤Î¤¢¤ë¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë
-.BR -oldImplBase
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£
-\f2\-oldImplBase\fP ¥Õ¥é¥°¤Î»ÈÍѤÏÈóɸ½à¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤Î API ¤Ï¤Þ¤â¤Ê¤¯Èó¿ä¾©¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢J2SE 1.3 ¤Çµ½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¤È¤Î¸ß´¹À¤ò³ÎÊݤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤À¤±¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¾ì¹ç¡¢´û¸¤Î MAKEFILE ¤òÊѹ¹¤·¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò \f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢POA ¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-²¼°Ì¸ß´¹¤ò°Ý»ý¤·¤¿¥µ¡¼¥Ð¦
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver -oldImplBase My.idl
+継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用して、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は推奨されていません。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性を保つ場合だけです。その場合、既存の MAKEFILE を変更して \f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。 フラグを追加しない場合、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。
+.LP
+\f2idlj \fP\f4\-fclient \-fserver\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
.br
-idlj -fall -oldImplBase My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fall\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
.LP
-.BR My.idl
-Æâ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥Õ¥¡¥¤¥ë
-.I _MyImpleBase.java
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR My
-¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¼Â¾Ú¤Ï¡¢
-.I _MyImplBase
- ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2_MyImplBase.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyImplBase\fP から継承しなければなりません。
.LP
-¤â¤¦°ìÊý¤Î¥µ¡¼¥Ð¦¥â¥Ç¥ë¤Ï¡¢Tie ¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie ¥â¥Ç¥ë¤Ï Tie ¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤Ë¤ÏÀ¸À®
-¤Ç¤¤Ê¤¤¤¿¤á¡¢¤³¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³
-¥Þ¥ó¥É¤Ï¡¢Tie ¥â¥Ç¥ë¤ËÂФ·¤Æ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
+もう 1 つのサーバー側モデルは、Tie モデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tie とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。
.LP
-.RS
-.ft 3
-.nf
-idlj -fall My.idl
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
.br
-idlj -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢2 ¤Ä¤á¤Î¥³¥Þ¥ó¥É¤Ï
-.BR MyPOATie.java
- ¤òÀ¸À®¤·¤Þ¤¹¡£
-.BR MyPOATie
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢delegate ¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î POA ¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï \f2poa\fP ¤âɬÍפȤ·¤Þ¤¹¡£
-¥æ¡¼¥¶¤Ï¡¢delegate
-¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR MyOperations
-¤ò·Ñ¾µ¤¹¤ì¤Ð¤è¤¯¡¢¤Û¤«¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
-.BR MyPOATie
-Æâ¤Ë¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
+\f2My\fP というインタフェースの場合、上記の 2 番目のコマンドにより、\f2MyPOATie.java\fP が生成されます。\f2MyPOATie\fP のコンストラクタは、\f2delegate\fP を取ります。この例では、デフォルトの POA モデルを使用しているため、コンストラクタにも \f2poa\fP が必要です。\f2delegate\fP に対して実装を提供しなければなりませんが、この実装は \f2MyOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2MyPOATie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
.nf
\f3
.fl
@@ -202,7 +114,7 @@
.fl
.fl
- // rootpoa ¤Ø¤Î»²¾È¤ò¼èÆÀ¤·¡¢POAManager ¤ò͸ú¤Ë¤·¤Þ¤¹
+ // Get reference to rootpoa & activate the POAManager
.fl
POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
.fl
@@ -210,7 +122,7 @@
.fl
.fl
- // ¥µ¡¼¥Ð¥ó¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò ORB ¤ËÅÐÏ¿¤·¤Þ¤¹
+ // create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
@@ -218,13 +130,13 @@
.fl
.fl
- // Tie ¤òºîÀ®¤·¤Þ¤¹¡£¥µ¡¼¥Ð¥ó¥È¤¬ delegate ¤Ë¤Ê¤ê¤Þ¤¹¡£
+ // create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
.fl
.fl
- // Tie ¤Î objectRef ¤ò¼èÆÀ¤·¤Þ¤¹
+ // obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
@@ -232,45 +144,16 @@
.fi
.LP
-¼ÂÁõ¤ò¤Û¤«¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë
-¤ÎÂå¤ï¤ê¤Ë Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Java ¤ÏǤ°Õ¤Î¿ô¤Î
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹·Ñ¾µ¤òǧ¤á¤Æ¤¤¤Þ¤¹¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ¤ë
-¥¹¥í¥Ã¥È¤Ï 1 ¤Ä¤À¤±¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥¹¥í¥Ã¥È¤¬Àê
-ͤµ¤ì¤Þ¤¹¡£Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢¥¹¥í¥Ã¥È¤ò¥æ¡¼¥¶¼«¿È¤Î»ÈÍѤÎ
-¤¿¤á¤Ë²òÊü¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢°ìÄê¥ì¥Ù¥ë¤Î´ÖÀÜ»²¾È¤ò°ú¤µ¯¤³¤¹¤È
-¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ
-¤Ó½Ð¤·¤¬ 1 ¤ÄȯÀ¸¤·¤Þ¤¹¡£
+他の実装から継承しなければならない場合、標準の継承モデルではなく Tie モデルを使用することがあります。Java の場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは 1 つだけです。継承モデルを使用した場合は、そのスロットが占有されます。Tie モデルを使用した場合は、そのスロットが使用されず、ユーザーが独自の目的で使用することができます。ただし、間接参照のレベルが 1 つ導入されるという欠点があります。つまり、メソッドを呼び出すときに余分なメソッド呼び出しが発生します。
.LP
-1.4 ¤è¤ê¤âÁ°¤Î J2SE ¥Ð¡¼¥¸¥ç¥ó¤Ç IDL-to-Java ¸À¸ì
-¥Þ¥Ã¥Ô¥ó¥°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À¤¬¤¢¤ë¥µ¡¼¥Ð¦¤Î Tie ¥â¥Ç¥ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®
-¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+IDL のバージョンから J2SE 1.4 より前のバージョンの Java 言語へのマッピングと互換性のある、サーバー側の Tie モデルのバインディングを生成するには、次のコマンドを使用します。
.LP
-.RS
-.ft 3
-.nf
-idlj -oldImplBase -fall My.idl
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fall\fP\f2 My.idl\fP
.br
-idlj -oldImplBase -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fallTIE\fP\f2 My.idl\fP
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï
-.I My_Tie.java
-¤òÀ¸À®¤·¤Þ¤¹¡£
-.I My_Tie
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢
-.BR impl
-¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢
-.BR impl
-¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR HelloOperations
-¤ò·Ñ¾µ¤¹¤ì¤Ð¤è¤¯¡¢¤Û¤«¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
-.BR My_Tie
- Æâ¤Ë¼ÂÁõ¤ò¥é¥Ã¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
+.LP
+\f2My\fP というインタフェースの場合、これにより \f2My_Tie.java\fP が生成されます。\f2My_Tie\fP のコンストラクタは、\f2impl\fP を取ります。\f2impl\fP に対して実装を提供しなければなりませんが、その実装は \f2HelloOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2My_Tie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
.LP
.nf
\f3
@@ -279,7 +162,7 @@
.fl
.fl
- // ¥µ¡¼¥Ð¥ó¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò ORB ¤ËÅÐÏ¿¤·¤Þ¤¹
+ // create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
@@ -287,13 +170,13 @@
.fl
.fl
- // Tie ¤òºîÀ®¤·¤Þ¤¹¡£¥µ¡¼¥Ð¥ó¥È¤¬ delegate ¤Ë¤Ê¤ê¤Þ¤¹¡£
+ // create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate);
.fl
.fl
- // Tie ¤Î objectRef ¤ò¼èÆÀ¤·¤Þ¤¹
+ // obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
@@ -301,451 +184,235 @@
.fi
.LP
-.SH "ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂؾì½ê¤Î»ØÄê"
-.br
-ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -td /altdir My.idl
-.fi
-.ft 1
.RE
+.SS
+発行されたファイルの代替位置の指定
.LP
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.BR My
-¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï
-.BR ./My.java
- ¤Ç¤Ï¤Ê¤¯
-.BR /altdir/My.java
-¤Ê¤É¤ËÂФ·¤Æȯ¹Ô¤µ¤ì¤Þ¤¹¡£
-.SH "¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÂåÂؾì½ê¤Î»ØÄê"
-.BR My.idl
-¤Ë¤Û¤«¤Î idl ¥Õ¥¡¥¤¥ë¡¢
-.BR MyOther.idl
-¤¬¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï
-.BR MyOther.idl
-¤¬¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.BR MyOther.idl
-¤¬
-.BR /includes
-¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes My.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR ¤¿¤È¤¨¤Ð¡¢My.idl ¤¬
-.BR /moreIncludes
-¤Ë¸ºß¤¹¤ë
-.BR Another.idl
-¤â¼è¤ê¹þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes -i /moreIncludes My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î·Á¼°¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¤È¡¢¥³¥Þ¥ó¥É¤¬Èó¾ï¤ËŤ¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤ËÃΤ餻¤ëÊýË¡¤¬
-Ê̤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶ÊÑ¿ô¤Î³µÇ°¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤Þ¤º¡¢
-CLASSPATH ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¡¢
-.BR idl.config
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢
-.BR idl.config
-Æâ¤Ë¼¡¤Î·Á¼°¤Î¹Ô¤ò 1 ¤ÄºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-includes=/includes;/moreIncludes
-.fi
-.ft 1
-.RE
-.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¡¢¥¤¥ó¥¯¥ë¡¼¥É¥ê¥¹¥È¤ËÆɤ߹þ¤ß¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¤¢¤ë¤³¤È
-¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤ò»ÈÍѤ·¡¢UNIX ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¡¢¤Ê¤É¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥¤¥ó¥¯¥ë¡¼¥É¤Î¾Ü
-ºÙ¤Ï¡¢
-.na
-\f2CLASSPATH\ ¤Î¥É¥¥å¥á¥ó¥È (Solaris:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html)
-(Windows:
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô idl ¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¹½Â¤ÂΤʤɤËÂФ·¤Æ¤Î¤ß¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É
-¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥×¤Î Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£
-Îã¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î idl ¥Õ¥¡¥¤¥ë¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl>
-.br
-interface My
-.br
-{
-.br
-};
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther
-.br
-{
-.br
-};
-.RE
-.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.BR My
-¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤·¤«À¸À®¤·¤Þ¤»¤ó¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR My.idl
-Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¡¢¤ª¤è¤Ó
-.BR My.idl
-¤Ë¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï
-.BR MyOther.idl
-) Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -emitAll My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¬Â§¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤ÎÅÀ¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ë½Ð¸½¤¹¤ë
-.BR #include
-ʸ¤Ï¡¢µ½Ò¤É¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î
-.BR #include
-ʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£°ìÉô¤Î°Ï¤ß¥¹¥³¡¼¥×Æâ¤Ë
-½Ð¸½¤¹¤ë #include ʸ¤Ï¡¢Ä̾ï¤Î
-.BR #include
-ʸ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÆâ¤Î¥³¡¼¥É¤Ï
-¥ª¥ê¥¸¥Ê¥ë¥Õ¥¡¥¤¥ëÆâ¤Ë½Ð¸½¤·¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë°·¤ï¤ì¡¢¤³¤ì¤Ë
-ÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£Îã¤ò¼¨¤·¤Þ¤¹¡£
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl>
-.br
-interface My
-.br
-{
-.br
- #include <Embedded.idl>
-.br
-};
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther
-.br
-{
-.br
-};
-.RE
-.TP
-.B Embedded.idl
-.LP
-.RS
-enum E {one, two, three};
-.RE
-.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-°Ê²¼¤Î Java ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.LP
-.B ./MyHolder.java\fP
-.br
-.B ./MyHelper.java\fP
-.br
-.B ./_MyStub.java\fP
-.br
-.B ./MyPackage\fP
-.br
-.B ./MyPackage/EHolder.java\fP
-.br
-.B ./MyPackage/EHelper.java\fP
-.br
-.B ./MyPackage/E.java\fP
-.br
-.B ./My.java\fP
-.LP
-.BR MyOther.java
-¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤ËÎà»÷¤·¤¿
-.BR #include
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤·¤«¤·¡¢Ä̾ï¤Î
-.BR #include
-¤ËÄêµÁ¤µ¤ì¤¿
-.BR E.java
-¤ÏÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.BR Embedded.idl
-¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ My ¤Î¥¹¥³¡¼¥×Æâ¤Ë¼è¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
-.BR My
-¤Î¥¹¥³¡¼¥×Æâ (¤Ä¤Þ¤ê
-.BR MyPackage
-) ¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.LP
-¾åµ¤ÎÎã¤Ç
-.BI -emitAll
-¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÆâ¤Ë
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£
-.SH "¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¤ÎÁÞÆþ"
-¤¢¤Ê¤¿¤¬¼¡¤Î IDL ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤¿ ABC ¤È¤¤¤¦Ì¾¤Î´ë¶È¤Ë¶Ð̳¤·¤Æ¤¤¤ë¤È
-²¾Äꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B Widgets. idl
-module Widgets
-.br
-{
-.br
- interface W1 {...};
-.br
- interface W2 {...};
-.br
-};
-.LP
-¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ñ¥Ã¥±¡¼¥¸
-Widgets Æâ¤Î W1 ¤È W2 ¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤·¤«¤·¡¢¶È³¦µ¬Ìó¤Ç¤Ï¡¢´ë¶È¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï
-.BR com.<company name>
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÇÛÃÖ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Èµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢¤³¤Î
-.BR Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤Î¤Þ¤Þ¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¹¡£µ¬Äê¤Ë½¾¤¦¤Ë¤Ï¡¢
-.BR com.abc.Widgets
-¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.BR Widgets
-¥â¥¸¥å¡¼¥ë¤Ë¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¤òÇÛÃÖ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò
-¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -pkgPrefix Widgets com.abc Widgets.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR Widgets.idl
-¤ò¼è¤ê¹þ¤ó¤Ç¤¤¤ë IDL ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥ÉÆâ¤Ë¤â
-.BI \-pkgPrefix
-¥Õ¥é¥°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢IDL ¥Õ¥¡¥¤¥ë¤Ï
-.BR com.abc.Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯
-.BR Widgets
-¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤¹¡£
-.LP
-ÀÜƬ¼¤òɬÍפȤ¹¤ë¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬Â¿¿ô¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤·¤¿
-.BR idl.config
-¥Õ¥¡¥¤¥ë¤ËÇÛÃÖ¤¹¤ëÊý¤¬´Êñ¤Ç¤·¤ç¤¦¡£³Æ¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼¹Ô¤Ï¡¢¼¡¤Î½ñ¼°¤Çµ½Ò¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.<type>=<prefix>
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î½ñ¼°¤Ë½¾¤¦¤È¡¢¾åµÎã¤Î¹Ô¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.Widgets=com.abc
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¥ê¥Ý¥¸¥È¥ê ID ¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£
-.SH "¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ"
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤ò¼è¤ê¹þ¤à¾ì¹ç¤Ê¤É¤Ë IDL ¥Õ¥¡¥¤¥ëÆâ
-¤Ë¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤Ï¡¢¤½¤ì¤é¤Î¥·¥ó¥Ü¥ë
-¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É
-.LP
-.RS
-.ft 3
-.nf
-idlj -d MYDEF My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤Ï¡¢My.idl Æâ¤Ë
-.BR #define
-.BR MYDEF
-¤È¤¤¤¦¹Ô¤ò´Þ¤á¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-.SH "´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý"
-Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢
-.BI \-keep
-¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤¤òËɻߤǤ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-´û¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º (¥«¥¹¥¿¥Þ¥¤¥º¤Ï¤½¤ÎÆâÍƤ¬¤è¤Û¤ÉŬÀڤǤʤ¤¸Â¤ê¿ä¾©
-¤µ¤ì¤Þ¤»¤ó) ¤·¤Æ¤¢¤ë¾ì¹ç¤Ï¡¢
-.BI \-keep
-¥ª¥×¥·¥ç¥ó¤¬Èó¾ï¤ËÌòΩ¤Á¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É
-.LP
-.RS
-.ft 3
-.nf
-idlj -keep My.idl
-.fi
-.ft 1
-.RE
-.LP
-¤Ï¡¢¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òȯ¹Ô¤·¤Þ¤¹¡£
-.SH "¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¤Îɽ¼¨"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤½¤Î¼Â¹ÔÃʳ¬¤Ç¥¹¥Æ¡¼¥¿¥¹¥á¥Ã¥»¡¼¥¸¤ò
-À¸À®¤·¤Þ¤¹¡£¤³¤ÎÀ¸À®¤ò¾ÜºÙ (verbose) ¥â¡¼¥É¤Ë¤¹¤ë¤Ë¤Ï¡¢
-.BR -v
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -v My.idl
-.fi
-.ft 1
-.RE
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾ÜºÙ¥â¡¼¥É¤ÇÆ°ºî¤·¤Þ¤»¤ó¡£
-.SH "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨"
-IDL-to-Java ¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.BI \-version
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.RS
-.ft 3
-.nf
-idlj -version
-.fi
-.ft 1
-.RE
-.LP
-¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-d " symbol"
-¤³¤ì¤Ï¡¢IDL ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¹Ô¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-#define symbol
-.fi
-.ft 1
-.RE
-.TP
-.BI \-emitAll
-.BR #include
-¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¡¢¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤òȯ¹Ô¤·¤Þ¤¹¡£
-.TP
-.BI \-fside
-ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£
-.BI side
-¤Ë¤Ï¡¢
-.BR client
-¡¢
-.BR server
-¡¢
-.BR serverTIE
-¡¢
-.BR all
-¡¢
-.BR allTIE
-¤Î¤¦¤Á¤¤¤º¤ì¤« 1 ¤Ä¤ò»ØÄꤷ¤Þ¤¹¡£
-.BR -fserverTIE
-¤È
-.BR -fallTIE
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£
-¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢
-.BR -fclient
-¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-i " include-path"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬
-¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤Û¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò
-ÄɲäǤ¤Þ¤¹¡£
-.TP
-.BI \-keep
-À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤·¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢´û¸¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-noWarn
-·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.TP
-.BI \-oldImplBase
-1.4 ¤è¤êÁ°¤Î JDK ORB ¤È¸ß´¹À¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA ·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.BR ImplBase
-·Ñ¾µ¥â¥Ç¥ë¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-µì¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À¤òÄ󶡤·¤Þ¤¹¡£
-.TP
-.BI \-pkgPrefix " type prefix"
-¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ç
-.BI type
-¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¤½¤Î¥¿¥¤¥×¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢
-À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë
-.BI prefix
-¤È¤¤¤¦ÀÜƬ¼¤òÉÕ¤±¤Þ¤¹¡£
-.BI type
-¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿
-IDL ¥¿¥¤¥×¤Îñ½ã̾¤Ç¤¹¡£
-.TP
-.BI \-pkgTranslate " type package"
-ÆÃÄê¤Î¼±ÊÌ»ÒÆâ¤Ç¥â¥¸¥å¡¼¥ë̾ \f2type\fP ¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤¿ Java ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢¤½¤Î¼±ÊÌ»ÒÆâ¤Î¥â¥¸¥å¡¼¥ë̾¤ò \f2package\fP ¤ÇÃÖ¤´¹¤¨¤Þ¤¹¡£
-.BR pkgPrefix
-Êѹ¹¤¬½é¤á¤Ë¹Ô¤ï¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.BI type
-¤Ï¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿ IDL ¥¿¥¤¥×¤Î
-ñ½ã̾¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Í¡¼¥à¤ÈÀµ³Î¤Ë°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.RS 3
.LP
-ÆÃÄê¤Î¼±Ê̻Ҥ˰ìÃפ¹¤ëÊÑ´¹¤¬ 2 ¤Ä°Ê¾å¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤â¤Ã¤È¤âŤ¤°ìÃפ¬ÁªÂò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢°ú¿ô¤ò¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£
+発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。
+.RS 3
+
+.LP
+\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP
+.RE
+\f2My\fP インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。
+.RE
+.SS
+インクルードファイルの代替位置の指定
+.LP
+.RS 3
+
+.LP
+\f2My.idl\fP にもう 1 つの IDL ファイル \f2MyOther.idl\fP がインクルードされている場合、コンパイラは、ローカルディレクトリに \f2MyOther.idl\fP があるものと想定します。もしそのファイルが、たとえば \f2/includes\fP にある場合は、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes\fP\f2 My.idl\fP
+.LP
+また、もし \f2My.idl\fP に、たとえば \f2/moreIncludes\fP にある \f2Another.idl\fP もインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes \-i /moreIncludes\fP\f2 My.idl\fP
+.LP
+このような形式でインクルードを指定すると、コマンドが長くて複雑になります。 そこで、インクルードファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。CLASSPATH にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。 \f2includes=/includes;/moreIncludes\fP
+.LP
+コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、Windows プラットフォームではセミコロンですが、Unix プラットフォームではコロンです。 \f2インクルード\fPの詳細については、
+.na
+\f2CLASSPATH の設定\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general を参照してください。
+.RE
+.SS
+インクルードファイルに対するバインディングの発行
+.LP
+.RS 3
+
+.LP
+デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。 \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2};\fP
+.br
+\f4MyOther.idl\fP
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\fP\
+.LP
+次のコマンドでは、\f2My\fP に対する Java バインディングだけが生成されます。 \f2idlj My.idl\fP
+.LP
+\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP
+.LP
+このデフォルトの規則に関して注意しなければならないことがあります。グローバルスコープに指定した \f2#include\fP 文は、前述のとおりに処理されます。これらの \f2#include\fP 文は、インポート文と見なすことができます。それに対して、他の定義に囲まれたスコープ内に指定した \f2#include\fP 文は、本当の意味での \f2#include\fP 文として処理されます。 つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま指定されているかのように処理され、それに対して Java バインディングが発行されます。次に例を示します。 \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2\ #include <Embedded.idl>\fP
+.br
+\f2};\ \fP \f4MyOther.idl\fP
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\ \fP \f4Embedded.idl\fP
+.LP
+\f2enum E {one, two, three};\fP\
+.LP
+このとき、次のコマンドを実行すると、 \f2idlj My.idl\fP
+.LP
+次のような一連の Java ファイルが生成されます。 \f2./MyHolder.java\fP
+.br
+\f2./MyHelper.java\fP
+.br
+\f2./_MyStub.java\fP
+.br
+\f2./MyPackage\fP
+.br
+\f2./MyPackage/EHolder.java\fP
+.br
+\f2./MyPackage/EHelper.java\fP
+.br
+\f2./MyPackage/E.java\fP
+.br
+\f2./My.java\fP
+.LP
+インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。
+.LP
+上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。
+.LP
+.RE
+.SS
+パッケージの接頭辞の挿入
+.LP
+.RS 3
+
+.LP
+ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。
+.br
+\f4Widgets.idl\fP
+.LP
+\f2module Widgets\fP
+.br
+\f2{\fP
+.br
+\f2\ interface W1 {...};\fP
+.br
+\f2\ interface W2 {...};\fP
+.br
+\f2};\fP\
+.LP
+このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。 \f2idlj \fP\f4\-pkgPrefix Widgets com.abc\fP\f2 Widgets.idl\fP
+.LP
+\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。
+.LP
+接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。
+.LP
+\f2PkgPrefix.<type>=<prefix>\fP
+.LP
+したがって、上記の例の場合は、次のように記述します。 \f2PkgPrefix.Widgets=com.abc\fP
+.LP
+.LP
+このオプションを使用しても、リポジトリ ID は影響を受けません。
+.LP
+.RE
+.SS
+コンパイル前のシンボルの定義
+.LP
+.RS 3
+
+.LP
+コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。 これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP
+.LP
+\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。
+.RE
+.SS
+既存のバインディングの保持
+.LP
+.RS 3
+
+.LP
+Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\f2\-keep\fP オプションは有用です。次のコマンドは、 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングで、まだ存在しないものをすべて発行します。
+.RE
+.SS
+コンパイルの進捗状況の表示
+.LP
+.RS 3
+
+.LP
+IDL\-to\-Java コンパイラは、実行の各段階で状態メッセージを生成します。「冗長」モード (メッセージが多いモード) にするには、\f2\-v\fP オプションを使用します。 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP
+.LP
+デフォルトでは、コンパイラは冗長モードでは実行されません。
+.RE
+.SS
+バージョン情報の表示
+.LP
+.RS 3
+
+.LP
+.LP
+IDL\-to\-Java コンパイラのビルドバージョンを表示するには、コマンド行で \f2\-version\fP オプションを指定します。
+.LP
+.LP
+\f2idlj \-version\fP
+.LP
+.LP
+バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-d symbol
+このオプションは、IDL ファイルに次のような行を追加した場合と等価です。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+#define \fP\f4symbol\fP\f3
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-emitAll
+\f2#include\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
+識別子の中にモジュール名 \f2type\fP が検出されると、生成される Java パッケージ内のすべてのファイルについて、識別子の中のその名前が \f2package\fP で置き換えられます。最初に \f2pkgPrefix\fP を変更します。\f2type\fP は、トップレベルのモジュール、またはすべてのモジュールの外部で定義された IDL 型の単純名です。 そして、完全なパッケージ名に正確に一致しなければなりません。
+.LP
+1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、
.nf
\f3
.fl
@@ -754,7 +421,7 @@
\fP
.fi
.LP
-¤³¤Î¤È¤¡¢¼¡¤ÎÊÑ´¹¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
+次のような変換が実施されます。
.nf
\f3
.fl
@@ -769,102 +436,74 @@
\fP
.fi
.LP
-¼¡¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÏÊÑ´¹¤Ç¤¤Þ¤»¤ó¡£
+次のパッケージ名を変換することはできません。
.RS 3
.TP 2
-*
+o
\f2org\fP
.TP 2
-*
-\f2org.omg\fP ¤Þ¤¿¤Ï \f2org.omg\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸
+o
+\f2org.omg\fP、または \f2org.omg\fP のサブパッケージ
.RE
.LP
-¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÊÑ´¹¤ò»î¤ß¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥ëÉÔ²Äǽ¤Ê¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò
-.BR \-pkgTranslate
-¤Î¸å¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+これらのパッケージ名を変換しようとすると、互換性のないコードが生成されます。 そして、\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))
.RE
-.TP
-.BI \-skeletonName " xxx%yyy"
-.BI xxx%yyy
-¤ò¥¹¥±¥ë¥È¥ó¤Î̾Á°ÉÕ¤±¤Î¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
+.TP 3
+\-td dir
+出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。
+.TP 3
+\-tieName xxx%yyy
+このパターンに従って Tie に名前が付けられます。デフォルトは、次のとおりです。
+.RS 3
.TP 2
-\(bu POA ´ðÄ쥯¥é¥¹
-(
-.BR \-fserver
-¤Þ¤¿¤Ï
-.BR \-fall
-) ¤Î¾ì¹ç¡¢%POA
+o
+\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP)
.TP 2
-\(bu
-.BR \-oldImplBase
-¥¯¥é¥¹ (
-.BR \-oldImplBase
-¤ª¤è¤Ó¡¢
-.BR \-fserver
-¤Þ¤¿¤Ï
-.BR \-fall
-) ¤Î¾ì¹ç¡¢_%ImplBase
+o
+\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP))
.RE
-.TP
-.BI \-td " dir"
-½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯
-.BI dir
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.BI \-tieName " xxx%yyy"
-¥Ñ¥¿¡¼¥ó¤Ë±þ¤¸¤Æ Tie ¤Ë̾Á°¤òÉÕ¤±¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu POA Tie ´ðÄ쥯¥é¥¹ (
-.BR \-fserverTie
-¤Þ¤¿¤Ï
-.BR \-fallTie
-) ¤Î¾ì¹ç¡¢%POATie
-.TP 2
-\(bu
-.BR oldImplBase Tie
-¥¯¥é¥¹ (
-.BR \-oldImplBase
-¤ª¤è¤Ó¡¢
-.BR \-fserverTie
-¤Þ¤¿¤Ï
-.BR \-fallTie
-¤Î¤¤¤º¤ì¤«) ¤Î¾ì¹ç¡¢%_Tie
+.TP 3
+\-verbose
+冗長モードになります。
+.TP 3
+\-version
+バージョン情報を表示して終了します。
.RE
-.TP
-.BI \-nowarn, \-verbose
-¾ÜºÙ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£
-.TP
-.BI \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+
.LP
-¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ï¡¢¡Öµ¡Ç½ÀâÌÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "À©¸Â»ö¹à"
-.LP
-.TP 2
-\(bu ¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Æâ¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢
-IDL ¥×¥ê¥ß¥Æ¥£¥Ö·¿ (
-.BR Object
-¤Þ¤¿¤Ï
-.BR ValueBase
-) ¤ÈƱ¤¸¥¹¥Ú¥ë¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬¤³¤ì¤é¤Î
-¼±Ê̻Ҥò»ÈÍѤ·¤Æ¤¹¤Ç¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£¤³¤ì¤é¤òÄêµÁ¤·Ä¾¤¹¤È¡¢
-¤½¤ì¤é¤ÎËÜÍè¤ÎÄêµÁ¤ò¾å½ñ¤¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹ (¤³¤ÎÀ©¸Â¤Ï±Ê³Ū¤Ë
-ŬÍѤµ¤ì¤ë¸«¹þ¤ß)¡£
-.TP 2
-\(bu IDL ¤Î fixed ·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-.SH "´ûÃΤÎÌäÂê"
+各オプションの詳細については、「説明」のセクションを参照してください。
+.SH "制約"
.LP
.LP
.RS 3
.TP 2
-*
-¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤΥ¤¥ó¥Ý¡¼¥È¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥í¡¼¥«¥ë¼ÂÁõ¤ò¸Æ¤Ó½Ð¤¹¤ÈÎã³°¤¬È¯À¸¤·¤Þ¤¹¤¬¡¢¤½¤Î¸¶°ø¤Ï¤ª¤½¤é¤¯ \f2ServerDelegate\fP DSI ¥³¡¼¥ÉÆâ¤Î \f2NullPointerException\fP ¤Ç¤¹¡£
+o
+グローバルスコープ内のエスケープされた識別子は、IDL プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。
+.TP 2
+o
+\f2fixed\fP という IDL 型はサポートされていません。
+.RE
+
+.LP
+.SH "既知の問題点"
+.LP
+
+.LP
+.RS 3
+.TP 2
+o
+グローバル識別子についてインポートが生成されません。予期されないローカル impl を呼び出すと、例外を受け取ります。 しかし、その原因は、\f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP にあるようです。
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1
index c219dcc..a9ac46f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1
@@ -1,232 +1,141 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jar 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jar \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jar 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î Java Archive (JAR) ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
+.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
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.RS 3
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤ÎºîÀ®
+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 ¥Õ¥¡¥¤¥ë¤Î¹¹¿·
+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 ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð
+JAR ファイルの抽出
\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤΰìÍ÷¤òºîÀ®
+JAR ファイルの内容の表形式による一覧表示
\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
-jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲÃ
+JAR ファイルへのインデックスの追加
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
+.RE
+
.LP
.LP
-¥Ñ¥é¥á¡¼¥¿
+説明
.LP
.RS 3
.LP
+.RS 3
.TP 3
cuxtiv0Mmfe
-.I jar
-¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó¡£
+\f2jar\fP コマンドを制御するオプション
.TP 3
- jarfile
-ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¤Þ¤¿¤Ï±ÜÍ÷¤µ¤ì¤ëÆâÍƤΰìÍ÷¤òºîÀ® (t) ¤¹¤ë
-jar ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-.I \-f
-¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾
-.I jarfile
-¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-.I f
-¤ª¤è¤Ó
-.I jarfile
-¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
-»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤˤ³¤Î¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
-Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
+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
-.I jar ¥Õ¥¡¥¤¥ë
-¤Ë·ë¹ç (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï
-.I jar ¥Õ¥¡¥¤¥ë
-¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë
-¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¶õÇòʸ»ú¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó 0 (¥¼¥í) ¤¬»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬°µ½Ì¤µ¤ì¤Þ¤¹¡£
+\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f2O\fP (ゼロ) を使用しないかぎり圧縮されます。
.TP 3
- manifest
-jar ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF ¤Ë´Þ¤á¤è¤¦¤È¤¹¤ë̾Á°:ÃÍ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
-´û¸¤Î manifest ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-.I \-m
-¥ª¥×¥·¥ç¥ó¤È
-.I manifest
-¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-ʸ»ú
-.B m
-¡¢
-.B f
-¡¢¤ª¤è¤Ó
-.B e
-¤Î½Ð¸½½ç½ø¤Ï¡¢
-.I manifest
-¡¢
-.I jarfile
-¡¢¤ª¤è¤Ó
-.I entrypoint
-¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+manifest
+\f2name\fP\f2:\fP\f2value\fP のペアが、JAR ファイルの MANIFEST.MF に含まれている既存のマニフェストファイル。\f2\-m\fP オプションとファイル名 \f2manifest\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
.TP 3
-
entrypoint
-¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£
-.I \-e
-¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ê¸»ú
-.I m
-¡¢
-.I f
-¡¢
-.I e
-¤Î½Ð¸½½ç½ø¤Ï
-.I manifest
-¡¢
-.I jarfile
-¡¢
-.I entrypoint
-¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。 どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
.TP 3
\-C\ dir
-¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤Î½èÍýÃæ¡¢
-¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.I dir
-¤Ë°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£
-Ê£¿ô¤Î
-.I \-C " dir"
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ò»ÈÍѤǤ¤Þ¤¹¡£
+これに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP のセットは複数使用できます。
.TP 3
\-Joption
-Java Runtime Environment ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó
-(
-.I \-J
-¤È
-.I option
-¤Î´Ö¤Ë¤Ï¶õÇòʸ»ú¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤)¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP"
-.IX "jar" "" "\fLjar\fP \(em Java archive tool"
-.B jar
-¥Ä¡¼¥ë¤Ï
-Java
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
-1
-¤Ä¤Ç¡¢Ê£¿ô¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò
-1
-¸Ä¤Î
-JAR
-¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-jar ¤ÏÈÆÍÑŪ¤Ê¥¢¡¼¥«¥¤¥ÖºîÀ®ÍÑ
-¤ª¤è¤Ó°µ½ÌÍѤΥġ¼¥ë¤Ç¤â¤¢¤ê¡¢°µ½Ì¤Ï
-.SM ZIP
-¤Þ¤¿¤Ï
-.I ZLIB
-.fi
- (http://www.gzip.org/zlib/)
-·Á¼°¤Ç¹Ô¤¤¤Þ¤¹¡£
-¤¿¤À¤·
-.B jar
-¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î
-Java
-¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-1
-¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£
-¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢¤¿¤È¤¨¤Ð
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¤Ê¤É¤òñ°ì¤Î¥¢¡¼¥«¥¤¥Ö¤Ë
-¤Þ¤È¤á¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Î¤è¤¦¤Ê
-Java
-¥¨¡¼¥¸¥§¥ó¥È¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤È¤¤Ë¡¢°ìÅÙ¤Î
-HTTP
-¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ÇºÑ¤ß¤Þ¤¹¡£¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë
-¿·¤¿¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ë¤è¤ê¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿
-.B jar
-¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É¤¬¤è¤ê¹â®¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤µ¤é¤Ë¡¢¥Õ¥¡¥¤¥ëÃæ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤ËÂФ·¤Æ¥¢¥×¥ì¥Ã¥È¤ÎºîÀ®¼Ô¤¬
-½ð̾¤Ç¤¤ë¤Î¤Ç¡¢ºîÀ®¸µ¤òÌÀ³Î²½¤Ç¤¤Þ¤¹¡£
-.B jar
-¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢
-.I tar
-¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ°ì¤Ç¤¹¡£
-.B jar
-¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-¥¯¥é¥¹¥Ñ¥¹
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html)
-¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò jar ¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤¹¤ëɸ½àŪ¤Ê»È¤¤Êý¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% jar cf myFile.jar *.class
-.fi
-.ft 1
+Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。
.RE
+
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬
-.I myFile.jar
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢
-.I META\-INF/MANIFEST.MF
-¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò
-.I name : value
-¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
-¤Î
+.RE
+.SH "説明"
+.LP
+
+.LP
+\f3jar\fP ツールは、複数のファイルを 1 つの JAR アーカイブファイルに結合します。 \f3jar\fP は、ZIP および
.na
-¡ÖJAR file specification¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2ZLIB\fP @
+.fi
+http://www.gzip.org/zlib/ 圧縮形式をベースにした、汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\f3jar\fP はファイルを圧縮するので、ダウンロード時間も短くなります。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。
.LP
-´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿
-.I name : value
-¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
+複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar cf myFile.jar *.class
+.fl
+\fP
+.fi
+.RE
+
+.LP
+この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、\f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「
+.na
+\f2JAR file specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。
+.LP
+既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
.LP
.RS 3
@@ -241,295 +150,206 @@
.RE
.LP
-´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\ ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ¸å¤Î¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£
+既存のマニフェストファイルは改行文字で終わっている必要があります。 マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。
.br
.LP
.br
.LP
-\f3Ãí:\ \fP ¥³¥Þ¥ó¥É¹Ô¤Ë
-.I cmf
-¤Ç¤Ï¤Ê¤¯
-.I cfm
-¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º jar ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。
+.RS 3
+
.LP
-.RS 5
-.B % jar cfm myFile.jar myManifestFile *.class
+.nf
+\f3
+.fl
+% jar cfm myFile.jar myManifestFile *.class
+.fl
+\fP
+.fi
.RE
+
.LP
-manifest ¤Ï RFC822
-.SM ASCII
-·Á¼°¤Ë´ð¤Å¤¤¤¿¥Æ¥¥¹¥È·Á¼°¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢manifest ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤÏ
-´Êñ¤Ëɽ¼¨¤ª¤è¤Ó½èÍý¤Ç¤¤Þ¤¹¡£
+マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。
.LP
-jar ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
-.I x
-¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+JAR ファイルからファイルを抽出する場合は、\f2x\fP を使用します。
.LP
-.RS 5
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar xf myFile.jar
+.fl
+\fP
+.fi
.RE
+
.LP
-jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS 5
+jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar xf myFile.jar foo bar
-.RE
-.LP
-JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 ¤«¤é¡¢jar ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç
+.fl
+\fP
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
-¤Î¡Ö
-.I JarIndex
-¡×¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤³¤ì¤Ë¤è¤ê¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ï¡¢jar ¥Õ¥¡¥¤¥ë¤«¤é
-¥¯¥é¥¹¤ò¤è¤ê¹â®¤ËÆɤ߹þ¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î jar ¥Õ¥¡¥¤¥ë¤Ë
-¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢É¬Í×¤Ê jar ¥Õ¥¡¥¤¥ë¤À¤±¤¬¥À¥¦¥ó
-¥í¡¼¥É¤µ¤ì¤Æ³«¤«¤ì¡¢¥¯¥é¥¹¤¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢
-.I jar
-¤ò
-.I \-i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤¹¤ë¤È͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-»ØÄꤷ¤¿
-¥á¥¤¥ó¤Î jar ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë
-¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢¥á¥¤¥ó jar ¥Õ¥¡¥¤¥ë¤Î manifest ¤Î
-.I Class-Path
-°À¤Ç
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.RE
+
.LP
-.RS 5
+.LP
+Java 2 SDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで
+.na
+\f2JarIndex\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルとそのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。 メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar i main.jar
+.fl
+\fP
+.fi
.RE
+
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬
-.I main.jar
-¤Î
-.I META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿¾ðÊó¤ò
-»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¤Î¥í¡¼¥É¤ò¹â®²½¤·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢
-¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.LP
+この例では、\f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリに挿入されます。
.br
.br
-¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º
-.I dir1
-Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æɸ½à½ÐÎϤ˽ÐÎϤ·¡¢Â³¤¤¤Æɸ½àÆþÎϤ«¤é
-.I dir2
-¤ËÃê½Ð¤·¤Þ¤¹ (ξÊý¤Î
-.I jar
-¥³¥Þ¥ó¥É¤«¤é
-.I \-f
-¥ª¥×¥·¥ç¥ó¤ò¾Ê¤¯)¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。
+.br
+.br
+ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して標準出力に出力し、続いて標準入力から \f2dir2\fP に抽出します (両方の \f2jar\fP コマンドから \f2\-f\fP オプションを省く)。 次に例を示します。
.LP
-.RS 5
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% (cd dir1; jar c .) | (cd dir2; jar x)
-.RE
-.LP
-.I jar
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Õ¥¡¥¤¥ë¥Þ¥Ë¥Õ¥§¥¹¥È¤òÁàºî¤¹¤ë¥³¥Þ¥ó¥É¥µ¥ó¥×¥ë¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
+.fl
+\fP
.fi
-http://java.sun.com/docs/books/tutorial/jar
-¤Î
+.RE
+
+.LP
+.LP
+\f2jar\fP を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、「
.na
-¡ÖJava Tutorial¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.if t .TP 10
-.if n .TP 5
-.B c
-¿·µ¬¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò
-.I jarfile
-¤È¤¤¤¦Ì¾Á° (
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½à½ÐÎϾå¤Ë (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ºîÀ®¤·¤Þ¤¹¡£
-¥¢¡¼¥«¥¤¥Ö¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B u
-´û¸¤Î
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç) ¤ò¹¹¿·¤·¤Þ¤¹¡£
-¤³¤Î¤È¤¡¢¤³¤Î
-.I jarfile
-¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar uf foo.jar foo.class
-.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë
-.I foo.class
-¤¬´û¸¤Î jar ¥Õ¥¡¥¤¥ë
-.I foo.jar
-¤ËÄɲ䵤ì¤Þ¤¹¡£
-.I u
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¤Î¥¨¥ó¥È¥ê¤ò¹¹¿·¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar umf manifest foo.jar
-.RE
-.LP
-.I foo.jar
-¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î̾Á°:ÃÍ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B x
-¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢
-¤Þ¤¿¤Ïɸ½àÆþÎÏ (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÃê½Ð¤·¤Þ¤¹¡£
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
-Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£
-Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B t
-.I jarfile
-(
-.I f
-¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½àÆþÎÏ (
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÆâÍƤò¥ê¥¹¥È¤·¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
-¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
-¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B i
-»ØÄꤵ¤ì¤¿
-.I jarfile
-¤ª¤è¤Ó´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë jar ¥Õ¥¡¥¤¥ë¤Î
-¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar i foo.jar
-.RE
-.LP
-.I foo.jar
-¤Ë
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-.I foo.jar
-¤Î³Æ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó
-.I foo.jar
-¤Î
-.I Class-Path
-°À¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î
-°ÌÃÖ¾ðÊ󤬽ñ¤¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 10
-.if n .TP 5
-.B f
-ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ºîÀ®(i)¡¢
-¤Þ¤¿¤Ïɽ¼¨ (t) ¤¹¤ë
-.I jarfile
-¤ò»ØÄꤷ¤Þ¤¹¡£
-.I \-f
-¥ª¥×¥·¥ç¥ó¤È
-.I jarfile
-¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-.I f
-¤È
-.I jarfile
-¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é jar ¥Õ¥¡¥¤¥ë̾¤¬
-»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎÏ¤Ë jar ¥Õ¥¡¥¤¥ë¤¬
-Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
-.if t .TP 10
-.if n .TP 5
-.B v
-ɸ½à½ÐÎϤ˾ܺ٤ʽÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B 0
-¥¼¥í¡£ZIP °µ½Ì¤ò»ÈÍѤ»¤º¤Ë³ÊǼ¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B M
-manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï
-¤¹¤Ç¤Ë¸ºß¤¹¤ë manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£
-.if t .TP 10
-.if n .TP 5
-.B m
-»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë
-.I manifest
-¤«¤é
-̾Á°:ÃÍ°À¤ò¥Õ¥¡¥¤¥ë
-.I META-INF/MANIFEST.MF
-¤Ë¼è¤ê¹þ¤ß¤Þ¤¹¡£
-¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¸Â¤ê¡¢
-.I jar
-¤Ï¤½¤Î̾Á°:ÃÍ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢
-jar
-¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£
-.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢Ê¸»ú
-.B m
-¤È
-.B f
-¤Ï¡¢
-.I manifest
-¤È
-.I jarfile
-¤¬½Ð¸½¤¹¤ë¤Î¤È
-Ʊ¤¸½ç½ø¤Ç»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-% jar cmf myManifestFile myFile.jar *.class
-.RE
-.LP
-manifest ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢
-ÀìÍѤÎ̾Á°:ÃÍ°À¥Ú¥¢¤òÄɲäǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢
-¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À¤ò
-ÄɲäǤ¤Þ¤¹¡£
-.B -m
-¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Tutorial¡×
+\f2Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/jar/
-¤Ë¤¢¤ë
+http://java.sun.com/docs/books/tutorial/jar」の JAR コースも参照してください。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+c
+\f2jarfile\fP の名前で新しいアーカイブファイルを作成するか (\f2f\fP が指定されている場合)、標準出力で作成します (\f2f\fP と \f2jarfile\fP が省略されている場合)。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。
+.TP 3
+u
+\f2inputfiles\fP で指定されたファイルとディレクトリを追加することにより、既存のファイル \f2jarfile\fP を更新します (\f2f\fP が指定されている場合)。 例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar uf foo.jar foo.class
+.fl
+\fP
+.fi
+.RE
+上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar umf manifest foo.jar
+.fl
+\fP
+.fi
+.RE
+\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。
+.TP 3
+x
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、ファイルとディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。
+.TP 3
+t
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、内容を表形式で一覧表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。
+.TP 3
+i
+指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar i foo.jar
+.fl
+\fP
+.fi
+.RE
+.LP
+上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。 インデックスの例を参照してください。
+.TP 3
+f
+作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP) 対象のファイル \f2jarfile\fP を指定します。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から JAR ファイル名が使用されたり (x および t の場合)、標準出力に jar ファイルが 送信されたりします (c および u の場合)。
+.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 の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar cmf myManifestFile myFile.jar *.class
+.fl
+\fP
+.fi
+.RE
+デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。\f4\-m\fP オプションの使用例については、「Java Tutorial」 にある「
.na
-¡Ö
-.I JAR Files
-¡×¥³¡¼¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2JAR Files\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar/」コースを参照してください。
+.LP
.TP 3
e
-¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢
-.I entrypoint
-¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-.I Main\-Class
-°ÀÃͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。 このオプションは、JAR ファイルの作成中または更新中に使用できます。 このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
.br
.br
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï
-.I Main.jar
-¤òºîÀ®¤·¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-.I Main\-Class
-°ÀÃͤÏ
-.I Main
-¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
+たとえば、次のコマンドは \f2Main.jar\fP を作成しますが、その際、マニフェストファイル内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。
.RS 3
.LP
@@ -542,7 +362,7 @@
.fi
.RE
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤¤Þ¤¹¡£
+次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。
.RS 3
.LP
@@ -554,11 +374,7 @@
\fP
.fi
.RE
-¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¥É¥Ã¥È (¡Ö.¡×) ¤Þ¤¿¤Ï¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤ò»ÈÍѤǤ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I Main.class
-¤¬
-.I foo
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、\f2Main.class\fP が \f2foo\fP という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。
.RS 3
.LP
@@ -570,7 +386,7 @@
\fP
.fi
.RE
-¤Þ¤¿¤Ï
+または
.RS 3
.LP
@@ -582,36 +398,14 @@
\fP
.fi
.RE
-\f3Ãí:\ \fP
-.I \-m
-¥ª¥×¥·¥ç¥ó¤È
-.I \-e
-¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤹ¤ë¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â
-.I Main\-Class
-°À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
-.I Main.class
-¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¡¢JAR ¤ÎºîÀ®¤Þ¤¿¤Ï¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£
-.if t .TP 10
-.if n .TP 5
-.B \-C \ dir
-.B jar
-¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (
-.I cd " dir"
-)¡£
-¤³¤Î¤È¤¡¢¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤¬½èÍý¤µ¤ì¤Þ¤¹¡£
-¤³¤ÎÆ°ºî¤Ï¡¢UNIX ¤Î
-.I tar
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î
-.I \-C
-¥ª¥×¥·¥ç¥ó¤È
-ƱÍͤÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é
-.I bar.classes
-¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹¡£
+\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定する場合、指定されたマニフェストにも \f2Main\-Class\fP 属性が含まれていると、\f2Main.class\fP の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。
+.LP
+.TP 3
+\-C \ dir
+\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (\f2cd\fP\ \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。
+.br
+.br
+たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。
.RS 3
.LP
@@ -623,20 +417,7 @@
\fP
.fi
.RE
-¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
-.I classes
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£
-¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢
-.I bin
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
-.I xyz.class
-¤ò
-.I foo.jar
-¤ËÄɲä·¤Þ¤¹¡£
+次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。 次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。
.RS 3
.LP
@@ -648,276 +429,294 @@
\fP
.fi
.RE
-.I classes
-¤Ë¥Õ¥¡¥¤¥ë
-.I bar1
-¤ª¤è¤Ó
-.I bar2
-¤¬¤¢¤ë¾ì¹ç¡¢
-.I jar tf foo.jar
-¤ò¼Â¹Ô¤¹¤ë¤È¡¢jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
+\f2classes\fP に \f2bar1\fP と \f2bar2\fP が保持されている場合、\f2jar tf foo.jar\fP を使用すると、JAR ファイルには次の要素が含められます。
+.RS 3
+
.LP
-.if t .RS 15
-.if n .RS 8
-.ft 3
.nf
-META-INF/
-META-INF/MANIFEST.MF
+\f3
+.fl
+META\-INF/
+.fl
+META\-INF/MANIFEST.MF
+.fl
bar1
+.fl
bar2
+.fl
xyz.class
+.fl
+\fP
.fi
-.ft 1
-.RE
-.if t .TP 10
-.if n .TP 5
-.B \-Joption
-.I option
-¤ò Java Runtime Environment ¤ËÅϤ·¤Þ¤¹¡£
-¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html#options)
-¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð
-.B \-J-Xms48m
-¤Ï¡¢ºÇÂç¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.I \-J
-¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
-.B jar
-¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤Þ¤¿¤Ï´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
-.I jar
-¥³¥Þ¥ó¥É¤Î°ú¿ô (
-.I \-J
-¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä°Ê¾å»ØÄê¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î
-.B jar
-¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¡¢
-¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤ò
-²óÈò¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¶õÇòʸ»ú¶èÀÚ¤ê¤Þ¤¿¤Ï²þ¹Ô¶èÀÚ¤ê¤Ë¤·¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ËÂФ·¤Æ¤Ç¤Ï¤Ê¤¯¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÁêÂÐŪ¤Ë»ØÄꤷ¤Þ¤¹¡£
-Ä̾ï¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤ÆŸ³«¤µ¤ì¤ë¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï
-Ÿ³«¤µ¤ì¤Þ¤»¤ó¡£¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤¿¤á¤Î @ ʸ»ú¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.I \-J
-¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¯Æ°¥×¥í¥°¥é¥à¤ËÅϤµ¤ì¤ë¤¿¤á¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-µ¯Æ°¥×¥í¥°¥é¥à¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤǤ¤Ê¤¤¤¿¤á¤Ç¤¹¡£
-.LP
-.I jar
-¤Î¼Â¹Ô»þ¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ª¤è¤Ó̾Á°¤ÎÀèƬ¤Ë @ ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£
-.I jar
-¤ÇÀèƬ¤Ëʸ»ú @ ¤ÎÉÕ¤¤¤¿°ú¿ô¤¬½Ð¸½¤¹¤ë¤¿¤Ó¤Ë¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬°ú¿ô¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
-.br
-.br
-¼¡¤ÎÎã¤Ç¤Ï¡¢
-.I find
-¥³¥Þ¥ó¥É¤«¤é½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤ò
-.I classes.list
-Æâ¤Ë³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS 5
-% find . -name '*.class' -print > classes.list
.RE
.LP
-¤½¤Î¸å¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»È¤Ã¤Æ
-.I jar
-¤Ë¥ê¥¹¥È¤òÅϤ¹¤È¡¢
-.I Classes.list
-¤Ç
-.I jar
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
+.TP 3
+\-Joption
+Java 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f4\-J\-Xmx48M\fP と指定すると、最大メモリーは 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
.LP
-.RS 5
+.SH "コマンド行引数ファイル"
+.LP
+
+.LP
+jar のコマンド行を短くしたり簡潔にしたりするために、\f2jar\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。
+.LP
+引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。 引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
+.LP
+.LP
+\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。\f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.br
+.br
+次の例では、\f2find\fP コマンドから出力されたファイル名を \f2classes.list\fP 内に格納しています。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% find \fP\f3.\fP \-name '*.class' \-print > classes.list
+.fl
+.fi
+.RE
+
+.LP
+.LP
+その後、引数ファイル構文を使って \f2jar\fP にリストを渡すと、\f2Classes.list\fP で \f2jar\fP コマンドを実行できます。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
% jar cf my.jar @classes.list
+.fl
+\fP
+.fi
.RE
+
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î
-¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢
-¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。 次に例を示します。
+.RS 3
+
.LP
-.RS 5
+.nf
+\f3
+.fl
% jar @path1/classes.list
+.fl
+\fP
+.fi
.RE
-.SH "»ÈÍÑÎã"
-¤¢¤ë¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ëÎã¤ò¼¨¤·¤Þ¤¹
-(¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢ÆâÍƤ¬¾å½ñ¤¤µ¤ì¤Þ¤¹)¡£
-¾ÜºÙ¤òÎóµó¤¹¤ë¤È (
-.I \-v
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢
-¥µ¥¤¥º¤äºÇ½ª¹¹¿·Æü¤Ê¤É¡¢
-¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø¤·¤Æ¾Ü¤·¤¤¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-.RS
-\f3
-.nf
-% ls
-1.au Animator.class monkey.jpg
-2.au Wave.class spacemusic.au
-3.au at_work.gif
+
.LP
+.LP
+
+.LP
+.SH "例"
+.LP
+
+.LP
+特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。
+.RS 3
+
+.LP
+.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%)
-\f1
+.fl
+\fP
.fi
.RE
-¥¤¥á¡¼¥¸¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬
-¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢Ã±°ì¤Î
-.B jar
-¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤¤Þ¤¹¡£
-.RS
-\f3
+
+.LP
+すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。
+.RS 3
+
+.LP
.nf
-% ls -F
+\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
-% ls -F
+.fl
+% ls \-F
+.fl
audio/ bundle.jar classes/ images/
+.fl
+\fP
.fi
-\f1
.RE
-¼¡¤ÎÎã¤Ç¤Ï¡¢
-.I t
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢jar ¥Õ¥¡¥¤¥ëÃæ¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤·¤Þ¤¹¡£
-.RS
-\f3
+
+.LP
+JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。
+.RS 3
+
+.LP
.nf
+\f3
+.fl
% jar tf bundle.jar
-META-INF/
-META-INF/MANIFEST.MF
+.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
-\f1
.RE
-¥¯¥é¥¹¤ÎÆɤ߹þ¤ß¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò
-Äɲ乤ë¾ì¹ç¤Ï¡¢
-.I i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+
+.LP
+.LP
+クラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。
.br
.br
-Îã:
+例:
.br
.LP
.RS 3
.LP
-¤¿¤È¤¨¤Ð³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò
-.I main.jar
-¡¢
-.I buy.jar
-¡¢
-¤ª¤è¤Ó
-.I sell.jar
-¤È¤¤¤¦ 3 ¤Ä¤Î jar ¥Õ¥¡¥¤¥ë
-¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£
-.I main.jar
-¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î
-.I Class-Path
-°À¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢
+たとえば、株取引アプリケーション用の相互依存したクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。
+.br
+
.LP
-.RS 5
-Class-Path: buy.jar sell.jar
-.RE
+.br
+
.LP
-.I -i
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î
-Æɤ߹þ¤ß¤ò¹â®²½¤Ç¤¤Þ¤¹¡£
+\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、
+.nf
+\f3
+.fl
+Class\-Path: buy.jar sell.jar
+.fl
+\fP
+.fi
+
.LP
-.RS 5
+\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。
+.nf
+\f3
+.fl
% jar i main.jar
-.RE
+.fl
+\fP
+.fi
+
.LP
-.I INDEX.LIST
-¥Õ¥¡¥¤¥ë¤¬
-.I META-INF
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
-¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï
-¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
+\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。
+.RE
+.SH "関連項目"
.LP
.LP
+.na
+\f2「JAR ファイルの概要」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
-¤Î
-.na
-¡Ö
-.I The Jar Overview
-¡×
.br
.LP
+.na
+\f2「JAR ファイルの仕様」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
-¤Î
-.na
-¡Ö
-.I The Jar File Specification
-¡×
.br
.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
-¤Î
.na
-¡Ö
-.I The JarIndex Spec
-¡×
+\f2「Jar インデックス」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex
.br
.LP
-.fi
-http://java.sun.com/docs/books/tutorial/jar
-¤Î
.na
-¡Ö
-.I Jar Tutorial
-¡×
-(Java ¥½¥Õ¥È¥¦¥§¥¢¤Î Web ¥µ¥¤¥ÈÆâ)
+\f2「Jar チュートリアル」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar (Java Software の Web サイト内)
.br
.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html
-¤Î
-.na
-¡Ö
-.I pack200 Reference Page
-¡×
+pack200(1)
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1
index 8f4e166..8197a8d 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1
@@ -1,429 +1,827 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jarsigner 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jarsigner \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jarsigner 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jarsigner \- JAR 署名および検証ツール
.LP
.RS 3
.LP
.LP
-Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Î½ð̾¤òÀ¸À®¤·¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£
+Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
.LP
.RE
-.SH "·Á¼°"
-.B jarsigner
-[
-.BI options
-]
-jar-file alias
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jarsigner\fP [ options ] jar\-file alias
+.fl
+\f3jarsigner\fP \-verify [ options ] jar\-file
+.fl
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。
+.LP
+.RS 3
+.TP 3
+1.
+Java ARchive (JAR) ファイルに署名を付ける
+.TP 3
+2.
+署名付き 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
+署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される
+.RE
+
+.LP
+.LP
+ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。 また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。
+.LP
+.LP
+\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。
+.LP
+.LP
+\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、ファイルの署名に使用する非公開鍵に対応する公開鍵を保存するキーストアからとった証明書のコピーも含まれています。 \f3jarsigner\fP は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含まれている証明書を使って検証することができます。
+.LP
+.LP
+5.0 以降では、\f3jarsigner\fP はタイムスタンプを含む署名を生成するので、システムやデプロイヤ (Java Plug\-in を含む) はJAR ファイルが署名証明書の有効期間中に署名されたかどうかをチェックできます。さらに、5.0 で追加された 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
+JDK 1.1 との互換性
+.LP
+.RS 3
+
+.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 のアイデンティティーデータベースからの署名者別名を認識し、これらを対象に処理を行うことができます。
+.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
.br
-.B jarsigner
-.BI \-verify
-[
-.BI options
-]
-jar-file
-.SH "ÀâÌÀ"
-.IX "JAR signing and verification tool " "" "JAR signing and verification tool \(em \fLjarsigner\fP"
-.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B jarsigner
-¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤Ç»ÈÍѤ·¤Þ¤¹¡£
-.TP 5
-1.
-Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë
-.TP 5
-2.
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤È´°Á´À¤ò¸¡¾Ú¤¹¤ë
-.LP
-JAR µ¡Ç½¤ò»È¤¦¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¥Ç¡¼¥¿
-¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍưפËÇÛÉۤǤ¤Þ¤¹¡£
-³«È¯¼Ô¤Ï¡¢
-.B jar
-¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢
-¤¹¤Ù¤Æ¤Î ZIP ¥Õ¥¡¥¤¥ë¤â JAR ¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿ (¡Ö½ð̾¡×¤ÎÂоݤȤʤë¥Ç¡¼¥¿) ¤È¡¢¥¨¥ó¥Æ¥£¥Æ¥£
-(¿Í¡¢²ñ¼Ò¤Ê¤É) ¤ÎÈó¸ø³«¸°¤È¤Ë´ð¤Å¤¤¤Æ·×»»¤µ¤ì¤ë¥Ó¥Ã¥ÈÎó¤Ç¤¹¡£¼ê½ñ¤¤Î½ð̾ƱÍÍ¡¢
-¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 2
-\(bu
-½ð̾¤ÎÀ¸À®¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ÈÂФˤʤë¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤ò¹Ô¤¦¤³¤È¤Ç¡¢
-¥Ç¥¸¥¿¥ë½ð̾¤¬ËÜʪ¤«¤É¤¦¤«¤ò¸¡¾Ú¤Ç¤¤ë
-.TP 2
-\(bu
-Èó¸ø³«¸°¤¬Â¾¿Í¤ËÃΤé¤ì¤Ê¤¤¸Â¤ê¡¢¥Ç¥¸¥¿¥ë½ð̾¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ç¤¢¤ë
-.TP 2
-\(bu
-¥Ç¥¸¥¿¥ë½ð̾¤Ï¡¢¤½¤Î½ð̾¤¬ÉÕ¤¤¤¿¥Ç¡¼¥¿¤À¤±¤òÂоݤȤ¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤«¤Î¥Ç¡¼¥¿¤Î
-½ð̾¤È¤·¤Æµ¡Ç½¤¹¤ë¤³¤È¤Ï¤Ê¤¤
-.TP 2
-\(bu
-½ð̾ÉÕ¤¤Î¥Ç¡¼¥¿¤ÏÊѹ¹¤Ç¤¤Ê¤¤¡£¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î½ð̾¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿
-¤¬ËÜʪ¤Ç¤Ï¤Ê¤¤¤³¤È¤¬¸¡¾Ú¤µ¤ì¤ë
-.LP
-¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤È
-Èó¸ø³«¸°¤Î¥Ú¥¢¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤â
-ɬÍפǤ¹¡£¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£
-¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ
-¤¤¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤Ï¡¢¡Ö¥¡¼¥¹¥È¥¢¡×¤Ë´Þ¤Þ¤ì¤ë¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤Æ¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò
-À¸À®¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢Èó¸ø³«¸°¤È¡¢Èó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.509 ¾ÚÌÀÏ¢º¿¤¬
-¼ý¤á¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¾ÚÌÀÏ¢º¿¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
-¥¡¼¥¹¥È¥¢¤ÎºîÀ®¤È´ÉÍý¤Ë¤Ï¡¢
-.B keytool
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¤¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»È¤ï
-¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤Ç¤¹¡£
-.B jarsigner
-¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¡¢¥Õ¥¡¥¤¥ëÆâ (¤Î½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë) ¤Ë´Þ
-¤Þ¤ì¤Æ¤¤¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-J2SE 5.0 °Ê¹ß¤Î \f3jarsigner\fP ¤Ï¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò´Þ¤à½ð̾¤òÀ¸À®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¥·¥¹¥Æ¥à/¥Ç¥×¥í¥¤¥ä (Java Plug\-in ¤Ê¤É) ¤Ï¡¢½ð̾ÉÕ¤¤Î¾ÚÌÀ½ñ¤¬¤Þ¤À͸ú¤Ç¤¢¤ë´ü´ÖÃæ¤Ë JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤¬¹Ô¤ï¤ì¤¿¤«¤É¤¦¤«¤ò³Îǧ¤Ç¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢¤½¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¾ðÊó¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¼èÆÀ¤¹¤ë¤¿¤á¤Î API ¤¬¡¢J2SE 5.0 ¤ÇÄɲ䵤ì¤Þ¤·¤¿¡£
-.LP
-¸½»þÅÀ¤Ç¤Ï¡¢
-.B jarsigner
-¤Ç½ð̾¤Ç¤¤ë¤Î¤Ï¡¢JDK ¤Î
-.B jar
-¥Ä¡¼¥ë¤ÇºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï ZIP ¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ï ZIP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-.B META-INF/MANIFEST.MF
-¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
-.B META-INF/MANIFEST.MF
-¥Õ¥¡¥¤¥ë¤Ï¡¢
-.B jarsigner
-¤¬ ZIP ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B jarsigner
-¤Ï JAR ¥Õ¥¡¥¤¥ë¤Ë¡Ö½ð̾¡×¤òÉÕ¤±¤Þ¤¹¡£
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¡Ö¸¡¾Ú¡×¤¹¤ë¾ì¹ç¤Ï¡¢
-.I -verify
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-.SS
-JDK 1.1 ¤È¤Î¸ß´¹À
-.LP
-.IX "jarsigner" "Compatibility with JDK 1.1" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B keytool
-¥Ä¡¼¥ë¤È
-.B jarsigner
-¥Ä¡¼¥ë¤Ï¡¢JDK 1.1 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤¿
-.B javakey
-¥Ä¡¼¥ë¤ò´°Á´¤ËÃÖ¤´¹¤¨¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Ä¡¼¥ë¤Ï
-.B javakey
-¤è¤ê¤â¿¤¯¤Îµ¡Ç½¤òÈ÷¤¨¤Æ¤ª¤ê¡¢¥¡¼¥¹¥È¥¢¤ÈÈó¸ø³«¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ëµ¡Ç½¤ä¡¢
-½ð̾¤ÎÀ¸À®¤À¤±¤Ç¤Ê¤¯½ð̾¤ò¸¡¾Ú¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-.LP
-¿·¤·¤¤¥¡¼¥¹¥È¥¢¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ï¡¢
-.B javakey
-¤¬ºîÀ®¤·¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£¥¡¼¥¹¥È¥¢·Á¼°¤È¡¢JDK 1.1 ¤Î
-.B javakey
-¤¬»È¤Ã¤Æ¤¤¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼°¤È¤Î´Ö¤Ë¤Ï²¼°Ì¸ß´¹À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¼¡¤Î¤è¤¦¤Ê
-¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
-.TP 2
-\(bu
-.B keytool
-¤Î
-.I -identitydb
-¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
+.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 186 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
-.B jarsigner
-¤Ï¡¢°ÊÁ°¤Ë
-.B javakey
-¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-.B jarsigner
-¤Ï¡¢
-.B javakey
-¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤Ç¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
-.B jarsigner
-¤Ï¡¢JDK 1.2 ¤Î¥¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î½ð̾¼ÔÊÌ
-̾¤òǧ¼±¤·¡¢¤³¤ì¤é¤òÂоݤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¼¡¤Îɽ¤Ï¡¢JDK 1.1.x ¤Ç½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¡¢Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«¤ò
-¼¨¤·¤Æ¤¤¤Þ¤¹¡£
+.LP
+.LP
+注 \-
+.LP
+.RS 3
+.TP 3
+1.
+ポリシーファイル内にアイデンティティー/別名についての言及がある場合、それをキーストアにインポートして、ポリシーファイルの設定が与えられた特権に反映されるようにする必要があります。
+.TP 3
+2.
+ポリシーファイル/キーストアの組み合わせは、アイデンティティーデータベース内の信頼できるアイデンティティーよりも優先されます。
+.TP 3
+3.
+Java 2 プラットフォームでは、信頼できないアイデンティティーは無視されます。
+.TP 3
+4.
+Java 2 SDK キーストアにインポートできるのは、信頼できるアイデンティティーだけです。
+.RE
+
+.LP
+.SS
+キーストアの別名
+.LP
+.RS 3
+
+.LP
+.LP
+キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。
+.LP
+.LP
+\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。
.LP
.nf
-.ft 3
- 1.1 ¥Ç¡¼¥¿
- 1.1 ¥Ç¡¼¥¿ ¥Ù¡¼¥¹¤«¤é ¥Ý¥ê¥·¡¼
-JAR ¥Ù¡¼¥¹Æâ¤Î 1.2 ¥¡¼¥¹ ¥Õ¥¡¥¤¥ë
-¥Õ¥¡¥¤¥ë ¥¢¥¤¥Ç¥ó ¥È¥¢¤Ë¥¤¥ó ¤¬¥¢¥¤¥Ç¥ó Í¿¤¨¤é¤ì¤ë
-¤Î¥¿¥¤¥× ¥Æ¥£¥Æ¥£ ¥Ý¡¼¥È¤µ¤ì ¥Æ¥£¥Æ¥£/ Æø¢
- ¤ë¿®Íê¤Ç¤ ÊÌ̾¤ËÆø¢
- ¤ë¥¢¥¤¥Ç¥ó ¤òÍ¿¤¨¤ë
- ¥Æ¥£¥Æ¥£(4)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x x x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾¤Î¤Ê¤¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x x x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x ¡û x Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê¤Ç x x Í¿¤¨¤é¤ì¤ë
- ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢ (3)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê¤Ç x ¡û Í¿¤¨¤é¤ì¤ë
- ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢ (1,3)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR x ¡û ¡û Í¿¤¨¤é¤ì¤ë
- ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢¤È¥Ý¥ê¥·¡¼
- ¥Õ¥¡¥¤¥ëÆâ
- ¤ÇÍ¿¤¨¤é¤ì¤ë
- Æø¢
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë
-JAR ¡û/¿®Íê ¡û ¡û Í¿¤¨¤é¤ì¤ë
- ¤Ç¤¤ë ¥Ç¥Õ¥©¥ë¥È¤Î
- Æø¢¤È¥Ý¥ê¥·¡¼
- ¥Õ¥¡¥¤¥ëÆâ
- ¤ÇÍ¿¤¨¤é¤ì¤ë
- Æø¢ (2)
-
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê x x Æø¢
- ¤Ç¤¤ë
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê ¡û x Æø¢ (1)
- ¤Ç¤¤ë
-½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î
-JAR ¡û/¿®Íê x ¡û Æø¢ (1)
- ¤Ç¤¤ë
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass dukekeypasswd MyJARFile.jar duke
+.fl
+\fP
.fi
-.ft 1
-.LP
-Ãí:
-.TP 5
-1.
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£/ÊÌ̾¤Ë¤Ä¤¤¤Æ¤Î¸ÀµÚ¤¬¤¢¤ë¾ì¹ç¡¢
-¤½¤ì¤ò¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÀßÄ꤬Ϳ¤¨¤é¤ì¤¿
-Æø¢¤ËÈ¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP 5
-2.
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë/¥¡¼¥¹¥È¥¢¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹
-Æâ¤Î¿®Íê¤Ç¤¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£
-.TP 5
-3.
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¿®Íê¤Ç¤¤Ê¤¤¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.TP 5
-4.
-JDK ¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤ë¤Î¤Ï¡¢¿®Íê¤Ç¤¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤À¤±¤Ç¤¹¡£
-.SS
-¥¡¼¥¹¥È¥¢¤ÎÊÌ̾
-.LP
-.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-¥¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£
-.LP
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈó¸ø³«¸°¤ò
-´Þ¤à¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ï¡¢
-working ¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.B mystore
-¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾
-.B duke
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢
-.BR MyJARFile.jar
-¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
-¤Î¤Ç¡¢
-.BR MyJARFile.jar
-¤Ï½ð̾ÉÕ¤¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner -keystore /working/mystore -storepass
- myspass -keypass dukekeypasswd MyJARFile.jar duke
-.fi
-.ft 1
-.LP
-¥¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï
-.BR myspass
-) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Èó¸ø³«¸°¤â¥¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï
-.BR dukekeypasswd
-) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥È¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.LP
-.SS
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê
-.LP
-.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-.B jarsigner
-¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥¡¼¥¹¥È¥¢¤Î̾Á°¤È¾ì½ê¤ò»ØÄꤹ¤ë
-.I -keystore
-¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.I .keystore
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I user.home
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
-.LP
-.I \-keystore
-¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï
-.I KeyStore.load
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£
-URL ¤È¤·¤Æ NONE ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢NULL ¥¹¥È¥ê¡¼¥à¤¬
-.I KeyStore.load
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤¬¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Ê¤É¡¢
-¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢
-.I NONE
-¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-.SS
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ
-.LP
-.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-.I java.security
-¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¤¢¤ë
-.I KeyStore
-¥¯¥é¥¹
-¤Ç¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤Ë¥¢¥¯¥»¥¹¤·¡¢Êѹ¹¤Ç¤¤ë¤è¤¦¤Ë
-ŬÀÚ¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¹¤ÏÊ£¿ô¤Î¤µ¤Þ¤¶¤Þ¤Ê¸ÇÄê¼ÂÁõ¤¬²Äǽ¤Ç¡¢
-¤½¤ì¤¾¤ì¤Î¼ÂÁõ¤Ï¡¢ÆÃÄê¤Î¼ïÎà¤Î¥¡¼¥¹¥È¥¢ÍѤθÇÄê¼ÂÁõ¤Ç¤¹¡£
-.LP
-¸½ºß¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤â¤Î¤È¤·¤Æ¡¢keytool ¤È
-.BR jarsigner
-¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢
-.BR policytool
-¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£
-.I KeyStore
-¥¯¥é¥¹¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¤Ï
-.B KeyStore
-¤ò»È¤Ã¤Æ¤Û¤«¤Î¥»¥¥å¥ê¥Æ¥£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆȼ«¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥¡¼¥¹¥È¥¢¤ò
-¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É
-¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥¡¼¥¹¥È¥¢Á´ÂΤδ°Á´À¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë
-¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
-.LP
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-.I KeyStore
-¥¯¥é¥¹¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI)
-¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë
-.I KeystoreSpi
-Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â
-.I java.security
-¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬ Service Provider Interface ¤Î
-¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ
-¤»¤ó¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹
-¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î
-¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢¡ÖJava °Å¹æ²½¥¢¡¼¥¥Æ¥¯
-¥Á¥ãÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) ¤Î¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢
-.I KeystoreSpi
-¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢
-.I KeyStore
-¥¯¥é¥¹¤¬Ä󶡤¹¤ë
-.B getInstance
-¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤Î
-¼ÂÁõ¤òÁªÂò¤Ç¤¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¡¢
-¤ª¤è¤Ó¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤È¥¡¼¥¹¥È¥¢¼«ÂΤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë
-¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß¤¤¤Ë¸ß´¹À¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢
-.B KeyStore
-¤¬Ä󶡤¹¤ë¶¦Ä̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ç¤°Õ¤Î
-¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Ç»ÈÍѤǤ¤Þ¤¹¡£
.LP
-.B keytool
-¤Ï¡¢¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢¼ÂÁõ¤ËÂФ·¤Æµ¡Ç½¤·¤Þ¤¹¡£
-.B keytool
-¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ÇÅϤµ¤ì¤¿¥¡¼¥¹¥È¥¢¤Î°ÌÃÖ¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢
-.BR FileInputStream
-¤ËÊÑ´¹¤·¤Æ¡¢¤½¤³¤«¤é¥¡¼¥¹¥È¥¢¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢
-.B jarsigner
-¥Ä¡¼¥ë¤ª¤è¤Ó
-.B policytool
-¥Ä¡¼¥ë¤Ï¡¢URL ¤ò»È¤Ã¤Æ»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤ÊǤ°Õ¤Î°ÌÃ֤ˤ¢¤ë¥¡¼¥¹¥È¥¢¤ò
-Æɤ߼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+キーストアはパスワードで保護されているので、ストアのパスワード (上の例では mypass) を指定する必要があります。コマンド行でストアのパスワードを指定しないと、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているため、非公開鍵のパスワード (上の例では dukekeypasswd) を指定する必要があります。 コマンド行で非公開鍵のパスワードを指定していない、また、指定したパスワートが保存されているパスワードと違っている場合には、非公開鍵のパスワードの入力を求められます。
.LP
-.B jarsigner
-¤È
-.BR keytool
-¤Î¾ì¹ç¡¢
-.I -storetype
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.BR policytool
-¤Î¾ì¹ç¤Ï¡¢[Edit] ¥á¥Ë¥å¡¼¤Î [Change Keystore] ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¡¼¥¹¥È¥¢¤Î
-¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+.RE
+.SS
+キーストアの場所
.LP
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢
-.B keytool
-¡¢
-.B jarsigner
-¡¢¤ª¤è¤Ó
-.B policytool
-¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄê
-¤µ¤ì¤¿
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡
-¥¤¥ë¤Ï¡¢
-.I java.security
-¤È¤¤¤¦Ì¾Á°¤Ç¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê
-.I java.home/lib/security
-¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-.I java.home
-¤Ï¡¢JDK ¤Î¼Â¹Ô´Ä¶¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£(SDK Æâ¤Î jre ¥Ç¥£¥ì¥¯¥È¥ê
-¤Þ¤¿¤Ï Java Runtime Environment ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê)¡£
+.RS 3
+
.LP
-³Æ¥Ä¡¼¥ë¤Ï¡¢
-.I keystore.type
-¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬
-¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î
-¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£
.LP
-.I KeyStore
-¥¯¥é¥¹¤Ç¤Ï
-.I getDefaultType
-¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î
-¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (
-.I keystore.type
-¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
+\f3jarsigner\fP には、使用するキーストアの URL を指定する \f2\-keystore\fP オプションがあります。キーストアは、デフォルトではユーザーのホームディレクトリの \f2.keystore\fP という名前のファイルに格納されます。 ユーザーのホームディレクトリは、\f2user.home\fP システムプロパティーによって決まります。Solaris システムの場合、\f2user.home\fP がデフォルトでユーザーのホームディレクトリになっています。
+.LP
+.LP
+\f2\-keystore\fP オプションからの入力ストリームは、\f2KeyStore.load\fP メソッドに渡されます。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP は、\f2KeyStore\fP がファイルベースではなく、たとえば、ハードウェアトークンデバイスに置かれている場合に指定します。
+.LP
+.RE
+.SS
+キーストアの実装
+.LP
+.RS 3
+
+.LP
+.LP
+\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。
+.LP
+.LP
+現在、キーストアの実装を使用するものとして、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールがあります。\f2KeyStore\fP は public として使用可能なので、Java 2 SDK ユーザーは KeyStore を使ったほかのセキュリティーアプリケーションも作成できます。
+.LP
+.LP
+キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。
+.LP
+.LP
+キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。 これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、
+.na
+\f2「Java 暗号化アーキテクチャー用プロバイダの実装方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。
+.LP
+.LP
+アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
+.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
+キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティープロパティーファイル内で指定された \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 クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティーで指定されたタイプ) のインスタンスを生成します。
.LP
.nf
\f3
@@ -435,144 +833,150 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï jks (Sun ¤¬Ä󶡤¹¤ëÆȼ«¤Î¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î
-¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ
-¤¤¤Þ¤¹¡£
+デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。
.LP
-.RS 5
-.B keystore.type=jks
+.nf
+\f3
+.fl
+ keystore.type=jks
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注:キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。
+.LP
+.LP
+各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。
+.LP
+.nf
+\f3
+.fl
+ keystore.type=pkcs12
+.fl
+\fP
+.fi
+
+.LP
+.LP
+PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」にある
+.na
+\f2「KeyTool and JarSigner」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSignerの節を参照してください。
+.LP
.RE
-.LP
-Ãí: ¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¡ÖJKS¡×¤È¡Öjks¡×¤ÏƱ¤¸¤â¤Î¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
-.LP
-³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤Æ
-Ê̤Υ¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë
-¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
-.LP
-.B keystore.type=pkcs12
-.LP
-PKCS#11 ¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava PKCS#11 Reference Guide¡×(
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner)
-¤Ë¤¢¤ë
-¡Ö\f2KeyTool and JarSigner\fP¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
+.RE
.SS
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à
+サポートされるアルゴリズム
.LP
-.IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B jarsigner
-¤Ï¼¡¤Î¤É¤Á¤é¤«¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤·¤Þ¤¹¡£
+.LP
+デフォルトでは、\f3jarsigner\fP は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。
+.LP
+.RS 3
.TP 2
-\(bu
-SHA-1 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ DSA (¥Ç¥¸¥¿¥ë½ð̾¥¢¥ë¥´¥ê¥º¥à)
+o
+SHA\-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム)
.TP 2
-\(bu
-MD5 ¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤¿ RSA ¥¢¥ë¥´¥ê¥º¥à
+o
+MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム
+.RE
+
.LP
-¶ñÂÎŪ¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤¬ DSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡ÖSHA1withDSA¡×¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤è¤¦¤È¤·¤Þ¤¹¡£½ð̾¼Ô¤Î
-¸°¤¬ RSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡ÖMD5withRSA¡×¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£
.LP
-¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥È¤Î½ð̾¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤¤Þ¤¹¡£
+具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は MD5withRSA アルゴリズムを使って JAR ファイルに署名を付けます。
.LP
+.LP
+これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。
+.LP
+.RE
.SS
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë
+署名付き JAR ファイル
.LP
-.IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ï
-ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î 2 ¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬
-.B META-INF
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
+.LP
+\f3jarsigner\fP を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。
+.LP
+.RS 3
.TP 2
-\(bu
-.B .SF
-³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Õ¥¡¥¤¥ë
+o
+.SF 拡張子の付いた署名ファイル
.TP 2
-\(bu
-.B .DSA
-³ÈÄ¥»Ò¤ÎÉÕ¤¤¤¿½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë
+o
+.DSA 拡張子の付いた署名ブロックファイル
+.RE
+
.LP
-¤³¤ì¤é 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-.I -sigFile
-¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£
.LP
-.B -sigFile MKSIGN
+これら 2 つのファイルのベースファイル名は、\f2\-sigFile\fP オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。
.LP
-¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï¤½¤ì¤¾¤ì
-.B MKSIGN.SF
-¤È
-.BR MKSIGN.DSA
-¤Ë¤Ê¤ê¤Þ¤¹¡£
+.nf
+\f3
+.fl
+ \-sigFile MKSIGN
+.fl
+\fP
+.fi
+
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ë
-.I -sigfile
-¥ª¥×¥·¥ç¥ó¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèƬ¤Î 8 ʸ»ú¤ò
-¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬
-¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì
-¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-»ÈÍѤǤ¤ëʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ (_)¡¢¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£
.LP
-½ð̾ (\f3.SF\f1) ¥Õ¥¡¥¤¥ë
+この場合、ファイル名はそれぞれ MKSIGN.SF と MKSIGN.DSA になります。
.LP
-½ð̾¥Õ¥¡¥¤¥ë (
-.B .SF
-¥Õ¥¡¥¤¥ë) ¤Ï¡¢
-.B jar
-¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëƱÍÍ¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢¼¡¤Î 3 ¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£
+.LP
+コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。
+.LP
+\f3署名 (.SF) ファイル\fP
+.LP
+.RS 3
+
+.LP
+.LP
+署名ファイル (.SF ファイル) は、\f3jarsigner\fP で署名を付けた JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、.SF ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。
+.LP
+.RS 3
.TP 2
-\(bu
-¥Õ¥¡¥¤¥ë̾
+o
+ファイル名
.TP 2
-\(bu
-»È¤ï¤ì¤Æ¤¤¤ë¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à (SHA) ¤Î̾Á°
+o
+使われているダイジェストアルゴリズム (SHA) の名前
.TP 2
-\(bu
-SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃÍ
+o
+SHA ダイジェストの値
+.RE
+
.LP
-¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿
-¤Î¥À¥¤¥¸¥§¥¹¥È (¥Ï¥Ã¥·¥å) ¤Ç¤¹¡£°ìÊý¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Î³ºÅö¤¹¤ë
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë 3 ¹Ô¤Î¥Ï¥Ã¥·¥å¤Ç¤¹¡£
.LP
-½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¸å½Ò¤Î¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¤Î¸ºß¤Ë¤è¤Ã¤Æ¸¡¾Ú¤Î
-ºÇŬ²½¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
+マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。
.LP
-½ð̾¥Ö¥í¥Ã¥¯ (\f3.DSA\f1) ¥Õ¥¡¥¤¥ë
.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤âÉä¹æ²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ
-¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤Ï¡¢½ð̾¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ò
-ǧ¾Ú¤·¤Þ¤¹¡£
+署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。
.LP
+.RE
+\f3署名ブロック (.DSA) ファイル\fP
+.LP
+.RS 3
+
+.LP
+.LP
+.SF ファイルには署名が付けられ、署名は .DSA ファイルに置かれます。.DSA ファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。
+.LP
+.RE
+.RE
.SS
-½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×
+署名タイムスタンプ
+.LP
+.RS 3
+
.LP
.LP
-J2SE 5.0 ¥ê¥ê¡¼¥¹¤Î
-.I jarsigner
-¥Ä¡¼¥ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤Ë½ð̾¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤ª¤è¤Ó³ÊǼ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤µ¤é¤Ë¡¢
-.I jarsigner
-¤ÏÂåÂؤνð̾µ¡¹½¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ÎÆ°ºî¤Ï¾Êά²Äǽ¤Ç¡¢½ð̾»þ¤Ë¼¡¤Î³Æ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Þ¤¹¡£
+J2SE 5.0 リリースの \f2jarsigner\fP ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、\f2jarsigner\fP は代替署名機構をサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。
.LP
.RS 3
.TP 2
@@ -591,204 +995,143 @@
.LP
.LP
-¤³¤ì¤é¤Î³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+これらの各オプションの詳細については、後述の「オプション」節を参照してください。
.LP
-.SS
-JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
-.LP
-.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¸å¤Ë
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-.TP 5
-1.
-.B .SF
-¥Õ¥¡¥¤¥ë¤½¤ì¼«ÂΤνð̾¤ò¸¡¾Ú¤·¤Þ¤¹¡£
-.RS
-.LP
-¤³¤Î¼ê½ç¤Ç¤Ï¡¢³Æ½ð̾¥Ö¥í¥Ã¥¯ (
-.B .DSA
-) ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë½ð̾¤¬¡¢¼ÂºÝ¤Ë¡¢¸ø³«¸°¤ËÂбþ¤¹¤ëÈó¸ø³«¸°¤ò»È¤Ã¤Æ
-À¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¸ø³«¸°¤Î¾ÚÌÀ½ñ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¼ê½ç
-¤Ç¤Ï¡¢ÌÜŪ¤Î½ð̾¤¬¡¢Âбþ¤¹¤ë½ð̾ (
-.B .SF
-) ¥Õ¥¡¥¤¥ëÆâ¤Î͸ú¤Ê½ð̾¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤¬²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â³Îǧ¤·¤Þ¤¹¡£
.RE
-.TP 5
-2.
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥¨¥ó¥È¥ê¤Î¥À¥¤¥¸¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤ÎÂбþ¤¹¤ë³Æ¥»¥¯¥·¥ç¥ó¤ÈÆͤ
-¹ç¤ï¤»¤Æ¸¡¾Ú¤·¤Þ¤¹¡£
-.RS
-.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥ工夬³ÊǼ¤µ¤ì¤¿¥Ø¥Ã¥À¤¬¥Ç¥Õ¥©¥ë¥È¤Ç
-´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ø¥Ã¥À¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¥Ø¥Ã¥ÀÆâ¤Î¥Ï¥Ã¥·¥å¤¬¼ÂºÝ¤Ë¥Þ¥Ë¥Õ¥§
-¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹
-¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£
-.LP
-¥Ï¥Ã¥·¥å¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ
-¤Ë¤Ï¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹ (¡Ö½ð̾ (\f3.SF\f1)
-¥Õ¥¡¥¤¥ë¡×¤ò»²¾È)¡£
-.LP
-.B .SF
-¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À¤Ë³ÊǼ¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¡¢¼ÂºÝ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È
-¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥å¤È¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢½ð̾ (¤ª¤è¤Ó
-.B .SF
-¥Õ¥¡¥¤¥ë) ¤ÎÀ¸À®¸å¤Ë¡¢¥Õ¥¡¥¤¥ë¤Ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤¬Äɲà (
-.I jar
-¥Ä¡¼¥ë¤ò»ÈÍÑ) ¤µ¤ì¤¿²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.I jar
-¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¾ì¹ç¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¤¬
-(¿·¤·¤¤¥Õ¥¡¥¤¥ëÍѤΥ»¥¯¥·¥ç¥ó¤¬Äɲ䵤ì¤ë)¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤Î¥Ø¥Ã¥À°Ê³°¤Î¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤È¤¤Ï¡¢½ð̾¤ÎÀ¸À®»þ¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë
-¸ºß¤·¤Æ¤¤¤¿¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¡¢¸¡¾Ú¤ÏÀ®¸ù
-¤·¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-.RE
-.TP 5
-3.
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Ë¥¨¥ó¥È¥ê¤ò»ý¤Ä³Æ¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£Æɤ߹þ¤ßÃæ¤Ë¥Õ¥¡¥¤¥ë¤Î
-¥À¥¤¥¸¥§¥¹¥È¤ò·×»»¤·¡¢·ë²Ì¤ò¥Þ¥Ë¥Õ¥§¥¹¥È¥»¥¯¥·¥ç¥óÆâ¤Î³ºÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤Î
-¥À¥¤¥¸¥§¥¹¥È¤ÈÈæ³Ó¤·¤Þ¤¹¡£2 ¤Ä¤Î¥À¥¤¥¸¥§¥¹¥È¤ÏƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤¦¤Ç¤Ê¤¤
-¾ì¹ç¤Ï¸¡¾Ú¤¬¼ºÇÔ¤·¤Þ¤¹¡£
-.LP
-¸¡¾Ú¥×¥í¥»¥¹¤ÎÅÓÃæ¤Ç¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¸¡¾Ú¥×¥í¥»¥¹
-¤ÏÃæ»ß¤µ¤ì¡¢¥»¥¥å¥ê¥Æ¥£Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥¹¥í¡¼¤µ¤ì¤¿¥»¥¥å¥ê¥Æ¥£Îã³°¤Ï¡¢
-.BR jarsigner
-¤¬¥¥ã¥Ã¥Á¤·¤Æɽ¼¨¤·¤Þ¤¹¡£
-.LP
.SS
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾
+JAR ファイルの検証
.LP
-.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
-.B jarsigner
-¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¡¢°Û¤Ê¤ë¥æ¡¼¥¶¤ÎÊÌ̾¤ò»ØÄꤹ¤ì¤Ð¡¢JAR
-¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
.LP
-.ft 3
-.nf
-jarsigner myBundle.jar susan
-jarsigner myBundle.jar kevin
-.fi
-.ft 1
-.LP
-JAR ¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ÎÂФ¬Ê£¿ô´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤ÎÂФϡ¢1 ²ó¤Î½ð̾¤ËÂФ·¤Æ 1 ¤ÄºîÀ®¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç½ÐÎÏ
-¤µ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-SUSAN.SF
-SUSAN.DSA
-KEVIN.SF
-KEVIN.DSA
-.fi
-.ft 1
-.LP
-Ãí: JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¤ÇÀ¸À®¤·¤¿½ð̾¤È¡¢
-.B jarsigner
-¤ÇÀ¸À®¤·¤¿½ð̾¤È¤¤¤¦¤è¤¦¤Ë¡¢
-1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òº®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Ä¤Þ¤ê
-.B javakey
-¤Ç¤¹¤Ç¤Ë°ÊÁ°½ð̾¤·¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë¤¿¤á¤Ë¡¢
-.B jarsigner
-¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-°Ê²¼¤Ç¤Ï¡¢
-.B jarsigner
-¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢¼¡¤ÎÅÀ¤ËÃí°Õ
-¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-¤É¤Î¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèƬ¤Ë¥Þ¥¤¥Ê¥¹µ¹æ (-) ¤¬ÉÕ¤¯
-.TP 2
-\(bu
-¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤ë
-.TP 2
-\(bu
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë
-.TP 2
-\(bu
-.I -keystore¡¢
-.I -storepass¡¢
-.I -keypass¡¢
-.I -sigfile¡¢
-.I -sigalg¡¢
-.I -digestalg¡¢
-¤ª¤è¤Ó
-.I -signedjar
-¤Î³Æ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤǤ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¾ì¹ç¤Ë¤Ï»ÈÍѤǤ¤Ê¤¤¡£Æ±Íͤˡ¢
-ÊÌ̾¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¾ì¹ç¤À¤±¤Ç¤¢¤ë
+JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。
.LP
.RS 3
.TP 3
-.B -keystore url
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¼¨¤¹ URL ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È
-¥êÆâ¤Î¥Õ¥¡¥¤¥ë
-.I .keystore
-¤Ç¤¹¡£¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-.I user.home
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
+1.
+.SF ファイルそれ自体の署名を検証します。
.LP
-½ð̾¤¹¤ë¤È¤¤Ï¥¡¼¥¹¥È¥¢¤¬É¬ÍפǤ¹¡£¤³¤Î¤¿¤á¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤¬Â¸ºß
-¤·¤Ê¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¤Û¤«¤Î¥¡¼¥¹¥È¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-¥¡¼¥¹¥È¥¢¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+この手順では、各署名ブロック (.DSA) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って生成されたものであることを確認します。 .DSA ファイルには、公開鍵の証明書 (または証明書チェーン) も含まれています。また、この手順では、目的の署名が、対応する署名 (.SF) ファイル内の有効な署名であるかどうかを調べ、.SF ファイルが改変されていないことも確認します。
+.TP 3
+2.
+.SF ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き合わせて検証します。
.LP
-¸¡¾Ú¤¹¤ë¤È¤¤Ï¥¡¼¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¡¼¥¹¥È¥¢¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¡¢
-¤¢¤ë¤¤¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤¬
-¥¡¼¥¹¥È¥¢¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+.SF ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダーがデフォルトで含まれています。このヘッダーが存在する場合は、ヘッダー内のハッシュが実際にマニフェストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致する場合は、次の手順に進みます。
.LP
-Ãí:
-.I -keystore
-¤Î°ú¿ô¤Ë¤Ï¡¢URL ¤ÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë̾ (¤È¥Ñ¥¹) ¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾
-(¤È¥Ñ¥¹) ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¡Öfile:¡×URL ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-»ØÄê¤Ç¤¤Þ¤¹¡£
+ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します (「署名 (.SF) ファイル」を参照)。
.LP
-.B -keystore filePathAndName
+.SF ファイルのヘッダーに格納されたマニフェストファイルのハッシュと、実際のマニフェストファイルのハッシュとが一致しない場合は、署名 (および .SF ファイル) の生成後に、JAR ファイルに 1 つ以上のファイルが追加 (\f2jar\fP ツールを使用) された可能性があります。\f2jar\fP ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが (新しいファイル用のセクションが追加される)、.SF ファイルは変更されません。この場合、.SF ファイルのヘッダー以外のセクションに格納されたハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功したものとして扱われます。
+.TP 3
+3.
+JAR ファイル内のファイルのうち、.SF ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルのダイジェストを計算し、結果をマニフェストセクション内の該当するファイルのダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない場合は検証が失敗します。
+.RE
+
.LP
-¤³¤ì¤Ï¡¢¼¡¤Î»ØÄê¤ÈƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
.LP
-.B -keystore file:filePathAndName
+検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセスは中止され、セキュリティー例外がスローされます。スローされたセキュリティー例外は、\f3jarsigner\fP がキャッチして表示します。
.LP
+.RE
+.SS
+1 つの JAR ファイルを対象とする複数の署名
+.LP
+.RS 3
+
+.LP
+.LP
+1 つの JAR ファイルに対して \f3jarsigner\fP ツールを複数回実行し、実行のたびに、異なるユーザーの別名を指定すれば、JAR ファイルに複数のユーザーの署名を付けることができます。
+.LP
+.nf
+\f3
+.fl
+ jarsigner myBundle.jar susan
+.fl
+ jarsigner myBundle.jar kevin
+.fl
\fP
.fi
-JRE ¤Î \f2$JAVA_HOME/lib/security\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤¿ \f2java.security\fP ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï PKCS#11 ¥È¡¼¥¯¥ó¤Ë´ð¤Å¤¤¤ÆÆ°ºî¤Ç¤¤Þ¤¹¡£¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
+
+.LP
+.LP
+JAR ファイルが複数回署名されている場合、その JAR ファイルには .SF ファイルと .DSA ファイルの対が複数含まれることになります。 .SF ファイルと .DSA ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力される JAR ファイルには、次の名前を持つファイルが含まれます。
+.LP
+.nf
+\f3
+.fl
+ SUSAN.SF
+.fl
+ SUSAN.DSA
+.fl
+ KEVIN.SF
+.fl
+ KEVIN.DSA
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注:JAR ファイルでは、JDK 1.1 の \f3javakey\fP ツールで生成された署名と \f3jarsigner\fP で生成された署名が混在できます。つまり、すでに \f3javakey\fP を使って署名が付けられている JAR ファイルに、\f3jarsigner\fP を使って署名を付けることができます。
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.LP
+以下では、\f3jarsigner\fP のオプションについて説明します。注:
+.LP
.RS 3
.TP 2
-o \f2\-keystore NONE\fP
+o
+どのオプション名にも先頭にマイナス記号 (\-) が付く
.TP 2
-o \f2\-storetype PKCS11\fP
+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 ファイルに署名を付ける場合だけである
.RE
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÀßÄꤵ¤ì¤¿ PKCS#11 ¥È¡¼¥¯¥ó¤ÎÆâÍƤò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
+
+.LP
+.RS 3
+.TP 3
+\-keystore url
+キーストアの場所を示す URL を指定します。デフォルトは、ユーザーのホームディレクトリ内のファイル \f2.keystore\fP です。 ユーザーのホームディレクトリは、user.home システムプロパティーによって決まります。
+.LP
+署名するときはキーストアが必要です。 このため、デフォルトのキーストアが存在しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、キーストアを明示的に指定する必要があります。
+.LP
+検証するときはキーストアは必要ありません。 ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに \f2\-verbose\fP オプションも指定されている場合は、JAR ファイルの検証に使われる証明書がキーストアに存在するかどうかについての追加情報が出力されます。
+.LP
+注:\f2\-keystore\fP の引数には、URL の代わりにファイル名 (とパス) を指定できます。 ファイル名 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように指定できます。
+.nf
+\f3
+.fl
+ \-keystore \fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+これは、次の指定と同じものとして扱われます。
+.nf
+\f3
+.fl
+ \-keystore file:\fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+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
+.RE
+たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。
.RS 3
.LP
@@ -803,228 +1146,119 @@
.fi
.RE
.TP 3
-.B -storetype storetype
-¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¤Î
-¥¿¥¤¥×¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ç keystore.type ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤȤ·¤Æ
-»ØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¡¢
-.I java.security.KeyStore
-¤Î static
-.I getDefaultType
-¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£
+\-storetype storetype
+インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアタイプは、セキュリティープロパティーファイル内の keystore.type プロパティーの値で指定されたタイプです。 この値は、\f2java.security.KeyStore\fP の static \f2getDefaultType\fP メソッドで取得できます。
.LP
-\f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ PCKS#11 ¥È¡¼¥¯¥ó¤Î PIN ¤ò»ØÄꤹ¤ë¤³¤È¤â
-¤Ç¤¤Þ¤¹¡£²¿¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢keytool ¤È jarsigner ¤Ï¥æ¡¼¥¶¤Ë¥È¡¼¥¯¥ó PIN ¤Î
-ÆþÎϤòµá¤á¤Þ¤¹¡£¥È¡¼¥¯¥ó¤Îǧ¾Ú¥Ñ¥¹¤¬¡¢ÀìÍѤΠPIN ¥Ñ¥Ã¥É¤ä¥Ð¥¤¥ª¥á¥È¥ê¥Ã¥¯¥ê¡¼¥À¤Î
-¤è¤¦¤ÊÊݸ¤ì¤¿¥Ñ¥¹¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-protected\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-.TP
-.B -storepass password
-¥¡¼¥¹¥È¥¢¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפʥѥ¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬Í×
-¤Ê¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤À¤±¤Ç¤¹ (JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤¹¤ë¤È¤¤Ï
-ÉÔÍ×)¡£½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.I -storepass
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.RS
-.LP
-Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤¬Êݾ㤵¤ì¤¿¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç
-°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
-password ¥×¥í¥ó¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤È¡¢ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤¬¥¨¥³¡¼¤µ¤ì¡¢
-¤½¤Î¤Þ¤Þ²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¼þ°Ï¤Ë¤Û¤«¤Î¥æ¡¼¥¶¤¬¤¤¤ë¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ò¸«¤é¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -keypass password
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ËÂбþ¤¹¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤Î
-¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£
-.B jarsigner
-¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç
-¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º¡¢É¬Íפʥѥ¹¥ï¡¼¥É¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë
-¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
-.RS
-.LP
-Ãí: ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç
-¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-¤Þ¤¿¡¢password ¥×¥í¥ó¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤È¡¢ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤¬¥¨¥³¡¼
-¤µ¤ì¡¢¤½¤Î¤Þ¤Þ²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¼þ°Ï¤Ë¤Û¤«¤Î¥æ¡¼¥¶¤¬¤¤¤ë¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ò¸«¤é¤ì¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -sigfile file
-SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤Ë»È¤¦¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢file ¤Ë DUKESIGN ¤ò»ØÄꤹ¤ë¤È¡¢À¸À®¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È
-.DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢¤½¤ì¤¾¤ì DUKESIGN.SF ¤È DUKESIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.RS
-.LP
-.I file
-¤Ë»ÈÍѤǤ¤ëʸ»ú¤Ï¡Öa-zA-Z0-9_-¡×¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢Ê¸»ú¡¢¿ô»ú¡¢²¼Àþ¡¢
-¤ª¤è¤Ó¥Ï¥¤¥Õ¥ó¤À¤±¤ò»ÈÍѤǤ¤Þ¤¹¡£Ãí:
-.B .SF
-¤ª¤è¤Ó
-.B .DSA
-¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¾®Ê¸»ú¤Ï¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.I -sigfile
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèƬ¤Î 8 ʸ»ú¤ò
-¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬
-¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
-¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することもできます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。
.TP 3
-\-sigalg algorithm
+\-storepass password
+キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。署名を付けるときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。
+.LP
+注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。
+.TP 3
+\-keypass password
+コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。
+.LP
+注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。
+.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
+コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
+.TP 3
+\-sigalg algorithm
.RS 3
.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ë½ð̾¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。
.LP
-ɸ½à½ð̾¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×(
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)
-¤Ë¤¢¤ë
-¡Ö
-.I Appendix A
-¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»ÈÍѤ¹¤ëÈëÌ©¸°¤È¸ß´¹À¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ÈëÌ©¸°¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ SHA1withDSA¡¢MD5withRSA ¤Î¤¤¤º¤ì¤«¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò
-.I \-providerClass
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£
+標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」にある
+.na
+\f2「Appendix A 」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。
.LP
.RE
.TP 3
-\-digestalg algorithm
+\-digestalg algorithm
.RS 3
-JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¥À¥¤¥¸¥§¥¹¥È¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。
.LP
-ɸ½à¥á¥Ã¥»¡¼¥¸¥À¥¤¥¸¥§¥¹¥È¥¢¥ë¥´¥ê¥º¥à̾¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Cryptography Architecture¡×(http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)¤Î
-¡Ö
-.I Appendix A
-¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢SHA\-1 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¥×¥í¥Ð¥¤¥À¤¬ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥æ¡¼¥¶¤¬¤½¤Î¤è¤¦¤Ê¥×¥í¥Ð¥¤¥À¤ò
-.I \-providerClass
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¼ºÇÔ¤·¤Þ¤¹¡£
+標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」にある
+.na
+\f2「Appendix A 」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このオプションを指定しなかった場合、SHA\-1 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。
+.LP
.RE
-.TP
-.B -signedjar file
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.RS
+.TP 3
+\-signedjar file
+署名付き JAR ファイルの名前を指定します。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç̾Á°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (½ð̾¤ÎÂоݤȤʤë
-JAR ¥Õ¥¡¥¤¥ë) ¤Î̾Á°¤ÈƱ¤¸Ì¾Á°¤¬»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ï½ð̾
-ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B -verify
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬
-¸¡¾Ú¤µ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î½ð̾¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢
-¡Öjar verified¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£½ð̾¤µ¤ì¤Æ¤¤¤Ê¤¤ JAR ¥Õ¥¡¥¤¥ë¡¢
-¤Þ¤¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥ë¥´¥ê¥º¥à (RSA ¥×¥í¥Ð¥¤¥À¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤
-¾ì¹ç¤Î RSA ¤Ê¤É) ¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¤è¤¦¤È¤¹¤ë¤È¡¢
-¡Öjar is unsigned. (signatures missing or not parsable)¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.RS
+コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。
+.TP 3
+\-verify
+コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。JAR ファイルへの署名は行われません。 検証が成功すると、「jar が検証されました。」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar は署名されていません。(署名が見つからないか、構文解析できません)」というメッセージが表示されます。
.LP
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢
-.B jarsigner
-¤Þ¤¿¤Ï JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¡¢¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤ò»È¤Ã¤Æ¸¡¾Ú¤Ç¤¤Þ¤¹¡£
+署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。
.LP
-¸¡¾Ú¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.B -certs
-¥³¥Þ¥ó¥É¹Ô¤Ç¡¢
-.I -verify
-¤ª¤è¤Ó
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î³Æ½ð̾¼Ô
-¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ¤¹¡£¾ÚÌÀ½ñ¾ðÊó¤Ë¤Ï¼¡¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.RS
+検証についての詳細は、「JAR ファイルの検証」を参照してください。
+.TP 3
+\-certs
+コマンド行で、\f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者の証明書情報も出力されます。証明書情報には次のものが含まれます。
+.RS 3
.TP 2
-\(bu
-½ð̾¼Ô¤Î¸ø³«¸°¤ò¾ÚÌÀ¤¹¤ë (
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿) ¾ÚÌÀ½ñ¤Î¼ïÎà¤Î̾Á°
+o
+署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前
.TP 2
-\(bu
-¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ (¶ñÂÎŪ¤Ë¤Ï
-.I java.security.cert.X509Certificate
-¤Î¥¤¥ó¥¹¥¿¥ó¥¹) ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢½ð̾¼Ô¤Î¼±ÊÌ̾
+o
+証明書が X.509 証明書 (つまり、\f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名
+.RE
.LP
-¥¡¼¥¹¥È¥¢¤Î³Îǧ¤â¹Ô¤ï¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
-¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤¬³Îǧ¤µ¤ì¤Þ¤¹¡£½ð̾¼Ô¤Î
-¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Î¥¨¥ó¥È¥ê¤È°ìÃפ·¤¿¾ì¹ç¤Ï¡¢¼¡¤Î¾ðÊó¤âɽ¼¨
-¤µ¤ì¤Þ¤¹¡£
+キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。
+.RS 3
.TP 2
-\(bu
-½ð̾¼Ô¤Ë³ºÅö¤¹¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¡£¤³¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥¡¼¥¹¥È¥¢¤Ç¤Ï¤Ê¤¯ JDK 1.1 ¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËͳÍ褹¤ë
-½ð̾¼Ô¤Î¾ì¹ç¤Ï¡¢³ç¸Ì¤Ç¤Ï¤Ê¤¯³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£
+o
+署名者に該当するキーストアエントリの別名。 この別名は括弧で囲まれます。ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。
.RE
-.TP
-.B -verbose
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B jarsigner
-¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤ÇÆ°ºî¤·¡¢JAR ¤Î½ð̾¤Þ¤¿¤Ï¸¡¾Ú¤Î¿Ê¹Ô¾õ¶·¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½Ð
-ÎϤ·¤Þ¤¹¡£
-.TP
-.B -internalsf
-°ÊÁ°¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤¿
-.B .DSA
-(½ð̾¥Ö¥í¥Ã¥¯) ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢À¸À®¤µ¤ì¤¿
-.B .SF
-¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Î´°Á´¤Ê¥³¥Ô¡¼¤¬Éä¹æ²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Î
-Æ°ºî¤ÏÊѹ¹¤Ë¤Ê¤ê¡¢¸½ºß¤Ç¤Ï¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÁ´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
-.B .SF
-¥Õ¥¡¥¤¥ë¤¬
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.B -internalsf
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°ÊÁ°¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦
-¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë
-¤È¡¢Í±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B -sectionsonly
-¥³¥Þ¥ó¥É¹Ô¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾»þ¤ËÀ¸À®¤µ¤ì¤ë
-.B .SF
-¥Õ¥¡¥¤¥ë (½ð̾¥Õ¥¡¥¤¥ë) ¤Ë¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤ò´Þ¤à¥Ø¥Ã¥À¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢.SF ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¤Î¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤪤è¤Ó¥Ï¥Ã¥·¥å¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö½ð̾ (\f3.SF\f1) ¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RS
+.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 ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú»þ¤Ë¡¢¤Þ¤º¥Ø¥Ã¥ÀÆâ
-¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤È¼ÂºÝ¤Ë°ìÃפ¹¤ë¤«¤É¤¦¤«¤¬³Îǧ
-¤µ¤ì¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃפ¹¤ë¾ì¹ç¡¢¸¡¾Ú¤Ï¼¡¤Î¼ê½ç¤Ë¿Ê¤ß¤Þ¤¹¡£¥Ï¥Ã¥·¥å¤¬°ìÃ×
-¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¸úΨŪ¤Ë¤ÏÎô¤ëÊýË¡¤ò»È¤Ã¤Æ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-.B .SF
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊ󥻥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤¬¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
-Âбþ¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
+デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します。
.LP
-¾ÜºÙ¤Ï¡¢¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+詳細は、「JAR ファイルの検証」を参照してください。
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¹¥È¤ò¹Ô¤¦¾ì¹ç¤Ë¤ÏÊØÍø¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ë¤Ï»ÈÍѤ·¤Ê¤¤¤Ç
-¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢Í±×¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B -protected
-\f2true\fP¡¢\f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP
+.TP 3
+\-protected
+\f2true\fP または \f2false\fP のいずれか。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
.RE
-.TP
-.B \-provider provider_class_name
-¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë (\f2java.security\fP) ¤Î¥ê¥¹¥È¤Ë
-Æþ¤Ã¤Æ¤¤¤Ê¤¤¤È¤¤Ë¡¢°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î
-̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+.RS 3
+.TP 3
+\-provider provider\-class\-name
+サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。
.LP
-\f2\-providerArg\fP \f2ConfigFilePath\fP ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£keytool ¤È jarsigner ¤Ï¥×¥í¥Ð¥¤¥À¤òưŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹ (¤³¤³¤Ç¡¢\f2ConfigFilePath\fP ¤Ï¥È¡¼¥¯¥óÀßÄê¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ç¤¹)¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë PKCS#11 ¥¡¼¥¹¥È¥¢¤ò°ìÍ÷ɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。 keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。
.RS 3
.LP
.nf
\f3
.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
+jarsigner \-keystore NONE \-storetype PKCS11 \\
.fl
- \-providerClass sun.security.pkcs11.SunPKCS11 \\
+ \-providerClass sun.security.pkcs11.SunPKCS11 \\
.fl
- \-providerArg /foo/bar/token.config \\
+ \-providerArg /foo/bar/token.config \\
.fl
\-list
.fl
@@ -1032,81 +1266,62 @@
.fi
.RE
.TP 3
-.B \-providerName providerName
-\f2java.security\fP ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç 2 ¤Ä°Ê¾å¤Î¥×¥í¥Ð¥¤¥À¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-providerName\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤òÁªÂò¤Ç¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-providerName providerName
+\f2java.security\fP セキュリティープロパティーファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前です。
.LP
-Sun PKCS#11 ¥×¥í¥Ð¥¤¥À¤Î¾ì¹ç¡¢\f2providerName\fP ¤Ï \f2SunPKCS11\-\fP\f2TokenName\fP ¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2TokenName\fP ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÀßÄê»þ¤Ë»ÈÍѤ·¤¿Ì¾Á°¤Î¥µ¥Õ¥£¥Ã¥¯¥¹¤Ç¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS
-¤Î
+Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP という形式になります。 ここで「\f2TokenName\fP」は、プロバイダインスタンスが構成された名前の接尾辞です。 詳細は
.na
-¡Ö\f2configuration attributes table\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ì¾Á°¥µ¥Õ¥£¥Ã¥¯¥¹ \f2SmartCard\fP ¤ò»ý¤Ä PKCS#11 ¥¡¼¥¹¥È¥¢¥×¥í¥Ð¥¤¥À¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÍƤò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
+\f2構成属性の表\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSを参照してください。たとえば、以下のコマンドでは、名前接尾辞 \f2SmartCard\fP の PKCS#11 キーストアプロバイダインスタンスの内容をリストします。
.RS 3
.LP
.nf
\f3
.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
+jarsigner \-keystore NONE \-storetype PKCS11 \\
.fl
- \-providerName SunPKCS11\-SmartCard \\
+ \-providerName SunPKCS11\-SmartCard \\
.fl
\-list
.fl
\fP
.fi
.RE
-.TP
-.B \-Jjavaoption
-»ØÄꤷ¤¿
-.I javaoption
-ʸ»úÎó¤òľÀܼ¹Իþ¥·¥¹¥Æ¥à¤ËÅϤ·¤Þ¤¹¡£
-\f3jarsigner\f1 ¤Ï¡¢¼ÂºÝ¤Ë¤Ï Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÂФ¹¤ë¡Ö¥é¥Ã¥Ñ¡¼¡×¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶¤Þ¤¿¤Ï¥á¥â¥ê»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤¤ë¥Õ¥é¥°¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.I java -h
-¤Þ¤¿¤Ï
-.I java -X
-¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-Jjavaoption
+指定された \f2javaoption\fP 文字列を Java インタプリタに直接渡します。(\f3jarsigner\fP は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。
.LP
.TP 3
\-tsa url
-JAR ¥Õ¥¡¥¤¥ë½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ë\f2¡Ö-tsa http://example.tsa.url¡×\fP¤ÈÆþÎϤ·¤¿¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2http://example.tsa.url\fP ¤È¤¤¤¦ URL ¤¬¡¢TSA (Time Stamping Authority) ¤Î¾ì½ê¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f2\-tsacert\fP ¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¸«¤Ä¤«¤Ã¤¿¤É¤Î URL ¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£\f2\-tsa\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+JAR ファイルの署名時にコマンド行に「\f2\-tsa http://example.tsa.url\fP」が表示される場合、署名のタイムスタンプが生成されます。URL \f2http://example.tsa.url\fP は、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプションで検出された URL をオーバーライドします。\f2\-tsa\fP オプションでは、TSA の公開鍵証明書をキーストアに配置する必要はありません。
.LP
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢\f2jarsigner\fP ¤Ï¡¢
-.fi
-http://www.ietf.org/rfc/rfc3161.txt
-¤Î
+タイムスタンプを生成するため、\f2jarsigner\fP は
.na
-¡Ö\f2RFC 3161\fP¡×¤Çµ¬Äꤵ¤ì¤¿ TSP (Time\-Stamp Protocol) ¤ò»È¤Ã¤Æ TSA ¤ÈÄÌ¿®¤·¤Þ¤¹¡£À®¸ù¤¹¤ë¤È¡¢TSA ¤«¤éÊÖ¤µ¤ì¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤¬¡¢½ð̾¤È¤È¤â¤Ë½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+\f2RFC 3161\fP @
+.fi
+http://www.ietf.org/rfc/rfc3161.txt で定義されている TSP (Time\-Stamp Protocol) を使用して TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンは署名ブロックファイルの署名とともに保存されます。
.LP
.TP 3
\-tsacert alias
-JAR ¥Õ¥¡¥¤¥ë½ð̾»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤Ë\f2¡Ö-tsacert alias¡×\fP¤Èɽ¼¨¤µ¤ì¤¿¾ì¹ç¡¢½ð̾¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2alias\fP ¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Ç¸½ºß͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤òÆÃÄꤷ¤Þ¤¹¡£¤½¤Î¥¨¥ó¥È¥ê¤Î¾ÚÌÀ½ñÆâ¤Ç¡¢TSA ¤Î¾ì½ê¤òÆÃÄꤹ¤ë URL ¤ò´Þ¤à Subject Information Access ³ÈÄ¥¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£
+JAR ファイルの署名時にコマンド行に「\f2\-tsacert alias\fP」が表示される場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内の現在有効な TSA の公開鍵証明書を特定します。エントリの証明書で、TSA の場所を特定する URL を含む Subject Information Access 拡張機能が確認されます。
.LP
-\f2\-tsacert\fP ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢TSA ¤Î¸ø³«¸°¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+TSA の公開鍵証明書は、\f2\-tsacert\fP を使った場合、キーストアに配置されている必要があります。
.LP
.TP 3
\-altsigner class
-»ÈÍѤ¹¤ëÂåÂؽð̾µ¡¹½¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤Ï¡¢
-.I com.sun.jarsigner.ContentSigner
-Ãê¾Ý¥¯¥é¥¹¤ò³ÈÄ¥¤¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÆÃÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ï¡¢
-.I \-altsignerpath
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÄêµÁ¤·¤Þ¤¹¡£
-.I \-altsigner
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.I jarsigner
-¤Ï¤½¤Î»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬Ä󶡤¹¤ë½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢
-.I jarsigner
-¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ð̾µ¡¹½¤ò»ÈÍѤ·¤Þ¤¹¡£
+代替署名機構を使用することを指定します。完全修飾クラス名は、\f2com.sun.jarsigner.ContentSigner\fP の abstract クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、\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¤ò»ÈÍѤ·¤Þ¤¹¡£
+たとえば、\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 ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+クラスファイル (クラスファイル名は上記のように \f2\-altsigner\fP オプションで指定される) およびそれが依存する JAR ファイルへのパスを指定します。クラスファイルが JAR ファイル内にある場合、以下の例のように JAR ファイルへのパスが指定されます。
.LP
-ÀäÂХѥ¹¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ëÁêÂХѥ¹¤Î¤¤¤º¤ì¤«¤ò»ØÄê¤Ç¤¤Þ¤¹¡£Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤ò \f2classpathlist\fP ¤Ë´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢Solaris ¾å¤Ç¤Ï¥³¥í¥ó (\f2:\fP)¡¢Windows ¾å¤Ç¤Ï¥»¥ß¥³¥í¥ó (\f2;\fP) ¤ò¤½¤ì¤¾¤ì»È¤Ã¤Æ¥¨¥ó¥È¥ê¤ò¶èÀڤäƤ¯¤À¤µ¤¤¡£¤³¤Î¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+絶対パスまたは現在のディレクトリからの相対パスを指定できます。\f2classpathlist\fP には、複数のパスまたは JAR ファイルを含めることができます。 その場合、各パスまたは JAR ファイルを、Solaris の場合にはコロン (\f2:\fP)、Windows の場合にはセミコロン (\f2;\fP) で区切ります。目的のクラスがすでに検索パス内にある場合は、このオプションは不要です。
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã:
+クラスファイルを含む、JAR ファイルへのパスを指定する例を示します。
.RS 3
.LP
@@ -1115,239 +1330,289 @@
.LP
.RE
.LP
-JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+JAR ファイル名が含まれていることに注意してください。
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ëÎã:
+クラスファイルを含む JAR ファイルへのパスを指定する例を示します。
.RS 3
.LP
\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
.LP
.RE
.LP
-JAR ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+JAR ファイル名は含まれていないことに留意してください。
.RE
+.SH "例"
.LP
-.SH "Îã"
+
.LP
.SS
-JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾
+JAR ファイルの署名
.LP
-.IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
.LP
-.B bundle.jar
-¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤¬ jane ¤Ç¤¢¤ë¥æ¡¼¥¶¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢½ð̾¤òÉÕ¤±¤ë¤È¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢mystore ¤È¤¤¤¦Ì¾Á°¤Ç working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï mypass¡¢
-.I jane
-¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï j638klm ¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Æ sbundle.jar ¤È¤¤¤¦½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+bundle.jar という名前の JAR ファイルがあるとします。 このファイルに、キーストアの別名が jane であるユーザーの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で、C ドライブの working ディレクトリにあり、キーストアのパスワードは mypass、\f2jane\fP の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。
+.LP
.nf
-jarsigner \-keystore "/working/mystore" \-storepass myspass
- -keypass j638klm -signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¾å¤Î¥³¥Þ¥ó¥É¤Ç¤Ï
-.I \-sigfile
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ë
-.B .SF
-¥Õ¥¡¥¤¥ë¤È
-.B .DSA
-¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤Ë´ð¤Å¤¯¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ë¤Ê¤ê¡¢¤½¤ì¤¾¤ì
-.I JANE.SF
-¤È
-.I JANE.DSA
-¤Ë¤Ê¤ê¤Þ¤¹¡£
.LP
-¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤ÇÆþÎϤ¹¤ë¾ì¹ç¤Ï¡¢
-¾å¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¼¡¤Î¤è¤¦¤ËÆþÎϤǤ¤Þ¤¹¡£
+上のコマンドでは \f2\-sigfile\fP オプションが指定されていないため、署名付き JAR ファイルに格納される .SF ファイルと .DSA ファイルの名前は、別名からデフォルト名がつけられます。つまり、\f2JANE.SF\fP と \f2JANE.DSA\fP になります。
.LP
-.ft 3
+.LP
+ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、上のコマンドを短縮して次のように入力できます。
+.LP
.nf
-jarsigner \-keystore /working/mystore
- -signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-keystore /working/mystore
+.fl
+ \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢ (¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B .keystore
-¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥¡¼¥¹¥È¥¢¤Î»ØÄê¤ò
-¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+デフォルトのキーストア (ホームディレクトリ内の .keystore という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を省略できます。
+.LP
.nf
-jarsigner \-signedjar sbundle.jar bundle.jar jane
+\f3
+.fl
+ jarsigner \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+
.LP
-¤Þ¤¿¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ÇÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (
-.I bundle.jar
-) ¤ò¾å½ñ¤¤¹¤ë¾ì¹ç¤Ï¡¢
-.I -signedjar
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤â¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-.ft 3
+また、署名付き JAR ファイルで入力 JAR ファイル (\f2bundle.jar\fP) を上書きする場合は、\f2\-signedjar\fP オプションの指定も省略できます。
+.LP
.nf
-jarsigner bundle.jar jane
+\f3
+.fl
+ jarsigner bundle.jar jane
+.fl
+\fP
.fi
-.ft 1
+.RE
+
.LP
.SS
-½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
+署名付き JAR ファイルの検証
.LP
-.IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.LP
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¡¢½ð̾¤¬Í¸ú¤Ç JAR ¥Õ¥¡¥¤¥ë¤¬
-²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥ÉÎã¤Ç¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner \-verify sbundle.jar
-.fi
-.ft 1
-.LP
-¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jar verified.
-.fi
-.ft 1
-.LP
-¸¡¾Ú¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤è¤ê¿¤¯¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿
-.B jarsigner
-¤Î¼Â¹ÔÎã¤È¤½¤Î½ÐÎÏ·ë²Ì¤Ç¤¹¡£
-.LP
-.ft 3
-.nf
-jarsigner -verify -verbose sbundle.jar
+.RS 3
- 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.
+.LP
+.LP
+次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが改変されていないことを確認するためのコマンド例です。
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-verify sbundle.jar
+.fl
+\fP
.fi
-.ft 1
+
+.LP
+.LP
+検証が成功すると、次のようなメッセージが表示されます。
+.LP
+.nf
+\f3
+.fl
+ jar が検証されました。
+.fl
+\fP
+.fi
+
+.LP
+.LP
+というメッセージが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。
+.LP
+.LP
+\f2\-verbose\fP オプションを使うと、より多くの情報が表示されます。次に示すのは、\f2\-verbose\fP オプションを指定した \f3jarsigner\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
-.IX "jarsigner" "Verification with Certificate Information" "\fLjarsigner\fP \(em JAR signing and verification tool "
-
-¸¡¾Ú»þ¤Ë¡¢
-.I -verify
-¤È
-.I -verbose
-¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ
-.I -certs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ
-¤¹¡£¤³¤ì¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¾ðÊó (X.509 ¾ÚÌÀ½ñ¤Î¾ì¹ç)¡¢¤ª¤è¤Ó¡¢
-JAR ¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤È°ìÃפ¹¤ë¾ì¹ç
-¤Ë¤Ï¡¢³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿½ð̾¼Ô¤Î¥¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-½ÐÎϤµ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+検証時に、\f2\-verify\fP と \f2\-verbose\fP オプションに加えて \f2\-certs\fP オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されます。 これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合には、括弧で囲まれた署名者のキーストア別名が含まれます。次に例を示します。
+.LP
.nf
- jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar
+.fl
- 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
+.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
- X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
- X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
+.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
- s = signature was verified
- m = entry is listed in manifest
- k = at least one certificate was found in keystore
+.fl
+ s = 署名が検証されました。
+.fl
+ m = エントリがマニフェスト内にリストされます。
+.fl
+ k = 1 つ以上の証明書がキーストアで検出されました。
+.fl
-jar verified.
+.fl
+ jar が検証されました。
+.fl
+\fP
.fi
-.ft 1
+
.LP
-½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤º¡¢¾ÚÌÀ½ñ¤Î
-¥¿¥¤¥×¤ÈÊÌ̾¤À¤±¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬ PGP ¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬ bob ¤Î
-¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されません。その場合には、証明書のタイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の場合は、次のように表示されます。
+.LP
.nf
-PGP, (bob)
+\f3
+.fl
+ PGP, (bob)
+.fl
+\fP
.fi
-.ft 1
+
.LP
.SS
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹½ð̾¼Ô¤ò´Þ¤à JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú
+アイデンティティーデータベースの署名者を含む JAR ファイルの検証
.LP
-.IX "jarsigner" "Verification of a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
-JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.1 ¤Î
-.B javakey
-¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ð̾¼Ô¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î
-ÊÌ̾¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¸¡¾Ú¤Î½ÐÎÏ¤Ë¤Ï i ¤È¤¤¤¦µ¹æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤È¥¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤ÎξÊý¤Ë¤è¤Ã¤Æ½ð̾
-¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢k ¤È i ¤ÎξÊý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.I -certs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¤Î¤ËÂФ·¡¢¥¢¥¤¥Ç¥ó¥Æ¥£
-¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+JAR ファイルが、JDK 1.1 の \f3javakey\fP ツールを使って署名されている場合、署名者はアイデンティティーデータベース内の別名です。 この場合、検証の出力には i という記号が含まれます。JAR ファイルが、アイデンティティーデータベース内の別名とキーストア内の別名の両方によって署名されている場合は、k と i の両方が表示されます。
.LP
-.ft 3
+.LP
+\f2\-certs\fP オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティティーデータベース内の別名は角括弧で囲まれて表示されます。例を示します。
+.LP
.nf
-jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
+.fl
- 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
- 199 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.SF
- 1013 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.DSA
-smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
+.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
- X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
- X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
+.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
- s = signature was verified
- m = entry is listed in manifest
- k = at least one certificate was found in keystore
- i = at least one certificate was found in identity scope
+.fl
+ s = 署名が検証されました。
+.fl
+ m = エントリがマニフェスト内にリストされます。
+.fl
+ k = 1 つ以上の証明書がキーストアで検出されました。
+.fl
+ i = 1 つ以上の証明書がアイデンティティースコープで検出されました。
+.fl
-jar verified.
+.fl
+ jar が検証されました。
+.fl
+\fP
.fi
-.ft 1
+
.LP
-ÊÌ̾ duke ¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊÌ̾¤Ï¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ç¤Ï¤Ê¤¯¡¢
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÌ̾¤Ç¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
+.LP
+別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、アイデンティティーデータベースの別名です。
+.LP
+.RE
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
o
-jar ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+jar(1) ツールのドキュメント
.TP 2
o
-keytool ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+keytool(1) ツールのドキュメント
.TP 2
o
-\f3jarsigner\fP ¥Ä¡¼¥ë¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Tutorial¡×
-(http://java.sun.com/docs/books/tutorial/trailmap.html)
-¤Î¡ÖSecurity¡×( http://java.sun.com/docs/books/tutorial/security1.2/index.html)
-¤ò»²¾È
+\f3jarsigner\fP ツールの使用例については、
.na
+\f4「Java Tutorial」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/index.htmlの
+.na
+\f4「Security」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/security/index.htmlを参照
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/java.1 b/jdk/src/solaris/doc/sun/man/man1/ja/java.1
index 32d1791..c33c7a8 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/java.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/java.1
@@ -1,643 +1,437 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH java 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
-.SH "·Á¼°"
-.B java
-[
-.B options
-]
-.B class
-[
-.B argument ...
-]
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH java 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B java
-[
-.B options
-]
-.B \-jar " file.jar"
-.if n .ti +5n
-[
-.B argument ...
-]
+.SH "名前"
+java \- Java アプリケーション起動ツール
.LP
-.TP 15
-.B options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.TP
-.B class
-¸Æ¤Ó½Ð¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¡£
-.TP
-.B file.jar
-¸Æ¤Ó½Ð¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡£É¬¤º
-.I \-jar
-¤ÈƱ»þ¤Ë»ÈÍѤµ¤ì¤ë¡£
-.TP
-.B argument
-.B main
-´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java interpreter" "" "Java interpreter \(em \fLjava\fP"
-.IX "java" "" "\fLjava\fP \(em Java interpreter"
-.LP
-.B java
-¥Ä¡¼¥ë¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£
-.B java
-¥Ä¡¼¥ë¤Ï¡¢Java Runtime Environment ¤òµ¯Æ°¤·¤¿¤¢¤È¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¡¢¤³¤Î¥¯¥é¥¹¤Î
-.B main
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤Þ¤¹¡£
-.LP
-¤³¤Î¥á¥½¥Ã¥É¤Ï
-.B public
-¤ª¤è¤Ó
-.B static
-¤ÇÀë¸À¤µ¤ì¡¢ÃͤòÊÖ¤µ¤º¡¢¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ
-.I String
-ÇÛÎó¤ò»ÈÍѤǤ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥á¥½¥Ã¥ÉÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- public static void main(String args[])
-.fi
-.ft 1
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤¬¡¢¸Æ¤Ó½Ð¤¹¥¯¥é¥¹¤Î̾Á°¤Ë
-¤Ê¤ê¤Þ¤¹¡£¤³¤Î̾Á°¤Ë¤Ï¡¢´°Á´»ØÄê¤Î¥¯¥é¥¹Ì¾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B \-jar
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤ºÇ½é¤Î°ú¿ô¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤à JAR ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢Main-Class ¥Þ¥Ë¥Õ¥§¥¹¥È¥Ø¥Ã¥À¤Ç»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤¬¥¹¥¿¡¼¥È
-¥¢¥Ã¥×¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-Java Runtime ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¡¢¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¡¢
-¤ª¤è¤Ó¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤Î 3 ¤Ä¤Î¾ì½ê¤«¤é¡¢µ¯Æ°¥¯¥é¥¹¤È¤½¤Î¾¤Î
-»ÈÍѤ¹¤ë¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£
-.LP
-¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Î¤¢¤È¤Ë¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤°ú¿ô¤Ï¡¢
-main ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-µ¯Æ°¥³¥Þ¥ó¥É¤Ë¤Ï¡¢¸½ºß¤Î¼Â¹Ô´Ä¶¤ª¤è¤Ó¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë
-ɸ½à¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢²¾ÁÛ¥Þ¥·¥ó¤Î¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢Èóɸ½à¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.SS "ɸ½à¥ª¥×¥·¥ç¥ó"
-.IX "java" "Standard Options" "\fLjava\fP \(em Java interpreter"
-.TP 3
-.LP
-.B \-client
-Java HotSpot Client
-.SM VM\s0
-¤òÁªÂò¤·¤Þ¤¹¡£
-64 ¥Ó¥Ã¥ÈÂбþ JDK ¤Ï¸½»þÅÀ¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵»ë¤·¡¢Âå¤ï¤ê¤Ë Java Hotspot Server VM ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
-¤Î
-.na
-¡Ö\f2Server\-Class Machine Detection\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-server
-Java HotSpot Server
-VM
-¤òÁªÂò¤·¤Þ¤¹¡£
-64 ¥Ó¥Ã¥ÈÂбþ JDK ¾å¤Ç¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Î¤Ï Java Hotspot Server VM ¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢\-server ¥ª¥×¥·¥ç¥ó¤¬°ÅÌÛŪ¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î VM ¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
-¤Î
-.na
-¡Ö\f2Server\-Class Machine Detection\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-agentlib:libname[=options]
-¥Í¥¤¥Æ¥£¥Ö¤Î¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê
-.I libname
-¤òÆɤ߹þ¤ß¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-\-agentlib:hprof
-\-agentlib:jdwp=help
-\-agentlib:hprof=help
-.fi
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
.RE
-.LP
-¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
-¤Î
-.na
-¡Ö\f2JVMTI Agent Command Line Options\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-agentpath:pathname[=options]
-¥Í¥¤¥Æ¥£¥Ö¤Î¥¨¡¼¥¸¥§¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥Õ¥ë¥Ñ¥¹Ì¾¤ò»ÈÍѤ·¤ÆÆɤ߹þ¤ß¤·¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
-¤Î
-.na
-¡Ö\f2JVMTI Agent Command Line Options\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-classpath " classpath"
-.TP
-.B \-cp " classpath"
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP ¥¢¡¼¥«¥¤¥Ö¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î³Æ¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.B \-classpath
-¤Þ¤¿¤Ï
-.B \-cp
-¤ò»ØÄꤹ¤ë¤È¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ
-.SB CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄê¤Ï¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
-.LP
-.B \-classpath
-¤È
-.B \-cp
-¤ò»ÈÍѤ»¤º¡¢
-.SB CLASSPATH
-¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (.) ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
-.br
-.br
-¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê
-.I foo
-¤Ë
-.I a.jar
-¤È
-.I b.JAR
-¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ
-.I foo/*
-¤Ï
-.I A.jar:b.JAR
-¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈ֤ϻØÄꤵ¤ì¤Þ¤»¤ó¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-* ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
-.I CLASSPATH
-´Ä¶ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹¥Ñ¥¹¤Î¥ï¥¤¥ë¥É¥«¡¼¥ÉŸ³«¤Ïɬ¤º¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Îµ¯Æ°Á°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
-.I System.getenv
-("
-.I CLASSPATH
-")
-¸Æ¤Ó½Ð¤·¤Î¤è¤¦¤Ë´Ä¶¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤ï¤Ê¤¤¸Â¤ê¡¢Java ¥×¥í¥°¥é¥à¤¬Å¸³«¤µ¤ì¤Æ¤¤¤Ê¤¤¥ï¥¤¥ë¥É¥«¡¼¥É¤òǧ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.LP
-¥¯¥é¥¹¥Ñ¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-Dproperty=value
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£
-.TP
-.B \-d32
-.TP
-.B \-d64
-¤½¤ì¤¾¤ì 32 ¥Ó¥Ã¥È´Ä¶¡¢64 ¥Ó¥Ã¥È´Ä¶¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£Í׵ᤵ¤ì¤¿´Ä¶¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£
-.LP
-¸½»þÅÀ¤Ç¤Ï¡¢64 ¥Ó¥Ã¥ÈÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ï Java HotSpot Server VM
-¤À¤±¤Ç¤¢¤ê¡¢
-.B \-server
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢
-.B \-d64
-¤¬°ÅÌÛŪ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢\-d64 »ÈÍÑ»þ¤Ë¤Ï¡Ö-client¡×¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.B \-d32
-¤È
-.B \-d64
-¤Î¤É¤Á¤é¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-64 ¥Ó¥Ã¥ÈÀìÍÑ¥·¥¹¥Æ¥à¤ò½ü¤¤¤Æ¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 32 ¥Ó¥Ã¥È´Ä¶¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-¤³¤Î»ÅÍͤϾÍèÊѹ¹¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-\-enableassertions[:<package name>"..." | :<class name> ]
-.TP 3
-\-ea[:<package name>"..." | :<class name> ]
-.LP
-ɽÌÀ¤ò͸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¡¢É½ÌÀ¤Ï̵¸ú¤Ç¤¹¡£
-.sp 1n
-°ú¿ô¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢
-.BR enableassertions
-¤Þ¤¿¤Ï
-.BR \-ea
-¤ÇɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤È¤¤¤¦°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢
-¸½ºß¤Îºî¶ÈÍѥǥ£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î
-ɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤ÎɽÌÀ¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-1 ¹Ô¤Î¥³¥Þ¥ó¥É¤Ë¡¢¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤ÎÊ£¿ô¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬
-´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¤òÆɤ߹þ¤àÁ°¤Ë¡¢Àµ¤·¤¯½èÍý¤µ¤ì¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Ñ¥Ã¥±¡¼¥¸
-.I com.wombat.fruitbat
- (¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸) Æâ¤À¤±¤Î͸ú¤ÊɽÌÀ¤ò
-´Þ¤ó¤À¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.TP
-.BR java -ea:com.wombat.fruitbat... <Main Class>
-.LP
-.BR \-enableassertions
-¤ª¤è¤Ó
-.BR \-ea
-¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹ (¥¯¥é¥¹¥í¡¼¥À¤ò»ý¤¿¤Ê¤¤) ¤ËŬÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£°ú¿ô¤¬¤Ê¤¤·Á¼°¤Î¾ì¹ç¡¢
-¥¹¥¤¥Ã¥Á¤Ï¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£¤³¤ì¤òÍøÍѤ·¤Æ¡¢´Êñ¤Ë¡¢
-¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¸ÄÊ̤Υ¹¥¤¥Ã¥Á¤â
-ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.BR \-enablesystemassertions
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 3
-\-disableassertions[:<package name>"..." | :<class name> ]
-.TP 3
-\-da[:<package name>"..." | :<class name> ]
-.LP
-ɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£
-.sp 1n
-°ú¿ô¤ò»ØÄꤻ¤º¤Ë¡¢
-.BR disableassertions
-¤Þ¤¿¤Ï
-.BR \-da
-¤ÇɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-¡Ö...¡×¤Ç½ª¤ï¤ë°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢
-¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢»ØÄꤷ¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-¡Ö...¡×¤È¤¤¤¦°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢¸½ºß¤Îºî¶ÈÍÑ
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë̾Á°¤Î¤Ê¤¤¥Ñ¥Ã¥±¡¼¥¸Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë
-¤Ê¤ê¤Þ¤¹¡£¡Ö...¡×¤Ç½ª¤ï¤é¤Ê¤¤°ú¿ô¤ò 1 ¤Ä»ØÄꤹ¤ë¤È¡¢¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¡¢
-»ØÄꤷ¤¿¥¯¥é¥¹Æâ¤ÎɽÌÀ¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸
-.I com.wombat.fruitbat
-¤ÎɽÌÀ¤Ï͸ú¤Ë¡¢¥¯¥é¥¹
-.I com.wombat.fruitbat.Brickbat
-¤ÎɽÌÀ¤Ï̵¸ú¤Ë¤·¤Æ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
-java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>
-
-.BR \-disableassertions
-¤ª¤è¤Ó
-.BR \-da
-¥¹¥¤¥Ã¥Á¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥¯¥é¥¹¥í¡¼¥À¤ª¤è¤Ó¥·¥¹¥Æ¥à¥¯¥é¥¹ (¥¯¥é¥¹¥í¡¼¥À¤ò»ý¤¿¤Ê¤¤) ¤ËŬÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Îµ¬Â§¤Ë¤Ï 1 ¤ÄÎã³°¤¬¤¢¤ê¤Þ¤¹¡£
-°ú¿ô¤ò»ý¤¿¤Ê¤¤·Á¼°¤Î¾ì¹ç¡¢¥¹¥¤¥Ã¥Á¤Ï¥·¥¹¥Æ¥à¤ËŬÍѤµ¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤òÍøÍѤ·¤Æ¡¢´Êñ¤Ë¡¢
-¥·¥¹¥Æ¥à¥¯¥é¥¹¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Æâ¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹ÆâÆâ¤ÎɽÌÀ¤ò͸ú¤Ë¤¹¤ë¸ÄÊ̤Υ¹¥¤¥Ã¥Á¤â
-ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.BR \-disablesystemassertions
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BR \-enablesystemassertions
-.TP 3
-\-esa
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò͸ú¤Ë¤·¤Þ¤¹ (¥·¥¹¥Æ¥à¥¯¥é¥¹¤Î
-¥Ç¥Õ¥©¥ë¥È¤ÎɽÌÀ¥¹¥Æ¡¼¥¿¥¹¤ò true ¤ËÀßÄꤷ¤Þ¤¹)¡£
-.TP
-.BR \-disablesystemassertions
-.TP 3
-\-dsa
-¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¥¯¥é¥¹¤ÎɽÌÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-.TP 3
-\-jar
-JAR ¤ÎÃæ¤Ë¥«¥×¥»¥ë²½¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£ºÇ½é¤Î°ú¿ô¤Ï¡¢µ¯Æ°¥¯¥é¥¹¤Î̾Á°¤Ç¤Ï¤Ê¤¯¡¢JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë·Á¼° \f3Main-Class:\f1\f2classname\f1 ¤Î¹Ô¤¬Æþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I classname
-¤Ï¡¢¥æ¡¼¥¶¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»ÏÅÀ¤È¤Ê¤ë
-.I public static void main(String[] args)
-¥á¥½¥Ã¥É¤ò»ý¤Ä¥¯¥é¥¹¤ò¼±Ê̤·¤Þ¤¹¡£
-Jar ¥Õ¥¡¥¤¥ë¤È Jar ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤ò°·¤¦ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢Jar ¥Ä¡¼¥ë¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤È¡¢
-.na
-\f2Java Tutorial\fP
-.fi
-(http://java.sun.com/docs/books/tutorial/jar)
-¤Î Jar ¥È¥ì¡¼¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¥¯¥é¥¹¤Î¥½¡¼¥¹¤È¤Ê¤ë¤¿¤á¡¢Â¾¤Î¥æ¡¼¥¶¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
+.SH "形式"
.LP
-.B "java \-jar"
-¥ª¥×¥·¥ç¥ó¤Ç¼Â¹Ô¤Ç¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.B "java \-jar"
-¤Ê¤·¤Ç¤â¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¡¢¼Â¹Ô¸¢¸Â¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html
-¤Î
-.na
-¡Ö\f2Java Archive (JAR) Files\f¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-javaagent:jarpath[=options]
-Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¨¡¼¥¸¥§¥ó¥È¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html
-¤Î
-¡Ö\f2java.lang.instrument\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.B \-verbose
-.LP
-.TP 3
-\-verbose: class
-¥¯¥é¥¹¤¬Æɤ߹þ¤Þ¤ì¤ë¤¿¤Ó¤Ë¥¯¥é¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-.PD
-.LP
-.TP 3
-\-verbose:gc
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤¿¤Ó¤ËÊó¹ð¤·¤Þ¤¹¡£
-.TP 3
-.B \-verbose:jni
-¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ª¤è¤Ó¤½¤Î¾¤Î Java Native Interface (JNI) ¤Î»ÈÍѤ˴ؤ¹¤ë
-¾ðÊó¤òÊó¹ð¤·¤Þ¤¹¡£
-.TP 3
-.B \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-.B \-version:release
-¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬¡¢\f2release\fP ¤Ç»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤òɬÍפȤ·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£µ¯Æ°¤µ¤ì¤¿ java ¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤Î»ØÄêÆâÍƤòËþ¤¿¤µ¤º¡¢¤«¤ÄŬÀڤʼÂÁõ¤¬¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎŬÀڤʼÂÁõ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.LP
-\f2release\fP ¤Ç¤Ï¡¢ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄê¤Ç¤¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤È¸Æ¤Ð¤ì¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¶õÇò¤Ç¶èÀڤä¿·Á¼°¤Î½ç½øÉÕ¤¥ê¥¹¥È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óÈϰϤϡ¢¥Ð¡¼¥¸¥ç¥ó ID¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤òÉղä·¤¿¤â¤Î¡¢¥Ð¡¼¥¸¥ç¥ó ID ¤Î¸å¤Ë¥×¥é¥¹µ¹æ (+) ¤òÉղä·¤¿¤â¤Î¡¢2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤò¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ç·ë¹ç¤·¤¿¤â¤Î¡¢¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¥×¥ì¥Õ¥£¥Ã¥¯¥¹°ìÃפò¡¢¥×¥é¥¹µ¹æ¤Ï»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó°Ê¾å¤ò¡¢¥¢¥ó¥Ñ¥µ¥ó¥É¤Ï 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈϰϤÎÏÀÍýÀѤò¡¢¤½¤ì¤¾¤ì°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.nf
\f3
.fl
--version:"1.5.0_04 1.5*&1.5.1_02+"
+ \fP\f3java\fP [ options ] class [ argument ... ]
.fl
-\fP
+ \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ]
+.fl
.fi
-¾åµ¤Î°ÕÌ£¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 1.5.0_04¡¢¤Þ¤¿¤Ï 1.5.1_02 °Ê¾å¤Ç 1.5 ¤ò¥Ð¡¼¥¸¥ç¥ó ID ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤È¤·¤Æ»ý¤Ä¥Ð¡¼¥¸¥ç¥ó¡¢¤Î¤¤¤º¤ì¤«¤ò¥¯¥é¥¹¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤¬É¬ÍפȤ¹¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Î¸·Ì©¤Ê¹½Ê¸¤äÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Network Launching Protocol & API Specification (JSR\-56)¡×¤Î¡ÖAppendix A¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+
.LP
-JAR ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ÏÄ̾¥Ð¡¼¥¸¥ç¥óÍ×·ï¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤è¤ê¤â¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤ˴ؤ¹¤ë½ÅÍפʥݥꥷ¡¼¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÃí¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B \-showversion
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ¡¢¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£
-.TP
-.B \-?
-.PD 0
-.TP
-.B \-help
-»ÈÍÑË¡¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.PD
-.TP
-.B \-X
-Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.LP
-.SS "Èóɸ½à¥ª¥×¥·¥ç¥ó"
-.LP
-.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter"
-.LP
-.TP 3
-.B \-Xint
-¥¤¥ó¥¿¥×¥ê¥¿ÀìÍѥ⡼¥É¤ÇÆ°ºî¤·¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï
-̵¸ú¤Ë¤Ê¤ê¡¢¤¹¤Ù¤Æ¤Î¥Ð¥¤¥È¥³¡¼¥É¤¬¥¤¥ó¥¿¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-Java HotSpot VM Ŭ±þ·¿¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤Î
-ÍøÅÀ¤Ï¡¢¤³¤Î¥â¡¼¥É¤Ç¤Ï¼Â¸½¤µ¤ì¤Þ¤»¤ó¡£
-.TP 3
-.B \-Xbatch
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-Ä̾VM ¤Ç¤Ï¥á¥½¥Ã¥É¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-¤³¤Î¤È¤¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢
-¥¤¥ó¥¿¥×¥ê¥¿¥â¡¼¥É¤Ç¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-.B \-Xbatch
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥³¥ó¥Ñ¥¤¥ë¤¬
-̵¸ú¤Ë¤Ê¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤Î¥á¥½¥Ã¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï´°Î»¤¹¤ë¤Þ¤Ç
-¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Î¥¿¥¹¥¯¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath: bootclasspath
-¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤¿¤á¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó ZIP
-¥¢¡¼¥«¥¤¥Ö¤ò¥³¥í¥ó¤Ç¶èÀڤ俥ꥹ¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ë
-¸ºß¤¹¤ë¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢JDK ¤Ë´Þ¤Þ¤ì¤ë
-¥Ö¡¼¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ë»È¤ï¤ì¤Þ¤¹¡£
-Ãí: rt.jar Æâ¤Î¥¯¥é¥¹¤ò¾å½ñ¤¤¹¤ëÌÜŪ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÇÛÈ÷¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-ÇÛÈ÷¤¹¤ë¤È¡¢Java Runtime Environment
-¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath/a:path
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ËÄɲ乤ë¥Ç¥£¥ì¥¯¥È¥ê¡¢
-.SM JAR
-¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó
-.SM ZIP
-¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£
-.TP 3
-.B \-Xbootclasspath/p:path
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲ乤ë
-¥Ç¥£¥ì¥¯¥È¥ê¡¢
-.SM JAR
-¥¢¡¼¥«¥¤¥Ö¡¢¤ª¤è¤Ó
-.SM ZIP
-¥¢¡¼¥«¥¤¥Ö¤Î¥Ñ¥¹¤ò¥³¥í¥ó¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£
-Ãí: ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¡¢
-.B rt.jar
-Æâ¤Î¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É
-¤¹¤ëÌÜŪ¤Ç»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-»ØÄꤹ¤ë¤È¡¢Java Runtime Environment
-¥Ð¥¤¥Ê¥ê¥³¡¼¥É¥é¥¤¥»¥ó¥¹°ãÈ¿¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.B \-Xcheck:jni
-Java Native Interface (JNI) µ¡Ç½¤ËÂФ·¤Æ
-ÄɲåÁ¥§¥Ã¥¯¤ò¼Â¹Ô¤·¤Þ¤¹¡£Æäˡ¢Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Ï
-JNI Í×µá¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢JNI µ¡Ç½¤ËÅϤµ¤ì¤ë
-¥Ñ¥é¥á¡¼¥¿¤ª¤è¤Ó¼Â¹Ô´Ä¶¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Þ¤¹¡£
-̵¸ú¤Ê¥Ç¡¼¥¿¤ò¸¡½Ð¤·¤¿¾ì¹ç¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤Ë
-ÌäÂ꤬¤¢¤ë¤ÈȽÃǤ·¡¢Java ²¾ÁÛ¥Þ¥·¥ó¤Ï
-Ã×̿Ū¤Ê¥¨¥é¡¼¤Ç½ªÎ»¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤·¤Þ¤¹¡£
-.TP 3
-.B \-Xfuture
-¸·Ì©¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤Î¸¡ºº¤ò¼Â¹Ô¤·¤Þ¤¹¡£²¼°Ì¸ß´¹À¤ò°Ý»ý
-¤¹¤ë¤¿¤á¡¢JDK ¤Î Virtual Machine ¤Ç¼Â¹Ô¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î
-·Á¼°¸¡ºº¤Ï¡¢JDK ¥½¥Õ¥È¥¦¥§¥¢¤Î 1.1.x ¥Ð¡¼¥¸¥ç¥ó¤Ç¼Â¹Ô¤µ¤ì¤ë¸¡ºº¤è¤ê¤â
-¸·Ì©¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.B \-Xfuture
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¤ò
-¤è¤ê»ÅÍͤ˽àµò¤·¤¿¤â¤Î¤Ë¤¹¤ë¤¿¤á¤Î¡¢¤µ¤é¤Ë¸·Ì©¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë·Á¼°¸¡ºº¤¬
-͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£³«È¯¼Ô¤¬¿·¤·¤¤¥³¡¼¥É¤ò³«È¯¤¹¤ëºÝ¤Ë¤Ï¡¢¤³¤Î¥Õ¥é¥°¤Î
-»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤Î
-¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤è¤ê¸·Ì©¤Ê¸¡ºº¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¤«¤é¤Ç¤¹¡£
-.TP 3
-.B \-Xnoclassgc
-¥¯¥é¥¹¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥í¡¼¥ÉºÑ¤ß¥¯¥é¥¹¤«¤é¥á¥â¥ê¤¬²óÉü¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ë¤¿¤á¡¢Á´ÂÎŪ¤Ê¥á¥â¥ê»ÈÍÑÎ̤¬ÁýÂ礷¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï OutOfMemoryError ¤¬¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.TP 3
-.BI \-Xincgc
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤ò͸ú¤Ë¤·¤Þ¤¹¡£
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
-̵¸ú¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢Í¸ú¤Ë¤¹¤ë¤È¥×¥í¥°¥é¥à¤Î¼Â¹ÔÃæ¤Î
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤ëÄä»ß¤òËɤ®¤Þ¤¹¡£
-¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ï¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥×¥í¥°¥é¥à¤ÈƱ»þ¤Ë
-¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Æ±»þ¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¡¢¥×¥í¥°¥é¥à¤ÇÍøÍѲÄǽ¤Ê
-¥×¥í¥»¥Ã¥µÇ½ÎϤ¬¸º¾¯¤·¤Þ¤¹¡£
-.TP 3
-.B \-Xloggc:file
-.BR \-verbose:gc
-¤ÈƱÍÍ¡¢³Æ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Ç
-¥ì¥Ý¡¼¥È¤òºîÀ®¤·¡¢¤³¤Î¥Ç¡¼¥¿¤ò
-.I file
-¤ËµÏ¿¤·¤Þ¤¹¡£
-.I \-verbose:gc
-¤Ë¤è¤êÆþ¼ê¤Ç¤¤ë¾ðÊó¤Ë²Ã¤¨¤Æ¡¢¥ì¥Ý¡¼¥È¤µ¤ì¤ë¥¤¥Ù¥ó¥È¤Ë¤Ï
-ºÇ½é¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤«¤é¤Î·Ð²á»þ´Ö (Éÿô) ¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£
-.sp 1
-¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÃÙ±ä¤Ë¤è¤ë JVM ¤ÎÄä»ß¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î
-µ²±°è¤È¤·¤Æ¾ï¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Õ¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ª¤è¤Ó¥í¥®¥ó¥°¤¬ÉÔ´°Á´¤Ê¥Õ¥¡¥¤¥ë
-¤ËÄɲ䵤ì¤ë¾ì¹ç¡¢ÀÚ¤êµÍ¤á¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.I \-verbose:gc
-¤È¤¤¤Ã¤·¤ç¤Ë»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£
-.TP 3
-.B \-Xmsn
-¥á¥â¥ê³ä¤êÅö¤Æ¥×¡¼¥ë¤Î½é´ü¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-»ØÄꤹ¤ëÃͤϡ¢1M ¥Ð¥¤¥È¤è¤ê¤âÂç¤¤Ê 1024 ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ʸ»ú
-.B k
-¤Þ¤¿¤Ï
-.B K
-¤òÉÕ¤±¤ë¤È K ¥Ð¥¤¥È¡¢Ê¸»ú
-.B m
-¤Þ¤¿¤Ï
-.B M
-¤òÉÕ¤±¤ë¤È M ¥Ð¥¤¥È¤òɽ¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖHotSpot Ergonomics¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤
-.br
-Îã:
-.LP
-.RS 5
-.nf
-\-Xms6291456
-\-Xms6144k
-\-Xms6m
-.fi
-.RE
-.TP 3
-.B \-Xmxn
-¥á¥â¥ê³ä¤êÅö¤Æ¥×¡¼¥ë¤ÎºÇÂ祵¥¤¥º¤ò¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤷ¤Þ¤¹¡£
-»ØÄꤹ¤ëÃͤϡ¢2M ¥Ð¥¤¥È¤è¤ê¤âÂç¤¤Ê 1024 ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ʸ»ú
-.B k
-¤Þ¤¿¤Ï
-.B K
-¤òÉÕ¤±¤ë¤È K ¥Ð¥¤¥È¡¢Ê¸»ú
-.B m
-¤Þ¤¿¤Ï
-.B M
-¤òÉÕ¤±¤ë¤È M ¥Ð¥¤¥È¤òɽ¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¼Â¹Ô»þ¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ð¤Å¤¤¤ÆÁªÂò¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖHotSpot Ergonomics¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤
-.br
-Îã:
-.LP
-.RS 5
-.nf
-\-Xmx83886080
-\-Xmx81920k
-\-Xmx80m
-.fi
-.RE
-.LP
-Solaris 7 ¤ª¤è¤Ó Solaris 8 SPARC ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¡¢¤³¤ÎÃͤξå¸Â¤Ï¤ª¤è¤½ 4000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¢¤ê¡¢Solaris 2.6 ¤ª¤è¤Ó x86 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Ï 2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£
-Linux ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¾ì¹ç¤Î¾å¸Â¤Ï¡¢¤ª¤è¤½
-2000m ¤«¤é¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ÎÎ̤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹¡£
-.TP 3
-.BI \-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 ¤Î
-¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤È¤Î´Ö¤Ë´³¾Ä¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê´³¾Ä¤òÈò¤±¤ë¤¿¤á¤Ë¡¢\-Xrs ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤǤ¤Þ¤¹¡£
-Sun ¤Î JVM ¤Ç \-Xrs ¤¬»ÈÍѤµ¤ì¤ë¤È¡¢SIGINT¡¢SIGTERM¡¢SIGHUP¡¢
-¤ª¤è¤Ó SIGQUIT ¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ï JVM ¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤º¡¢
-¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-\-Xrs ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢±Æ¶Á¤¬ 2 ¤Ä¤¢¤ê¤Þ¤¹¡£
.RS 3
-.TP 2
-*
-SIGQUIT ¥¹¥ì¥Ã¥É¥À¥ó¥×¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.TP 2
-*
-¥·¥ã¥Ã¥È¥À¥¦¥ó¥Õ¥Ã¥¯¤Î¼Â¹Ô¤Ï¡¢¥æ¡¼¥¶¥³¡¼¥É¤¬¼õ¤±»ý¤Á¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð JVM ¤¬½ªÎ»¤¹¤ë¤È¤¤Ë System.exit() ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-.TP
-.B \-Xssn
-¥¹¥ì¥Ã¥É¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤òÀßÄꤷ¤Þ¤¹¡£
-.TP
-.BI \-XX:+UseAltSigs
-VM ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç
-.I SIGUSR1
-¤ª¤è¤Ó
-.I SIGUSR2
-¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢
-.I SIGUSR1
-¤ª¤è¤Ó
-.I SIGUSR2
-¤ò¥·¥°¥Ê¥ëÏ¢º¿¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È
-¶¥¹ç¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-.I \-XX:+UseAltSigs
-¥ª¥×¥·¥ç¥ó¤Ï¡¢VM ¤Ë¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ
-.I SIGUSR1
-¤È
-.I SIGUSR2
-°Ê³°¤Î¥·¥°¥Ê¥ë¤ò»ÈÍѤµ¤»¤Þ¤¹¡£
+
.LP
-.SH "Ãí"
+.RS 3
+.TP 3
+options
+コマンド行オプション。
+.TP 3
+class
+呼び出されるクラスの名前
+.TP 3
+file.jar
+呼び出される JAR ファイルの名前。必ず \f2\-jar\fP とともに使用する
+.TP 3
+argument
+\f3main\fP 関数に渡される引数
+.RE
+
+.LP
+.RE
+.SH " 説明"
.LP
.LP
-\f3\-version:\fP\f2release\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¤É¤ó¤Ê¤ËÊ£»¨¤Ë¥ê¥ê¡¼¥¹¤ò»ØÄꤷ¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¸½¼ÂŪ¤Ê¥ê¥ê¡¼¥¹»ØÄê¤Î¸Â¤é¤ì¤¿¥µ¥Ö¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤âŬÀڤʥݥꥷ¡¼¤òɽ¸½¤Ç¤¤ë¤¿¤á¡¢¤½¤ì¤é¤Î¥µ¥Ö¥»¥Ã¥È¤Î¤ß¤¬´°Á´¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤½¤ì¤é¤Î¥Ý¥ê¥·¡¼¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+.LP
+\f3java\fP ツールは、Java アプリケーションを起動します。java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、そのクラスの \f3main\fP メソッドを呼び出すことにより、Java アプリケーションを起動します。
+.LP
+.LP
+このメソッドは、public および static として宣言する必要があります。 また、値を返してはいけません。 さらに、\f2String\fP 配列をパラメータとして指定できなければなりません。メソッドの宣言は、次のようになっていなければなりません。
+.LP
+.nf
+\f3
+.fl
+ public static void main(String args[])
+.fl
+\fP
+.fi
+
+.LP
+.LP
+デフォルトでは、コマンド行オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。\f3\-jar\fP オプションを指定した場合、コマンド行オプション以外の最初の引数が、アプリケーションのクラスファイルとリソースファイルを含む \f3JAR\fP アーカイブの名前になります。 この場合、マニフェストの \f3Main\-Class\fP ヘッダーで指定されたクラスが起動クラスになります。
+.LP
+.LP
+Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、およびユーザークラスパスの 3 箇所から起動クラスと他の使用されているクラスを検索します。
+.LP
+.LP
+クラス名または JAR ファイル名のあとにある、コマンド行オプション以外の引数は、\f3main\fP 関数に渡されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。 これは、将来のリリースで変更される可能性があります。
+.LP
+.SH "標準オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-client
+.LP
+Java HotSpot Client VM を選択します。64 ビット対応 JDK は現時点では、このオプションを無視し、代わりに Java Hotspot Server VM を使用します。
+.LP
+デフォルトの VM の選択については、
+.na
+\f2「サーバー \- クラスマシンの検出」\fP @
+.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 @
+.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 @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。
+.TP 3
+\-agentpath:pathname[=options]
+フルパス名を使用して、ネーティブエージェントライブラリをロードします。詳細については、
+.na
+\f2「JVMTI エージェントのコマンド行オプション」\fP @
+.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 つの呼び出しを区別できない)。
+.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 ビットの操作をサポートしており、\-d64 を使用すると \-server オプションが暗黙的に有効になります。したがって、\-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 <Main Class>
+.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
+すべてのシステムクラス内でアサーションを無効にします。
+.LP
+.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://java.sun.com/docs/books/tutorial/jarの「Trail: Jar Files」を参照してください。
+.LP
+このオプションを使用すると、指定した JAR ファイルがすべてのユーザークラスのソースになり、ユーザークラスパスのほかの設定は無視されます。
+.LP
+Solaris 8 では、「java \-jar」オプションで実行できる JAR ファイルは、実行権限のセットを保持しています。 このため、「java \-jar」を使用しないで実行することも可能です。
+.na
+\f2Java Archive (JAR) ファイル\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/index.htmlを参照してください。
+.TP 3
+\-javaagent:jarpath[=options]
+Java プログラミング言語エージェントをロードします。
+.na
+\f2java.lang.instrument\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html を参照してください。
+.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.5.0_04 1.5*&1.5.1_02+"
+.fl
+\fP
+.fi
+上記の意味は、バージョン 1.5.0_04、または 1.5.1_02 以上で 1.5 をバージョン ID プレフィックスとして持つバージョン、のいずれかをクラスまたは 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
+\-X
+非標準オプションに関する情報を表示して終了します。
+.RE
+
+.LP
+.SS
+非標準オプション
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+\-Xint
+インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。
+.TP 3
+\-Xbatch
+バックグラウンドコンパイルを無効にします。通常、VM では、バックグラウンドコンパイルが終了するまで、メソッドをバックグラウンドタスクとしてコンパイルし、インタプリタモードでメソッドを実行します。\f2\-Xbatch\fP フラグを指定すると、バックグラウンドコンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンドタスクとして処理されます。
+.TP 3
+\-Xbootclasspath:bootclasspath
+ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストで指定します。指定したパスに存在するブートクラスファイルが、Java 2 SDK に含まれるブートクラスファイルの代わりに使用されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java 2 Runtime Environment バイナリコードライセンス違反になります。\fP
+.TP 3
+\-Xbootclasspath/a:path
+ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスのあとに追加されます。
+.TP 3
+\-Xbootclasspath/p:path
+ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスの前に追加されます。\f2注 rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java 2 Runtime Environment バイナリコードライセンス違反になります。\fP
+.TP 3
+\-Xcheck:jni
+Java Native Interface (JNI) 機能に対して追加チェックを行います。具体的には、Java 仮想マシンは JNI 要求を処理する前に、JNI 関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブコードに問題があることを示しているため、Java 仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。
+.TP 3
+\-Xfuture
+クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、Java 2 SDK の仮想マシンが実行するデフォルトの形式チェックは、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 の両方がコマンド行に指定されている場合は、このオプションが優先されます。
+.LP
+.TP 3
+\-Xmsn
+メモリー割り当てプールの初期サイズをバイト数で指定します。指定する値は、1M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。 メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください。
+.br
+例:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ \-Xms6291456
+.fl
+ \-Xms6144k
+.fl
+ \-Xms6m
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-Xmxn
+メモリー割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。 メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください。
+.br
+例:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ \-Xmx83886080
+.fl
+ \-Xmx81920k
+.fl
+ \-Xmx80m
+.fl
+
+.fl
+\fP
+.fi
+.RE
+Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。Linux プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。
+.TP 3
+\-Xprof
+実行中のプログラムのプロファイルを生成し、プロファイリングデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティーとして提供されています。 本番稼動システムでの使用を目的としたものではありません。
+.LP
+.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
+.RE
+.SH "注"
+.LP
+
+.LP
+\f3\-version:\fP\f2release\fP コマンド行オプションでは、どんなに複雑にリリースを指定してもかまいません。ただし、現実的なリリース指定の限られたサブセットを使用するだけでも適切なポリシーを表現できるため、それらのサブセットのみが完全にサポートされます。それらのポリシーを次に示します。
.RS 3
.TP 3
1.
-Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¤³¤ì¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤Çɽ¸½¤Ç¤¤Þ¤¹¡£
+任意のバージョン。 これは、このオプションを使用しないことで表現できます。
.TP 3
2.
-¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+ある特定のバージョン ID よりも大きい任意のバージョン。 次に例を示します。
.nf
\f3
.fl
@@ -646,15 +440,20 @@
\fP
.fi
.LP
-¤³¤Î¾ì¹ç¡¢1.5.0_03 ¤è¤ê¤âÂ礤¤Ç¤°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ÇÆÃÄê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Æ³Æþ¤µ¤ì¤¿ (¤¢¤ë¤¤¤Ï¤½¤Î¥Ð¥°¤¬½¤Àµ¤µ¤ì¤¿) ¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
+この場合、1.5.0_03 よりも大きい任意のバージョンが使用されます。 これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。
.TP 3
3.
-¤¢¤ëÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó ID ¤è¤ê¤âÂ礤¤¥Ð¡¼¥¸¥ç¥ó¡£¤¿¤À¤·¡¢¤½¤Î¥ê¥ê¡¼¥¹¥Õ¥¡¥ß¥ê¤Î¾å¸Â¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ë¤â¤Î¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.TP
+ある特定のバージョン ID よりも大きいバージョン。 ただし、そのリリースファミリの上限によって制限するもの。例を示します。
+.nf
+\f3
+.fl
"1.5.0_03+&1.5*"
+.fl
+\fP
+.fi
.TP 3
4.
-¾å¤Î¹àÌÜ 2 ¤Þ¤¿¤Ï 3 ¤Î¡ÖOR¡×ɽ¸½¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+上の項目 2 または 3 の「OR」表現。例を示します。
.nf
\f3
.fl
@@ -662,48 +461,45 @@
.fl
\fP
.fi
-¤³¤ì¤Ï¹àÌÜ 2 ¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¤¢¤ëÊѹ¹¤¬ÆÃÄê¤Î¥ê¥ê¡¼¥¹ (1.5) ¤ÇƳÆþ¤µ¤ì¤¿¤¬¡¢¤½¤ÎƱ¤¸Êѹ¹¤¬°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤âÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¡¢¤È¤¤¤¦¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
+これは項目 2 に似ていますが、ある変更が特定のリリース (1.5) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。
.RE
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
-*
-javac \- Java ¥×¥í¥°¥é¥à¸À¸ì¥³¥ó¥Ñ¥¤¥é
+o
+javac(1)
.TP 2
-*
-jdb \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Ç¥Ð¥Ã¥¬
+o
+jdb(1)
.TP 2
-*
-javah \- C ¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¥¸¥§¥Í¥ì¡¼¥¿
+o
+javah(1)
.TP 2
-*
-jar \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+o
+jar(1)
.TP 2
-*
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
-¤Î
+o
.na
-¡Ö\f2The Java Extensions Framework\fP¡×
-.TP 2
-*
+\f2「Java 拡張機能フレームワーク」\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/index.html
-¤Î
-.na
-¡Ö\f2Security Features\fP¡×
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.TP 2
-*
-.fi
-http://java.sun.com/docs/hotspot/VMOptions.html
-¤Î
+o
.na
-¡Ö\f2HotSpot VM Specific Options\fP¡×
+\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
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1
index 560309f..fa44aa0 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,15 +18,46 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javac 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+."
+.TH javac 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-javac \- Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥é
+.SH "名前"
+javac \- Java プログラミング言語コンパイラ
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+コマンド行引数ファイル
+.TP 2
+o
+注釈処理
+.TP 2
+o
+型の検索
+.TP 2
+o
+プログラマティックインタフェース
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -42,7 +72,7 @@
.LP
.LP
-°ú¿ô¤Ï½çÉÔƱ¤Ç¤¹¡£
+引数は順不同です。
.LP
.RS 3
@@ -50,61 +80,61 @@
.RS 3
.TP 3
options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
+コマンド行オプション。
.TP 3
sourcefiles
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (MyClass.java ¤Ê¤É)
+コンパイルされる 1 つ以上のソースファイル (MyClass.java など)
.TP 3
classes
-Ãí¼á¤Î½èÍýÂоݤȤʤë 1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹ (MyPackage.MyClass ¤Ê¤É)¡£
+注釈の処理対象となる 1 つ以上のクラス (MyPackage.MyClass など)
.TP 3
@argfiles
-¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
+オプションとソースファイルを列挙した 1 つ以上のファイル。このファイルの中では、\f2\-J\fP オプションは指定できません。
.RE
.LP
.RE
-.SH "µ¡Ç½ÀâÌÀ"
+.SH "説明"
.LP
.LP
.LP
-\f3javac\fP ¥Ä¡¼¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Çµ½Ò¤µ¤ì¤¿¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤òÆɤ߼è¤ê¡¢¥Ð¥¤¥È¥³¡¼¥É¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹Æâ¤ÎÃí¼á¤Î½èÍý¤â¹Ô¤¤¤Þ¤¹¡£
+\f3javac\fP ツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラスファイルにコンパイルします。また、Java ソースファイルおよびクラス内の注釈の処理も行います。
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤ò \f3javac\fP ¤ËÅϤ¹¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
+ソースコードのファイル名を \f3javac\fP に渡すには、次の 2 つの方法があります。
.LP
.RS 3
.TP 2
o
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¥³¥Þ¥ó¥É¹Ô¤ÇľÀÜ»ØÄꤷ¤Þ¤¹¡£
+ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。
.TP 2
o
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤ò¶õÇò¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀڤäơ¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÎóµó¤·¤Þ¤¹¡£¼¡¤Ë¡¢¤³¤Î¥ê¥¹¥È¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Ë \f3@\fP ¤òÉÕ¤±¤Æ¡¢\f3javac\fP ¤Î¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Þ¤¹¡£
+ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。
.RE
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.java\fP ³ÈÄ¥»Ò¤ò¡¢¥¯¥é¥¹¤Î¥Õ¥¡¥¤¥ë̾¤Ï \f2.class\fP ³ÈÄ¥»Ò¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤É¤Á¤é¤â¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤ËÂбþ¤¹¤ë¥ë¡¼¥È̾¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\f2MyClass\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤Ï¡¢\f2MyClass.class\fP ¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ëµ½Ò¤·¤Þ¤¹¡£¤³¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢MyClass.class ¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥¤¥È¥³¡¼¥É¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
+ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。 また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、\f2MyClass\fP という名前のクラスは、\f2MyClass.java\fP という名前のソースファイルに記述します。 このソースファイルは、\f2MyClass.class\fP という名前のバイトコードクラスファイルにコンパイルされます。
.LP
.LP
-ÆâÉô¥¯¥é¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ÄɲäΥ¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢\f2MyClass$MyInnerClass.class\fP ¤Î¤è¤¦¤Ë¡¢³°Éô¥¯¥é¥¹Ì¾¤ÈÆâÉô¥¯¥é¥¹Ì¾¤òÁȤ߹ç¤ï¤»¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
+内部クラスが定義されていると、追加のクラスファイルが生成されます。これらのクラスファイルの名前は、\f2MyClass$MyInnerClass.class\fP のように、外部クラス名と内部クラス名を組み合わせたものになります。
.LP
.LP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò \f3/workspace\fP ¤ËÃÖ¤¤¤Æ¤¤¤ë¾ì¹ç¡¢\f2com.mysoft.mypack.MyClass\fP ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï \f3/workspace/com/mysoft/mypack/MyClass.java\fP ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、\f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÂбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£Ê̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»ÈÍѤ·¤Þ¤¹ (¤³¤Î¤¢¤È¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È)¡£
+デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとのオプションを参照)。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ë¤Ï¡¢¸½ºß¤Î³«È¯´Ä¶¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëɸ½à¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤ÎÈóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Î²¾ÁÛ¥Þ¥·¥ó¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤Ë¸ÇͤΥª¥×¥·¥ç¥ó¤Ç¡¢¾Íè¤ËÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-X\fP ¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£
+コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。
.LP
.SS
-ɸ½à¥ª¥×¥·¥ç¥ó
+標準オプション
.LP
.RS 3
@@ -112,162 +142,162 @@
.RS 3
.TP 3
\-Akey[=value]
-Ãí¼á¥×¥í¥»¥Ã¥µ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£¤³¤ì¤é¤Ï¡¢javac ¤Ë¤è¤Ã¤ÆľÀܲò¼á¤µ¤ì¤º¡¢¸Ä¡¹¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£\f2key\fP ¤Ë¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¼±Ê̻Ҥò¡Ö.¡×¤Ç¶èÀڤ俤â¤Î¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。 \f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。
.TP 3
-\-cp path ¤Þ¤¿¤Ï \-classpath path
-¥æ¡¼¥¶¡¼¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï) Ãí¼á¥×¥í¥»¥Ã¥µ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Ñ¥¹¤Ï \f3CLASSPATH\fP ´Ä¶ÊÑ¿ô¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£\f3CLASSPATH\fP¡¢\f3\-cp\fP¡¢\f3\-classpath\fP ¤Î¤¤¤º¤ì¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
+\-cp path または \-classpath path
+ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、
.na
-¡Ö\f2Setting the Class Path\fP¡×
+\f2「クラスパスの設定」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。
.LP
-\f3\-sourcepath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£
+\f3\-sourcepath\fP オプションが指定されていない場合は、ソースファイルもユーザークラスパスから検索されます。
.LP
-\f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤â¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¸¡º÷¤µ¤ì¤Þ¤¹¡£
+\f3\-processorpath\fP オプションが指定されていない場合は、注釈プロセッサもユーザークラスパスから検索されます。
.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます。
.br
.br
-¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê \f2foo\fP ¤Ë \f2a.jar\fP ¤È \f2b.JAR\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Í×ÁÇ \f2foo/*\fP ¤Ï \f2A.jar:b.JAR\fP ¤ËŸ³«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½çÈÖ¤Ï̤ÄêµÁ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢±£¤·¥Õ¥¡¥¤¥ë¤â´Þ¤á¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f2*\fP ¤À¤±¤«¤éÀ®¤ë¥¯¥é¥¹¥Ñ¥¹¥¨¥ó¥È¥ê¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£\f2CLASSPATH\fP ´Ä¶ÊÑ¿ô¤â¡¢ÄêµÁ»þ¤Ë¤ÏƱÍͤËŸ³«¤µ¤ì¤Þ¤¹¡£\f3Ãí:\fP \ ¥³¥Þ¥ó¥É¹Ô´Ä¶¤Î¹½À®¤Ë¤è¤Ã¤Æ¤Ï¡¢\f2javac \-cp "*.jar" MyClass.java\fP ¤Ê¤É¤Î¤è¤¦¤Ë¡¢¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤ò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
+たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。 ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fPコマンド行環境の構成によっては、\f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。
.TP 3
\-Djava.ext.dirs=directories
-¥¤¥ó¥¹¥È¡¼¥ë·¿³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+インストール型拡張機能の位置をオーバーライドします。
.TP 3
\-Djava.endorsed.dirs=directories
-¾µÇ§¤µ¤ì¤¿É¸½à¥Ñ¥¹¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+承認された標準パスの位置をオーバーライドします。
.TP 3
\-d directory
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤áÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÃÖ¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-d /home/myclasses\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤ë¾ì¹ç¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/myclasses/com/mypackage/MyClass.class\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+クラスファイルの出力先ディレクトリを設定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP はディレクトリを作成しません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。
.LP
-\f3\-d\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3javac\fP ¤Ï³Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ÎÀ¸À®¸µ¤È¤Ê¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。
.LP
-\f3Ãí:\fP \ \f3\-d\fP ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¼«Æ°Åª¤Ë¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£
+\f3注:\fP\f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。
.TP 3
\-deprecation
-¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¤ä¥¯¥é¥¹¤¬¡¢»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤¿¤Ó¤ËÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3javac\fP ¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤¥á¥ó¥Ð¤ä¥¯¥é¥¹¤ò»ÈÍѤޤ¿¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÍ×Ìó¤òɽ¼¨¤·¤Þ¤¹¡£\f3\-deprecation\fP ¤Ï \f3\-Xlint:deprecation\fP ¤Î¾Êάɽµ¤Ç¤¹¡£
+推奨されないメンバーやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバーやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。
.TP 3
\-encoding encoding
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ (\f2EUC\-JP ¤ä UTF\-8\fP ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£\f3\-encoding\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£
+ソースファイルのエンコーディング名 (\f2EUC\-JP\fP や \f2UTF\-8\fP など) を指定します。\f3\-encoding\fP が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。
.TP 3
\-g
-¶É½êÊÑ¿ô¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¹ÔÈֹ椪¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾ðÊó¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
+局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソースファイル情報だけが生成されます。
.TP 3
\-g:none
-¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤·¤Þ¤»¤ó¡£
+デバッグ情報を生成しません。
.TP 3
\-g:{keyword list}
-¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥¡¼¥ï¡¼¥É¥ê¥¹¥È¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¡¢ÆÃÄê¤Î¼ïÎà¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤Î¥¡¼¥ï¡¼¥É¤¬Í¸ú¤Ç¤¹¡£
+コンマで区切られたキーワードリストにより指定された、特定の種類のデバッグ情報だけを生成します。次のキーワードが有効です。
.RS 3
.TP 3
source
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+ソースファイルのデバッグ情報
.TP 3
lines
-¹ÔÈÖ¹æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+行番号のデバッグ情報
.TP 3
vars
-¶É½êÊÑ¿ô¤Î¥Ç¥Ð¥Ã¥°¾ðÊó
+局所変数のデバッグ情報
.RE
.TP 3
\-help
-ɸ½à¥ª¥×¥·¥ç¥ó¤Î·Á¼°¤òɽ¼¨¤·¤Þ¤¹¡£
+標準オプションの形式を表示します。
.TP 3
\-implicit:{class,none}
-°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÀ©¸æ¤·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:class\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢\f3\-implicit:none\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¤ËÃí¼á½èÍý¤â¼Â¹Ô¤µ¤ì¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤«¤é·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢·Ù¹ð¤Ïȯ¹Ô¤µ¤ì¤Þ¤»¤ó¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+暗黙的にロードされたソースファイルに対するクラスファイルの生成を制御します。クラスファイルを自動生成するには、\f3\-implicit:class\fP を使用します。クラスファイルの生成を抑制するには、\f3\-implicit:none\fP を使用します。 このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。 このオプションが明示的に設定された場合には、警告は発行されません。 「型の検索」を参照してください。
.TP 3
\-nowarn
-·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï \f3\-Xlint:none\fP ¤ÈƱ¤¸°ÕÌ£¤Ç¤¹¡£
+警告メッセージを無効にします。これは \f3\-Xlint:none\fP と同じ意味です。
.TP 3
\-proc: {none,only}
-Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¤½¤ÎξÊý¡¢¤Î¤¤¤º¤ì¤ò¼Â¹Ô¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£\f3\-proc:none\fP ¤Ï¡¢Ãí¼á½èÍý¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\f3\-proc:only\fP ¤Ï¡¢Ãí¼á½èÍý¤À¤±¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¤Þ¤Ã¤¿¤¯¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+注釈処理、コンパイル、その両方、のいずれを実行するかを制御します。\f3\-proc:none\fP は、注釈処理なしでコンパイルが実行されることを意味します。\f3\-proc:only\fP は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。
.TP 3
\-processor class1[,class2,class3...]
-¼Â¹Ô¤¹¤ëÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¡º÷½èÍý¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£
+実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。
.TP 3
\-processorpath path
-Ãí¼á¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¹¥Ñ¥¹Æâ¤Ç¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+注釈プロセッサの検索場所を指定します。 このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。
.TP 3
\-s dir
-À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼÀè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3javac\fP ¤ÏºîÀ®¤·¤Þ¤»¤ó¡£¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë³ÊǼ¤·¤Þ¤¹¡£¤½¤ÎºÝ¡¢É¬Íפ˱þ¤¸¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶¡¼¤¬ \f3\-s /home/mysrc\fP ¤È»ØÄꤷ¡¢¥¯¥é¥¹¤Î̾Á°¤¬ \f2com.mypackage.MyClass\fP ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï \f2/home/mysrc/com/mypackage/MyClass.java\fP Æâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。 その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。
.TP 3
\-source release
-¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤¤Þ¤¹¡£
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
.RS 3
.TP 3
1.3
-¤³¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢ÈÆÍѵ¡Ç½¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È\f2¤·¤Þ¤»¤ó\fP¡£
+このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。
.TP 3
1.4
-JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
+JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
.TP 3
1.5
-JDK 5 ¤ÇƳÆþ¤µ¤ì¤¿ÈÆÍѵ¡Ç½¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
+JDK 5 で導入された総称および他の言語機能を含んだコードを受け付けます。
.TP 3
5
-1.5 ¤ÈƱµÁ¤Ç¤¹¡£
+1.5 と同義です。
.TP 3
1.6
-¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£Java SE 6 ¤Ç¤Ï¸À¸ì¤ËÂФ¹¤ëÊѹ¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¥¨¥é¡¼¤¬¡¢°ÊÁ°¤Î¤è¤¦¤Ê¡Ö·Ù¹ð¡×¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥¨¥é¡¼¡×¤È¤·¤ÆÊó¹ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
+これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。
.TP 3
6
-1.6 ¤ÈƱµÁ¤Ç¤¹¡£
+1.6 と同義です。
.RE
.TP 3
\-sourcepath sourcepath
-¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ¤ò¸¡º÷¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥½¡¼¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£ ¥½¡¼¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥í¡¼¥«¥ë¥Ñ¥¹Ì¾¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÈ¿±Ç¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。
.LP
-\f3Ãí:\fP \ ¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¤À¤±¤Ç¤Ê¤¯¤½¤Î¥½¡¼¥¹¤â¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥¯¥é¥¹¤Ï¼«Æ°ºÆ¥³¥ó¥Ñ¥¤¥ë¤ÎÂоݤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP\ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。
.TP 3
\-verbose
-¾ÜºÙ¤Ê½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¥í¡¼¥É¤µ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Î¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+詳細な出力を表示します。ロードされるクラスおよびコンパイルされるソースファイルごとの情報が出力されます。
.TP 3
\-X
-Èóɸ½à¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+非標準オプションに関する情報を表示して終了します。
.RE
.LP
.RE
.SS
-¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó
+クロスコンパイルオプション
.LP
.RS 3
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢\f3javac\fP ¤¬ÅºÉÕ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f3javac\fP ¤Ï¡¢°Û¤Ê¤ë Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¼ÂÁõ¤µ¤ì¤¿¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ª¤è¤Ó³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¡Ö\f2¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë\fP¡×¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤¦¤³¤È¤¬½ÅÍפǤ¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+デフォルトでは、クラスのコンパイルは、\f3javac\fP が添付されているプラットフォームのブートストラップクラスおよび拡張機能クラスに対して行われます。ただし、\f3javac\fP は、異なる Java プラットフォームに実装されたブートストラップクラスおよび拡張機能クラスに対してコンパイルを行う「クロスコンパイル」もサポートしています。クロスコンパイルを行う場合は、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使うことが重要です。 このあとの「クロスコンパイルの例」を参照してください。
.LP
.RS 3
.TP 3
\-target version
-»ØÄꤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤¿¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÆ°ºî¤·¤Þ¤¹¤¬¡¢¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î VM ¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£Í¸ú¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¢\f31.1\fP¡¢\f31.2\fP¡¢\f31.3\fP¡¢\f31.4\fP¡¢\f31.5\fP (\f35\fP ¤â²Ä)¡¢¤ª¤è¤Ó \f31.6\fP (\f36\fP ¤â²Ä) ¤Ç¤¹¡£
+指定されたバージョンの VM をターゲットにしたクラスファイルを生成します。このクラスファイルは、指定されたターゲット以降のバージョンでは動作しますが、それより前のバージョンの VM では動作しません。有効なターゲットは、\f31.1\fP、\f31.2\fP、\f31.3\fP、\f31.4\fP、\f31.5\fP (\f35\fP も可)、および \f31.6\fP (\f36\fP も可) です。
.LP
-\f3\-target\fP ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f3\-source\fP ¤ÎÃͤˤè¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£
+\f3\-target\fP のデフォルトは、次のように \f3\-source\fP の値によって決まります。
.RS 3
.TP 2
o
-\-source ¤¬\f3»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿\fP¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.6\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。
.TP 2
o
-\-source ¤¬ \f31.2\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f31.2\fP の場合、\-target の値は \f31.4\fP になります。
.TP 2
o
-\-source ¤¬ \f31.3\fP ¤Î¾ì¹ç¡¢\-target ¤ÎÃÍ¤Ï \f31.4\fP ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\-source が\f31.3\fP の場合、\-target の値は \f31.4\fP になります。
.TP 2
o
-\-source ¤¬\f3¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤Ï¤¹¤Ù¤Æ\fP¡¢\-target ¤ÎÃÍ¤Ï \f3\-source\fP ¤ÎÃͤˤʤê¤Þ¤¹¡£
+\-source が\f3それ以外の値の場合はすべて\fP、\\\-target の値は \f3\-source\fP の値になります。
.RE
.TP 3
\-bootclasspath bootclasspath
-»ØÄꤵ¤ì¤¿°ìÏ¢¤Î¥Ö¡¼¥È¥¯¥é¥¹¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ÈƱÍͤˡ¢¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤ÎÊ£¿ô¤Î¥¨¥ó¥È¥ê¤Ï¥³¥í¥ó (\f3:\fP) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢JAR ¥¢¡¼¥«¥¤¥Ö¡¢¤Þ¤¿¤Ï ZIP ¥¢¡¼¥«¥¤¥Ö¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。
.TP 3
\-extdirs directories
-»ØÄꤵ¤ì¤¿³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£\f2directories\fP ¤Ë¤Ï¡¢¥³¥í¥ó¤Ç¶èÀڤ俥ǥ£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³Æ JAR ¥¢¡¼¥«¥¤¥Ö¤«¤é¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£
+指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。
.RE
.LP
.RE
.SS
-Èóɸ½à¥ª¥×¥·¥ç¥ó
+非標準オプション
.LP
.RS 3
@@ -275,37 +305,37 @@
.RS 3
.TP 3
\-Xbootclasspath/p:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤ÎÁ°¤ËÄɲä·¤Þ¤¹¡£
+ブートストラップクラスパスの前に追加します。
.TP 3
\-Xbootclasspath/a:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Ñ¥¹¤Î¸å¤í¤ËÄɲä·¤Þ¤¹¡£
+ブートストラップクラスパスの後ろに追加します。
.TP 3
\-Xbootclasspath/:path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+ブートストラップクラスファイルの位置をオーバーライドします。
.TP 3
\-Xlint
-¿ä¾©¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò͸ú¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î·Ù¹ð¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。
.TP 3
\-Xlint:none
-Java ¸À¸ì»ÅÍͤǤϻØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î·Ù¹ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
+Java 言語仕様では指定されていないすべての警告を無効にします。
.TP 3
\-Xlint:\-name
-·Ù¹ð \f2name\fP ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢\f2name\fP ¤Ï¡¢\f3\-Xlint:\fP\f2name\fP ¤Ë»ÈÍѤǤ¤ë·Ù¹ð̾¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î·Ù¹ð̾¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+警告 \f2name\fP を無効にします。 ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。 この警告名は次のとおりです。
.TP 3
\-Xlint:unchecked
-Java ¸À¸ì»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ë̤¸¡ººÊÑ´¹·Ù¹ð¤Î¾ÜºÙ¤ò¼¨¤·¤Þ¤¹¡£
+Java 言語仕様で指定されている未検査変換警告の詳細を示します。
.TP 3
\-Xlint:path
-¸ºß¤·¤Ê¤¤¥Ñ¥¹ (classpath¡¢sourcepath ¤Ê¤É) ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£
+存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。
.TP 3
\-Xlint:serial
-\f2serialVersionUID\fP ÄêµÁ¤¬Ä¾Îó²½²Äǽ¥¯¥é¥¹¤Ë¤Ê¤¤¤³¤È¤ò·Ù¹ð¤·¤Þ¤¹¡£
+\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。
.TP 3
\-Xlint:finally
-Àµ¾ï¤Ë´°Î»¤Ç¤¤Ê¤¤ \f2finally\fP Àá¤Ë¤Ä¤¤¤Æ·Ù¹ð¤·¤Þ¤¹¡£
+正常に完了できない \f2finally\fP 節について警告します。
.TP 3
\-Xlint:fallthrough
-fall\-through ¥±¡¼¥¹¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯¤ò¥Á¥§¥Ã¥¯¤·¡¢¸¡½Ð¤µ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£fall\-through ¥±¡¼¥¹¤Ï¡¢\f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤ÎºÇ¸å¤Î¥±¡¼¥¹¤ò½ü¤¯¥±¡¼¥¹¤Ç¤¹¡£¤³¤Î¥³¡¼¥É¤Ë¤Ï \f2break\fP ʸ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£¥³¡¼¥É¤Î¼Â¹Ô¤ò¤½¤Î¥±¡¼¥¹¤«¤é¼¡¤Î¥±¡¼¥¹¤Ø°ÜÆ°¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î \f2switch\fP ¥Ö¥í¥Ã¥¯Æâ¤Î \f2case 1\fP ¥é¥Ù¥ë¤Ë³¤¯¥³¡¼¥É¤Ï¡¢\f2break\fP ʸ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
+fall\-through ケースの \f2switch\fP ブロックをチェックし、検出されたものに対して警告メッセージを表示します。Fall\-through ケースは、\f2switch\fP ブロック内の最後のケースを除くケースです。 このコードには \f2break\fP 文は含まれません。 コードの実行をそのケースから次のケースへ移動します。たとえば、この \f2switch\fP ブロック内の \f2case 1\fP ラベルに続くコードは、\f2break\fP 文で終わっていません。
.RS 3
.LP
@@ -331,34 +361,34 @@
\fP
.fi
.RE
-¤³¤Î¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë \f2\-Xlint:fallthrough\fP ¥Õ¥é¥°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï Åö³º¥±¡¼¥¹¤Î¹ÔÈÖ¹æ¤È¤È¤â¤Ë¡¢fall\-through ¥±¡¼¥¹¤Î²ÄǽÀ¤¬¤¢¤ë¤³¤È¤ò¼¨¤¹·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£
+このコードのコンパイル時に \f2\-Xlint:fallthrough\fP フラグが使用されていた場合、コンパイラは 当該ケースの行番号とともに、fall\-through ケースの可能性があることを示す警告を発行します。
.TP 3
-\-Xmaxerrors number
-°õºþ¤¹¤ë¥¨¥é¡¼¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£
+\-Xmaxerrs number
+印刷するエラーの最大数を設定します。
.TP 3
\-Xmaxwarns number
-°õºþ¤¹¤ë·Ù¹ð¤ÎºÇÂç¿ô¤òÀßÄꤷ¤Þ¤¹¡£
+印刷する警告の最大数を設定します。
.TP 3
\-Xstdout filename
-¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÁ÷¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¥á¥Ã¥»¡¼¥¸¤Ï \f2System.err\fP ¤ËÁ÷¤é¤ì¤Þ¤¹¡£
+コンパイラのメッセージを、指定されたファイルに送ります。デフォルトでは、コンパイラのメッセージは \f2System.err\fP に送られます。
.TP 3
\-Xprefer:{newer,source}
-¤¢¤ë·¿¤ËÂФ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤ë¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£\f2\-Xprefer:newer\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤¢¤ë·¿¤ËÂФ¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤¬Æɤ߼è¤é¤ì¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£\f2\-Xprefer:source\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Æɤ߼è¤é¤ì¤Þ¤¹¡£\f2SOURCE\fP ¤ÎÊݸ¥Ý¥ê¥·¡¼¤ò»È¤Ã¤ÆÀë¸À¤µ¤ì¤¿Ãí¼á¤ËǤ°Õ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤¬¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢\f2\-Xprefer:source\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fPオプションを使用した場合、ソースファイルが読み取られます。\f2SOURCE\fP の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにしたい場合は、\f2\-Xprefer:source\fPを使用してください。
.TP 3
\-Xprint
-»ØÄꤵ¤ì¤¿·¿¤Î¥Æ¥¥¹¥Èɽ¸½¤ò¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç½ÐÎϤ·¤Þ¤¹¡£Ãí¼á½èÍý¡¢¥³¥ó¥Ñ¥¤¥ë¤Î¤É¤Á¤é¤â¼Â¹Ô¤·¤Þ¤»¤ó¡£½ÐÎÏ·Á¼°¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+指定された型のテキスト表現をデバッグ目的で出力します。 注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。
.TP 3
\-XprintProcessorInfo
-¤¢¤ëÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤¬½èÍý¤ò°ÍÍꤵ¤ì¤Æ¤¤¤ëÃí¼á¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
+ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。
.TP 3
\-XprintRounds
-½é²ó¤ª¤è¤Ó¸å³¤ÎÃí¼á½èÍý¥é¥¦¥ó¥É¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
+初回および後続の注釈処理ラウンドに関する情報を出力します。
.RE
.LP
.RE
.SS
-\-J ¥ª¥×¥·¥ç¥ó
+\-J オプション
.LP
.RS 3
@@ -366,34 +396,34 @@
.RS 3
.TP 3
\-Joption
-\f3javac\fP ¤¬¸Æ¤Ó½Ð¤¹ \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤Ë¡¢\f2option\fP ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È»ØÄꤹ¤ë¤È¡¢¥¹¥¿¡¼¥È¥¢¥Ã¥×¥á¥â¥ê¤Ï 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï \f3\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢\f3javac\fP ¤Î¡Öɸ½à¥ª¥×¥·¥ç¥ó¡×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¡¢Java ¤Çµ½Ò¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÇظå¤Î VM ¤Ë¥ª¥×¥·¥ç¥óÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。このオプションは \f3\-X\fP で始まっていませんが、\f3javac\fP の「標準オプション」ではありません。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
.LP
-\f3Ãí:\fP \ \f3CLASSPATH\fP¡¢\f3\-classpath\fP¡¢\f3\-bootclasspath\fP¡¢¤ª¤è¤Ó \f3\-extdirs\fP ¤Ï¡¢\f3javac\fP ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¥¯¥é¥¹¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï\f2¤¢¤ê¤Þ¤»¤ó\fP¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¤òÁàºî¤¹¤ë¤³¤È¤Ï¡¢Ä̾ï¤Ï̵°ÕÌ£¤Ç¤¢¤ê¡¢¾ï¤Ë´í¸±¤òȼ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÊýË¡¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢\f3\-J\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢É¬Íפʥª¥×¥·¥ç¥ó¤òÇظå¤Î \f3java\fP µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP \ \f3CLASSPATH\fP、\f3\-classpath\fP、\f3\-bootclasspath\fP、および \f3\-extdirs\fP は、\f3javac\fP を実行するために使うクラスを指定するものではありません。このような方法でコンパイラの実装を操作することは、通常は無意味であり、常に危険を伴います。このような方法を使う必要がある場合は、\f3\-J\fP オプションを使って、必要なオプションを背後の \f3java\fP 起動ツールに渡してください。
.RE
.LP
.RE
-.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
+.SH "コマンド行引数ファイル"
.LP
.LP
.LP
-javac ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢\f2javac\fP ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤ò»È¤¦¤È¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î javac ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤¹¡£
+\f2javac\fP のコマンド行を短くしたり簡潔にしたりするために、\f2javac\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¤Î¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ½Ò¤Ç¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£
+引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢\f2*.java\fP ¤È¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
+引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
.LP
.LP
-javac ¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£javac ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£
+javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
.LP
.SS
-Îã \- °ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄê
+引数ファイルを 1 つ指定する例
.LP
.LP
-\f2argfile\fP ¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤¹¤Ù¤Æ¤Î javac °ú¿ô¤ò³ÊǼ¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。
.LP
.nf
\f3
@@ -406,16 +436,16 @@
.LP
.LP
-¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
.LP
.SS
-Îã \- °ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄê
+引数ファイルを 2 つ指定する例
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢javac ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍÑ¤Ë 1 ¥Õ¥¡¥¤¥ë¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
+たとえば、javac オプション用に 1 ファイル、ソースファイル名用に 1 ファイルというように、2 つの引数ファイルを作成することもできます。なお、このあとのリストでは、行の継続文字を使用していません。
.LP
.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à \f2options\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
+以下の内容を含む \f2options\fP という名前のファイルを作成します。
.LP
.nf
\f3
@@ -433,7 +463,7 @@
.LP
.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à \f2classes\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
+以下の内容を含む \f2classes\fP という名前のファイルを作成します。
.LP
.nf
\f3
@@ -451,7 +481,7 @@
.LP
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ \f3javac\fP ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+次のコマンドを使用して \f3javac\fP を実行します。
.LP
.nf
\f3
@@ -464,10 +494,10 @@
.LP
.SS
-Îã \- ¥Ñ¥¹ÉÕ¤¤Î°ú¿ô¥Õ¥¡¥¤¥ë
+パス付きの引数ファイルの例
.LP
.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢\f2path1\fP ¤ä \f2path2\fP ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
.LP
.nf
\f3
@@ -479,81 +509,85 @@
.fi
.LP
-.SH "Ãí¼á½èÍý"
+.SH "注釈処理"
.LP
.LP
.LP
-\f3javac\fP ¤¬Ãí¼á½èÍý¤òľÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¿¤á¡¢ÆÈΩ¤·¤¿Ãí¼á½èÍý¥Ä¡¼¥ë¤Ç¤¢¤ë \f3apt\fP ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£
+\f3javac\fP が注釈処理を直接サポートしているため、独立した注釈処理ツールである \f3apt\fP を使用する必要がなくなりました。
.LP
.LP
-Ãí¼á½èÍý¤Î API ¤Ï¡¢\f2javax.annotation.processing\fP ¤ª¤è¤Ó \f2javax.lang.model\fP ¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+注釈処理の API は、\f2javax.annotation.processing\fP および \f2javax.lang.model\fP パッケージとそのサブパッケージ内に定義されています。
.LP
.SS
-Ãí¼á½èÍý¤Î³µÍ×
+注釈処理の概要
.LP
.LP
-\f3\-proc:none\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÃí¼á½èÍý¤¬Ìµ¸ú²½¤µ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï»ÈÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤ò¸¡º÷¤·¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤Ï \f3\-processorpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄê¤Ç¤¤Þ¤¹¡£¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤Ï¡¢¸¡º÷¥Ñ¥¹¾å¤Î \f2META_INF/services/javax.annotation.processing.Processor\fP ¤È¤¤¤¦Ì¾Á°¤Î¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤ÎÃí¼á¥×¥í¥»¥Ã¥µ¤Î̾Á°¤ò¡¢1 ¹Ô¤Ë 1 ¤Ä¤º¤Ä´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê̤ÎÊýË¡¤È¤·¤Æ¡¢\f3\-processor\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥×¥í¥»¥Ã¥µ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3\-proc:none\fP オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。 検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の
+.br
+\f2\ META\-INF/services/javax.annotation.processing.Processor\fP
+.br
+という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ä¥¯¥é¥¹¤òÁöºº¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤ÊÃí¼á¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤ò³Îǧ¤·½ª¤ï¤ë¤È¡¢¥×¥í¥»¥Ã¥µ¤ËÂФ·¤ÆÌ䤤¹ç¤ï¤»¤ò¹Ô¤¤¡¢¤½¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤¬¤É¤ÎÃí¼á¤ò½èÍý¤Ç¤¤ë¤Î¤«¤ò³Îǧ¤·¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥Ã¥µ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£³Æ¥×¥í¥»¥Ã¥µ¤Ï¡¢¼«¿È¤¬½èÍý¤¹¤ëÃí¼á¤ò¡ÖÍ×µá¡×¤Ç¤¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¡¢¤½¤ì¤é¤ÎÃí¼á¤ËÂФ¹¤ëÊÌ¤Î¥×¥í¥»¥Ã¥µ¤ò¸«¤Ä¤±¤ë»î¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤¹¤Ù¤Æ¤ÎÃí¼á¤¬Í׵ᤵ¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ì°Ê¾å¥×¥í¥»¥Ã¥µ¤Î¸¡º÷¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。
.LP
.LP
-¤¤¤º¤ì¤«¤Î¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤È¡¢Ãí¼á½èÍý¤Î 2 ²óÌܤΥ饦¥ó¥É¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¿·¤·¤¯À¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Áöºº¤µ¤ì¡¢Á°²ó¤ÈƱÍͤËÃí¼á¤¬½èÍý¤µ¤ì¤Þ¤¹¡£°ÊÁ°¤Î¥é¥¦¥ó¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Ï¤¹¤Ù¤Æ¡¢¸å³¤Î¤É¤Î¥é¥¦¥ó¥É¤Ç¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬¡¢¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¯¤Ê¤ë¤Þ¤Ç³¤¤Þ¤¹¡£
+いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。
.LP
.LP
-¤¢¤ë¥é¥¦¥ó¥É¤Ç¿·¤·¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ãí¼á¥×¥í¥»¥Ã¥µ¤¬¤¢¤È 1 ²ó¤À¤±¸Æ¤Ó½Ð¤µ¤ì¡¢É¬ÍפʽèÍý¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢\f3\-proc:only\fP ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤¤¤«¤®¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¸µ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。 最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。
.LP
.SS
-°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë
+暗黙的にロードされたソースファイル
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Ê̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò°ÅÌÛŪ¤Ë¥í¡¼¥É¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹ (¡Ö·¿¤Î¸¡º÷¡×¤ò»²¾È)¡£¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢¸½»þÅÀ¤Ç¤ÏÃí¼á½èÍý¤ÎÂоݤˤʤê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ãí¼á½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢¤«¤Ä°ÅÌÛŪ¤Ë¥í¡¼¥É¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ 1 ¤Ä¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤òȯ¹Ô¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-implicit ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。
.LP
-.SH "·¿¤Î¸¡º÷"
+.SH "型の検索"
.LP
.LP
.LP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë·¿¤ÎÄêµÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¡¢¥³¥ó¥Ñ¥¤¥é¤ÏÄ̾¤½¤Î·¿¤Ë´Ø¤¹¤ë¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¡¢·¿¤Î¾ðÊó¤òɬÍפȤ·¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ë¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢·Ñ¾µ¤òÄ̤¸¤Æ¾ðÊó¤òÄ󶡤¹¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â´Þ¤Þ¤ì¤Þ¤¹¡£
+ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢\f3java.applet.Applet\fP ¤ò¥µ¥Ö¥¯¥é¥¹¤Ë¤·¤¿¾ì¹ç¡¢¥¢¥×¥ì¥Ã¥È¤ÎÁÄÀè¤Î¥¯¥é¥¹ (\f3java.awt.Panel\fP¡¢\f3java.awt.Container\fP¡¢\f3java.awt.Component\fP¡¢\f3java.lang.Object\fP) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+たとえば、\f3java.applet.Applet\fP をサブクラスにした場合、\f3アプレットの\fP祖先のクラス(\f3java.awt.Panel\fP、\f3java.awt.Container\fP、\f3java.awt.Component\fP、\f3java.lang.Object\fP)を使用していることになります。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢·¿¤Î¾ðÊó¤¬É¬Íפˤʤë¤È¡¢¤½¤Î·¿¤òÄêµÁ¤·¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£¤Þ¤º¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤È³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò¸¡º÷¤·¡¢Â³¤¤¤Æ¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹ (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê) ¤ò¸¡º÷¤·¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ï¡¢\f3CLASSPATH\fP ´Ä¶ÊÑ¿ô¤òÀßÄꤷ¤ÆÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï \f3\-classpath\fP ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÀßÄꤷ¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
+コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、
.na
-¡Ö\f2Setting the Class Path\fP¡×
+\f2「クラスパスの設定」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathを参照してください。
.LP
.LP
-\-sourcepath ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤«¤é¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤ò¸¡º÷¤·¤Þ¤¹¡£
+\-sourcepath オプションが指定されている場合、コンパイラは、指定されたパスからソースファイルを検索します。 それ以外の場合は、ユーザークラスパスからクラスファイルとソースファイルの両方を検索します。
.LP
.LP
-\f3\-bootclasspath\fP ¥ª¥×¥·¥ç¥ó¤È \f3\-extdirs\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê̤Υ֡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ä³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤³¤Î¤¢¤È¤Î¡Ö¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3\-bootclasspath\fP オプションと \f3\-extdirs\fP オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。 このあとの「クロスコンパイルオプション」を参照してください。
.LP
.LP
-·¿¤Î¸¡º÷¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Î·ë²Ì¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Î¾Êý¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤Ù¤¤«¤ò \-Xprefer ¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤Ç¤¤Þ¤¹¡£\f3newer\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Êý¤ò»ÈÍѤ·¤Þ¤¹¡£\f3source\fP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï \f3newer\fP ¤Ç¤¹¡£
+型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。
.LP
.LP
-·¿¤Î¸¡º÷¼«ÂΤˤè¤Ã¤Æ¡¢¤Þ¤¿¤Ï \f3\-Xprefer\fP ¤¬ÀßÄꤵ¤ì¤¿·ë²Ì¤È¤·¤ÆɬÍפʷ¿¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤ê¡¢É¬ÍפʾðÊó¤ò¼èÆÀ¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤¤¤Þ¤¹¡£\-implicit ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤½¤ÎÆ°ºî¤ò»ØÄê¤Ç¤¤Þ¤¹¡£\f3none\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£\f3class\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
+型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。
.LP
.LP
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ãí¼á½èÍý¤Î´°Î»¸å¤Ë¡¢¤¢¤ë·¿¾ðÊó¤ÎɬÍ×À¤òǧ¼±¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î·¿¾ðÊ󤬤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¸«¤Ä¤«¤ê¡¢¤«¤Ä \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤ餺¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤³¤È¤ò¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥æ¡¼¥¶¡¼¤Ë·Ù¹ð¤·¤Þ¤¹¡£¤³¤Î·Ù¹ð¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢(¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ãí¼á½èÍý¤ÎÂоݤȤʤë¤è¤¦¤Ë) ¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï¤½¤Î¤è¤¦¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤Ù¤¤«¤É¤¦¤«¤ò \f3\-implicit\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
+コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識しない場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。
.LP
-.SH "¥×¥í¥°¥é¥Þ¥Æ¥£¥Ã¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹"
+.SH "プログラマティックインタフェース"
.LP
.LP
.LP
-\f3javac\fP ¤Ï¡¢\f2javax.tools\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¿·¤·¤¤ Java Compiler API ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
+\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。
.LP
.SS
-Îã
+例
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄꤵ¤ì¤¿°ú¿ô¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
+コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。
.LP
.nf
\f3
@@ -569,22 +603,22 @@
.LP
.LP
-¤³¤Î¾ì¹ç¡¢É¸½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë¤¹¤Ù¤Æ¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤¬½ñ¤½Ð¤µ¤ì¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ \f3javac\fP ¤¬ÊÖ¤¹¤Î¤ÈƱ¤¸½ªÎ»¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。
.LP
.LP
-\f2javax.tools.JavaCompiler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î¤Û¤«¤Î¥á¥½¥Ã¥É¤ò»È¤¨¤Ð¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½èÍý¤ä¥Õ¥¡¥¤¥ë¤ÎÆɤ߼è¤ê¸µ/½ñ¤¹þ¤ßÀè¤ÎÀ©¸æ¤Ê¤É¤ò¹Ô¤¨¤Þ¤¹¡£
+\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。
.LP
.SS
-µì¼°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+旧式のインタフェース
.LP
.RS 3
.LP
.LP
-\f3Ãí:\fP \ ¤³¤Î API ¤Ï¡¢²¼°Ì¸ß´¹À¤ò³ÎÊݤ¹¤ë¤¿¤á¤À¤±¤Ë»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤¥³¡¼¥É¤Ç¤Ï¡¢É¬¤ºÁ°½Ò¤Î Java Compiler API ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+\f3注:\fP \ この API は、下位互換性を確保するためだけに残されています。 新しいコードでは、必ず前述の Java Compiler API を使用してください。
.LP
.LP
-\f2com.sun.tools.javac.Main\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥×¥í¥°¥é¥àÆ⤫¤é¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î static ¥á¥½¥Ã¥É¤¬ 2 ¤ÄÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤é¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+\f2com.sun.tools.javac.Main\fP クラスには、プログラム内からコンパイラを呼び出すための static メソッドが 2 つ用意されています。 それらを次に示します。
.LP
.nf
\f3
@@ -600,28 +634,28 @@
.LP
.LP
-\f2args\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢javac ¥×¥í¥°¥é¥à¤ËÄ̾ïÅϤµ¤ì¤ëǤ°Õ¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î³µÍפˤĤ¤¤Æ¤Ï¡¢Á°½Ð¤Î¡Ö·Á¼°¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2args\fP パラメータは、javac プログラムに通常渡される任意のコマンド行引数を表しています。 その概要については、前出の「形式」節を参照してください。
.LP
.LP
-\f2out\fP ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤Î½ÐÎÏÀè¤ò¼¨¤·¤Þ¤¹¡£
+\f2out\fP パラメータは、コンパイラの診断メッセージの出力先を示します。
.LP
.LP
-Ìá¤êÃͤϡ¢\f3javac\fP ¤Î½ªÎ»ÃͤÈƱ¤¸¤Ç¤¹¡£
+戻り値は、\f3javac\fP の終了値と同じです。
.LP
.LP
-̾Á°¤¬ \f2com.sun.tools.javac\fP ¤Ç»Ï¤Þ¤ë¥Ñ¥Ã¥±¡¼¥¸ (Èó¸ø¼°¤Ë¤Ï \f2com.sun.tools.javac\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È¤·¤ÆÃΤé¤ì¤ë) ¤Ë´Þ¤Þ¤ì¤ë\f3¤½¤Î¾¤Î\fP¥¯¥é¥¹¤ä¥á¥½¥Ã¥É¤Ï¡¢¤É¤ì¤â´°Á´¤ËÆâÉôÍѤǤ¢¤ê¡¢¤¤¤Ä¤Ç¤âÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+名前が \f2com.sun.tools.javac\fP で始まるパッケージ (非公式には \f2com.sun.tools.javac\fP のサブパッケージとして知られる) に含まれる\f3その他の\fPクラスやメソッドは、どれも完全に内部用であり、いつでも変更される可能性があります。
.LP
.RE
-.SH "Îã"
+.SH "例"
.LP
.SS
-´Êñ¤Ê¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë
+簡単なプログラムのコンパイル
.LP
.RS 3
.LP
.LP
-\f2Hello.java\fP ¤È¤¤¤¦¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¡¢\f3greetings.Hello\fP ¤È¤¤¤¦Ì¾Á°¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£\f2greetings\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎξÊý¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤°²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤ò»ÈÍѤǤ¤Þ¤¹¡£¤Þ¤¿¡¢\f3\-d\fP ¤ò»È¤Ã¤ÆÊ̤νÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£
+\f2Hello.java\fP というソースファイルで、\f3greetings.Hello\fP という名前のクラスを定義しているとします。\f2greetings\fP ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。
.LP
.RS 3
@@ -679,13 +713,13 @@
.LP
.RE
.SS
-Ê£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë
+複数のソースファイルのコンパイル
.LP
.RS 3
.LP
.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸ \f2greetings\fP Æâ¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。
.LP
.RS 3
@@ -719,13 +753,13 @@
.LP
.RE
.SS
-¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Î»ØÄê
+ユーザークラスパスの指定
.LP
.RS 3
.LP
.LP
-¾å¤ÎÎã¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤¦¤Á 1 ¤Ä¤òÊѹ¹¤·¡¢Êѹ¹¸å¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤·¤Þ¤¹¡£
+上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。
.LP
.RS 3
@@ -746,7 +780,7 @@
.LP
.LP
-\f2greetings.Hi\fP ¤Ï¡¢\f2greetings\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¥¯¥é¥¹¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¾å¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥ë¤ÏÀµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¸½ºß¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤ë¤«¤Ë´Ø·¸¤Ê¤¯¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë \f2/examples\fP ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¥¨¥ó¥È¥ê¤òÄɲ乤ë¤Ë¤Ï¡¢\f3CLASSPATH\fP ¤òÀßÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤Ï \f3\-classpath\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£
+\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。
.LP
.RS 3
@@ -763,7 +797,7 @@
.LP
.LP
-ºÆÅÙ \f2greetings.Hi\fp ¤òÊѹ¹¤·¤Æ¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥Ð¥Ê¡¼¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤â¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+再度 \f2greetings.Hi\fP を変更してバナーユーティリティーを使うようにした場合は、このバナーユーティリティーもユーザークラスパスを通じてアクセスできるようになっている必要があります。
.LP
.RS 3
@@ -782,7 +816,7 @@
.LP
.LP
-\f2greetings\fP Æâ¤Î¥¯¥é¥¹¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\f2greetings\fP ¤È¡¢\f2greetings\fP ¤¬»È¤¦¥¯¥é¥¹¤ÎξÊý¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。
.LP
.RS 3
@@ -800,13 +834,13 @@
.LP
.RE
.SS
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÎʬΥ
+ソースファイルとクラスファイルの分離
.LP
.RS 3
.LP
.LP
-ÆäËÂ絬ÌÏ¥×¥í¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òÊÌ¡¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¤òÊ̤˻ØÄꤹ¤ë¤Ë¤Ï¡¢\f3\-d\fP ¤ò»È¤¤¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¥æ¡¼¥¶¡¼¥¯¥é¥¹¥Ñ¥¹¤Ë¤Ï¤Ê¤¤¤Î¤Ç¡¢\f3\-sourcepath\fP ¤ò»È¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。
.LP
.RS 3
@@ -853,17 +887,17 @@
.LP
.LP
-\f3Ãí:\fP \ ¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï \f2src/farewells/Base.java\fP ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤â¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼«Æ°¥³¥ó¥Ñ¥¤¥ë¤ò´Æ»ë¤¹¤ë¤Ë¤Ï¡¢\f3\-verbose\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£
+\f3注:\fP \ コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。
.LP
.RE
.SS
-¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ÎÎã
+クロスコンパイルの例
.LP
.RS 3
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢javac ¤ò»È¤Ã¤Æ¡¢1.5 VM ¾å¤Ç¼Â¹Ô¤¹¤ë¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+ここでは、\f3javac\fP を使って、1.5 VM 上で実行するコードをコンパイルします。
.LP
.RS 3
@@ -882,13 +916,13 @@
.LP
.LP
-\f3\-target 1.5\fP ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢1.5 VM ¤È¸ß´¹À¤Î¤¢¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\f3javac\fP ¤Ï JDK 6 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。
.LP
.LP
-Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à JDK ¤Î \f3javac\fP ¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤½¤ì¼«¿È¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤Î¤Ç¡¢Âå¤ï¤ê¤Ë JDK 1.5 ¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ËÂФ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤è¤¦¤Ë \f3javac\fP ¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f3\-bootclasspath\fP ¤ª¤è¤Ó \f3\-extdirs\fP ¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄê¤ò¹Ô¤ï¤Ê¤¤¤È¡¢1.5 VM ¤Ë¤Ï¸ºß¤·¤Ê¤¤ Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API ¤ËÂбþ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤¬¹Ô¤ï¤ì¤ë¤¿¤á¡¢¥×¥í¥°¥é¥à¤Î¼Â¹Ô»þ¤Ë¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£
+Java プラットフォーム JDK の \f3javac\fP は、デフォルトでは、Java 2 SDK のブートストラップクラスに対してコンパイルを行うので、Java 2 SDK ではなく JDK 1.5 のブートストラップクラスに対してコンパイルを行うように指定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java 2 プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に障害が発生することがあります。
.LP
.RE
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
@@ -896,33 +930,33 @@
.TP 2
o
.na
-¡Ö\f2The javac Guide\fP¡×
+\f2「The javac Guide」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html)
+http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html
.TP 2
o
-java(1) \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+「java(1) \- Java アプリケーション起動ツール」
.TP 2
o
-jdb(1) \- Java ¥Ç¥Ð¥Ã¥¬
+「jdb(1) \- Java デバッガ」
.TP 2
o
-javah(1) \- C ¸À¸ì¤Î¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Î¥¸¥§¥Í¥ì¡¼¥¿
+「javah(1) \- C ヘッダーとスタブファイルジェネレータ」
.TP 2
o
-javap(1) \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é
+「javap(1) \- クラスファイル逆アセンブラ」
.TP 2
o
-javadoc(1) \- Java API ¥É¥¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿
+「javadoc(1) \- Java API ドキュメントジェネレータ」
.TP 2
o
-jar(1) \- JAR ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+「jar(1) \- JAR アーカイブツール」
.TP 2
o
.na
-¡Ö\f2The Java Extensions Framework\fP¡×
+\f2「Java 拡張機能フレームワーク」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html)
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1
index c986e3d..9812f6f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1
@@ -1,930 +1,844 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH javadoc 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.hw javadoc
-.SH "̾Á°"
-javadoc \- Java API ¥É¥¥å¥á¥ó¥È¥¸¥§¥Í¥ì¡¼¥¿
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javadoc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+javadoc \- Java API ドキュメントジェネレータ
.RS 3
.LP
.LP
-Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¡¢API ¥É¥¥å¥á¥ó¥È¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ë Javadoc ¤ÎÎã¤Ï¡¢Sun Solaris ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Î¤â¤Î¤Ç¤¹¡£
+Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、Sun Solaris を使用した場合のものです。
.LP
-.SH "·Á¼°"
-.B javadoc
-[
-.I options
-] [
-.I packagenames
-] [
-.I sourcefilenames
-] [
-.I \-subpackages pkg1:pkg2:...
-] [
-.I @argfiles
-]
+.RE
+.SH "形式"
.LP
.LP
-°ú¿ô¤ò»ØÄꤹ¤ë½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£Javadoc ¥Ä¡¼¥ë¤Ç¤Î¡¢½èÍýÂоݤΠ\f2.java\fP ¥Õ¥¡¥¤¥ë¤ò·èÄꤹ¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 15
-.I options
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
-.B javadoc
-¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÈÌŪ¤Ê»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.I packagenames
-.BR "java.lang java.lang.reflect java.awt"
-¤Ê¤É¤Î¡¢¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿
-°ìÏ¢¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤ËÊ̸ĤË
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òõ¤¹¤È¤¡¢
-.B \-sourcepath
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òºÆµ¢Åª¤Ë½èÍý¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (\f3*\f1) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ï»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
-¡Ö1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½¡×¤Î
-Îã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.I sourcefilenames
-¥¹¥Ú¡¼¥¹¤Ç¶èÀÚ¤é¤ì¤¿°ìÏ¢¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£¥Ñ¥¹¡¢¤ª¤è¤Ó
-¥¢¥¹¥¿¥ê¥¹¥¯ (\f3*\f1) ¤Ê¤É¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤¬¡Ö.java¡×¤È¤¤¤¦³ÈÄ¥»Ò¤Ç½ª¤ï¤ê¡¢
-¤½¤Î³ÈÄ¥»Ò¤ò½ü¤¤¤¿Ì¾Á°¤¬¼ÂºÝ¤Ë͸ú¤Ê¥¯¥é¥¹Ì¾
-.fi
- (http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
-¤Î
+\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP
+.LP
+.LP
+引数を指定する順序は任意です。Javadoc ツールでの、処理対象の \f2.java\fP ファイルを決定する方法の詳細については、「ソースファイルの処理」を参照してください。
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+このドキュメントで説明されているコマンド行オプションです。Javadoc オプションの標準的な使用法については、「使用例」を参照してください。
+.TP 3
+packagenames
+スペースで区切られた一連のパッケージ名です。 たとえば、\f2java.lang\ java.lang.reflect\ java.awt\fP のように指定します。ドキュメント化するパッケージを個別に指定する必要があります。ワイルドカードは使用不可です。 再帰的処理のためには、\-subpackages を使用します。Javadoc ツールは、\f2\-sourcepath\fP を使ってこれらのパッケージ名を検索します。「1 つ以上のパッケージのドキュメント化」の例を参照してください。
+.TP 3
+sourcefilenames
+スペースで区切られた一連のソースファイル名です。各ファイルは、パスで始まります。アスタリスク (*) などのワイルドカードを含めることができます。 Javadoc ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、その拡張子を除いた名前が実際に有効なクラス名であるすべてのファイルです (
.na
-¡Ö\f2Identifiers\fP¡×¤ò»²¾È) ¤Ç¤¢¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢¥Ï¥¤¥Õ¥ó¤ò´Þ¤à̾Á° (X-Buffer ¤Ê¤É) ¤ä¡¢
-¤½¤Î¾¤Î̵¸ú¤Êʸ»ú¤ò´Þ¤à̾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤ«¤é½ü³°¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥Æ¥¹¥ÈÍѤΥե¡¥¤¥ë¤ä¡¢¥Æ¥ó¥×¥ì¡¼¥È¤«¤éÀ¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÎÁ°¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òõ¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-.B -sourcepath
-¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢
-.B Button.java
-¤òÅϤ¹¤³¤È¤Ï
-.BR ./Button.java
-¤È»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£´°Á´¥Ñ¥¹¤òÉÕ¤±¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î
-Îã¤Ï¡Ö
-.BR /home/src/java/awt/Graphics*.java
-¡×¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ö1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½¡×¤ÎÎã¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½¡×¤Î
-Îã¤Î¤è¤¦¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.TP
-.I \-subpackages pkg1:pkg2:...
-»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¡¢
-ºÆµ¢Åª¤Ë¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò½èÍý¤·¤Þ¤¹¡£ ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï
-¥½¡¼¥ë¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¤¿¤á¤ÎÂåÂؼêÃʤǤ¹¡£
-.TP
-.I @argfiles
-Javadoc ¥ª¥×¥·¥ç¥ó¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò
-Ǥ°Õ¤Î½ç½ø¤Çʤ٤¿¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤ë 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤ª¤è¤Ó
-.B \-J
-¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÏ¢¤Î Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÀë¸À¤ª¤è¤Ó¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤ò²òÀϤ·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï public ¥¯¥é¥¹¤È protected ¥¯¥é¥¹¡¢
-Æþ¤ì»Ò¥¯¥é¥¹¡Êƿ̾¤ÎÆâÉô¥¯¥é¥¹¤ò½ü¤¯¡Ë¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿°ìÏ¢¤Î HTML ¥Ú¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢API (¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤ä¡¢°ìÏ¢¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¼ÂÁõ¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»ÈÍѤǤ¤Þ¤¹¡£
+\f2「Identifiers」\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)。したがって、ハイフンを含む名前 (\f2X\-Buffer\fP など) や、その他の無効な文字を含む名前を付けることによって、それらのファイルをドキュメント化の対象から除外できます。これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 ソースファイル名の前に指定したパスによって、javadoc がそのファイルを検索する場所が決まります。Javadoc ツールは、これらのソースファイル名を検索するときに \f2\-sourcepath\fP は使いません。相対パスは、現在のディレクトリからの相対パスです。 \f2Button.java\fP を渡すことは、\f2./Button.java\fP を渡すことと同じです。ソースファイル名をフルパスで指定すると、\f2/home/src/java/awt/Graphics*.java\fP のようになります。「1 つ以上のクラスのドキュメント化」の例を参照してください。また、「パッケージとクラスのドキュメント化」の例のように、パッケージ名とソースファイル名を混在させることもできます。
+.TP 3
+\-subpackages pkg1:pkg2:...
+ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。パッケージ名またはソースファイル名を指定する必要はありません。
+.TP 3
+@argfiles
+Javadoc オプション、パッケージ名、およびソースファイル名を任意の順序で並べたリストが含まれる 1 つ以上のファイルです。このファイルの中では、ワイルドカード (*) および \f2\-J\fP オプションは指定できません。
+.RE
+
.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΡ¢¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï¤½¤ÎξÊý¤ËÂФ·¤Æ
-¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤ò¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºÆµ¢Åª¤Ë¤¿¤É¤ë¤¿¤á¤Ë -subpackages ¤ò»ÈÍѤ¹¤ë¤«¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÌÀ¼¨Åª¤Ê¥ê¥¹¥È¤òÅϤ·¤Þ¤¹¡£
-¸Ä¡¹¤Î¥¯¥é¥¹¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢°ìÏ¢¤Î
-¥½¡¼¥¹ (\f3.java\f1) ¥Õ¥¡¥¤¥ë̾¤òÅϤ·¤Þ¤¹¡£¶ñÂÎŪ¤ÊÎã¤Ï¡¢
-¤³¤Î¥Ú¡¼¥¸¤ÎºÇ¸å¤Ç¼¨¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢Javadoc ¤Ë¤è¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
+.RE
+.SH " 説明"
+.LP
+.LP
+\f3Javadoc\fP ツールは、一連の Java ソースファイルにある宣言およびドキュメンテーションコメントを解析し、デフォルトでは public クラス、protected クラス、入れ子にされたクラス (匿名の内部クラスは除く)、インタフェース、コンストラクタ、メソッド、およびフィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。
+.LP
+.LP
+Javadoc ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して実行できます。javadoc ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために \f2\-subpackages\fP を使用するか、パッケージ名の明示的なリストを渡します。個々ソースファイルに対して javadoc を実行する場合は、一連のソース (\f2.java\fP) ファイル名を渡します。具体的な例は、このドキュメントの最後に紹介します。次に、Javadoc によるソースファイルの処理について説明します。
.LP
.SS
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý
+ソースファイルの処理
.LP
.LP
-Javadoc ¥Ä¡¼¥ë¤Ï¡¢ËöÈø¤Ë \f2.java\fP ¤ÎÉÕ¤¤¤¿¥Õ¥¡¥¤¥ë°Ê³°¤Ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÇÀâÌÀ¤¹¤ë¾¤Î¥Õ¥¡¥¤¥ë¤â½èÍý¤·¤Þ¤¹¡£¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤ËÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ Javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢\f2.java\fP ¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤«¤òÀµ³Î¤Ë»ØÄê¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î³«È¯¼Ô¤Ï¤³¤ÎÊýË¡¤Ç¤Ïºî¶È¤·¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¤Û¤¦¤¬´Êñ¤À¤«¤é¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢Javadoc ¥Ä¡¼¥ë¤Ï 3 ¤Ä¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢(1) ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¡¢(2) \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¡¢(3) ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë (\f2*.java\fP) ¤È¤¤¤¦ÊýË¡¤Ç¤¹¡£¤³¤ì¤é¤ÎÊýË¡¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢\f2*.java\fP ¥Õ¥¡¥¤¥ë¤¬¼¡¤Î¤¹¤Ù¤Æ¤ÎÍ×·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¡£
+Javadoc ツールは、末尾に \f2.java\fP の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、どの \f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。 パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。この方法は、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名にワイルドカードを使用する (\f2*.java\fP) という方法です。これらの方法を使用する場合、Javadoc ツールは、\f2.java\fP ファイルが次のすべての要件を満たしている場合にかぎり、このファイルを処理します。
.LP
.RS 3
.TP 2
o
-̾Á°¤«¤é \f2.java\fP ¤ÎÀÜÈø¼¤ò¼è¤ê½ü¤¯¤È¡¢¼ÂºÝ¤Ë͸ú¤Ê¥¯¥é¥¹Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë (͸ú¤Êʸ»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
-¤Î
+名前から \f2.java\fP の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、
.na
-¡Ö\f2Identifiers\fP¡×¤ò»²¾È)
-.TP 2
-o
-¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤«¤éÁêÂÐŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬¡¢¶èÀÚ¤êʸ»ú¤ò¥É¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤È¡¢¼ÂºÝ¤Ë͸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¤Ê¤Ã¤Æ¤¤¤ë
-.TP 2
-o
-¥Ñ¥Ã¥±¡¼¥¸Ê¸¤Ë¤Ï͸ú¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬´Þ¤Þ¤ì¤ë (Á°¹àÌܤǻØÄê)
-.RE
-
-.LP
-.LP
-\f3¥ê¥ó¥¯¤Î½èÍý\fP \-
-¼Â¹Ô»þ¤Ë¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤½¤Î¼Â¹Ô¤Î°ìÉô¤È¤·¤Æµ½Ò¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥á¥ó¥Ð¤Î̾¾Î¤Ë¥¯¥í¥¹¥ê¥Õ¥¡¥ì¥ó¥¹¥ê¥ó¥¯¤ò¼«Æ°Åª¤Ë
-Äɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¼¡¤Î²Õ½ê¤Ë¸½¤ï¤ì¤Þ¤¹¡£
-.LP
-.TP 2
-\(bu
-Àë¸À (Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿)
-.TP 2
-\(bu
-@see ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ë [´ØÏ¢¹àÌÜ] ¤Î¥»¥¯¥·¥ç¥ó
-.TP 2
-\(bu
-{@link} ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ë¥¤¥ó¥é¥¤¥ó¥Æ¥¥¹¥È
-.TP 2
-\(bu
-@throws ¥¿¥°¤«¤éÀ¸À®¤µ¤ì¤ëÎã³°¤Î̾¾Î
-.TP 2
-\(bu
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¤ËÂФ¹¤ë [ÄêµÁ] ¥ê¥ó¥¯¤È¡¢¥¯¥é¥¹¤Î¥á¥ó¥Ð¤ËÂФ¹¤ë [¥ª¡¼¥Ð¡¼¥é¥¤¥É] ¥ê¥ó¥¯
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤ª¤è¤Ó¥á¥ó¥Ð¤òµ½Ò¤·¤¿°ìÍ÷ɽ
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î·Ñ¾µ¥Ä¥ê¡¼
-.TP 2
-\(bu
-º÷°ú
-.LP
-\-link ¤È \-linkoffline ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢¸ÄÊ̤ËÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¤Î´û¸¤Î¥Æ¥¥¹¥È¤Ë
-¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤òÄɲäǤ¤Þ¤¹¡£
-.LP
-\f3¤½¤Î¾¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ\fP \-
-javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¤Ò¤È¤Ä¤Î´°Á´¤Ê¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£javadoc ¤Ï¡¢
-ÄɲÃÀ¸À®¤ò¹Ô¤¨¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢°ÊÁ°¤Ë¼Â¹Ô¤·¤¿ javadoc ¤Î·ë²Ì¤òÊѹ¹¤·¤¿¤ê¡¢
-¤½¤ì¤é¤òľÀܼè¤ê¹þ¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢Á°½Ò¤Î¤è¤¦¤Ë¤Û¤«¤Î
-¼Â¹Ô¤Î·ë²Ì¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
-.LP
-¼ÂÁõ¾å¤ÎÍýͳ¤«¤é¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¼Â¹Ô¤Ë java ¥³¥ó¥Ñ¥¤¥é¤òɬÍפȤ·¡¢java ¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï
-.B javac
-¤Î°ìÉô¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¥á¥ó¥Ð¤Î¼ÂÁõ¤Ï̵»ë¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹³¬Áؤò´Þ¤à¥¯¥é¥¹¤ÎËÉÙ¤ÊÆâÉôɽ¸½¡¢¤ª¤è¤Ó¡Ö»ÈÍѡ״ط¸¤ò
-¹½ÃÛ¤·¡¢¤½¤³¤«¤é HTML ¤òÀ¸À®¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤«¤é¡¢¥æ¡¼¥¶¤Î
-Ä󶡤¹¤ë¥É¥¥å¥á¥ó¥È¤â¼èÆÀ¤·¤Þ¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥á¥½¥Ã¥ÉËÜÂΤΤʤ¤½ã¿è¤Ê¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë
-.B .java
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¾å¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢API ¤ÎºîÀ®»þ¤Ë¤Ï¡¢¥³¡¼¥É¤ò
-µ½Ò¤¹¤ëÁ°¤ÎÀ߷פÎÁᤤÃʳ¬¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òµ½Ò¤·¡¢
-.B javadoc
-¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.LP
-¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢HTML ½ÐÎϤ¬¡¢¼ÂºÝ¤Î¼ÂÁõ¤ËÀµ³Î¤ËÂбþ
-¤¹¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¼ÂºÝ¤Î¼ÂÁõ¤Ï¡¢ÌÀ¼¨Åª¤Ç¤Ê¤¯°ÅÌÛŪ¤Ë
-¥½¡¼¥¹¥³¡¼¥É¤Ë°Í¸¤·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B .class
-¥Õ¥¡¥¤¥ëÆâ¤Ë¤Ï¸ºß¤¹¤ë¤¬¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë¤Ï¸ºß¤·¤Ê¤¤
-¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿ (¡ÖJava Language Specification¡×¤Î¥»¥¯¥·¥ç¥ó 8.6.7: http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154)
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£
-.LP
-¿¤¯¤Î¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ÉÔ´°Á´¤Þ¤¿¤Ï¥¨¥é¡¼¤ò
-´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ç¤â¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢¥Ç¥Ð¥Ã¥°¤ä¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤¬´°Î»¤¹¤ëÁ°¤Ë
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤Ç¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Java ¸À¸ì»ÅÍͤˤè¤ë¤È¡¢
-Ãê¾Ý¥á¥½¥Ã¥É¤ò´Þ¤à¥¯¥é¥¹¤Ï¤½¤ì¼«ÂΤòÃê¾Ý¤ÈÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Î¥¨¥é¡¼¤ò¸¡½Ð¤¹¤ë¤È¡¢javac ¥³¥ó¥Ñ¥¤¥é¤Î¾ì¹ç¤Ï¡¢¤³¤Î¥¨¥é¡¼¤Ç
-Ää»ß¤·¤Þ¤¹¤¬¡¢javadoc ¥Ä¡¼¥ë¤Ï·Ù¹ð¤ò½Ð¤µ¤º¤Ë½èÍý¤ò¿Ê¤á¤Þ¤¹¡£
-javadoc ¥Ä¡¼¥ë¤Ï¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î´ðËÜŪ¤Ê¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¤è¤ê¾Ü¤·¤¯¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢
-DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬¥É¥¥å¥á¥ó¥ÈÍѤÎÆâÉô¹½Â¤¤ò¹½ÃÛ¤¹¤ë¤È¤¤Ï¡¢»²¾È¤¹¤ë
-¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¡¢
-³ÈÄ¥µ¡Ç½¡¢¤Þ¤¿¤Ï¥æ¡¼¥¶¥¯¥é¥¹¤Ë¤«¤«¤ï¤é¤º¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»²¾È¤¹¤ë¥¯¥é¥¹¤ò¤¹¤Ù¤Æ¸¡½Ð¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-°ìÈÌŪ¤Ë¡¢ºîÀ®¤¹¤ë
-¥¯¥é¥¹¤Ï¡¢³ÈÄ¥µ¡Ç½¤È¤·¤Æ¥í¡¼¥É¤µ¤ì¤ë¤«¡¢
-.BR javadoc
-¥Ä¡¼¥ë¤Î¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SS "Javadoc ¥É¥Ã¥¯¥ì¥Ã¥È"
-.B javadoc
-¥Ä¡¼¥ë¤Î½ÐÎϤÎÆâÍƤȷÁ¼°¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¡ÖÁȤ߹þ¤ß·¿¡×
-¥É¥Ã¥¯¥ì¥Ã¥È¤¬¤¢¤ê¡¢¤³¤ì¤Ë¤è¤Ã¤Æ HTML ·Á¼°¤Î API
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È
-¤Î½¤Àµ¤ä¥µ¥Ö¥¯¥é¥¹²½¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢HTML¡¢XML¡¢MIF¡¢RTF ¤Ê¤É¤Î¹¥¤ß¤Î
-½ÐÎÏ·Á¼°¤òÀ¸À®¤¹¤ëÆȼ«¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤òµ½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¥É¥Ã¥¯¥ì¥Ã¥È¤È¤½¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.TP 2
-\(bu
-.B Javadoc
-¥É¥Ã¥¯¥ì¥Ã¥È
-.TP 2
-\(bu
-.B -doclet
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
-.LP
-.B -doclet
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢¤É¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤Ë¤Ï´Ø·¸¤Ê¤¯»ÈÍѤǤ¤ë
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î
-¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Äɲ䵤ì¤Þ¤¹¡£¤É¤Á¤é¤Î
-¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¡¢¸å½Ò¤Î¡Ö¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£
-.SS ´ØÏ¢¥É¥¥å¥á¥ó¥È¤ª¤è¤Ó¥É¥Ã¥¯¥ì¥Ã¥È
-.TP 2
-\(bu
-Javadoc ¤Ë»Ü¤µ¤ì¤¿µ¡Ç½¶¯²½ - Javadoc ¤ËÄɲ䵤줿²þÎÉÅÀ¤Î¾ÜºÙ
-.TP 2
-\(bu
-Javadoc FAQ - ÉÑÈˤ˴󤻤é¤ì¤ë¼ÁÌä¤ËÂФ¹¤ë²óÅú¡¢Javadoc ´ØÏ¢¤Î¥Ä¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󡢤ª¤è¤Ó¥Ð¥°¤Î²óÈòÊýË¡
-.TP 2
-\(bu
-Javadoc ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤Ë¤Ï - Sun ¤Ç
-°ìÈÌŪ¤Ê¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Îµ½ÒÊýË¡¤Î¾ÜºÙ
-.TP 2
-\(bu
-API »ÅÍͤòµ½Ò¤¹¤ë¤¿¤á¤ÎÍ×·ï - Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à»ÅÍͤòµ½Ò¤¹¤ëºÝ¤Ë
-»ÈÍѤµ¤ì¤¿É¸½àÍ×·ï¡£ ¤³¤Î¾ðÊó¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È
-·Á¼°¤Ç API »ÅÍͤòµ½Ò¤¹¤ë¾ì¹ç¤Ë¤â¡¢¤½¤Î¾¤Î·Á¼°¤Çµ½Ò¤¹¤ë¾ì¹ç¤Ë¤â
-ÌòΩ¤Á¤Þ¤¹¡£ ¸¡¾Ú²Äǽ¤Ê¥¢¥µ¡¼¥·¥ç¥ó¤òËþ¤¿¤¹¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤ÎÍ×·ï¤òÄê¤á¤Æ¤¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍÍ - ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î
-¥ª¥ê¥¸¥Ê¥ë»ÅÍͤˤĤ¤¤Æ¤Ï¡¢¡ØJava Language Specification¡Ù
-(James Gosling¡¢Bill Joy¡¢Guy Steele ¶¦Ãø) ¤Î½éÈǤÎ
-Âè 18 ¾Ï¡ÖDocumentation Comments¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¾Ï¤Ï¡¢Âè 2 ÈǤǤϺï½ü¤µ¤ì¤Þ¤·¤¿¡£
-.TP 2
-\(bu
-DocCheck ¥É¥Ã¥¯¥ì¥Ã¥È - ¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¸¡ºº¤·¡¢
-¸«¤Ä¤«¤Ã¤¿¥¨¥é¡¼¤äÉÔµ¬Â§¤Ê²Õ½ê¤ò°ìÍ÷¤Ë¤·¤¿¥ì¥Ý¡¼¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ì¤Ï Sun Doc ¥Á¥§¥Ã¥¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î°ìÉô¤Ç¤¹¡£
-.TP 2
-\(bu
-MIF ¥É¥Ã¥¯¥ì¥Ã¥È - MIF¡¢FrameMaker¡¢¤ª¤è¤Ó PDF ·Á¼°¤Ç¤Î API ¥É¥¥å¥á¥ó¥È¤Î
-À¸À®¤ò¼«Æ°²½¤·¤Þ¤¹¡£ MIF ¤Ï Adobe FrameMaker ¤Î¸ß´¹·Á¼°¤Ç¤¹¡£
-.SS "ÍѸì"
-.LP
-.LP
-¡Ö\f2¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È\fP¡×¡¢¡Ö\f2doc ¥³¥á¥ó¥È\fP¡×¡¢¡Ö\f2¼çÀâÌÀ\fP¡×¡¢¡Ö\f2¥¿¥°\fP¡×¡¢¡Ö\f2¥Ö¥í¥Ã¥¯¥¿¥°\fP¡×¡¢¤ª¤è¤Ó¡Ö\f2¥¤¥ó¥é¥¤¥ó¥¿¥°\fP¡×¤ÎÍѸì¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£°Ê²¼¤Î¤½¤Î¾¤ÎÍѸì¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Î¥³¥ó¥Æ¥¥¹¥È¤ÇÆÃÄê¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£
-.RS 3
-.TP 3
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È
-.B javadoc
-¥Ä¡¼¥ë¤¬ Java ¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î doc ¥³¥á¥ó¥È¤«¤éÀ¸À®¤·¤¿¥É¥¥å¥á¥ó¥È
-¤Î¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸À®¥É¥¥å¥á¥ó¥È¤Ï HTML ·Á¼°¤Ç¡¢É¸½à
-¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-.TP 3
-̾Á°
-Java ¸À¸ì¤Ç¤Î̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î̾Á°¤Î¤³¤È¤Ç¤¹¡£Ì¾Á°¤Ï¡¢
-.BR java.lang.String.equals(java.lang.Object)
-¤Î¤è¤¦¤Ë´°Á´½¤¾þ¤¹¤ë¤³¤È¤â¡¢
-.BR equals(Object)
-¤Î¤è¤¦¤ËÉôʬ½¤¾þ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.TP 3
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹
-.B javadoc
-¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ´°Á´¤Ê¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¥¯¥é¥¹¤È
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-»ÈÍѲÄǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î
-¤É¤Á¤é¤«¤ò
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ï¡¢
-.B javadoc
-¤Î¼Â¹Ô¤ÇÁȤ߹þ¤Þ¤ì¤ë¥¯¥é¥¹¡¢¤Ä¤Þ¤ê¡ÖÁȤ߹þ¤ß¥¯¥é¥¹¡×¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£
-.LP
-.TP 3
-´Þ¤Þ¤ì¤ë¥¯¥é¥¹
-Âбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬ javadoc ¥³¥Þ¥ó¥É¤Ë
-ÅϤµ¤ì¤ë¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤³¤È¤Ç¤¹¡£
-.LP
-.TP 3
-½ü³°¤µ¤ì¤ë¥¯¥é¥¹
-javadoc ¥³¥Þ¥ó¥É¤Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬
-ÅϤµ¤ì¤Ê¤¤¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
-.LP
-.TP 3
-»²¾È¥¯¥é¥¹
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄêµÁ
-(¼ÂÁõ) ¤Þ¤¿¤Ï¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤ÇÌÀ¼¨Åª¤Ë»²¾È¤µ¤ì¤ë
-¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£»²¾È¤ÎÎã¤È¤·¤Æ¤Ï¡¢
-Ìá¤êÃͤη¿¡¢¥Ñ¥é¥á¡¼¥¿¤Î·¿¡¢¥¥ã¥¹¥È¤Î·¿¡¢
-³ÈÄ¥¤µ¤ì¤ë¥¯¥é¥¹¡¢¼ÂÁõ¤µ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥¯¥é¥¹¡¢¥á¥½¥Ã¥ÉËÜÂΤǻÈÍѤµ¤ì¤ë
-¥¯¥é¥¹¡¢@see¡¢{@link}¡¢{@linkplain}¡¢
-¤ª¤è¤Ó {@inheritDoc} ¥¿¥°¤Ê¤É¤¬¤¢¤ê¤Þ¤¹
-(¤³¤ÎÄêµÁ¤Ï 1.3
+\f2「Identifiers」\fP @
.fi
-(http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses)
-¤«¤é
-Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ)¡£
-javadoc ¥Ä¡¼¥ë¤ÏÆ°ºîÃæ¡¢
-.B javadoc
-¤Î¥Ö¡¼¥È¥¯¥é¥¹¥Ñ¥¹¤È
-¥¯¥é¥¹¥Ñ¥¹Æâ¤Ë¤¢¤ë»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò
-¤¹¤Ù¤Æ¥á¥â¥ê¤Ë¥í¡¼¥É¤¹¤ë¤¿¤á¤Ç¤¹¡£
-»²¾È¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿
-¾ì¹ç¤Ï¡¢[¥¯¥é¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó] ¤È¤¤¤¦·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î¸ºß¤È¤½¤Î¥á¥ó¥Ð¤Î´°Á´½¤¾þ̾¤ò·èÄꤹ¤ë¤Î¤Ë½½Ê¬¤Ê¾ðÊó¤ò¡¢
-.B .class
-¥Õ¥¡¥¤¥ë¤«¤é°ú¤½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.TP 3
-³°Éô»²¾È¥¯¥é¥¹
-»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Î¤¦¤Á¡¢
-.B javadoc
-¤ò¼Â¹Ô¤·¤Æ¤â¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ç¤¹¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç
-.B javadoc
-¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-À¸À®¥É¥¥å¥á¥ó¥ÈÆâ¤Ç¤³¤ì¤é¤Î¥¯¥é¥¹¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë²Õ½ê¤Ï¡¢
-¡Ö³°Éô»²¾È¡×¤Þ¤¿¤Ï¡Ö³°Éô¥ê¥ó¥¯¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢
-.B java.awt
-¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ¤À¤±
-.B javadoc
-¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢Object ¤Ê¤É¤Î
-.BR java.lang
-Æâ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ï¡¢³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢
-.B \-link
-¤ª¤è¤Ó
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-³°Éô»²¾È¥¯¥é¥¹¤Ë¤Ï¡¢Ä̾綠¤Î¥½¡¼¥¹¥³¥á¥ó¥È¤ò
-.B \javadoc
-¥Ä¡¼¥ë¤Î¼Â¹Ô¤ÇÍøÍѤǤ¤Ê¤¤¤È¤¤¤¦½ÅÍפÊÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¤½¤ì¤é¤Î¥³¥á¥ó¥È¤ò·Ñ¾µ¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-.SH "¥½¡¼¥¹¥Õ¥¡¥¤¥ë"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¤Î Java ¸À¸ì¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f3.java\f1)¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î 4 ¼ïÎà¤Î
-¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ò´ð¤Ë¤·¤Æ¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥É¥¥å¥á¥ó¥È²½¤·¤Ê¤¤¤¬¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ä¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤Ä¤¤¤Æ¤âÀâÌÀ¤·¤Þ¤¹¡£
-.SS "¥¯¥é¥¹¥½¡¼¥¹¥³¡¼¥É¥Õ¥¡¥¤¥ë"
-³Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤ª¤è¤Ó¤½¤Î¥á¥ó¥Ð¤Ï¡¢
-.B .java
-¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤½¤ì¼«¿È¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS "¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë"
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢Æȼ«¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢À¸À®¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ÎÍ×Ìó¥Ú¡¼¥¸¤Ë¤³¤Î¥³¥á¥ó¥È¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¡£
-Ä̾¤³¤Î¥³¥á¥ó¥È¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËŬÍѤµ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ò´Þ¤á¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥³¥á¥ó¥È¤Î³ÊǼÀè¤È¤·¤Æ¡¢¼¡¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤¤Þ¤¹¡£
-.LP
-.RS 3
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)
.TP 2
o
-\f2package\-info.java\fP \- ¥Ñ¥Ã¥±¡¼¥¸Àë¸À¡¢¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¡¢¤ª¤è¤Ó Javadoc ¥¿¥°¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï JDK 5.0 ¤ÇƳÆþ¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢package.html ¤è¤ê¤â¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている
.TP 2
o
-\f2package.html\fP \- ³ÊǼ¤Ç¤¤ë¤Î¤Ï¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤È Javadoc ¥¿¥°¤À¤±¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ãí¼á¤Ï³ÊǼ¤Ç¤¤Þ¤»¤ó¡£
+パッケージ文には有効なパッケージ名が含まれる (前項目で指定)
.RE
.LP
.LP
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢Ã±°ì¤Î \f2package.html\fP ¥Õ¥¡¥¤¥ë¡¢Ã±°ì¤Î \f2package\-info.java\fP ¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢Î¾Êý¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò \f2.java\fP ¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Î¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÇÛÃÖ¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3リンクの処理\fP \- Javadoc ツールは、処理の実行中に、その実行でドキュメント化されるパッケージ、クラス、およびメンバーの名前に対して、自動的に相互参照リンクを追加します。このようなリンクは、次のような場所に追加されます。
+.LP
+.RS 3
+.TP 2
+o
+宣言 (戻り値の型、引数の型、フィールドの型)
+.TP 2
+o
+\f2@see\fP タグから生成された [関連項目] セクション
+.TP 2
+o
+\f2{@link}\fP タグから生成されたインラインテキスト
+.TP 2
+o
+\f2@throws\fP タグから生成された例外の名前
+.TP 2
+o
+"インタフェースのメンバーに対する [定義] リンクと、クラスのメンバーに対する [オーバーライド] リンク
+.TP 2
+o
+パッケージ、クラス、およびメンバーを列挙している概要テーブル
+.TP 2
+o
+パッケージおよびクラスの継承ツリー
+.TP 2
+o
+索引
+.RE
+
.LP
.LP
-\f4package\-info.java\fP ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ÎÁ°¤ËÇÛÃÖ¤·¤Þ¤¹¡£
+コマンド行で指定しなかったクラスについての既存のテキスト (別に生成したテキスト) に対してハイパーリンクを追加するには、\f2\-link\fP および \f2\-linkoffline\fP オプションを利用できます。
.LP
.LP
-File: \f2java/applet/package\-info.java\fP
+\f3その他の処理についての詳細\fP \- Javadoc ツールは、実行するたびに 1 つの完全なドキュメントを作成します。 ドキュメントを追加生成することはできません。 つまり、Javadoc ツールの以前の実行結果を修正したり、その内容を直接組み入れたりすることはできません。ただし、前述のように、以前の実行結果に対してリンクを追加することはできます。
.LP
-.ft 3
+.LP
+実装上の理由から、Javadoc ツールは、処理を実行するために java コンパイラを必要とし、java コンパイラに依存しています。Javadoc ツールは \f2javac\fP の一部を呼び出すことにより、宣言をコンパイルし、メンバーの実装は無視します。Javadoc ツールは、クラス階層を含むクラスの豊富な内部表現とクラスの「使用」関係を構築し、その情報から HTML を生成します。さらに、Javadoc ツールは、ソースコードのドキュメンテーションコメントから、ユーザーの提供したドキュメントも取得します。
+.LP
+.LP
+Javadoc ツールは、メソッド本体のない純粋なスタブファイルである \f2.java\fP ソースファイルに対しても、実行することができます。したがって、API の作成時には、実装を記述する前の設計の早い段階で、ドキュメンテーションコメントを記述して javadoc ツールを実行できます。
+.LP
+.LP
+コンパイラに依存することによって、HTML 出力は、実際の実装に正確に対応します。 実際の実装は、明示的なソースコードにではなく、暗黙のソースコードに依存する場合があります。たとえば、Javadoc ツールは、\f2.class\fP ファイル内に存在するが、ソースコード内には存在しない
+.na
+\f2デフォルトコンストラクタ\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (Java 言語仕様のセクション 8.6.7) をドキュメント化します。
+.LP
+.LP
+通常、Javadoc ツールでは、ソースファイルのコードが不完全またはエラーを含んでいる場合でもドキュメントを生成できます。このため、デバッグやトラブルシューティングを完了する前にドキュメントを生成できます。たとえば、Java 言語仕様によると、抽象メソッドを含むクラスは、それ自体抽象として宣言されなければなりません。このエラーを検出すると、javac コンパイラは停止しますが、Javadoc ツールは警告を出さずに処理を続行します。Javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、DocCheck ドックレットを使用してください。
+.LP
+.LP
+Javadoc ツールは、ドキュメントの内部構造を構築する際、参照クラスをすべてロードします。このため、Javadoc ツールは、ブートストラップクラス、拡張機能、またはユーザークラスにかかわらず、すべての参照クラスを検索できなければなりません。詳細は、
+.na
+\f2「クラスの検索方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlを参照してください。通常、作成するクラスは、拡張機能としてロードするか、Javadoc ツールのクラスパス内に置く必要があります。
+.LP
+.SS
+Javadoc のドックレット
+.LP
+.LP
+Javadoc ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。Javadoc ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み」ドックレットがあります。 標準ドックレットは、HTML 形式の API ドキュメントを生成します。標準ドックレットを修正またはサブクラス化することや、HTML、XML、MIF、RTF などの好みの出力形式を生成する独自のドックレットを記述することも可能です。ドックレットとその使用法については、次の項目を参照してください。
+.LP
+.RS 3
+.TP 2
+o
+.na
+\f2Javadoc のドックレット\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html
+.TP 2
+o
+\f2\-doclet\fP コマンド行オプション
+.RE
+
+.LP
+.LP
+\f2\-doclet\fP コマンド行オプションでカスタムドックレットが指定されていない場合、Javadoc ツールは、デフォルトの標準ドックレットを使用します。javadoc ツールには、使用されているドックレットに関係なく使用できるコマンド行オプションがあります。標準ドックレットでは、これらのほかに、いくつかのコマンド行オプションが追加されます。どちらのオプションについても、このあとの「オプション」で説明します。
+.LP
+.SS
+関連ドキュメントおよびドックレット
+.LP
+.RS 3
+.TP 2
+o
+.na
+\f2Javadoc に施された機能強化\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc で追加された改良点の詳細
+.TP 2
+o
+.na
+\f2Javadoc FAQ\fP @
+.fi
+http://java.sun.com/j2se/javadoc/faq/index.html \- 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法
+.TP 2
+o
+.na
+\f2How to Write Doc Comments for Javadoc\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ドキュメンテーションコメントの記述方法に関する Sun の規約
+.TP 2
+o
+.na
+\f2Requirements for Writing API Specifications\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java 2 プラットフォーム仕様を記述する際に使用された標準要件。この情報は、ソースファイルのドキュメンテーションコメント形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも役立ちます。検証可能なアサーションを満たすパッケージ、クラス、インタフェース、フィールド、およびメソッドについての要件を定めています。
+.TP 2
+o
+.na
+\f2ドキュメンテーションコメントの仕様\fP @
+.fi
+http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ドキュメンテーションコメントのオリジナル仕様については、『Java Language Specification』 (James Gosling、Bill Joy、Guy Steele 共著) の初版の第 18 章「Documentation Comments」を参照してください。この章は、第 2 版では削除されました。
+.TP 2
+o
+.na
+\f2DocCheck ドックレット\fP @
+.fi
+http://java.sun.com/javadoc/doccheck \- ソースファイル内のドキュメンテーションコメントをチェックし、検出されたエラーや不正のレポートを生成します。Sun Doc Check ユーティリティーの一部です。Sun Doc Check ユーティリティーの一部です。
+.TP 2
+o
+.na
+\f2MIF ドックレット\fP @
+.fi
+http://java.sun.com/javadoc/mifdoclet \- MIF、FrameMaker、PDF の書式で API ドキュメントを自動生成します。MIF は Adobe FrameMaker の交換書式です。
+.RE
+
+.LP
+.SS
+用語
+.LP
+.LP
+\f2「ドキュメンテーションコメント」\fP、\f2「doc コメント」\fP、\f2「主説明」\fP、\f2「タグ」\fP、\f2「ブロックタグ」\fP、および\f2「インラインタグ」\fPの用語については、「ドキュメンテーションコメント」で説明します。次のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。
+.LP
+.RS 3
+.TP 3
+生成ドキュメント (generated document)
+javadoc ツールが Java ソースコード内のドキュメンテーションコメントから生成したドキュメントのことです。デフォルトの生成ドキュメントは HTML 形式で、標準ドックレットによって作成されます。
+.LP
+.TP 3
+名前 (name)
+Java 言語で書かれたプログラム要素の名前、つまりパッケージ、クラス、インタフェース、フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、\f2java.lang.String.equals(java.lang.Object)\fP のように完全修飾することも、\f2equals(Object)\fP のように部分修飾することもできます。
+.LP
+.TP 3
+ドキュメント化されるクラス (documented classes)
+javadoc ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。ドキュメント化するには、ソースファイルが使用可能でなければならず、ソースファイル名またはパッケージ名を javadoc コマンドに渡され、アクセス修飾子 (public、protected、package\-private または private) によってフィルタ処理されないようにしなければなりません。ドキュメント化されるクラスは、javadoc ツールの出力に組み込まれるクラス、つまり「包含クラス」とも呼ばれます。
+.LP
+.TP 3
+包含クラス (included classes)
+ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。「ドキュメント化されるクラス」 と同じ。
+.LP
+.TP 3
+除外クラス (excluded classes)
+ツールの実行によって詳細なドキュメントが生成されないクラスおよびインタフェースのことです。
+.LP
+.TP 3
+参照クラス (referenced classes)
+ドキュメント化されるクラスおよびインタフェースの定義 (実装) またはドキュメンテーションコメントの中で明示的に参照されているクラスおよびインタフェースのことです。参照の例としては、戻り値の型、パラメータの型、キャストの型、拡張されたクラス、実装されたインタフェース、インポートされたクラス、メソッド本体で使用されるクラス、@see、{@link}、{@linkplain}、{@inheritDoc} タグなどがあります。この定義は
+.na
+\f21.3\fP @
+.fi
+http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses から変更されています。javadoc ツールを実行するときは、Javadoc のブートクラスパスおよびクラスパス内にあるすべての参照クラスをメモリーにロードする必要があります。参照クラスが見つからない場合は、「クラスが見つかりません」という警告が表示されます。Javadoc ツールは、クラスの存在とそのメンバーの完全指定の名前を判別するのに必要なすべての情報を、.class ファイルから引き出すことができます。
+.LP
+.TP 3
+外部参照クラス (external referenced classes)
+参照クラスのうち、javadoc ツールの実行中にドキュメントが生成されないクラスのことです。つまり、これらのクラスは、コマンド行で Javadoc ツールに渡されていません。生成ドキュメント内でこれらのクラスにリンクしている箇所は、「外部参照」または「外部リンク」と呼ばれます。たとえば、\f2java.awt\fP パッケージに対してだけ Javadoc ツールを実行した場合、\f2Object\fP などの \f2java.lang\fP 内のすべてのクラスが外部参照クラスになります。外部参照クラスにリンクするには、\f2\-link\fP および \f2\-linkoffline\fP オプションを使用します。外部参照クラスには、通常そのソースコメントを javadoc ツールの実行で利用できないという重要な特徴があります。この場合、それらのコメントを継承することはできません。
+.RE
+
+.LP
+.SH "ソースファイル"
+.LP
+.LP
+Javadoc ツールは、4 種類の異なるソースファイルから出力結果を生成します。そのファイルは、クラスの Java 言語ソースファイル (\f2.java\fP)、パッケージコメントファイル、概要コメントファイル、およびその他の処理されないファイルです。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートファイルについても説明します。
+.LP
+.SS
+クラスソースコードファイル
+.LP
+.LP
+それぞれのクラスまたはインタフェース、およびそのメンバーは、独自のドキュメンテーションコメントを持つことができ、それを \f2.java\fP ファイル内に保持します。ドキュメンテーションコメントの詳細は、「ドキュメンテーションコメント」を参照してください。
+.LP
+.SS
+パッケージコメントファイル
+.LP
+.LP
+それぞれのパッケージは、独自のドキュメンテーションコメントを持つことができ、それを専用の「ソース」ファイルに保持します。 その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、そのパッケージ全体に当てはまるドキュメントを記述します。
+.LP
+.LP
+パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。
+.LP
+.RS 3
+.TP 2
+o
+\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは JDK 5.0 で導入されたものであり、package.html よりも推奨されています。
+.TP 2
+o
+\f2package.html\fP \- 格納できるのはパッケージコメントと Javadoc タグだけです。 パッケージ注釈は格納できません。
+.RE
+
+.LP
+.LP
+各パッケージは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを持つことができますが、両方を持つことはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。
+.LP
+.LP
+\f4package\-info.java\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントはパッケージ宣言の前に配置します。
+.LP
+.LP
+File:\f2java/applet/package\-info.java\fP
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+.nf
+\f3
+.fl
/**
- * Provides the classes necessary to create an
+.fl
+ * Provides the classes necessary to create an
+.fl
* applet and the classes an applet uses
+.fl
* to communicate with its applet context.
+.fl
* <p>
+.fl
* The applet framework involves two entities:
+.fl
* the applet and the applet context.
+.fl
* An applet is an embeddable window (see the
+.fl
* {@link java.awt.Panel} class) with a few extra
+.fl
* methods that the applet context can use to
+.fl
* initialize, start, and stop the applet.
+.fl
*
+.fl
* @since 1.0
+.fl
* @see java.awt
+.fl
*/
+.fl
package java.lang.applet;
+.fl
+\fP
.fi
-.ft 1
-.LP
-¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Î \f2/**\fP ¤È \f2*/\fP ¤Ïµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢Ãæ´Ö¹Ô¤Î¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¾Êά¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-.LP
-.LP
-\f4package.html\fP \- ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î¹½Â¤¤Î¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ò³ÊǼ¤Ç¤¤Þ¤¹¡£¥³¥á¥ó¥È¤Ï \f2<body>\fP Í×ÁÇÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£
-.LP
-.LP
-File: \f2java/applet/package.html\fP
-.LP
-.LP
-.ft 3
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
.nf
-<HTML>
-<BODY>
-Provides the classes necessary to create an applet and the
-classes an applet uses to communicate with its applet context.
-<p>
-The applet framework involves two entities: the applet
-and the applet context. An applet is an embeddable
-window (see the {@link java.awt.Panel} class) with a
-few extra methods that the applet context can use to
-initialize, start, and stop the applet.
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 353 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-42
+.LP
+.LP
+コメント区切り文字の \f2/**\fP と \f2/*\fP は記述する必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。
+.LP
+.LP
+\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントは \f2<body>\fP 要素内に配置します。
+.LP
+.LP
+File:\f2java/applet/package.html\fP
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+.nf
+\f3
+.fl
+<HTML>
+.fl
+<BODY>
+.fl
+Provides the classes necessary to create an applet and the
+.fl
+classes an applet uses to communicate with its applet context.
+.fl
+<p>
+.fl
+The applet framework involves two entities: the applet
+.fl
+and the applet context. An applet is an embeddable
+.fl
+window (see the {@link java.awt.Panel} class) with a
+.fl
+few extra methods that the applet context can use to
+.fl
+initialize, start, and stop the applet.
+.fl
+
+.fl
@since 1.0
+.fl
@see java.awt
+.fl
</BODY>
+.fl
</HTML>
+.fl
+\fP
.fi
-.ft 1
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 406 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-40
+
.LP
.LP
-¤³¤ì¤Ïñ¤Ê¤ëÄ̾ï¤Î HTML ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥Ñ¥Ã¥±¡¼¥¸Àë¸À¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍƤϡ¢¤Û¤«¤Î¤¹¤Ù¤Æ¤Î¥³¥á¥ó¥È¤ÈƱÍÍ¤Ë HTML ¤Çµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤Û¤«¤Î¥³¥á¥ó¥È¤È°Û¤Ê¤ëÅÀ¤¬ 1 ¤Ä¤À¤±¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¡¢¤³¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë \f2/**\fP ¤È \f2*/\fP¡¢¤ª¤è¤Ó¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò´Þ¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍפȤ·¡¢\f2<body>\fP ¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤ä¤½¤Î¾¤Î¥Æ¥¥¹¥È¤ò´Þ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤¹¤¬¡¢¤Û¤«¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÈƱÍÍ¡¢Á´¤Æ¤Î¥Ö¥í¥Ã¥¯¥¿¥°¤ÏÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Ë \f2@see\fP ¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecomments
-¤Î
+これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述されています。それは、このドキュメンテーションコメントには、コメント区切り文字である \f2/**\fP と \f2*/\fP、および行頭のアスタリスクを含めてはならない、ということです。コメントを書く場合は、最初の文をパッケージの概要とし、\f2<body>\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、すべてのブロックタグは、主説明のあとに置かなければなりません。パッケージコメントファイルに \f2@see\fP タグを追加する場合は、完全指定の名前を使用する必要があります。詳細は、
.na
-¡Ö\f2example of \fP\f2package.html\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2package.html\fP の例 @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsを参照してください。
.LP
.LP
-\f3¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î½èÍý\fP \- Javadoc ¥Ä¡¼¥ë¤Ï¡¢¼Â¹Ô»þ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¸¡º÷¤·¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤È¼¡¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
+\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。
.LP
.RS 3
.TP 2
o
-½èÍý¤Ç¤¤ë¤è¤¦¤Ë¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤¹¤ë (\f2package.html\fP ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢\f2<body>\fP ¤È \f2</body>\fP HTML ¥¿¥°¤Î´Ö¤Ë¤¢¤ëÆâÍƤò¤¹¤Ù¤Æ¥³¥Ô¡¼¤¹¤ë¡£\f2<head>\fP ¤ò´Þ¤á¡¢¤½¤³¤Ë \f2<title>\fP ¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÃøºî¸¢µ½Ò¤Ê¤É¤Î¾ðÊó¤òÇÛÃÖ¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤¬¡¢À¸À®¸å¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¤Ï¤½¤ì¤é¤Ï°ìÀÚɽ¼¨¤µ¤ì¤Ê¤¤)
+処理できるようにコメントをコピーする (\f2package.html\fP の場合であれば、\f2<body>\fP と \f2</body>\fP HTML タグの間にある内容をすべてコピーする。\f2<head>\fP を含め、そこに \f2<title>\fP やソースファイルの著作権記述などの情報を配置することもできるが、生成後のドキュメンテーションにはそれらは一切表示されない)
.TP 2
o
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤¬¤¢¤ì¤Ð¡¢¤¹¤Ù¤Æ½èÍý¤¹¤ë
+パッケージタグがあれば、すべて処理する
.TP 2
o
-À¸À®¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢½èÍý¤·¤¿¥Æ¥¥¹¥È¤òÁÞÆþ¤¹¤ë (Îã: ¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×)
+生成したパッケージの概要ページの最後に、処理したテキストを挿入する (例:
+.na
+\f2パッケージの概要\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html)
.TP 2
o
-¥Ñ¥Ã¥±¡¼¥¸¤Î³µÍ×¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë¡£¤µ¤é¤Ë¡¢³µÍ×¥Ú¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤òÄɲ乤ë (Îã: ³µÍפÎÍ×Ìó)¡£Ê¸¤ÎËöÈø¤Ï¡¢¥¯¥é¥¹¤ä¥á¥ó¥Ð¤Î¼çÀâÌÀ¤ÎºÇ½é¤Îʸ¤ÎËöÈø¤ÈƱ¤¸µ¬Â§¤Ë¤è¤Ã¤ÆȽÃǤµ¤ì¤ë
+パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例:
+.na
+\f2概要の要約\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html)。文の末尾は、クラスやメンバーの主説明の最初の文の末尾と同じ規則によって判断される
.RE
.LP
-.SS "³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë"
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤Ï¡¢
-Æȼ«¤Î³µÍץɥ¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¤½¤ì¤Ï
-¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢À¸À®¤¹¤ë³µÍ×¥Ú¡¼¥¸¤Ë¤³¤Î¥³¥á¥ó¥È¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¡£Ä̾¤³¤Î
-¥³¥á¥ó¥È¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤË
-Åö¤Æ¤Ï¤Þ¤ë¥É¥¥å¥á¥ó¥È¤ò´Þ¤á¤Þ¤¹¡£
+.SS
+概要コメントファイル
.LP
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ë¹¥¤¤Ê̾Á°¤òÉÕ¤±¤Æ¡¢
-¹¥¤¤Ê¾ì½ê¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢Ä̾ï¤Ï¥Õ¥¡¥¤¥ë̾¤ò
-.B overview.html
-¤Ë¤·¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î°ìÈÖ¾å¤Î³¬ÁؤËÃÖ¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.B java.applet
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-.B /home/user/src/java/applet
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¤¹¤ë¤È¡¢
-.BR /home/user/src/overview.html
-¤Ë³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
.LP
-°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ËÂФ·¤Æ javadoc ¤òÊ£¿ô²ó¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢Æ±¤¸ 1 ¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ËÂФ·¤ÆÊ£¿ô¤Î³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢ÆâÉô¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍÑ¤Ë \-private ¤ò»ØÄꤷ¤Æ javadoc ¤ò 1 ²ó¼Â¹Ô¤·¤¿¤¢¤È¡¢¸ø³«¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥óÍѤˤ½¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢³Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤Î 1 ʸÌܤǡ¢¤½¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò¸ø³«ÍѤޤ¿¤ÏÆâÉôÍѤȤ·¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
+ドキュメント化する各アプリケーションまたはパッケージセットは、独自の概要ドキュメンテーションコメントを持つことができ、それは専用の「ソース」ファイルに保持されます。 その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、アプリケーションまたはパッケージセット全体に当てはまるドキュメントを記述します。
.LP
-³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍƤϡ¢Á°¤Ë½Ò¤Ù¤¿¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤È
-ƱÍÍ¡¢HTML ¤Çµ½Ò¤µ¤ì¤¿ 1 ¤Ä¤ÎÂ礤ʥɥ¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢Á°½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£·«¤êÊÖ¤·¤Ë
-¤Ê¤ê¤Þ¤¹¤¬¡¢¤³¤Î¥³¥á¥ó¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢ºÇ½é¤Îʸ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥È¤ÎÍ×Ìó¤Ë¤·¡¢
-.B <body>
-¤ÈºÇ½é¤Îʸ¤Î´Ö¤Ë¥¿¥¤¥È¥ë¤Þ¤¿¤Ï¤½¤Î¾¤Î¥Æ¥¥¹¥È¤ò´Þ¤á¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-³µÍ×¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë
-¤Ä¤¤¤Æ¤â¡¢{\f3@link\f1}
-°Ê³°¤Î¥¿¥°¤Ï¡¢ÀâÌÀ¤Î¤¢¤È¤ËÃÖ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.B @see
-¥¿¥°¤òÄɲ乤ë¾ì¹ç¤Ï¡¢´°Á´»ØÄê¤Î̾Á°¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.BR javadoc
-¥Ä¡¼¥ë¤Î¼Â¹Ô»þ¤Ë¡¢
-.B \-overview
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
+概要コメントファイルを作成する場合は、ファイルに任意の名前を付け、任意の場所に置くことができます。ただし、通常は、ファイル名を \f4overview.html\fP にして、ソースツリーの最上位レベルに置きます。たとえば、\f2java.applet\fP パッケージのソースファイルが \f2/home/user/src/java/applet\fP ディレクトリに含まれている場合は、\f2/home/user/src/overview.html\fP に概要コメントファイルを作成できます。
+.LP
+.LP
+異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。
+.LP
+.LP
+概要コメントファイルの内容は、前述のパッケージコメントファイルと同様、HTML で記述された 1 つの大きなドキュメンテーションコメントです。詳細は、前述の説明を参照してください。要点を繰り返すと、このコメントを記述する場合は、最初の文をアプリケーションまたはパッケージセットの要約とし、\f2<body>\fP と最初の文の間にタイトルその他のテキストを含めないようにします。概要タグを含めることができます。 どのドキュメンテーションコメントについても、インラインタグ (\f2{@link}\fP など) 以外のすべてのタグは、主説明のあとに置く必要があります。\f2@see\fP タグを追加する場合は、完全指定の名前を使用しなければなりません。
+.LP
+.LP
+Javadoc ツールの実行時に、\-overview オプションを使って概要コメントファイル名を指定します。このファイルは、パッケージコメントファイルと同じように処理されます。
+.LP
+.RS 3
.TP 2
-\(bu
-.B <body>
-¥¿¥°¤È
-.B </body>
-¥¿¥°¤È¤Î´Ö¤Ë¤¢¤ë¤¹¤Ù¤Æ¤ÎÆâÍƤò½èÍý¤Î¤¿¤á¤Ë¥³¥Ô¡¼¤¹¤ë
+o
+\f2<body>\fP タグと \f2</body>\fP タグの間にあるすべての内容を処理のためにコピーする
.TP 2
-\(bu
-¸ºß¤¹¤ë³µÍ×¥¿¥°¤ò½èÍý¤¹¤ë
+o
+概要タグがあればすべて処理する
.TP 2
-\(bu
-³µÍפÎÍ×Ìó¤Ê¤É¤Î Javadoc ¤¬À¸À®¤¹¤ë³µÍ×¥Ú¡¼¥¸¤ÎºÇ¸å¤Ë¡¢
-½èÍý¤µ¤ì¤¿¥Æ¥¥¹¥È¤òÁÞÆþ¤¹¤ë
-.TP 2
-\(bu
-³µÍ×¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢³µÍ×¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤¹¤ë
-.SS "¤½¤Î¾¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë"
-¥½¡¼¥¹¤Ë¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤ÇÀ¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¡¢¤½¤Î¾¤ÎǤ°Õ¤Î¥Õ¥¡¥¤¥ë¤ò
-´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
-¥µ¥ó¥×¥ë¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Õ¥¡¥¤¥ë¡¢Java ¥½¡¼¥¹
-(\f3.java\f1) ¤ª¤è¤Ó¥¯¥é¥¹ (\f3.class\f1) ¥Õ¥¡¥¤¥ë¡¢ÆâÍƤ¬
-Ä̾ï¤Î Java ¥½¡¼¥¹
-¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤
-ÆÈΩ¤·¤¿ HTML ¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò
-.BR doc-files
-¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸
-¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤ËºîÀ®¤Ç¤¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë¤³¤Î¤è¤¦¤Ê¥µ¥Ö
-¥Ç¥£¥ì¥¯¥È¥ê¤ò 1 ¤Ä»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢
-¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¡¢
-.B .class
-¥Õ¥¡¥¤¥ë¡¢¥¢¥×¥ì¥Ã¥È¡¢¤ª¤è¤Ó HTML ¥Õ¥¡¥¤¥ë¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Ü¥¿¥ó¤Î²èÁü
-.B button.gif
-¤ò
-.B java.awt.Button
-¥¯¥é¥¹¥É¥¥å¥á¥ó¥È¤Ë´Þ¤á¤¿¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò
-.B /home/user/src/java/awt/doc-files/
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤Þ¤¹¡£
-.BR doc-files
-¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.B /home/user/src/java/doc-files
-¤ËÃÖ¤¯¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢
-.B java
-¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤½¤Î¤â¤Î¤Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬
-Æþ¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-¤³¤ì¤é¤Î½èÍý¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤Ï
-¤¹¤Ù¤ÆÌÀ¼¨Åª¤Ëµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥Õ¥¡¥¤¥ë¤ò¸«¤º¤Ë¡¢Ã±¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÆâÍÆʪ¤òÀ¸À®Àè¤Ë
-¥³¥Ô¡¼¤¹¤ë¤À¤±¤À¤«¤é¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B Button.java
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î¥ê¥ó¥¯¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-/**
-* This button looks like this:
-* <img src="doc-files/Button.gif">
-*/
+o
+生成した概要ページの最後に、処理したテキストを挿入する (例:
+.na
+\f2概要の要約\fP @
.fi
-.ft 1
-.SH "¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë"
-°ìÉô¤Î³«È¯¼Ô¤«¤é¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò
-Âбþ¤¹¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¶á¤¯¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ËÊݸ¤·¤¿¤¤¤È¤¤¤¦Í×˾¤¬¤¢¤ê¤Þ¤·¤¿¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë
-Êݸ¤·¤¿¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-.LP
-¸ÄÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÌÀ¼¨Åª¤ËÅϤ·¤Æ
-.B Javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò°Õ¿ÞŪ¤Ë½ü³°¤·¤Æ¡¢
-½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï
-¥ï¥¤¥ë¥É¥«¡¼¥É¤ÇÅϤ¹¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¡¢¤³¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë
-¤ª¤è¤Ó¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤¬
-½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤È¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Ï¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢ÀµÅö¤Ç¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤Î¤ËÂФ·¤Æ¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤¦¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤¿¤À¤·¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤â¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë \-
-³«È¯¼Ô¤Î¿¤¯¤Ï¡¢¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ç¼Â¹Ô²Äǽ¤Ê
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
-¤·¤«¤·¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢Ì¾Á°¤Ê¤·¥Ñ¥Ã¥±¡¼¥¸¤Ê¤É¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¥Ñ¥Ã¥±¡¼¥¸¤È¤ÏÊ̤Υѥ屡¼¥¸¤Ë°¤µ¤»¤¿¤¤¤È¤â
-¹Í¤¨¤Æ¤¤¤Þ¤¹ (¤½¤Î¤¿¤á¡¢¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤Ï package ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤Ê¤¤¤«¡¢
-¤Þ¤¿¤Ï¥½¡¼¥¹¤È¤ÏÊ̤Πpackage ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¤¢¤ê¤Þ¤¹)¡£
-¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ
-¤½¤Î¥½¡¼¥¹¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¤È¤¤Ë¡¢
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï·Ù¹ð¤Þ¤¿¤Ï¥¨¥é¡¼¤ò°ú¤µ¯¤³¤·¤Þ¤¹¡£
-¤½¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò
-.B com.package1
-¤ËÄɲ乤ë¾ì¹ç¤Ï¡¢¤½¤ì¤é¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤ò¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤ë¤¿¤á
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¤·¤Æ¤Ï̵¸ú¤Ë¤Ê¤ë
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£
-.LP
-.RS 5
-com/package1/test-files/
+http://java.sun.com/javase/6/docs/api/overview\-summary.html)
+.TP 2
+o
+概要ページの先頭に、概要コメントの最初の文をコピーする
.RE
+
.LP
-¤³¤¦¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ç¤Ï·Ù¹ð¤Ê¤·¤Ç
-test ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¹¥¥Ã¥×¤·¤Þ¤¹¡£
+.SS
+その他の未処理のファイル
.LP
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Ë doc ¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢
-¼¡¤Î¤è¤¦¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ÇÅϤ·¤Æ
-¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤òÊ̸Ĥ˼¹ԤǤ¤ë¤è¤¦¤ËÀßÄê¤Ç¤¤Þ¤¹¡£
-\f2com/package1/test\-files/*.java\fP.
-.TP
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È\-
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡Ö.java¡×¤Ç½ª¤ï¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢
-¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Þ¤»¤ó¡£
-¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ËÊÝ»ý¤·¤¿¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î
-¥Æ¥ó¥×¥ì¡¼¥È¤¬¤¢¤ë¾ì¹ç¤Ï¡¢
-¤³¤Î¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó (Buffer-Template.java ¤Ê¤É) ¤ä
-¤½¤Î¾¤ÎÉÔÀµ¤Ê Java ʸ»ú¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢½èÍý¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤¬½èÍý¤¹¤ë¤Î¤Ï¡¢¡Ö.java¡×ÀÜÈø¼¤ò½ü¤¤¤¿Ì¾Á°¤¬
-Àµµ¬¤Î¥¯¥é¥¹Ì¾¤Ç¤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¢¤ë¤¿¤á¤Ç¤¹ (¡Ö¼±Ê̻ҡ×http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 »²¾È)¡£
-.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë"
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javadoc
-¤Ï¡¢HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ëɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò
-»È¤¤¤Þ¤¹¡£
-¤³¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢°Ê²¼¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£°Ê²¼¤Î
-³Æ HTML¡Ö¥Ú¡¼¥¸¡×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Υե¡¥¤¥ë¤ËÂбþ¤·¤Þ¤¹¡£
-.B javadoc
-¤¬À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ë¤Ï¡¢¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤Ë
-¤Á¤Ê¤ó¤À¤â¤Î¤È¡¢¤½¤¦¤Ç¤Ê¤¤¤â¤Î (\f3package-summary.html\f1 ¤Ê¤É)
-¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£¸å¼Ô¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢Á°¼Ô¤Î¥°¥ë¡¼¥×¤Î̾Á°¤È
-¥Õ¥¡¥¤¥ë̾¤¬¶¥¹ç¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥Ï¥¤¥Õ¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SS "´ðËÜÆâÍÆ¥Ú¡¼¥¸"
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥¯¥é¥¹¤Þ¤¿¤Ï³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¡¢1 ¤Ä¤Î¥¯¥é¥¹
-¥Ú¡¼¥¸¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸ (\f3classname.html\f1)
-.TP 2
-\(bu
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸
-¥Ú¡¼¥¸ (\f3package-summary.html\f1)¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î
-.B package.html
-¤Þ¤¿¤Ï
-package\-info.java
-¤È¤¤¤¦¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î HTML ¥Æ¥¥¹¥È¤¬´Þ¤á¤é¤ì¤ë
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î³µÍ×
-¥Ú¡¼¥¸ (\f3overview-summary.html\f1)¡£¤³¤ì¤Ï¡¢À¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ÎÀèƬ¥Ú¡¼¥¸¤Ë¤Ê¤ë¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢
-.B -overview
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î HTML ¥Æ¥¥¹¥È¤¬´Þ¤á¤é¤ì¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢
-.B javadoc
-¤Ë 2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿
-¾ì¹ç¤À¤±¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤Î¡ÖHTML ¥Õ¥ì¡¼¥à¡×Àá¤ò»²¾È
-.SS "Áê¸ß»²¾È¥Ú¡¼¥¸"
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ¥Ú¡¼¥¸
-(\f3overview-tree.html\f1)¡£¤³¤ì¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó
-¥Ð¡¼¤Î [³µÍ×] ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤«¤é¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë
-.TP 2
-\(bu
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ 1 ¤Ä¤Î¥¯¥é¥¹³¬ÁØ
-¥Ú¡¼¥¸ (\f3package-tree.html\f1)¡£
-ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ú¡¼¥¸¡¢¥¯¥é¥¹¥Ú¡¼¥¸¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ú¡¼¥¸¤ò
-ɽ¼¨¤·¡¢[³¬Áإĥ꡼] ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î³¬Áؤ¬
-ɽ¼¨¤µ¤ì¤ë
-.TP 2
-\(bu
-³Æ¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ 1 ¤Ä¤Î [»ÈÍÑ]
-¥Ú¡¼¥¸ (\f3package-use.html\f1)¤È¡¢
-³Æ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤ÆÊÌ¤Ë 1 ¤Ä¤Î [»ÈÍÑ]
-¥Ú¡¼¥¸(\f3class-use/classname.html\f1)¡£¤³¤Î¥Ú¡¼¥¸¤Ï¡¢ÆÃÄê¤Î¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î¤Ê¤ó¤é¤«¤ÎÉôʬ¤ò»È¤Ã¤Æ¤¤¤ë
-¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤ò
-µ½Ò¤¹¤ë¡£¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹ A ¤Ë¤Ä¤¤¤Æ¹Í¤¨¤ë¤È¡¢
-¤½¤Î[»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¤Ï¡¢A ¤Î¥µ¥Ö¥¯¥é¥¹¡¢A ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿
-¥Õ¥£¡¼¥ë¥É¡¢A ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢A ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É
-¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¤¬É½¼¨¤µ¤ì¤ë¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢
-¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë°ÜÆ°¤·¤Æ¤«¤é¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼
-¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë
-.TP 2
-\(bu
-Èó¿ä¾© API ¥Ú¡¼¥¸ (\f3deprecated-list.html\f1)¡£¿ä¾©¤µ¤ì¤Ê¤¤
-̾Á°¤¹¤Ù¤Æ¤Î°ìÍ÷¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë (Èó¿ä¾©Ì¾¤Ï¡¢Ä̾ï¤Ï²þÎɤµ¤ì¤¿ API ¤¬
-¸ºß¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤Ê¤¤ API ¤Î̾Á°¤Ç¡¢¤¿¤¤¤Æ¤¤¤Ï¤½¤ì¤Ë
-ÃÖ¤´¹¤ï¤ë̾Á°¤¬Ä󼨤µ¤ì¤Æ¤¤¤ë¡£Èó¿ä¾© API ¤Ï¡¢¾Íè¤Î¼ÂÁõ¤Ç¤Ï
-ºï½ü¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë)
-.TP 2
-\(bu
-Äê¿ô¥Õ¥£¡¼¥ë¥ÉÃÍ¥Ú¡¼¥¸ (\f3constant-values.html\f1) ¡£
-static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬É½¼¨¤µ¤ì¤ë¡£
-.TP 2
-\(bu
-ľÎó²½·Á¼°¥Ú¡¼¥¸ (\f3serialized-form.html\f1)¡£Ä¾Îó²½²Äǽ¥¯¥é¥¹
-¤ª¤è¤Ó³°Éô²½²Äǽ¥¯¥é¥¹¤Î¾ðÊóÍÑ¡£¤³¤ì¤é¤Î³Æ¥¯¥é¥¹¤Ë¤Ï¡¢Ä¾Îó²½
-¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Ë´Ø¤¹¤ëÀâÌÀ¤¬¤¢¤ë¡£¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢API ¤ò
-»È¤¦³«È¯¼Ô¤Ç¤Ï¤Ê¤¯¡¢ºÆ¼ÂÁõ¼Ô¤ËɬÍפʾðÊó¤Ç¤¢¤ë¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë
-¥ê¥ó¥¯¤¬¤Ê¤¤¾ì¹ç¡¢Ç¤°Õ¤ÎľÎ󲽤µ¤ì¤¿¥¯¥é¥¹¤Ë°ÜÆ°¤·¤Æ¡¢
-¥¯¥é¥¹¤Î [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥óÆâ¤Î [ľÎ󲽤µ¤ì¤¿·Á¼°] ¤ò¥¯¥ê¥Ã¥¯
-¤¹¤ë¤È¤³¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤¤ë
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ò¼«Æ°Åª¤ËÀ¸À®¤¹¤ë¡£
-¤³¤³¤Ë¤Ï¡¢Serializable ¤ò¼ÂÁõ¤¹¤ë public ¤Þ¤¿¤ÏÈó public ¤Î
-¥¯¥é¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤ª¤ê¡¢¤µ¤é¤Ë¡¢
-.B readObject
-¥á¥½¥Ã¥É¡¢
-.B writeObject
-¥á¥½¥Ã¥É¡¢Ä¾Î󲽤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¡¢
-¤ª¤è¤Ó @serial ¥¿¥°¡¢@serialField ¥¿¥°¡¢@serialData ¥¿¥°¤«¤é¤Î
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¡£
-ľÎ󲽤¬²Äǽ¤Ê public ¥¯¥é¥¹¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢
-¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò @serial exclude ¥¿¥°¤Ç
-»ØÄꤹ¤ë¡£Ä¾Î󲽤¬²Äǽ¤Ê package private ¥¯¥é¥¹¤ò´Þ¤á¤ë¤Ë¤Ï¡¢
-¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¤½¤Î¥¯¥é¥¹¤¬Â°¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò @serial include ¥¿¥°¤Ç
-»ØÄꤹ¤ë¡£ 1.4 ¤Ç¤Ï¡¢
-\-private
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë javadoc ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢public ¥¯¥é¥¹¤ª¤è¤Ó
-private ¥¯¥é¥¹¤Ë´°Á´¤ÊľÎó²½·Á¼°¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-.TP 2
-\(bu
-º÷°ú (\f3index-*.html\f1)¡£¤¹¤Ù¤Æ¤Î¥¯¥é¥¹Ì¾¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¤ª¤è¤Ó¥á¥½¥Ã¥É̾¤ò
-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤Ƥ¢¤ë¡£º÷°ú¤Ï¡¢Unicode ¤ò°·¤¨¤ë¤è¤¦¤Ë
-¹ñºÝ²½¤µ¤ì¤Æ¤ª¤ê¡¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤¹¤ë¤«¡¢¤Þ¤¿¤ÏÀèƬ
-ʸ»ú (±Ñ¸ì¤Î¾ì¹ç A ¤«¤é Z) ¤´¤È¤ËÊ̤Υե¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤Ç¤¤ë
-.SS "¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë"
-.TP 2
-\(bu
-¥Ø¥ë¥×¥Ú¡¼¥¸ (\f3help-doc.html\f1)¡£¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ª¤è¤Ó
-¾åµ¤Î¥Ú¡¼¥¸¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
-.BR \-helpfile
-¤ò»È¤Ã¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î
-¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ËÃÖ¤´¹¤ï¤ëÆȼ«¤Î¥«¥¹¥¿¥à¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤òÄ󶡤¹¤ë
-¤³¤È¤â¤Ç¤¤ë
-.TP 2
-\(bu
-1 ¤Ä¤Î
-.B index.html
-¥Õ¥¡¥¤¥ë¡£É½¼¨ÍÑ ¤Î HTML ¥Õ¥ì¡¼¥à¤òºîÀ®¤¹¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢
-¥Õ¥ì¡¼¥àÉÕ¤¤ÎºÇ½é¤Î¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¾ì¹ç¤Ë¥í¡¼¥É¤¹¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë
-¼«ÂΤϡ¢¥Æ¥¥¹¥ÈÆâÍƤò´Þ¤Þ¤Ê¤¤
-.TP 2
-\(bu
-Ê£¿ô¤Î¥Õ¥ì¡¼¥à¥Õ¥¡¥¤¥ë (\f3*-frame.html\f1)¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÍ÷¤ò´Þ¤à¡£HTML ¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤È¤¤Ë
-»È¤ï¤ì¤ë
-.TP 2
-\(bu
-¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë (\f3package-list\f1)¡£
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Ç»È¤ï¤ì¤ë¡£¤³¤ì¤Ï¡¢HTML ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë
-¤Î¤¿¤á¡¢¥ê¥ó¥¯¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤
-.TP 2
-\(bu
-¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë (\f3stylesheet.css\f1)¡£À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¾å¤Ë
-ɽ¼¨¤µ¤ì¤ë¸Â¤é¤ì¤¿¿§¿ô¡¢¥Õ¥©¥ó¥È¥Õ¥¡¥ß¥ê¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¤Î
-¥¹¥¿¥¤¥ë¤ª¤è¤ÓÇÛÃÖ¤òÀ©¸æ¤¹¤ë
-.TP 2
-\(bu
-¥³¥Ô¡¼Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤¿¤¤¥Õ¥¡¥¤¥ë (¥¤¥á¡¼¥¸¡¢¥µ¥ó¥×¥ë¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ê¤É) ¤¬Æþ¤Ã¤Æ¤¤¤ë doc ¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ëÆâ¤Î
-.B javadoc
-¥¿¥°¤Ï¤¹¤Ù¤Æ̵»ë¤µ¤ì¤ë¡£¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¸ºß¤·¤Ê¤¤¸Â¤ê¡¢¤³¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤ÏÀ¸À®¤µ¤ì¤Ê¤¤
-.SS "HTML ¥Õ¥ì¡¼¥à"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢²¼¤Î¿Þ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢2 ¤Ä¤« 3 ¤Ä¤Î HTML ¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Þ¤¹¡£
-1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤·¤«¤Ê¤¤¾ì¹ç (¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤¬¤Ê¤¤¾ì¹ç) ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤ò¾Êά¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆºÇÄã¸ÂɬÍפʿô¤Î¥Õ¥ì¡¼¥à¤òºîÀ®¤·¤Þ¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*\f3.java\f1) ¤Þ¤¿¤Ïñ°ì¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò°ú¿ô¤È¤·¤Æ
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤ¹¾ì¹ç¤Ï¡¢º¸Â¦¤ÎÎó¤Ë¥¯¥é¥¹¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë
-¥Õ¥ì¡¼¥à (C) 1 ¤Ä¤À¤±¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¤ËÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ¹¾ì¹ç¤Ï¡¢³µÍ×¥Ú¡¼¥¸ (Detail) ¤Ë²Ã¤¨¤Æ¡¢
-¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÍ÷¤òɽ¼¨¤¹¤ëÂè 3 ¤Î¥Õ¥ì¡¼¥à (P) ¤¬
-ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤Î³µÍ×¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë̾¤Ï
-.BR overview-summary.html
-¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸
-̾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£[¥Õ¥ì¡¼¥à¤Ê¤·] ¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢
-.BR overview-summary.html
-¤«¤éɽ¼¨¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤È¡¢¥Õ¥ì¡¼¥à¤ò¾Êά¤Ç¤¤Þ¤¹¡£
.LP
-HTML ¥Õ¥ì¡¼¥à¤Ë´·¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥ì¡¼¥à¤Ë¤Ï¡¢°õºþ¤ª¤è¤Ó
-¥¹¥¯¥í¡¼¥ëÍѤΡ֥ե©¡¼¥«¥¹¡×¤¬É¬ÍפǤ¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Õ¥ì¡¼¥à¤Ë¥Õ¥©¡¼¥«¥¹¤òÍ¿¤¨¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥ì¡¼¥à¤ò
-¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¤¹¤ë¤È¡¢Â¿¤¯¤Î¥Ö¥é¥¦¥¶¤Ç¤Ï¡¢Ìð°õ¥¡¼¤ª¤è¤Ó¥Ú¡¼¥¸¥¡¼
-¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò¥¹¥¯¥í¡¼¥ë¤·¤¿¤ê¡¢[°õºþ] ¥á¥Ë¥å¡¼
-¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤½¤Î¥Õ¥ì¡¼¥à¤ò°õºþ¤·¤¿¤ê¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+ソースには、Javadoc ツールによって生成先のディレクトリにコピーされる、その他の任意のファイルを含めることができます。一般に、このようなファイルには、グラフィックファイル、サンプルの Java ソース (.java) およびクラス (.class) ファイル、内容が通常の Java ソースファイルのドキュメンテーションコメントの影響を受けない独立した HTML ファイルなどがあります。
.LP
-.ft 3
+.LP
+未処理のファイルをソースに含めるには、それらのファイルを \f4doc\-files\fP というディレクトリに置きます。 このディレクトリは、ソースファイルがある任意のパッケージディレクトリの下に作成できます。このようなサブディレクトリは、パッケージごとに 1 つ用意できます。イメージ、サンプルコード、ソースファイル、.class ファイル、アプレット、および HTML ファイルをこのディレクトリに格納できます。たとえば、ボタンのイメージ \f2button.gif\fP を \f2java.awt.Button\fP クラスのドキュメントに含める場合は、そのファイルを \f2/home/user/src/java/awt/doc\-files/\fP ディレクトリに置きます。\f2doc\-files\fP ディレクトリを \f2/home/user/src/java/doc\-files\fP に置くことはできません。 これは、\f2java\fP はパッケージではなく、そのディレクトリそのものにソースファイルが入っていないからです。
+.LP
+.LP
+これらの未処理のファイルへのリンクは、すべて明示的に記述する必要があります。 これは、Javadoc ツールがそれらのファイルを見ずに、単にディレクトリとその内容を生成先にコピーするだけだからです。たとえば、\f2Button.java\fP のドキュメンテーションコメント内のリンクは、次のようになります。
+.LP
.nf
- ------------ ------------
- |C| Detail | |P| Detail |
- | | | | | |
- | | | |-| |
- | | | |C| |
- | | | | | |
- | | | | | |
- ------------ ------------
- javadoc *.java javadoc java.lang java.awt
+\f3
+.fl
+ /**
+.fl
+ * This button looks like this:
+.fl
+ * <img src="doc\-files/Button.gif">
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
+
.LP
-HTML ¥Õ¥ì¡¼¥à¤¬É¬Íפ«¤É¤¦¤«¤Ë¤è¤Ã¤Æ¡¢¼¡¤Î¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤ò
-³«»Ï¥Ú¡¼¥¸¤È¤·¤Æ¥í¡¼¥É¤·¤Þ¤¹¡£
+.SS
+テストファイルおよびテンプレートファイル
.LP
+.LP
+一部の開発者から、テストファイルおよびテンプレートファイルを対応するソースファイルの近くのソースツリーに保存したいという要望がありました。つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに保存したいということです。
+.LP
+.LP
+個別のソースファイル名で明示的に渡して Javadoc ツールを実行する場合は、テストファイルおよびテンプレートファイルを意図的に除外して、処理されないようにすることができます。ただし、パッケージ名またはワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイルおよびテンプレートファイルが処理されないようにする必要があります。
+.LP
+.LP
+テストファイルとテンプレートファイルの違いは、テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、テンプレートファイルは、そうではないという点です。 ただし、テンプレートファイルも「.java」で終わることができます。
+.LP
+.LP
+\f3テストファイル\fP \- 開発者の多くは、あるパッケージのコンパイル可能で実行可能なテストファイルをそのパッケージのソースファイルと同じディレクトリに配置したいと考えています。しかしテストファイルは、名前なしパッケージなど、ソースファイルパッケージとは別のパッケージに属させたいとも考えています (そのため、テストファイルには package ステートメントがないか、またはソースとは別の package ステートメントがある)。このような状況では、コマンド行で指定されているソースのパッケージ名を指定してそのソースがドキュメント化されているときに、テストファイルは警告またはエラーを引き起こします。そのようなテストファイルはサブディレクトリに配置する必要があります。\f2com.package1\fP に追加する場合は、それらのテストファイルを、ハイフンが含まれるためパッケージ名としては無効になるサブディレクトリに配置します。
+.LP
+.nf
+\f3
+.fl
+ com/package1/test\-files/
+.fl
+\fP
+.fi
+
+.LP
+.LP
+こうすると、Javadoc ツールでは警告なしで test ディレクトリをスキップします。
+.LP
+.LP
+テストファイルに doc コメントが含まれる場合、次のようにワイルドカードを含んだテストソースファイル名で渡してテストファイルのドキュメントを生成するように、Javadoc ツールを別個に実行できるように設定できます。 たとえば、\f2com/package1/test\-files/*.java\fP などです。
+.LP
+.LP
+\f3ソースファイルのテンプレート\fP \- テンプレートファイルの名前は「.java」で終わることもありますが、テンプレートファイルはコンパイルできません。ソースディレクトリに保持したいソースファイルのテンプレートがある場合は、このファイル名にハイフン (\f2Buffer\-Template.java\fP など) やその他の不正な Java 文字を使用します。 こうすることで、処理されないようになります。これは、Javadoc ツールが処理するのは、「.java」接尾辞を除いた名前が 正規のクラス名であるソースファイルだけであるためです (
+.na
+\f2「識別子」\fP @
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625参照)。
+.LP
+.SH "生成されるファイル"
+.LP
+.LP
+デフォルトでは、javadoc ツールは、HTML 形式のドキュメントを生成する標準ドックレットを使います。このドックレットは、以下の種類のファイルを生成します。 それぞれの HTML ページは、個々のファイルに相当します。javadoc が生成するファイルの名前には、クラスやインタフェースの名前にちなんだものと、そうでないもの (\f2package\-summary.html\fP など) の 2 種類があります。後者のグループのファイル名には、前者のグループとファイル名が競合しないように、ハイフンが含まれています。
+.LP
+.LP
+\f3基本内容ページ\fP
+.LP
+.RS 3
.TP 2
-\(bu
-.B index.html
-(¥Õ¥ì¡¼¥à¤¢¤ê)
+o
+ドキュメント化するクラスまたはインタフェースごとに 1 つの\f3クラスページまたはインタフェースページ\fP (\f2クラス名\fP\f2.html\fP)
.TP 2
-\(bu
-.B overview-summary.html
-(¥Õ¥ì¡¼¥à¤Ê¤·)
-.SS "À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¹½Â¤"
-À¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥½¡¼¥¹
-¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁؤÇÁÈ¿¥
-¤µ¤ì¤Þ¤¹¡£¤³¤Î¹½Â¤¤Ï¡¢1 ¤Ä¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤ 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê
-¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
+o
+ドキュメント化するパッケージごとに 1 つの\f3パッケージページ\fP (\f2package\-summary.html\fP)。Javadoc ツールは、ソースツリーのパッケージディレクトリ内に \f2package.html\fP または \f2package\-info.java\fP というファイルがあれば、その中の HTML テキストをこのページに組み入れます。
+.TP 2
+o
+パッケージセット全体に対して 1 つの\f3概要ページ\fP (\f2overview\-summary.html\fP)。これは、生成ドキュメントの先頭ページになります。Javadoc ツールは、\f2\-overview\fP オプションで指定されたファイル内の HTML テキストをこのページに組み入れます。このページのファイルは、javadoc に複数のパッケージ名を渡した場合にだけ作成されます。詳細は、「HTML フレーム」を参照してください。
+.RE
+
.LP
-¤¿¤È¤¨¤Ð¡¢
-.B java.applet.Applet
-¥¯¥é¥¹¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ï¡¢
-.BR java/applet/Applet.html
-¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£À¸À®Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤¬ apidocs ¤À¤È
-¤¹¤ë¤È¡¢java.applet ¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥¡¥¤¥ë¹½Â¤¤â¤³¤ì¤Ë½¾¤¤¤Þ¤¹¡£
-Á°½Ò¤·¤¿¤è¤¦¤Ë¡¢¡Öframe¡×¤È¤¤¤¦¸ì¤ò̾Á°¤Ë´Þ¤à¥Õ¥¡¥¤¥ë¤Ï¡¢
-¤¹¤Ù¤Æº¸¾å¤Þ¤¿¤Ïº¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤½¤ì
-°Ê³°¤Î HTML ¥Õ¥¡¥¤¥ë¤Ï¡¢¤¹¤Ù¤Æ±¦Â¦¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-Ãí: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ÂÀ»ú (bold) ¤Ç¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Ï¡¢
-.B javadoc
-¤Ø¤Î°ú¿ô¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ (*\f3.java\f1) ¤Î
-¤È¤¤Ë¡¢¾Êά¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢
-°ú¿ô¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î¤È¤¤Ë¤Ï¡¢
-.B package-list
-¤ÏºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¶õ¤Ç¤¹¡£
-.B doc-files
-¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤Ë¸ºß¤·¤Ê¤¤¸Â¤ê¡¢À¸À®Àè¤Ëɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
+\f3相互参照ページ\fP
+.LP
+.RS 3
+.TP 2
+o
+\f3パッケージのセット全体に対して 1 つのクラス階層ページ\fP (\f2overview\-tree.html\fP)。このページを表示するには、ナビゲーションバーの [概要] をクリックしてから、[階層ツリー] をクリックします。
+.TP 2
+o
+\f3パッケージごとに 1 つのクラス階層ページ\fP (\f2package\-tree.html\fP)。 特定のパッケージ、クラス、またはインタフェースのページを表示してから、[階層ツリー] をクリックすると、そのパッケージのクラス階層が表示されます。
+.TP 2
+o
+\f3パッケージごとに 1 つの [使用] ページ\fP (\f2package\-use.html\fP)と、\f3クラスおよびインタフェースごとに 1 つずつの [使用] ページ\fP (\f2class\-use/\fP\f2クラス名\fP\f2.html\fP)。このページには、特定のクラス、インタフェース、またはパッケージの一部を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドについて記述されます。クラスまたはインタフェース A を例にして考えると、その [使用] ページには、A のサブクラス、A として宣言されたフィールド、A を返すメソッド、A 型のパラメータを持つメソッドおよびコンストラクタが表示されます。 このページを表示するには、まず、パッケージ、クラス、またはインタフェースのページに移動してから、ナビゲーションバーの [使用] リンクをクリックします。
+.TP 2
+o
+\f3非推奨 API ページ\fP (\f2deprecated\-list.html\fP)。 推奨されないすべての名前が一覧表示されます。非推奨名は、一般に改良された API が存在するために使用が推奨されていない API の名前であり、通常、それに置き換わる名前が提示されています。非推奨 API は、将来の実装では削除される可能性があります。
+.TP 2
+o
+\f3定数フィールド値ページ\fP (\f2constant\-values.html\fP)。 static フィールドの値用です。
+.TP 2
+o
+\f3直列化されたフォームページ\fP (\f2serialized\-form.html\fP)。 直列化および外部化可能なクラスです。これらの各クラスには、直列化フィールドおよびメソッドに関する説明があります。これらの情報は、API を使う開発者ではなく、再実装を行う開発者に必要な情報です。ナビゲーションバーにこのページへのリンクはありませんが、直列化されたクラスに移動して、そのクラスの説明にある [関連項目] セクションで [直列化された形式] をクリックすると、この情報を取得できます。標準ドックレットは、直列化された形式のページを自動的に生成します。ここには、Serializable を実装する public または非 public のクラスが組み込まれており、さらに、\f2readObject\fP メソッド、\f2writeObject\fP メソッド、直列化されたフィールド、および \f2@serial\fP タグ、\f2@serialField\fP タグ、\f2@serialData\fP タグからのドキュメンテーションコメントが組み込まれています。直列化が可能な public クラスを除外するには、そのクラスまたはそのクラスが属するパッケージを \f2@serial exclude\fP タグで指定します。 直列化が可能な package private クラスを含めるには、そのクラスまたはそのクラスが属するパッケージを \f2@serial include\fP タグで指定します。バージョン 1.4 では、\f2\-private\fP オプションの指定なしで javadoc ツールを実行することにより、public クラスおよび private クラスの完全に直列化されたクラスを生成できます。
+.TP 2
+o
+\f3索引\fP (\f2index\-*.html\fP)。 すべてのクラス名、インタフェース名、コンストラクタ名、フィールド名、およびメソッド名が、アルファベット順に並んでいます。索引は、Unicode を扱えるように国際化されています。 1 つのファイルとして生成することも、先頭文字 (英語の場合 A 〜 Z) ごとに別々のファイルとして生成することもできます。
+.RE
+
+.LP
+.LP
+\f3サポートファイル\fP
+.LP
+.RS 3
+.TP 2
+o
+\f3ヘルプページ\fP (\f2help\-doc.html\fP)。 ナビゲーションバーや前述の各ページに関する説明が記載されています。\f2\-helpfile\fP を使うと、デフォルトのヘルプファイルに代わる独自のカスタムヘルプファイルを提供することもできます。
+.TP 2
+o
+表示用の HTML フレームを作成する 1 つの \f3index.html ファイル\fP。このファイルは、フレーム付きの先頭ページを表示する場合にロードします。このファイル自体には、テキスト内容は含まれていません。
+.TP 2
+o
+複数の\f3フレームファイル\fP (\f2*\-frame.html\fP)。 パッケージ、クラス、およびインタフェースのリストが含まれています。 HTML フレームを表示するときに使用されます。
+.TP 2
+o
+\f3パッケージリスト\fPファイル (\f2package\-list\fP)。 \f2\-link\fP オプションおよび \f2\-linkoffline\fP オプションで使用されます。これは、HTML ファイルではなくテキストファイルであり、どのリンクからもアクセスできません。
+.TP 2
+o
+\f3スタイルシート\fPファイル (\f2stylesheet.css\fP)。 生成されるページ上のいくつかの要素について、色、フォントファミリ、フォントサイズ、フォントのスタイル、および配置を制御します。
+.TP 2
+o
+\f3doc\-files\fP ディレクトリ。 生成先ディレクトリにコピーするイメージ、サンプルコード、ソースコードなどのファイルがすべて格納されます。これらのファイルは、Javadoc ツールによって処理されないため、ファイル内に javadoc タグがあっても無視されます。このディレクトリは、ソースツリーの中にある場合にのみ生成されます。
+.RE
+
+.LP
+.LP
+\f3HTML フレーム\fP
+.LP
+.LP
+Javadoc ツールは、下の図に示すように、2 〜 3 つの HTML フレームを生成します。1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。単一のパッケージに属するソースファイル (*.java) または単一のパッケージ名を引数として javadoc コマンドに渡す場合は、左側の列にクラスの一覧を表示するフレーム (C) 1 つだけが作成されます。Javadoc に複数のパッケージ名を渡した場合は、概要ページ (Detail) に加えて、すべてのパッケージを一覧表示する第 3 のフレーム (P) が作成されます。この概要ページのファイル名は、\f2overview\-summary.html\fP です。したがって、このファイルは、2 つ以上のパッケージ名を渡した場合にだけ作成されます。[フレームなし] リンクをクリックするか、overview\-summary.html を最初に表示すると、フレームを省略できます。
+.LP
+.LP
+HTML フレームに慣れていない場合は、特定のフレームを印刷およびスクロールするには、そのフレームに「フォーカス」がなければならないことに注意してください。フレームにフォーカスを与えるには、そのフレームをクリックします。このようにすると、多くのブラウザでは、矢印キーやページキーを使ってそのフレームをスクロールしたり、[印刷] メニューコマンドを使ってそのフレームを印刷したりできます。
+.LP
+.nf
+\f3
+.fl
+ \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-
+.fl
+ |C| Detail | |P| Detail |
+.fl
+ | | | | | |
+.fl
+ | | | |\-| |
+.fl
+ | | | |C| |
+.fl
+ | | | | | |
+.fl
+ | | | | | |
+.fl
+ \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-
+.fl
+ javadoc *.java javadoc java.lang java.awt
+.fl
+\fP
+.fi
+
+.LP
+.LP
+HTML フレームが必要かどうかによって、次のどちらかのファイルを開始ページとしてロードします。
+.LP
+.RS 3
+.TP 2
+o
+\f2index.html\fP (フレームあり)
+.TP 2
+o
+\f2overview\-summary.html\fP (フレームなし)
+.RE
+
+.LP
+.LP
+\f3生成されるファイルの構造\fP
+.LP
+.LP
+生成されるクラスファイルおよびインタフェースファイルは、Java ソースファイルおよびクラスファイルと同じディレクトリ階層に編成されます。1 つのサブパッケージにつき 1 つのディレクトリ、という構造になります。
+.LP
+.LP
+たとえば、\f2java.applet.Applet\fP クラスに対して生成されるドキュメントは、\f2java/applet/Applet.html\fP に格納されます。生成先のディレクトリの名前が \f2apidocs\fP だとすると、java.applet パッケージのファイル構造は、その下に構築されます。前述のように、「frame」という語を名前に含むファイルは、すべて左上または左下のフレームに表示されます。それ以外の HTML ファイルは、すべて右側のフレームに表示されます。
+.LP
+.RS 3
+
+.LP
+.LP
+注 \- 下の階層図で、ディレクトリは\f3太字\fP (\f3bold\fP) で示してあります。アスタリスク (\f2*\fP) は、javadoc への引数がパッケージ名ではなくソースファイル名 (*.java) である場合に省略されるファイルおよびディレクトリを示しています。また、引数がソースファイル名の場合は、\f2package\-list\fP は作成されますが、内容は空です。doc\-files ディレクトリは、ソースツリー内に存在する場合にのみ、生成先に作成されます。
.LP
.RE
.nf
@@ -932,90 +846,90 @@
.fl
.fl
-\fP\f3apidocs\fP ºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê
+\fP\f3apidocs\fP 最上位ディレクトリ
.fl
- index.html HTML ¥Õ¥ì¡¼¥à¤òÀßÄꤹ¤ë½é´ü¥Ú¡¼¥¸
+ index.html HTML フレームを設定する初期ページ
.fl
- * overview\-summary.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£ÀèƬ¤ËÍ×Ìóʸ¤¬¤¢¤ë
+ * overview\-summary.html 全パッケージのリスト。 先頭に要約文がある
.fl
- overview\-tree.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È
+ overview\-tree.html 全パッケージのクラス階層のリスト
.fl
- deprecated\-list.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È
+ deprecated\-list.html 全パッケージの推奨されない API のリスト
.fl
- constant\-values.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î static ¥Õ¥£¡¼¥ë¥É¤ÎÃͤΥꥹ¥È
+ constant\-values.html 全パッケージの static フィールドの値のリスト
.fl
- serialized\-form.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎľÎ󲽤µ¤ì¤¿·Á¼°¤Î¥ê¥¹¥È
+ serialized\-form.html 全パッケージの直列化された形式のリスト
.fl
- * overview\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡£º¸¾å¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ * overview\-frame.html 全パッケージのリスト。 左上のフレームに表示される
.fl
- allclasses\-frame.html Á´¥Ñ¥Ã¥±¡¼¥¸¤ÎÁ´¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ allclasses\-frame.html 全パッケージの全クラスのリスト。 左下のフレームに表示される
.fl
- help\-doc.html ¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Î¹½À®¤ò¼¨¤¹¥æ¡¼¥¶¥Ø¥ë¥×¤òɽ¼¨¤¹¤ë
+ help\-doc.html これらのページの構成を示すユーザーヘルプを表示する
.fl
- index\-all.html \-splitindex ¥ª¥×¥·¥ç¥ó¤Ê¤·¤ÇºîÀ®¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥Èº÷°ú
+ index\-all.html \-splitindex オプションなしで作成されたデフォルト索引
.fl
- \f3index\-files\fP \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê
+ \f3index\-files\fP \-splitindex オプションを指定して作成されたディレクトリ
.fl
- index\-<number>.html \-splitindex ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿º÷°ú¥Õ¥¡¥¤¥ë
+ index\-<number>.html \-splitindex オプションを指定して作成された索引ファイル
.fl
- package\-list ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥ê¥¹¥È¡£³°Éô»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤ë
+ package\-list パッケージ名のリスト。 外部参照を解決するためだけに使用される
.fl
- stylesheet.css ¥Õ¥©¥ó¥È¡¢¿§¡¢ÇÛÃÖ¤òÄêµÁ¤¹¤ë HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È
+ stylesheet.css フォント、色、配置を定義する HTML スタイルシート
.fl
- \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3java\fP パッケージディレクトリ
.fl
- \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3applet\fP サブパッケージディレクトリ
.fl
- Applet.html Applet ¥¯¥é¥¹¤Î¥Ú¡¼¥¸
+ Applet.html Applet クラスのページ
.fl
- AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AppletContext.html AppletContext インタフェースのページ
.fl
- AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AppletStub.html AppletStub インタフェースのページ
.fl
- AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥Ú¡¼¥¸
+ AudioClip.html AudioClip インタフェースのページ
.fl
- * package\-summary.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£ÀèƬ¤ËÍ×Ìóʸ¤¬¤¢¤ë
+ * package\-summary.html このパッケージのクラスのリスト。 先頭に要約文がある
.fl
- * package\-frame.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤Î¥ê¥¹¥È¡£º¸²¼¤Î¥Õ¥ì¡¼¥à¤Ëɽ¼¨¤µ¤ì¤ë
+ * package\-frame.html このパッケージのクラスのリスト。 左下のフレームに表示される
.fl
- * package\-tree.html ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹³¬ÁؤΥꥹ¥È
+ * package\-tree.html このパッケージのクラス階層のリスト
.fl
- package\-use ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥ê¥¹¥È
+ package\-use このパッケージが使用されている場所のリスト
.fl
- \f3doc\-files\fP ¥¤¥á¡¼¥¸¤ä¥µ¥ó¥×¥ë¤Î¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê
+ \f3doc\-files\fP イメージやサンプルのファイルが格納されるディレクトリ
.fl
- \f3class\-use\fP API ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì½ê¤Î¥Ú¡¼¥¸¤ò³ÊǼ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê
+ \f3class\-use\fP API が使用されている場所のページを格納するディレクトリ
.fl
- Applet.html Applet ¥¯¥é¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ Applet.html Applet クラスを使用するページ
.fl
- AppletContext.html AppletContext ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AppletContext.html AppletContext インタフェースを使用するページ
.fl
- AppletStub.html AppletStub ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AppletStub.html AppletStub インタフェースを使用するページ
.fl
- AudioClip.html AudioClip ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¥Ú¡¼¥¸
+ AudioClip.html AudioClip インタフェースを使用するページ
.fl
- \f3src\-html\fP ¥½¡¼¥¹¥³¡¼¥É¥Ç¥£¥ì¥¯¥È¥ê
+ \f3src\-html\fP ソースコードディレクトリ
.fl
- \f3java\fP ¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3java\fP パッケージディレクトリ
.fl
- \f3applet\fP ¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê
+ \f3applet\fP サブパッケージディレクトリ
.fl
- Applet.html Applet ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ Applet.html Applet ソースコードのページ
.fl
- AppletContext.html AppletContext ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AppletContext.html AppletContext ソースコードのページ
.fl
- AppletStub.html AppletStub ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AppletStub.html AppletStub ソースコードのページ
.fl
- AudioClip.html AudioClip ¥½¡¼¥¹¥³¡¼¥É¤Î¥Ú¡¼¥¸
+ AudioClip.html AudioClip ソースコードのページ
.fl
.fi
.LP
-.SS "À¸À®¤µ¤ì¤ë API Àë¸À"
-javadoc ¥Ä¡¼¥ë¤Ï¡¢³Æ¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢
-¤ª¤è¤Ó¥á¥½¥Ã¥É¤ÎÀâÌÀ¤Î½é¤á¤ÇÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ÎÀë¸À¤Ï¡¢¤½¤Î API ¹àÌܤÎÀë¸À¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-¥Ö¡¼¥ë·¿¥¯¥é¥¹¤ÎÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+.SS
+生成される API 宣言
+.LP
+.LP
+Javadoc ツールは、それぞれのクラス、インタフェース、フィールド、コンストラクタ、およびメソッドの説明の最初に、その API 用の宣言を生成します。 この宣言は、その API 項目の宣言です。たとえば、\f2Boolean\fP クラスの宣言は、次のようになります。
.LP
.LP
\f2public final class Boolean\fP
@@ -1025,136 +939,86 @@
\f2implements Serializable\fP
.LP
.LP
-Boolean.valueOf ¥á¥½¥Ã¥É¤ÎÀë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+また、\f2Boolean.valueOf\fP メソッドの宣言は、次のようになります。
.LP
.LP
\f2public static Boolean valueOf(String s)\fP
.LP
.LP
-javadoc ¥Ä¡¼¥ë¤Ï½¤¾þ»Ò
-.BR public
-¡¢
-.BR protected
-¡¢
-.BR private
-¡¢
-.BR abstract
-¡¢
-.BR final
-¡¢
-.BR static
-¡¢
-.BR transient
-¡¢
-¤ª¤è¤Ó
-.BR volatile
-¤òÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢
-.BR synchronized
-¤È
-.BR native
-¤ÏÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
-.BR synchronized
-¤È
-.BR native
-½¤¾þ»Ò¤Ï¼ÂÁõ¤Î¾ÜºÙ¤È¸«¤Ê¤µ¤ì¡¢API »ÅÍͤΰìÉô¤È¤Ï¸«¤Ê¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-¥¡¼¥ï¡¼¥É
-.BR synchronized
-¤Ë°Í¸¤¹¤ë¤è¤ê¤â¡¢¡ÖÊ£¿ô¤Î¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤Æñ°ì¤Î
-.BR Enumeration
-¤òʹԤ·¤Æ»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡×¤È¤¤¤¦¤è¤¦¤Ë¡¢Ê¹ԽèÍý¤Î¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹¤ò
-¥³¥á¥ó¥ÈÀâÌÀ¤ÎÃæ¤Ç¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ù¤¤Ç¤¹¡£¥É¥¥å¥á¥ó¥È¤Ç¤Ï¡¢
-¤³¤ì¤é¤Î¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹¤ÎãÀ®ÊýË¡¤òÀâÌÀ¤¹¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ê̤Î
-Îã¤òµó¤²¤ë¤È¡¢
-.BR Hashtable
-¤Ï¥¹¥ì¥Ã¥É¤ËÂФ·¤Æ°ÂÁ´¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤½¤Î
-¥á¥½¥Ã¥É¤¹¤Ù¤Æ¤òƱ´ü¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤³¤ì¤ò¼Â¸½¤¹¤ë¤ÈÌÀµ¤¹¤ëɬÍ×
-¤Ï¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥Ð¥±¥Ã¥È¥ì¥Ù¥ë¤ÇÆâÉôŪ¤ËƱ´ü¤ò¤È¤ë¸¢¸Â¤òαÊݤ·¤Æ¡¢
-¤è¤ê¹âÅÙ¤ÊʹÔÀ¤òÄ󶡤¹¤Ù¤¤Ç¤¹¡£
-.LP
-.SH "¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È"
+Javadoc ツールは、修飾子 \f2public\fP、\f2protected\fP、\f2private\fP、\f2abstract\fP、\f2final\fP、\f2static\fP、\f2transient\fP、および \f2volatile\fP を組み込むことができますが、\f2synchronized\fP と \f2native\fP を組み込むことができません。これら後者の 2 つの修飾子は、実装の詳細と見なされているため、API 仕様には含まれません。
.LP
.LP
-¥ª¥ê¥¸¥Ê¥ë¤Î¡Ö¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î»ÅÍ͡פϡ¢¡Ö´ØÏ¢¹àÌܡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+API では、並行性のセマンティクスについて、キーワード \f2synchronized\fP に依存するのではなく、コメントによる主説明としてドキュメント化する必要があります。 たとえば、「1 つの \f2Enumeration\fP を複数のスレッドから並行して使用することはできない」などのコメントを記述します。ドキュメントには、これらのセマンティクスを実現する方法を記述するべきではありません。たとえば、\f2Hashtable\fP はスレッドに対して安全である必要がありますが、「エクスポートされるすべてのメソッドを同期化すればそれを実現できる」のようには指定する根拠はありません。バケットレベルで内部的に同期化する権利を残しておく必要があります。 そうすれば、より高度な並行性が提供されます。
.LP
-.SS
-¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥³¥á¥ó¥È¤ÎÁÞÆþ
+.SH "ドキュメンテーションコメント"
.LP
.LP
-¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤ÎÀë¸À (¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢
-¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É) ¤ÎÁ°¤Ë¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È (doc ¥³¥á¥ó¥È)
-¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ³Æ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-ºîÀ®¤Ç¤¡¢¹½Ê¸¤Ï¼ã´³°Û¤Ê¤ê¤Þ¤¹¤¬¡¢³µÍפˤâ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-ºîÀ®¤Ç¤¤Þ¤¹¡£ ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢Javadoc ¥³¥á¥ó¥È¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï¡¢¥³¥á¥ó¥È¤Î»Ï¤Þ¤ê¤ò¼¨¤¹Ê¸»úÎó
-.B /**
- ¤È¡¢¥³¥á¥ó¥È¤Î½ª¤ï¤ê¤ò¼¨¤¹Ê¸»úÎó
-.B */
-¤Î´Ö¤Ë¤¢¤ëʸ»ú¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ ¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢³Æ¹Ô¤Ëµ½Ò¤Ç¤¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£ Linux ¤Ç¤Ï¥Æ¥¥¹¥È¤Ï¡¢Ê£¿ô¹Ô¤Ë¤ï¤¿¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
+オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。
.LP
-.RS
-.ft 3
+.SS
+ソースコードへのコメントの挿入
+.LP
+.LP
+ソースコードの任意のクラス、インタフェース、メソッド、コンストラクタ、またはフィールドの宣言の前に、ドキュメンテーションコメント ("doc comments") を記述することができます。各パッケージにドキュメンテーションコメントを作成できます。 構文は若干異なりますが、概要にもドキュメンテーションコメントを作成できます。ドキュメンテーションコメントは、非公式に「Javadoc コメント」と呼ばれています (この用語は商標関連の使用法に違反)。ドキュメンテーションコメントは、コメントの始まりを示す文字列 \f2/**\fP と、コメントの終わりを示す文字列 \f2*/\fP の間にある文字で構成されます。行の先頭のアスタリスクは、各行に記述できます。 詳細は、以下で説明します。コメントのテキストは、複数行にわたって記述できます。
+.LP
.nf
+\f3
+.fl
/**
-* This is the typical format of a simple documentation comment
-* that spans two lines.
-*/
+.fl
+ * This is the typical format of a simple documentation comment
+.fl
+ * that spans two lines.
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¼¡¤Î¤è¤¦¤Ë¡¢¥³¥á¥ó¥È¤Ï 1 ¹Ô¤Ë¤Þ¤È¤á¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+次のようにして 1 行に記述すると、スペースを節約できます。
+.LP
.nf
+\f3
+.fl
/** This comment takes up only one line. */
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤ÎÇÛÃÖ - ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬Ç§¼±¤µ¤ì¤ë¤Î¤Ï¡¢¥¯¥é¥¹¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É
-Àë¸À¤ÎÁ°¤ËÃÖ¤«¤ì¤¿¾ì¹ç¤À¤±¤Ç¤¹ (¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Î
-Îã¤ò»²¾È)¡£¥á¥½¥Ã¥É¤ÎËÜÂΤËÃÖ¤«¤ì¤¿¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Àë¸Àʸ¤´¤È¤Ë 1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤À¤±¤ò
-ǧ¼±¤·¤Þ¤¹¡£
.LP
-¤è¤¯È¯À¸¤¹¤ë´Ö°ã¤¤¤Ï¡¢½ÅÍפÊʸ¤ò¥¯¥é¥¹¥³¥á¥ó¥È¤È¥¯¥é¥¹Àë¸À¤Î´Ö¤Ë
-Æþ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¥¯¥é¥¹¥³¥á¥ó¥È¤ò̵»ë¤¹¤ë¤¿¤á¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3コメントの配置\fP \- ドキュメンテーションコメントは、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの宣言の直前に置かれているときにだけ認識されます。 クラスの例、メソッドの例、およびフィールドの例を参照してください。メソッドの本体に置かれているドキュメンテーションコメントは無視されます。javadoc ツールでは、1 つの宣言文につき 1 つのドキュメンテーションコメントだけが認識されます。
.LP
-.RS
-.ft 3
+.LP
+よくある間違いは、クラスのコメントとクラスの宣言の間に \f2import\fP 文を置いてしまうことです。このような記述はしないでください。 このようなクラスコメントは無視されます。
+.LP
.nf
-/**
-* This is the class comment for the class Whatever.
-*/
+\f3
+.fl
+ /**
+.fl
+ * This is the class comment for the class Whatever.
+.fl
+ */
+.fl
-import com.sun; // MISTAKE - Important not to put statements here
+.fl
+ import com.sun; // MISTAKE \- Important not to put import statement here
+.fl
-public class Whatever {
-}
+.fl
+ public class Whatever {
+.fl
+ }
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤ÎÀâÌÀ¤Î¤¢¤È¤Ë¥¿¥°¤¬Â³¤¯ - ¥³¥á¥ó¥È¤Î³«»Ï¶èÀÚ¤êʸ»ú¤Ç¤¢¤ë
-.B /**
-¤Î¤¢¤È¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤Þ¤Ç¤¬ÀâÌÀ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥¿¥°¥»¥¯¥·¥ç¥ó¤Ï¡¢
-ÀèƬʸ»ú¤¬
-.B @
-¤Ç¤¢¤ë¹Ô¤«¤é»Ï¤Þ¤ê¤Þ¤¹ (¹Ô¤ÎÀèƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ª¤è¤Ó¶õÇòʸ»ú
-¤Ï½ü¤¯)¡£ ÀâÌÀ¤òµ½Ò¤»¤º¡¢¥³¥á¥ó¥È¤À¤±¤Î¥¿¥°¤òµ½Ò¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-ÀâÌÀ¤Ï¡¢¥¿¥°¥»¥¯¥·¥ç¥ó°Ê¹ß¤Ë³¤±¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-¥¿¥°¤Î°ú¿ô¤ÏÊ£¿ô¤Î¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£ ¥¿¥°¤Î¿ô¤Ë
-À©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£²¿²ó¤âµ½Ò¤Ç¤¤ë¥¿¥°¤È¡¢1 ²ó¤·¤«µ½Ò¤Ç¤¤Ê¤¤
-¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ÎÎã¤Î
-.B @see
-¤«¤é¥¿¥°¥»¥¯¥·¥ç¥ó¤¬»Ï¤Þ¤ê¤Þ¤¹¡£
+.LP
+\f3ドキュメンテーションコメントは主説明のあとにタグセクションが続く\fP \- コメントの開始区切り文字である \f2/**\fP のあとからタグセクションまでが主説明になります。タグセクションは、先頭文字が \f2@\fP である行で定義される最初のブロックタグから始まります (行の先頭のアスタリスク、空白、および行の先頭の区切り文字 \f2/**\fP は除く)。主説明を記述せず、タグセクションだけのコメントを記述することもできます。主説明は、タグセクション以降に続けることはできません。タグの引数は、複数行にわたって記述できます。タグの数に制限はありません。 何回も記述できるタグと、1 回しか記述できないタグがあります。例えば、次の \f2@see\fP からタグセクションが始まります。
.LP
.nf
\f3
@@ -1172,626 +1036,904 @@
.LP
.LP
-ɸ½à¥¿¥°¤È¥¤¥ó¥é¥¤¥ó¥¿¥°: ¥¿¥°¤Ï¡¢javadoc ¥Ä¡¼¥ë¤¬½èÍý¤Ç¤¤ë¡¢
-doc ¥³¥á¥ó¥ÈÆâ¤ÎÆÃÊ̤ʥ¡¼¥ï¡¼¥É¤Ç¤¹¡£javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢@tag ¤È¤·¤Æ¸½¤ì¤ë
-ɸ½à¥¿¥°¤È¡¢Ãæ³ç¸ÌÆâ¤Ë
-.B {\f3@tag\f1}
-¤È¤·¤Æ¸½¤ì¤ë¥¤¥ó¥é¥¤¥ó¥¿¥°¤¬¤¢¤ê¤Þ¤¹¡£²ò¼á
-¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢ÀèƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¡¢¶õÇò¡¢¥³¥á¥ó¥È¶èÀÚ¤êʸ»ú (/**) ¤ò
-½ü¤¤¤Æ¤Ïɸ½à¥¿¥°¤¬¹Ô¤ÎÀèƬ¤Ç¤¢¤ë¤è¤¦¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä
-¤Þ¤ê¡¢¥æ¡¼¥¶¤Ï¥Æ¥¥¹¥ÈÆâ¤ÎǤ°Õ¤Î°ÌÃÖ¤Ç @ ʸ»ú¤ò»ÈÍѤǤ¡¢
-¤³¤Îʸ»ú¤Ï¥¿¥°¤Î»Ï¤á¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡£@ ʸ»ú¤Ç¹Ô¤ò³«
-»Ï¤·¤Æ¤³¤ì¤¬²ò¼á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£¤Î
-@ ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£³Æ¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Ë¤Ï´ØÏ¢¤¹¤ë¥Æ¥¥¹¥È¤¬¤¢¤ê
-¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤Î¥¿¥°¤Î¸å¤«¤é¼¡¤Î¥¿¥°¤ÎľÁ°¤Þ¤Ç¡¢¤Þ¤¿¤Ï doc ¥³¥á¥ó¥È
-¤ÎºÇ¸å¤Þ¤Ç¤ÎǤ°Õ¤Î¥Æ¥¥¹¥È¤Ç¤¹¡£´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Æ¥¥¹¥È¤Ï¡¢
-Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
-¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢¤½¤Î¥Æ¥¥¹¥È¤¬µö
-²Ä¤µ¤ì¤ë°ÌÃ֤ˤϤɤ³¤Ç¤â»ØÄê¤Ç¤¡¢²ò¼á¤ÎÂоݤȤʤê¤Þ¤¹¡£¼¡¤ÎÎã¤Ï¡¢
-ɸ½à¥¿¥°
-.BR @deprecated
-¤È¥¤¥ó¥é¥¤¥ó¥¿¥°
-.BR {@link}
-¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3ブロックタグとインラインタグ\fP \- 「タグ」は、Javadoc が処理できる、ドキュメンテーションコメント内の特別なキーワードです。\f2@tag\fP のように記述するブロックタグ (「スタンドアロンタグ」とも呼ばれる) と、インラインタグ (\f2{@tag}\fP のように中括弧で囲んで記述) の 2 種類のタグがあります。ブロックタグが正しく解釈されるためには、行の先頭のアスタリスク、空白、区切り文字 (\f2/**\fP) を除いて、行の先頭に置かなければなりません。これは、テキスト内のそれ以外の位置で \f2@\fP 文字を使用しても、タグの開始としては解釈されないことを意味しています。行の最初に \f2@\fP 文字を使用してもタグとして解釈されないようにするには、HTML エンティティーの「\f2@\fP」を使用してください。それぞれのブロックタグには、対応付けられたテキストがあります。 このテキストは、タグのあとから、次のタグの前、またはドキュメンテーションコメントの最後までの間に記述されたテキスト (タグやコメント区切り文字を除く) です。この関連テキストは複数行にわたって記述できます。インラインタグは、テキストを記述できる場所であればどこにでも置くことができ、正しく解釈されます。次のコード例には、ブロックタグ \f2@deprecated\fP と、インラインタグ \f2{@link}\fP が含まれています。
.LP
-.RS
-.ft 3
.nf
+\f3
+.fl
/**
- * @deprecated As of JDk 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
+ * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
*/
+.fl
+\fP
.fi
-.ft 1
-.RE
+
.LP
-¥³¥á¥ó¥È¤Ï HTML ¤Çµ½Ò¤·¤Þ¤¹¡£¥Æ¥¥¹¥È¤Ï HTML ¤Ç
-µ½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¡¢HTML ¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò»È¤¦É¬Íפ¬¤¢¤ë¤³¤È¡¢
-¤ª¤è¤Ó HTML ¥¿¥°¤ò»ÈÍѤǤ¤ë¤³¤È
-¤ò°ÕÌ£¤·¤Þ¤¹¡£HTML ¤Ï¡¢»ÈÍѤ¹¤ë¥Ö¥é¥¦¥¶¤¬¥µ¥Ý¡¼¥È¤¹¤ë
-Ǥ°Õ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»È¤¦¤³¤È¤¬
-¤Ç¤¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢³¬Áؼ°¥¹¥¿¥¤¥ë¥·¡¼¥È¤È
-¥Õ¥ì¡¼¥à¤ò´Þ¤à¤Û¤«¤ÎÉôʬ (¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È
-°Ê³°) ¤Ï¡¢HTML 3.2 ¤Ë½àµò¤·¤¿¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤Ëµ½Ò
-¤µ¤ì¤Æ¤¤¤Þ¤¹
-(¥Õ¥ì¡¼¥à¥»¥Ã¥ÈÂбþ¤Î¤¿¤á¡¢À¸À®¤µ¤ì¤ë³Æ
-¥Õ¥¡¥¤¥ë¤Ï¡¢¡ÖHTML 4.0¡×¤Ç»Ï¤Þ¤ë)¡£
.LP
-¤¿¤È¤¨¤Ð¡¢¤è¤ê¾®¤µ¤¤ (<) ¤ª¤è¤Ó¤è¤êÂ礤¤ (>) ¤È¤¤¤¦
-µ¹æ¤Ï¡¢
-.B <
-¤È
-.BR >
-¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±Íͤˡ¢¥¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ï¡¢
-.BR &
-¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ÎÎã¤Ç
-¤Ï¡¢¥Ü¡¼¥ë¥É¤Î HTML ¥¿¥° <b> ¤ò¼¨¤·¤Þ¤¹¡£
+\f3コメントは HTML で記述する\fP \- テキストは HTML 形式で記述しなければなりません。 これは、HTML のエンティティーを使う必要があること、および HTML タグを使用できることを意味します。記述する HTML のバージョンとしては、使用するブラウザがサポートする任意のバージョンを使用できます。 標準ドックレットは、カスケーディングスタイルシート (CSS) とフレームを含め、すべての部分 (ドキュメンテーションコメント以外の部分) で HTML 3.2 に準拠したコードを生成するように作成されています。ただし、フレームセット対応のため、生成される各ファイルには「HTML 4.0」と記述されます。
.LP
-¼¡¤Ë doc ¥³¥á¥ó¥È¤ò¼¨¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+たとえば、より小さい (\f2<\fP) およびより大きい (\f2>\fP) という記号は\f2<\fP および \f2>\fP として記述する必要があります。同様に、アンパサンド (\f2&\fP) は、\f2&\fP と記述する必要があります。次の例では、ボールドの HTML タグ \f2<b>\fP を使っています。
+.LP
+.LP
+次に、ドキュメンテーションコメントを示します。
+.LP
.nf
+\f3
+.fl
/**
-* This is a <b>doc</b> comment.
-* @see java.lang.Object
-*/
+.fl
+ * This is a <b>doc</b> comment.
+.fl
+ * @see java.lang.Object
+.fl
+ */
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯ -
-.B javadoc
-¤Ï¡¢doc ¥³¥á¥ó¥È¤ò²òÀϤ¹¤ë¤È¤¤Ë¡¢³Æ¹Ô¤ÎÀèƬ¤Ë¤¢¤ë
-ʸ»ú¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤ò¤¹¤Ù¤ÆÇË´þ¤·
-¤Þ¤¹¡£¤Þ¤¿¡¢ºÇ½é¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤è¤êÁ°¤Î¶õÇò¤È
-¥¿¥Ö¤âÇË´þ¤·¤Þ¤¹¡£1.4 ¤«¤é¤Ï¡¢¹ÔƬ¤Î¥¢¥¹¥¿¥ê¥¹¥¯¤ò¾Êά¤·¤¿¾ì¹ç¡¢¹ÔƬ¤Î¶õÇò¤Ïºï½ü¤µ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢<PRE> ¥¿¥°¤ÎÃæ¤Î doc ¥³¥á¥ó¥È¤Ë¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¥¤¥ó¥Ç¥ó¥È¤ò»Ä¤·¤¿¤Þ¤Þ¤ÇľÀÜ¥Ú¡¼¥¹¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¶õÇò¤Ï°ìÈÌŪ¤Ë¡¢¥¿¥Ö¤è¤ê¤â¶Ñ°ì¤Ë¥Ö¥é¥¦¥¶¤Ç²ò¼á¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ç¥ó¥È¤Ï¡¢¶èÀÚ¤êʸ»ú /** ¤ä <PRE> ¥¿¥°¤Ç¤Ï¤Ê¤¯¡¢º¸¥Þ¡¼¥¸¥ó¤ËÁêÂÐŪ¤Ç¤¹¡£
-.LP
-ºÇ½é¤Îʸ - ³Æ doc ¥³¥á¥ó¥È¤ÎºÇ½é¤Îʸ¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤ë
-¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´Ø¤¹¤ë´Ê·é¤«¤Ä´°Á´
-¤ÊÀâÌÀ¤ò´Þ¤àÍ×Ìóʸ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Îʸ¤Ï¡¢¶õÇò¡¢¥¿¥Ö¡¢¤Þ¤¿¤Ï¹ÔËöµ
-¹æ¤¬Â³¤¤¤Æ¤¤¤ëºÇ½é¤Î¥Ô¥ê¥ª¥É¡¢¤¢¤ë¤¤¤ÏºÇ½é¤Î¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Ç½ªÎ»¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢HTML ¥Ú¡¼¥¸¤ÎºÇ½é¤Ë¤¢¤ë¥á¥ó¥ÐÍ×Ìó¤Ë¡¢¤³¤ÎºÇ½é¤Îʸ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£
-.LP
-Ê£¿ô¥Õ¥£¡¼¥ë¥É¤ÎÀë¸À -
-.B java
-¤Ç¤Ï¡¢Ã±°ì¤Îʸ¤ÇÊ£¿ô¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤Ç¤¤Þ¤¹¡£
-¤·¤«¤·¡¢¤³¤Îʸ¤Î¥É¥¥å¥á¥ó¥Æ
-¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ï 1 ¤Ä¤À¤±¤Ç¡¢¤³¤Î¥³¥á¥ó¥È¤¬
-¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤´¤È¤Ë¸Ä¡¹¤Î
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òÉÕ¤±¤¿¤¤¾ì¹ç¤Ï¡¢
-³Æ¥Õ¥£¡¼¥ë¥É¤ò°Û¤Ê¤ëʸ¤ÇÀë¸À¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥É¥¥å¥á¥ó¥Æ¡¼
-¥·¥ç¥ó¥³¥á¥ó¥È¤Ïñ°ì¤ÎÀë¸À¤È¤·¤Æ¤Ï°ÕÌ£¤òÀ®¤µ¤º¡¢
-2 ¤Ä¤ÎÀë¸À¤È¤·¤Æ½èÍý¤¹¤ë¤Ù¤
-¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* The horizontal and vertical distances of point (x,y)
-*/
-public int x, y; // Avoid this
-.fi
-.ft 1
-.RE
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¾åµ¥³¡¼¥É¤«¤é¼¡¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-public int x
-.fi
-.ft 1
-The horizontal and vertical distances of point
-(x,y).
-.ft 3
-.nf
-public int y
-.fi
-.ft 1
-The horizontal and vertical distances of point
-(x,y).
-.RE
-.LP
-¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¤¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¥á¥ó¥ÐÍѤΥɥ¥å¥á¥ó¥È¥³
-¥á¥ó¥È¤ò½ñ¤¯¤È¤¤Ï¡¢
-.B <H1>
-¤ä
-.BR <H2>
-¤Ê¤É¤Î HTML ¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¤¬Á´¥É¥¥å¥á¥ó¥È¤ò¹½Â¤²½¤·¤ÆÀ¸À®¤¹¤ë¤¿¤á¡¢
-¤³¤ì¤é¤Î¹½Â¤²½¥¿¥°¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥É¥¥å¥á¥ó¥È¤Î½ñ¼°¤¬Íð¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£
-¤·¤«¤·¡¢¥¯¥é¥¹¤ä¥Ñ¥Ã¥±¡¼¥¸¤Î
-¥³¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Ø¥Ã¥À¥¿¥°¤ò»ÈÍѤ·¤Æ¹½Â¤²½¤ò»Ø¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼
+
.LP
.LP
-Javadoc ¥Ä¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¥³¥á¥ó¥È¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¡Ö·Ñ¾µ¡×¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤ÓÆþ¤ì»Ò¤Î¥¯¥é¥¹¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤»¤ó¡£
+\f3行頭のアスタリスク\fP \- Javadoc は、ドキュメンテーションコメントを解析するときに、各行の先頭にあるアスタリスク (\f2*\fP) をすべて破棄します。 また、最初のアスタリスク (\f2*\fP) より前の空白とタブも破棄します。バージョン 1.4 からは、行の先頭のアスタリスクを省略しても、先頭の空白文字は削除されなくなりました。このため、コード例を直接ドキュメンテーションコメントの \f2<PRE>\fP タグ内にペーストしても、インデントが保持されます。通常、ブラウザは、空白文字をタブよりも一律に解釈します。インデントは区切り文字 \f2/**\fP または \f2<PRE>\fP タグよりも左寄りになります。
+.LP
+.LP
+\f3最初の文\fP \- 各ドキュメンテーションコメントの最初の文は、宣言されているエンティティーに関する簡潔かつ完全な要約文である必要があります。この「最初の文」は、直後にスペース、タブ、または改行が続く最初のピリオド (ロケールが英語に設定されている場合)、または最初のタグがある位置で終わります。最初の文は、Javadoc ツールによって HTML ページの最初にあるメンバーの概要の部分にコピーされます。
+.LP
+.LP
+\f3複数フィールドの宣言\fP \- Java では、1 つの文で複数のフィールドを宣言できます。 ただし、この文には、1 つのドキュメンテーションコメントしか記述できません。 そのコメントが、すべてのフィールドに対してコピーされます。したがって、フィールドごとにドキュメンテーションコメントを記述する必要がある場合は、各フィールドを別々の文で宣言しなければなりません。たとえば、次のドキュメンテーションコメントは、1 つの宣言として記述すると不適切です。 この場合は、宣言を 2 つに分けることをお勧めします。
.LP
.RS 3
-.TP 2
-o
-\f3¼«Æ°Åª¤Ë¥³¥á¥ó¥È¤ò·Ñ¾µ¤·¤Æ¡¢¸«¤Ä¤«¤é¤Ê¤¤¥Æ¥¥¹¥È¤òËä¤á¤ë\fP \- ¼çÀâÌÀ¤Þ¤¿¤Ï¡¢\f2@return\fP¡¢\f2@param\fP¡¢\f2@throws\fP ¥¿¥°¤¬¡¢¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Ç¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢Javadoc ¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤¿¥á¥½¥Ã¥É¤Þ¤¿¤Ï¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤½¤Î¥á¥½¥Ã¥É¤«¤é¡¢Âбþ¤¹¤ë¼çÀâÌÀ¤ª¤è¤Ó¥¿¥°¥³¥á¥ó¥È¤ò¡¢¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ¥³¥Ô¡¼¤·¤Þ¤¹¡£
+
.LP
-¸·Ì©¤Ë¤Ï¡¢ÆÃÄê¤Î¥Ñ¥é¥á¡¼¥¿¤Î \f2@param\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ñ¥é¥á¡¼¥¿¤Î¥³¥á¥ó¥È¤¬¡¢¾å°Ì¤Î·Ñ¾µ³¬ÁؤΥ᥽¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ÆÃÄê¤ÎÎã³°¤Î \f2@throws\fP ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢\f2¤½¤ÎÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤«¤®¤ê\fP¡¢¤½¤Î \f2@throws\fP ¥¿¥°¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.LP
-¤³¤ÎÆ°ºî¤Ï¥Ð¡¼¥¸¥ç¥ó 1.3 °ÊÁ°¤ÎÆ°ºî¤È¤ÏÂоÈŪ¤Ç¤¹¡£¤³¤ì¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¤¬Â¸ºß¤¹¤ì¤Ð¡¢¥³¥á¥ó¥È¤Ï°ìÀڷѾµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£
-.TP 2
-o
-\f3{@inheritDoc} ¥¿¥°¤ò»ý¤Ä¥³¥á¥ó¥È¤òÌÀ¼¨Åª¤Ë·Ñ¾µ¤¹¤ë\fP \- ¥¤¥ó¥é¥¤¥ó¥¿¥° \f2{@inheritDoc}\fP ¤ò¡¢¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¡¢¤Þ¤¿¤Ï \f2@return\fP¡¢\f2@param\fP¡¢\f2@throws\fP ¥¿¥°¥³¥á¥ó¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£·Ñ¾µ¤·¤¿Âбþ¤¹¤ë¼çÀâÌÀ¤Þ¤¿¤Ï¥¿¥°¥³¥á¥ó¥È¤Ï¡¢¤½¤Î²Õ½ê¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
+.nf
+\f3
+.fl
+/**
+.fl
+ * The horizontal and vertical distances of point (x,y)
+.fl
+ */
+.fl
+public int x, y; // Avoid this
+.fl
+\fP
+.fi
.RE
.LP
.LP
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò¼ÂºÝ¤Ë¥³¥Ô¡¼¤ËÍøÍѤ¹¤ë¤Ë¤Ï¡¢·Ñ¾µ¤·¤¿¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \-sourcepath ¤Ç»ØÄꤷ¤¿¥Ñ¥¹¤À¤±¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¡¢¥¯¥é¥¹¤â¥Ñ¥Ã¥±¡¼¥¸¤âÅϤ¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÅÀ¤Ï¡¢¥¯¥é¥¹¤¬ ¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿ 1.3.x °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤È°Û¤Ê¤ê¤Þ¤¹¡£
+上記のコードからは、次のようなドキュメントが生成されます。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+public int \fP\f3x\fP
+.fl
+.fi
+
+.LP
+.RS 3
+The horizontal and vertical distances of point (x,y)
+.RE
+
+.LP
+.nf
+\f3
+.fl
+public int \fP\f3y\fP
+.fl
+.fi
+
+.LP
+.RS 3
+The horizontal and vertical distances of point (x,y)
+.RE
+
+.LP
+.RE
+.LP
+\f3見出しタグはなるべく使用しない\fP \- メンバーに対してドキュメンテーションコメントを記述するときには、<H1> や <H2> などの HTML 見出しタグは、なるべく使わないでください。 Javadoc ツールは、完全に構造化されたドキュメントを作成するので、このような構造化タグが使われていると、生成ドキュメントの形式が悪影響を受けることがあります。ただし、クラスやパッケージのコメントでは、これらの見出しタグを使って独自の構造を組み立ててかまいません。
+.LP
+.SS
+メソッドコメントの自動コピー
.LP
.LP
-\f3¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¤Î·Ñ¾µ\fP \- ¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ë¼¡¤Î 3 ¤Ä¤Î¾ì¹ç¤Ë¡¢¥³¥á¥ó¥È¤Î·Ñ¾µ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。
.LP
.RS 3
.TP 2
o
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë
+\f3自動的にコメントを継承して、見つからないテキストを埋める\fP \- 主説明、または \f2@return\fP タグ、\f2@param\fP タグ、\f2@throws\fP タグが、メソッドコメントで見つからない場合、Javadoc ツールは、オーバーライドしたメソッドまたは実装している場合はそのメソッドから、対応する主説明またはタグコメントを、次のアルゴリズムに従ってコピーします。
+.LP
+厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、その例外が宣言されている場合にかぎり、その \f2@throws\fP タグがコピーされます。
+.LP
+この動作はバージョン 1.3 以前の動作とは対照的です。 これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。
.TP 2
o
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤¬¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë
-.TP 2
-o
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë
+\f3{@inheritDoc} タグを持つコメントを明示的に継承する\fP \- インラインタグ \f2{@inheritDoc}\fP を、メソッドの主説明、または \f2@return\fP、\f2@param\fP、\f2@throws\fP タグコメントに挿入します。 継承した対応する主説明またはタグコメントは、その箇所にコピーされます。
.RE
.LP
.LP
-ºÇ½é¤Î 2 ¤Ä¤Î¥±¡¼¥¹ (¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥ÈÆâ¤Ë
-¡Ö¥ª¡¼¥Ð¡¼¥é¥¤¥É¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Æ¤¤¤ë
-¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£
+ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスがドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。
.LP
-3 ¤ÄÌܤΥ±¡¼¥¹ (ÆÃÄê¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¾ì¹ç) ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¼ÂÁõ¤·¤Æ¤¤¤ë
-¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥ÈÆâ¤Ë¡ÖÄêµÁ¡×¤È¤¤¤¦¾®¸«½Ð¤·¤òÀ¸À®¤·¡¢¥³¥á¥ó¥È¤¬·Ñ¾µ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ø¤Î¥ê¥ó¥¯¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£
.LP
-¥á¥½¥Ã¥É¤ÎÀâÌÀ¤¬·Ñ¾µ¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à - ¤¢¤ë¥á¥½¥Ã¥É¤Ë
-¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï {@inheritDoc} ¥¿¥°¤¬¤¢¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤ÆŬÀڤʥ³¥á¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¡£
-¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¤â¤Ã¤È¤âŬÀڤʥɥ¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò
-¸¡º÷¤Ç¤¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤ª¤ê¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤è¤ê¤â
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Í¥À褵¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-.TP 4
-1.
-ľÀܤ˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¡¢
-¥á¥½¥Ã¥É¤ÎÀë¸À¤Ç implements (¤Þ¤¿¤Ï extends) ¥¡¼¥ï¡¼¥É¤Î¤¢¤È¤Ë
-Åо줹¤ë½ç½ø¤Ç¡¢1 ¤Ä¤º¤ÄÄ´¤Ù¤ë¡£ ¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ
-ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë
-.TP 4
-2.
-¼ê½ç 1 ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-ľÀܼÂÁõ¤µ¤ì¤Æ¤¤¤ë (¤Þ¤¿¤Ï¡¢³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë) ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòºÆµ¢Åª¤ËŬÍѤ¹¤ë (¤½¤ÎºÝ¤Î½ç½ø¤Ï¡¢¼ê½ç 1 ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ´¤Ù¤¿¤È¤¤Î½ç½ø¤ÈƱ¤¸)
-.TP 4
-3.
-¼ê½ç 2 ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¡¢
-¤³¤Î¥¯¥é¥¹¤¬ Object °Ê³°¤Î¥¯¥é¥¹¤Ç¤¢¤ë (¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¤Ê¤¤) ¾ì¹ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë½èÍý¤¹¤ë
-.sp 1n
-.nf
-.ft 3
-a. ¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ë¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬µ½Ò¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î¥³¥á¥ó¥È¤òºÎÍѤ¹¤ë
-b. ¼ê½ç 3a ¤Ç¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤ËÂФ·¤Æ¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤòŬÍѤ¹¤ë
-.ft 1
-.fi
+\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。
.LP
-.SS "javadoc ¤Î¥¿¥°"
+.RS 3
+.TP 2
+o
+クラスのメソッドがスーパークラスのメソッドをオーバーライドしている
+.TP 2
+o
+インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている
+.TP 2
+o
+クラスのメソッドがインタフェースのメソッドを実装している
+.RE
+
.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B java doc
-¥³¥á¥ó¥ÈÆâ¤ËËä¤á¹þ¤Þ¤ì¤¿Æüì¤Ê¥¿¥°¤ò²òÀϤ·¤Þ¤¹¡£¤³¤ì¤é¤Î
-Æüì¤Ê doc ¥¿¥°¤ò»È¤¦¤È¡¢
-½ñ¼°¤ÎÀ°¤Ã¤¿´°Á´¤Ê API ¥É¥¥å¥á¥ó¥È¤ò¥½¡¼¥¹
-¥³¡¼¥É¤«¤é¼«Æ°Åª¤ËÀ¸À®¤Ç¤¤Þ¤¹¡£
-¥¿¥°¤Ï¡¢Ã±²Áµ¹æ (\f3@\f1) ¤Ç»Ï¤Þ¤ê¡¢Âçʸ»ú¾®Ê¸»ú¤¬
-¶èÊ̤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢
-°Ê²¼¤Ë¼¨¤¹¤È¤ª¤ê¤Ë¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤ÆÆþÎϤ¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¿¥°¤Ï¡¢¹Ô
-¤ÎÀèƬ (¤¿¤À¤·Àè¹Ô¤¹¤ë¶õÇò¤È¾Êά²Äǽ¤Ê¥¢¥¹¥¿¥ê¥¹¥¯¤Ï½ü¤¯) ¤«¤é
-»Ï¤á¤Ê¤±¤ì¤Ð¤Ê¤ê
-¤Þ¤»¤ó¡£´·½¬¾å¡¢Æ±¤¸Ì¾Á°¤Î¥¿¥°¤Ï 1 ¸Ä½ê¤Ë¤Þ¤È¤á¤Æµ½Ò¤·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.B @see
-¥¿¥°¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤ò 1 ¸Ä½ê¤Ë¤Þ¤È¤á¤Æµ½Ò¤·¤Þ¤¹¡£
.LP
-¥¿¥°¤Ï¼¡¤Î 2 ¼ïÎढ¤ê¤Þ¤¹¡£
+最初の 2 つのケース (メソッドがオーバーライドしている場合) では、Javadoc ツールは、そのコメントが継承されているかどうかにかかわらず、オーバーライドしているメソッドのドキュメント内に「オーバーライド」という小見出しを生成し、オーバーライドされているメソッドへのリンクを書き込みます。
.LP
-\(bu
-¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥° - ÀâÌÀ¤Î¤¢¤È¤Î¥¿¥°¥»¥¯¥·¥ç¥ó¤À¤±¤Ë
-ÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤³¤Î¥¿¥°¤Ï¡¢@tag ¤Î¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤»¤ó¡£
.LP
-\(bu
-¥¤¥ó¥é¥¤¥ó¥¿¥° - ¥³¥á¥ó¥È¤ÎÀâÌÀÆâ¤Þ¤¿¤Ï¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Î
-¥³¥á¥ó¥ÈÃæ¤ÎǤ°Õ¤Î¾ì½ê¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ï¡¢{@tag} ¤Î
-¤è¤¦¤ËÃæ³ç¸Ì¤Ç°Ï¤ß¤Þ¤¹¡£
+3 つ目のケース (特定のクラスのメソッドがインタフェースのメソッドを実装している場合) では、javadoc ツールは、オーバーライドしているメソッドのドキュメント内に「定義」という小見出しを生成し、実装されているメソッドへのリンクを書き込みます。これは、コメントが継承されているかどうかにかかわりません。
.LP
-º£¸å¤Î¥ê¥ê¡¼¥¹¤ÇƳÆþ¤µ¤ì¤ë¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/proposed\-tags.html
-¤Î
+.LP
+\f3メソッドの説明が継承されるアルゴリズム\fP \- あるメソッドにドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、Javadoc ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。 このアルゴリズムは、もっとも適切なドキュメンテーションコメントを検索できるように設計されており、スーパークラスよりもインタフェースが優先されるようになっています。
+.LP
+.RS 3
+.TP 3
+1.
+直接に実装されている (または、拡張されている) インタフェースを、メソッドの宣言で implements (または extends) キーワードのあとに登場する順序で、1 つずつ調べる。このメソッドについて最初に見つかったドキュメンテーションコメントを採用する
+.TP 3
+2.
+手順 1 でドキュメンテーションコメントが見つからなかった場合は、直接実装されている (または、拡張されている) インタフェースのそれぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ)
+.TP 3
+3.
+手順 2 でドキュメンテーションコメントが見つからなかった場合で、このクラスが Object 以外のクラスである (インタフェースではない) 場合は、次のように処理する
+.RS 3
+.TP 3
+a.
+スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する
+.TP 3
+b.
+手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する
+.RE
+.RE
+
+.LP
+.SH "javadoc タグ"
+.LP
+.LP
+Javadoc ツールは、Java のドキュメンテーションコメント内に埋め込まれた特別なタグを解析します。これらのドキュメンテーションタグを使うと、書式の整った完全な API ドキュメントをソースコードから自動的に生成できます。タグは、単価記号 (\f2@\fP) で始まり、大文字と小文字が区別されます。 これらのタグは、定められたとおりの大文字と小文字を使用して記述する必要があります。タグは、行の先頭 (先行する空白と省略可能なアスタリスクは除く) に置かなければなりません。慣例として、同じ名前のタグは 1 か所にまとめて記述するようにします。たとえば、\f2@see\fP タグが複数ある場合は、すべてを 1 か所にまとめて記述します。
+.LP
+.LP
+タグには 2 つのタイプがあります。
+.LP
+.RS 3
+.TP 2
+o
+\f3ブロックタグ\fP \- 主説明に続くタグセクション内にのみ記述可能。ブロックタグは、\f2@tag\fP の形式をとります。
+.TP 2
+o
+\f3インラインタグ\fP \- コメントの主説明内またはブロックタグのコメント内に記述可能。インラインタグは、\f2{@tag}\fP のように中括弧で囲みます。
+.RE
+
+.LP
+.LP
+今後のリリースで導入されるタグについては、
.na
-¡Ö\f2Proposed Tags\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「Proposed Javadoc Tags」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/proposed\-tags.htmlを参照してください。
.LP
.LP
-¸½»þÅÀ¤Ç͸ú¤Ê¥¿¥°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+現時点で有効なタグは、次のとおりです。
.LP
.RS 3
.LP
.LP
.TS
-center;
-cbp-1 cbp-1
-l l.
-¥¿¥° ƳÆþ¤µ¤ì¤¿ JDK/SDK ¤Î¥Ð¡¼¥¸¥ç¥ó
-@author 1.0
-{@code} 1.5
-{@docRoot} 1.3
-@deprecated} 1.0
-@exception 1.0
-{@inheritDoc} 1.4
-{@link} 1.2
-{@linkplain} 1.4
-{@literal} 1.5
-@param 1.0
-@return 1.0
-@see 1.0
-@serial 1.2
-@serialData 1.2
-@serialField 1.2
-@since 1.1
-@throws 1.2
-{@value} 1.4
-@version 1.0
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f3導入された JDK/SDK のバージョン\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3タグ\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@author\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@code}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@docRoot}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@deprecated\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@exception\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@inheritDoc}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@link}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@linkplain}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@literal}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@param\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@return\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@see\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serial\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serialData\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@serialField\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@since\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@throws\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2{@value}\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f2@version\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.5
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.3
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.5
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.1
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.2
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.4
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \w1.0
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 1125 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3タグ\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 (\n(41u+\n(81u-\n(a-u)/2u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-42
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-44
+
+.LP
+.RE
+.LP
+カスタムタグについては、\-tag オプションを参照してください。
+.LP
+.RS 3
+.TP 3
+@author\ name\-text
+\-author オプションが使われている場合、生成ドキュメントに「著者」の項目を追加し、指定された \f2name\-text\fP を書き込みます。1 つのドキュメンテーションコメントに複数の \f2@author\fP タグを含めることができます。1 つの \f2@author\fP タグに 1 つの名前を指定することも、1 つのタグに複数の名前を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要があるときは、1 つのタグに複数の名前を指定してください。
+.RE
+
+.LP
+.RS 3
.LP
.LP
-¥«¥¹¥¿¥à¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢\-tag ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BI @author " name-text"
-.B \-author
-¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë¡¢»ØÄꤵ¤ì¤¿
-name-text ¤ò»ý¤Ä Author ¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£
-1 ¤Ä¤Î doc ¥³¥á¥ó¥È¤ËÊ£¿ô¤Î
-.B @author
-¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B @author
-¥¿¥°¤´¤È¤Ë 1 ¤Ä¡¢¤Þ¤¿¤Ï¥¿¥°¤´¤È¤ËÊ£¿ô¤Î̾Á°¤ò
-»ØÄê¤Ç¤¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Ì¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f3,\f1) ¤È¥¹¥Ú¡¼¥¹¤òÁÞÆþ¤·¤Þ¤¹¡£
-¸å¼Ô¤Î¾ì¹ç¡¢¥Æ¥¥¹¥ÈÁ´ÂΤ¬
-²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¤À¤±¤Ç¤¹¡£
-¤³¤Î¤¿¤á¡¢¥³¥ó¥Þ°Ê³°
-¤Î¸½ÃÏ»ÅÍͤÎ̾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦¾ì¹ç¤Ï¡¢1 ¹Ô¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¡×¤ª¤è¤Ó
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author
-¤Î
+詳細については、「タグを使用できる場所」および
.na
-\f2@author ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@author タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@authorを参照してください。
.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@deprecated\ deprecated\-text
.RS 3
.LP
.LP
-Ãí: JDK 5.0 ¤«¤é¡¢@Deprecated Ãí¼á¤ò»È¤Ã¤ÆÆÃÄê¤Î¥×¥í¥°¥é¥àÍ×ÁǤòÈó¿ä¾©¤Ë¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-.LP
-¤³¤Î API ¤Ï (Æ°ºî¤Ï¤¹¤ë¤¬) »ÈÍѤ¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò¼¨¤¹
-¥³¥á¥ó¥È¤òÄɲä·¤Þ¤¹¡£
-.B javadoc
- ¤Ï¡¢deprecated-text ¤òÀâÌÀ¤ÎÁ°¤Ë°ÜÆ°¤·¤Æ¥¤¥¿¥ê¥Ã¥¯¤Ë¤·¡¢
-¤½¤ÎÁ°¤Ë¥Ü¡¼¥ë¥É¤Î·Ù¹ð
-¡Ö¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£¡×¤òÄɲä·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¤¹¤Ù¤Æ¤Î doc ¥³¥á¥ó¥È (³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É) ¤Ç͸ú¤Ç¤¹¡£
-.LP
-.RS
-deprecated-text ¤ÎºÇ½é¤Îʸ¤Ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â¥æ¡¼¥¶¤Ë¤É¤Î¤è¤¦¤Ê¤È¤¤Ë
-¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤¤«¡¢¤ª¤è¤Ó¤½¤ì¤ËÂå¤ï¤ë API ¤òÄ󼨤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B javadoc
-¤Ï¡¢ºÇ½é¤Îʸ¤À¤±¤òÍ×Ì󥻥¯¥·¥ç¥ó¤Èº÷°ú¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
-¤¢¤È¤Ë³¤¯Ê¸¤Ç¡¢¤Ê¤¼¤½¤Î API ¤¬¿ä¾©¤µ¤ì¤Ê¤¤¤«¤ò
-ÀâÌÀ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Âå¤ï¤ê¤Î API ¤ò
-»Ø¤·¼¨¤¹ {\f3@link\f1} ¥¿¥° (
-.B javadoc
-1.2 °Ê¹ß¤Î¾ì¹ç) ¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated
-¤Î
+注: JDK 5.0 から、
.na
-\f2@deprecated ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.TP 2
-\(bu
-.B javadoc
-1.2 °Ê¹ß¤Ç¤Ï¡¢{\f3@link\f1} ¥¿¥°¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¡¢
-ɬÍפʾì½ê¤Ë¥¤¥ó¥é¥¤¥ó¤Ç
-¥ê¥ó¥¯¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
- * @deprecated As of JDK 1.1, replaced by
- * {@link #setBounds(int,int,int,int)}
- */
+\f2@Deprecated 注釈\fP @
.fi
-.ft 1
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.htmlを使って特定のプログラム要素を非推奨にできるようになりました。
+.LP
.RE
-.LP
-.TP 2
-\(bu
-.B javadoc
-1.1 ¤Ç¤Ï¡¢³Æ
-.B @deprecated
-¥¿¥°¤Ë
-.B @see
-¥¿¥° (¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤¤Ê¤¤) ¤òºîÀ®¤¹¤ë¤Î¤¬É¸½à¤Î·Á¼°¤Ç¤¹¡£
-.LP
-¿ä¾©¤µ¤ì¤Ê¤¤¥¿¥°¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢¡Ö
-.B @deprecated
-¥¿¥°¡× ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.RE
-.TP
-.B {@code text}
-<code>{@literal}</code> ¤ÈƱÅù¤Ç¤¹¡£
+.RS 3
+
.LP
-¥Æ¥¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï
-Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢
-¥Æ¥¥¹¥È¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê doc ¥³¥á¥ó¥È¤Ç¤Ï¡¢
-¥Ñ¥é¥á¡¼¥¿¤Î¼ïÎà ( <Object> )¡¢ÉÔÅù¹æ ( 3 < 4 )¡¢
-¤Þ¤¿¤ÏÌð°õ ( <- ) ¤Ê¤É¤Ç¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£ ( < ¤ª¤è¤Ó > ) ¤Ç¤Ï¤Ê¤¯¡¢
-Ä̾ï¤Î»³³ç¸Ì (< ¤ª¤è¤Ó >) ¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð doc ¥³¥á¥ó¥È¤Î¥Æ¥¥¹¥È
.LP
-.RS 5
-{@code A<B>C}
-.RE
+この API は動作し続けますが、この API を使用するべきではないことを示すコメントを追加します。Javadoc ツールは、\f2deprecated\-text\fP を主説明の前に移動してイタリックにし、その前にボールドの警告「推奨されません。」を追加します。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
.LP
-¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.RS 5
-A<B>C
-.RE
+\f2deprecated\-text\fP の最初の文では、少なくとも、その API が推奨されなくなった時期と、代替使用するべき API を読者に提示する必要があります。Javadoc ツールは、この最初の文だけを、概要セクションと索引にコピーします。そのあとの文では、その API が推奨されない理由を説明することもできます。また、代わりの API を指し示す \f2{@link}\fP タグ (Javadoc 1.2 以降の場合) を含める必要があります。 次のように記述します。
.LP
-ÃíÌܤ¹¤Ù¤ÅÀ¤È¤·¤Æ¡¢<B> ¤ÏÂÀ»ú¤Ç¤¢¤ë¤È²ò¼á¤µ¤ì¤Þ¤»¤ó¤¬¡¢
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
.LP
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ê¤·¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢
-{@literal} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.RE
-.TP
-.B {@docRoot}
-À¸À®¤µ¤ì¤¿Ç¤°Õ¤Î¥Ú¡¼¥¸¤òµ¯ÅÀ¤È¤·¤¿¡¢¥É¥¥å¥á¥ó¥È¤Î (½ÐÎÏÀè)
-¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁêÂХѥ¹¤òɽ¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢Ãøºî¸¢¥Ú¡¼¥¸
-¤Þ¤¿¤Ï²ñ¼Ò¤Î¥í¥´¤Ê¤É¡¢À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤«¤é»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë
-¤ò¼è¤ê¹þ¤à¤È¤¤Ë»È¤¤¤Þ¤¹¡£Ä̾ï¤Ï¡¢³Æ¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤«¤éÃøºî¸¢
-¥Ú¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£
-.RS
-.LP
-¤³¤Î \f2{@docRoot}\fP ¥¿¥°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤é¤â¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÃæ¤Ç¤â»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£
-.TP 4
-1.
-¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥Ø¥Ã¥À (header)¡¢¥Õ¥Ã¥¿ (footer)¡¢
-¤Þ¤¿¤Ï¥Ú¡¼¥¸¤ÎºÇ²¼Éô (bottom)¤òÄêµÁ¤·¤Þ¤¹¡£
-.sp 1n
-.B javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
-.LP
-Ãí - Makefile ¤ÎÃæ¤Ç {\f3@docRoot\f1}¤ò¤³¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¾ì¹ç¡¢
-°ìÉô¤Î Makefile ¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ãæ³ç¸Ì { } ʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Inprise MAKE ¥Ð¡¼¥¸¥ç¥ó 5.2 ¤ò
-Windows ¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢{{\f3@docRoot\f1}} ¤Î¤è¤¦¤Ë¡¢
-Ãæ³ç¸Ì¤òÆó½Å¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢\-bottom ¤Ê¤É¤Î
-¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤ò¡¢Ã±°ì°úÍÑÉä¤Ç¤Ï¤Ê¤¯¡¢
-Æó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£href
-°ú¿ô¤ÎÃͤò°Ï¤à°úÍÑÉä¤Ï¾Êά¤·¤Þ¤¹¡£
-.TP
-2.
-doc ¥³¥á¥ó¥È¤Ë¤Ï¼¡¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡£
-.sp 1n
-.nf
-.ft 3
-/**
-* See the <a href="{@docRoot}/copyright.html">Copyright</a>.
-*/
-.ft 1
+詳細については、
+.na
+\f2@deprecated タグのドキュメント\fP @
.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecatedを参照してください。
.LP
-¤³¤Î¥¿¥°¤¬É¬ÍפÊÍýͳ¤Ï¡¢À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤¬¡¢¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤È
-Ʊ¤¸³¬ÁؤΥǥ£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
-.LP
-.ti +5n
-.B <a href="{@docRoot}/copyright.html">
-.LP
-¼¡¤Î¤è¤¦¤Ë²ò·è¤µ¤ì¤Þ¤¹¡£
-.LP
-.ti +5n
-\f3<a href=".\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/Object.java ¤Î¾ì¹ç
-.sp 1n
-¤ª¤è¤Ó
-.sp 1n
-.ti +5n
-\f3<a href=".\|.\|/.\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/ref/Reference.java ¤Î¾ì¹ç
-.RE
-.TP
-.BI @exception " class-name description"
-.B @exception
-¥¿¥°¤Ï¡¢
-.BR @throws
-¤ÈƱµÁ¤Ç¤¹¡£
-.TP
-{\f3@inheritDoc\f1}
-ºÇ¤â¶á¤¤¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«¤é¸½ºß¤Î ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¡¢¥É¥¥å¥á¥ó¥È¤ò·Ñ¾µ¤·¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢¥³¥á¥ó¥È¤Ï·Ñ¾µ¥Ä¥ê¡¼¤Î¾å°Ì¤Ë°ÜÆ°¤·¡¢³«È¯¼Ô¤Ï¥³¥Ô¡¼¤·¤¿¥Æ¥¥¹¥È¤Ëµ½Ò¤òÄɲ乤뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¤³¤Î¥¿¥°¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Î¼¡¤Î°ÌÃ֤ǤΤß͸ú¤Ç¤¹¡£
.RS 3
.TP 2
o
-¥á¥½¥Ã¥É¤Î¼çÀâÌÀ¥Ö¥í¥Ã¥¯Æâ¡£¤³¤Î¾ì¹ç¡¢¼çÀâÌÀ¤Ï¡¢¾å°Ì³¬ÁؤΥ¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë
+Javadoc 1.2 以降では、\f2{@link}\fP タグを使用します。これにより、必要な場所にインラインでリンクを作成できます。例を示します。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+/**
+.fl
+ * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)}
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.RS 3
.TP 2
o
-¥á¥½¥Ã¥É¤Î @return¡¢@param¡¢@throws ¥¿¥°¤Î¥Æ¥¥¹¥È°ú¿ôÆâ¡£¤³¤Î¾ì¹ç¡¢¥¿¥°¥Æ¥¥¹¥È¤Ï¡¢¾å°Ì³¬ÁؤÎÂбþ¤¹¤ë¥¿¥°¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë
+Javadoc 1.1 では、各 \f2@deprecated\fP タグに対して \f2@see\fP タグ (インラインにはできない) を記述するのが標準の形式です。
.RE
+
.LP
-·Ñ¾µ³¬Áؤǥ³¥á¥ó¥È¤ò¸«¤Ä¤±¤ëÊýË¡¤Ë´Ø¤¹¤ëÀµ³Î¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¡¢¡Ö¥á¥½¥Ã¥É¥³¥á¥ó¥È¤Î¼«Æ°¥³¥Ô¡¼¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¥³¥á¥ó¥È¤Ï¡¢¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥ë¡¼¥ë¤Ë±þ¤¸¤Æ¡¢¼«Æ°Åª¤Ë·Ñ¾µ¤µ¤ì¤ë¤«¤É¤¦¤«¤¬·è¤Þ¤ê¤Þ¤¹¡£
.LP
-.TP 3
-{@link\ package.class#member\ label}
-ɽ¼¨¥Æ¥¥¹¥È label ¤È¤Î¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£\f2label\fP ¤Ï¡¢»²¾È¥¯¥é¥¹¤Î»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤Î̾Á°¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢@return¡¢@param¡¢@deprecated ¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£
-.LP
-¤³¤Î¥¿¥°¤Ï¡¢
-.B @see
-¥¿¥°¤È¤è¤¯»÷¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤Î¥¿¥°¤â¡¢package.class#member ¤ª¤è¤Ó
-.BI label
-¤Î»²¾È¤Î»ÅÊý¤¬Æ±¤¸¤Ç¡¢Í¸ú¤Ê¹½Ê¸¤â¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£
-Â礤ʰ㤤¤Ï¡¢{\f3@link\f1} ¤Ï¡¢¥ê¥ó¥¯¤ò [´ØÏ¢¹àÌÜ] ¥»¥¯¥·¥ç¥ó¤Ë
-ÃÖ¤¯¤Î¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òÀ¸À®¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤Þ¤¿¡¢¥¤¥ó¥é¥¤¥ó¥Æ¥¥¹¥È¤Î¤Û¤«¤ÎÉôʬ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢
-{\f3@link\f1} ¥¿¥°¤ÎºÇ½é¤ÈºÇ¸å¤ËÃæ³ç¸Ì¤òµ½Ò¤·¤Þ¤¹¡£
-¥é¥Ù¥ë¤ÎÃæ¤Ç¡Ö}¡×¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢HTML
-¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö}¡×¤ò»È¤¤¤Þ¤¹¡£
-.LP
-1 ¤Ä¤Îʸ¤ÎÃæ¤Ç»ÈÍѤǤ¤ë {@link} ¥¿¥°¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤Î¥¿¥°¤Ï¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ÎÀâÌÀÉôʬ¡¢¤Þ¤¿¤Ï
-.BR @deprecated
-¡¢
-.BR @return
-¡¢
-.BR @param
-¤Ê¤É¤ÎǤ°Õ¤Î¥¿¥°¤Î¥Æ¥¥¹¥ÈÉôʬ¤Ç»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥á¥ó¥È¤Ç¤Ï¡¢
-.B getComponentAt(int, int)
-¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-Use the {\f3@link #getComponentAt(int, int) getComponentAt\f1} method.
-.fi
-.ft 1
-.LP
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¾åµ¤Î¥³¥á¥ó¥È¤«¤é¼¡¤Î HTML ¤¬
-À¸À®¤µ¤ì¤Þ¤¹ (¤³¤Î¥³¥á¥ó¥È¤¬Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç)¡£
-.LP
-.ft 3
-.nf
-Use the
-<a href="Component.html#getComponentAt(int, int)">getComponentAt</a>method.
-.fi
-.ft 1
-.LP
-¤³¤Î HTML ¤Ï¡¢Web ¥Ú¡¼¥¸¾å¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-Use the getComponentAt method.
-.fi
-.ft 1
-.LP
-{\f3@link\f1} ¤ò¡¢¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤˤ·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¤Ë¤Þ¤Ç
-³ÈÄ¥¤¹¤ë¤Ë¤Ï¡¢
-.BR \-link
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}
-¤Î
+推奨されないタグについての詳細は、
.na
-\f2{@link} ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-{@linkplain package.class#member label}
-¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤¬¥³¡¼¥É¥Õ¥©¥ó¥È¤Ç¤Ï¤Ê¤¯¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Ç
-ɽ¼¨¤µ¤ì¤Æ¤¤¤ëÅÀ°Ê³°¤Ï¡¢
-{\f3@link\f1} ¤ÈƱ¤¸¤Ç¤¹¡£ ¥é¥Ù¥ë¤¬¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Ç
-µ½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¼¡¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.ft 3
-.nf
-Refer to {\f3@linkplain\f1 add() the overridden method}.
+\f2@deprecated タグ\fP @
.fi
-.ft 1
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.htmlのドキュメントを参照してください。
.LP
-¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
-.ft 3
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@code\ text}
+\f2<code>{@literal}</code>\fP と同等です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+テキストを HTML マークアップまたは入れ子になった javadoc タグとして解釈せずに、\f2text\fP を \f2code\fP フォントで表示します。これにより doc コメントでは、パラメータの種類 (\f2<Object>\fP)、不等号 (\f23 < 4\fP)、または矢印 (\f2<\-\fP) などで、HTML エンティティー (\f2<\fP および \f2>\fP) ではなく、通常の山括弧 (\f2<\fP および \f2>\fP) を使用できます。たとえば doc コメントのテキスト
+.LP
.nf
-Refer to the overridden method.
+\f3
+.fl
+ \fP\f4{@code A<B>C}\fP\f3
+.fl
+
+.fl
+\fP
.fi
-.ft 1
+
.LP
-.TP
-.B {@literal text}
-¥Æ¥¥¹¥È¤ò HTML ¥Þ¡¼¥¯¥¢¥Ã¥×¤Þ¤¿¤Ï
-Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ javadoc ¥¿¥°¤È¤·¤Æ²ò¼á¤»¤º¤Ë¡¢
-¥Æ¥¥¹¥È¤ò¥³¡¼¥É¥Õ¥©¥ó¥È¤Çɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤ê doc ¥³¥á¥ó¥È¤Ç¤Ï¡¢
-¥Ñ¥é¥á¡¼¥¿¤Î¼ïÎà ( <Object> )¡¢ÉÔÅù¹æ ( 3 < 4 )¡¢
-¤Þ¤¿¤ÏÌð°õ ( <- ) ¤Ê¤É¤Ç¡¢HTML ¥¨¥ó¥Æ¥£¥Æ¥£ ( < ¤ª¤è¤Ó > ) ¤Ç¤Ï¤Ê¤¯¡¢
-Ä̾ï¤Î»³³ç¸Ì (< ¤ª¤è¤Ó >) ¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð doc ¥³¥á¥ó¥È¤Î¥Æ¥¥¹¥È
.LP
-.RS 5
-{@literal A<B>C}
+は、生成された HTML ページで、次のようにそのまま表示されます。
+.LP
+.nf
+\f3
+.fl
+ \fP\f4A<B>C\fP\f3
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+注目すべき点として、\f2<B>\fP は太字であると解釈されませんが、コードフォントになります。
+.LP
+.LP
+コードフォントなしで同じ機能を実現するには、\f2{@literal}\fP を使用します。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@docRoot}
+生成されるページから見た、生成ドキュメントの (生成先の) ルートディレクトリへの相対パスを表します。このタグは、著作権のページや会社のロゴなど、生成されるすべてのページから参照するファイルを組み込むときに便利です。通常は、各ページの下部から著作権のページにリンクします。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+この \f2{@docRoot}\fP タグは、コマンド行からも、ドキュメンテーションコメントの中でも使用できます。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.LP
+.RS 3
+.TP 3
+1.
+コマンド行では、ヘッダー、フッター、またはボトムノートは次のように定義します。
+.nf
+\f3
+.fl
+ javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
+.fl
+
+.fl
+\fP
+.fi
+.LP
+\- \f2{@docRoot}\fP をこのように利用する場合、一部の Makefile プログラムでは、中括弧 { } 文字をエスケープする必要があります。たとえば、Inprise MAKE バージョン 5.2 を Windows 上で実行する場合は、「\f2{{@docRoot}}\fP」のように、中括弧を二重にする必要があります。さらに、\f2\-bottom\fP などのオプションに対する引数を、単一引用符ではなく、二重引用符で囲む必要があります。 \f2href\fP 引数の値を囲む引用符は省略します。
+.TP 3
+2.
+ドキュメンテーションコメントの中では、次のように使用します。
+.nf
+\f3
+.fl
+ /**
+.fl
+ * See the <a href="{@docRoot}/copyright.html">Copyright</a>.
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+このタグが必要な理由は、生成ドキュメントが、サブパッケージと同じ深さを持つ階層構造のディレクトリに格納されるからです。次に例を示します。
+.LP
+.nf
+\f3
+.fl
+ <a href="{@docRoot}/copyright.html">
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+次のように解決されます。
+.LP
+.nf
+\f3
+.fl
+ <a href="../../copyright.html"> java/lang/Object.java の場合
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+および
+.LP
+.nf
+\f3
+.fl
+ <a href="../../../copyright.html"> java/lang/ref/Reference.java の場合
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@exception\ class\-name\ description
+\f2@exception\fP タグは、\f2@throws\fP タグと同義です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@inheritDoc}\
+もっとも近い継承可能なクラスまたは実装可能なインタフェースから、このタグの現在のドキュメンテーションコメントに、ドキュメントを継承 (コピー) します。この機能により、より汎用的なコメントを継承ツリーの上位に記述し、コピーしたテキストを使って記述することができます。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+このタグは、ドキュメンテーションコメントの次の位置でのみ有効です。
+.LP
+.RS 3
+.TP 2
+o
+メソッドの主説明ブロック内。この場合、主説明は、上位階層のクラスまたはインタフェースからコピーされる
+.TP 2
+o
+メソッドの @return、@param、@throws タグのテキスト引数内。この場合、タグテキストは、上位階層の対応するタグからコピーされる
+.RE
+
+.LP
+.LP
+継承階層でコメントを見つける方法に関する正確な説明について、「メソッドコメントの自動コピー」を参照してください。このタグが見つからない場合、コメントは、この節で説明するルールに応じて、自動的に継承されるかどうかが決まります。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@link\ \ package.class#member\ \ label}\
+表示テキスト \f2label\fP とのインラインリンクを挿入します。 \f2label\fP は、参照クラスの指定されたパッケージ、クラス、またはメンバーの名前のドキュメンテーションを指し示します。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+このタグは、\f2@see\fP タグとよく似ています。 どちらのタグも、\f2package.class\fP\f2#\fP\f2member\fP および \f2label\fP の参照の仕方が同じで、有効な構文もまったく同じです。大きな違いは、\f2{@link}\fP は、リンクを [関連項目] セクションに置くのではなく、インラインリンクを生成するということです。また、インラインテキストのほかの部分と区別するために、\f2{@link}\fP タグの最初と最後に中括弧を記述します。ラベルの中で「}」を使う必要がある場合は、HTML エンティティーの「}」を使います。
+.LP
+.LP
+1 つの文の中で使用できる \f2{@link}\fP タグの数に制限はありません。このタグは、ドキュメンテーションコメントの主説明部分、または @deprecated、@return、@param などの任意のタグのテキスト部分で使うことができます。
+.LP
+.LP
+たとえば、次のコメントでは \f2getComponentAt(int, int)\fP メソッドを参照しています。
+.LP
+.nf
+\f3
+.fl
+{@link #getComponentAt(int, int) getComponentAt} メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+標準ドックレットでは、上記のコメントから次の HTML が生成されます (このコメントが同じパッケージの別のクラスを参照している場合)。
+.LP
+.nf
+\f3
+.fl
+<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この HTML は、Web ページ上では次のように表示されます。
+.LP
+.nf
+\f3
+.fl
+getComponentAt メソッドを使用します。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+\f2{@link}\fP を、ドキュメント化の対象にしていないクラスにまで拡張するには、\f2\-link\fP オプションを使用します。
+.LP
+.LP
+詳細については、
+.na
+\f2{@link} タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}を参照してください。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+{@linkplain\ package.class#member\ label}
+リンクのラベルがコードフォントではなくプレーンテキストで表示される点以外は \f2{@link}\fP と同じです。ラベルがプレーンテキストで記述されていると便利です。例:
+.RE
+
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ {@linkplain add() the overridden method} を参照してください。
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+これは以下のように表示されます。
+.LP
+.RS 3
+
+.LP
+.LP
+the overridden method を参照してください。
+.LP
.RE
.LP
-¤Ï¡¢À¸À®¤µ¤ì¤¿ HTML ¥Ú¡¼¥¸¤Ï¥Ö¥é¥¦¥¶¤Ç¼¡¤Î¤è¤¦¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£
+
.LP
-.RS 5
-A<B>C
.RE
+.RS 3
+.TP 3
+{@literal\ text}
+テキストを HTML マークアップまたは入れ子になった javadoc タグとして解釈せずに、\f2text\fP を表示します。これにより doc コメントでは、パラメータの種類 (\f2<Object>\fP)、不等号 (\f23 < 4\fP)、または矢印 (\f2<\-\fP) などで、HTML エンティティー (\f2<\fP および \f2>\fP) ではなく、通常の山括弧 (\f2<\fP および \f2>\fP) を使用できます。たとえば doc コメントのテキスト
+.RE
+
.LP
-ÃíÌܤ¹¤Ù¤ÅÀ¤È¤·¤Æ¡¢<B> ¤ÏÂÀ»ú¤Ç¤¢¤ë¤È²ò¼á¤µ¤ì¡¢
-¥³¡¼¥É¥Õ¥©¥ó¥È¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
+.RS 3
+
.LP
-¥³¡¼¥É¥Õ¥©¥ó¥È¤ÇƱ¤¸µ¡Ç½¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢
-{@code} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.BI @param " parameter-name description"
-»ØÄꤷ¤¿ parameter-name ¤È»ØÄꤷ¤¿ description ¤ò»ÈÍѤ·¤Æ
-¥Ñ¥é¥á¡¼¥¿¤ò¡ÖParameters¡×¥»¥¯¥·¥ç¥ó¤ËÄɲä·¤Þ¤¹¡£
-doc ¥³¥á¥ó¥È¤òµ½Ò¤¹¤ë¤È¤¤Ï¡¢description ¤òÊ£¿ô¹Ô¤Ë
-³¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢
-¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤Þ¤¿¤Ï¥¯¥é¥¹¤Î
-doc ¥³¥á¥ó¥ÈÆâ¤Ç¤Î¤ß͸ú¤Ç¤¹¡£
+.nf
+\f3
+.fl
+ \fP\f4{@literal A<B>C}\fP\f3
+.fl
+
+.fl
+\fP
+.fi
+
.LP
-\f2parameter\-name\fP ¤Ï¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤«¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¥¿¥¤¥×¥Ñ¥é¥á¡¼¥¿¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£
-»³³ç¸Ì¤Ç¥Ñ¥é¥á¡¼¥¿Ì¾¤ò°Ï¤à¤È¡¢·¿¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ¹¤ë¤³¤È¤ò
-»ØÄꤷ¤Þ¤¹¡£
.LP
-¥¯¥é¥¹¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã:
+は、生成された HTML ページはブラウザで次のようにそのまま表示されます。
+.LP
+.LP
+\f2\ \ \ \ \ \fPA<B>C
+.LP
+.LP
+注目すべき点として、\f2<B>\fP は太字であると解釈されません (コードフォントにならない)。
+.LP
+.LP
+コードフォントで同じ機能を実現するには、\f2{@code}\fP を使用します。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@param\ parameter\-name description
+指定した \f2parameter\-name\fP と指定した \f2description\fP を使用してパラメータを「Parameters」セクションに追加します。doc コメントを記述するときは、\f2description\fP を複数行に続けることができます。このタグは、メソッド、コンストラクタ、またはクラスの doc コメント内でのみ有効です。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f2parameter\-name\fP は、メソッドまたはコンストラクタでのパラメータの名前か、クラス、メソッドまたはコンストラクタのタイプパラメータの名前になります。山括弧でパラメータ名を囲むと、型パラメータを使用することを指定します。
+.LP
+.LP
+クラスの型パラメータの例:
+.LP
.nf
\f3
.fl
@@ -1805,10 +1947,15 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+
.LP
-¥á¥½¥Ã¥É¤Î·¿¥Ñ¥é¥á¡¼¥¿¤ÎÎã:
+.LP
+メソッドの型パラメータの例:
+.LP
.nf
\f3
.fl
@@ -1828,423 +1975,862 @@
.fl
}
.fl
+
+.fl
\fP
.fi
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@param
-¤Î
-.na
-\f2@param ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+
.LP
+.LP
+詳細については、
+.na
+\f2@param タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@paramを参照してください。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@return\ description
-¡ÖÌá¤êÃ͡ץ»¥¯¥·¥ç¥ó¤òÄɲ䷤ơ¢\f2description\fP ¤Î¥Æ¥¥¹¥È¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ç¤Ï¡¢Ìá¤êÃͤη¿¤È¡¢¼è¤êÆÀ¤ëÃͤÎÈϰϤˤĤ¤¤Æµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç¤Î¤ß͸ú¤Ç¤¹¡£
+[戻り値] セクションを追加して、\f2description\fP のテキストを書き込みます。このテキストでは、戻り値の型と、取り得る値の範囲について記述する必要があります。このタグは、メソッドのドキュメンテーションコメントでのみ有効です。
+.RE
+
.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@return
-¤Î
+.RS 3
+
+.LP
+.LP
+詳細については、
.na
-\f2@return ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@return タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@returnを参照してください。
.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
-@see\ reference
-¡Ö´ØÏ¢¹àÌܡ׸«½Ð¤·¤òÄɲä·¡¢\f2reference\fP ¤ò»Ø¤¹¥ê¥ó¥¯¤«¡¢¤Þ¤¿¤Ï¥Æ¥¥¹¥È¥¨¥ó¥È¥ê¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ë¤Ï¡¢Ç¤°Õ¤Î¿ô¤Î \f2@see\fP ¥¿¥°¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î \f2@see\fP ¥¿¥°¤ÎÆâÍƤϡ¢Æ±¤¸¸«½Ð¤·¤Î²¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£\f2@see\fP ¥¿¥°¤Ë¤Ï¡¢¼¡¤Î 3 ¼ïÎà¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤È¤â¤è¤¯»È¤ï¤ì¤ë¤Î¤Ï¡¢3 ÈÖÌܤηÁ¼°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤ËÂФ¹¤ë¥¤¥ó¥é¥¤¥ó¥ê¥ó¥¯¤òʸÃæ¤ËÁÞÆþ¤¹¤ëÊýË¡¤Ï¡¢\f2{@link}\fP ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+@see\ \ reference
+[関連項目] 見出しを追加し、\f2reference\fP を指すリンクか、またはテキストエントリを書き込みます。1 つのドキュメンテーションコメントには、任意の数の \f2@see\fP タグを指定できます。 すべての \f2@see\fP タグの内容は、同じの見出しの下にグループ化されます。\f2@see\fP タグには、次の 3 種類の形式があります。 もっともよく使われるのは、3 番目の形式です。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。パッケージ、クラス、またはメンバーに対するインラインリンクを文中に挿入する方法は、\f2{@link}\fP を参照してください。
.RS 3
.TP 3
@see "string"
-string ¤Î¥Æ¥¥¹¥È¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£
-¥ê¥ó¥¯¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£string ¤Ï¡¢½ñÀÒ¡¢¤Þ¤¿¤Ï
-URL ¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¾ðÊó¤Î»²¾ÈÀè¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤¬Æó½Å°úÍÑÉä (") ¤«¤É¤¦¤«¤òÄ´¤Ù¤Æ¡¢
-¾å¤Î 2 ¤Ä¤Î·Á¼°¤È¤³¤Î·Á¼°¤È¤ò¶è
-Ê̤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
- @see "The Java Programming Language"
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥Æ¥¥¹¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- "The Java Programming Language"
-.fi
-.ft 1
-.RE
-.TP
-\f3@see <a href="\f2URL#value\f3">\f2label\f3</a>\f1
-.IR URL#value
-¤ÇÄêµÁ¤µ¤ì¤¿¤È¤ª¤ê¤Ë¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£
-.I URL#value
-¤Ï¡¢ÁêÂÐ URL ¤Þ¤¿¤ÏÀäÂÐ URL ¤Ç¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ºÇ½é¤Îʸ»ú¤È¤·¤Æ¡¢¾®¤Ê¤ê³ç¸Ì (\f3<\f1) ¤òõ¤¹¤³¤È¤Ç¡¢
-¤³¤Î¥ê¥ó¥¯¤ò¤½¤Î¾¤Î¾ì¹ç¤È¶èÊ̤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
- @see <a href="spec.html#section">Java Spec</a>
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- Java Spec
-.fi
-.ft 1
-.RE
-.TP
-.BI @see " package.class#member label"
-»²¾È¤µ¤ì¤ë Java ¸À¸ì¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥É¥¥å¥á¥ó¥È¤ò»Ø¤¹¡¢
-ɽ¼¨¥Æ¥¥¹¥È label ¤ò»ý¤Ä
-¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£label ¤Ï¾Êά²Äǽ¤Ç¤¹¡£label ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-³ºÅö¤¹¤ë̾Á°¤¬
-ŬÀÚ¤Ëû¤¯¤µ¤ì¤Æ (¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È)¡¢
-ɽ¼¨¥Æ¥¥¹¥È¤È¤·¤ÆÂå¤ï¤ê¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£-noqualifier ¤ò»ÈÍѤ¹¤ë¤È¡¢É½¼¨¥Æ¥¥¹¥È¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Á´ÂÎŪ¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£¥é¥Ù¥ë¤Ï¡¢¼«Æ°À¸À®¤µ¤ì¤ëɽ¼¨¥Æ¥¥¹¥È¤È¤Ï°Û¤Ê¤ëɽ¼¨¥Æ¥¥¹¥È¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢¥é¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢Ì¾Á°¤À¤±¤¬
-HTML ¥¿¥°
-.B <code>
-¤Ë°Ï¤Þ¤ì¤Æ¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 1.2.2 °Ê¹ß¤Ï¡¢
-.B <code>
-¤Ï¾ï¤Ë¡¢¥é¥Ù¥ë¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
-ɽ¼¨²Äǽ¤Ê¥Æ¥¥¹¥È¤ò°Ï¤ß¤Þ¤¹¡£
-.TP 2
-\(bu
-.I package.class#member
-¤Ë¤Ï¡¢Java ¸À¸ì¤Ç͸ú¤ÊǤ°Õ¤Î̾Á°¡¢¤Ä¤Þ¤ê¥Ñ¥Ã¥±¡¼¥¸¡¢
-¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹
-¡£¤¿¤À¤·¡¢¥á¥ó¥Ð̾¤ÎÁ°¤Î
-¥É¥Ã¥È¤Ï¡¢¥Ï¥Ã¥·¥åʸ»ú (#) ¤ÇÃÖ¤´¹¤¨¤Þ¤¹¡£
-»ØÄꤷ¤¿Ì¾Á°¤¬¡¢¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹
-¤Ë¤¢¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï³ºÅö¤¹¤ë̾Á°¤Ø¤Î¥ê¥ó¥¯¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£
-³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë
-¤Ë¤Ï¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤Ì¾Á°¤Î
-¥É¥¥å¥á¥ó¥È¤ò»²
-¾È¤¹¤ë¤Ë¤Ï¡¢¤Û¤«¤Î 2 ¤Ä¤Î·Á¼°¤Î
-.B @see
-¥¿¥°¤ò»È¤¤¤Þ¤¹¡£1 ÈÖÌܤΰú¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö̾Á°¤Î»ØÄê¡× ¤Ç
-¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-.I label
-¤Ï¾Êά²Äǽ¤Ê¥Æ¥¥¹¥È¤Ç¡¢
-¥ê¥ó¥¯¤Î¥é¥Ù¥ë¤È¤·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£label ¤Ë¤Ï¶õÇò¤ò´Þ
-¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£label ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-.I package.class.member
-¤¬¡¢¸½ºß¤Î¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë±þ¤¸¤Æ
-ŬÀÚ¤Ëû¤¯¤µ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-¶õÇòʸ»ú¤Ï
-.I package.class#member
-¤È
-.IR label
-¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ç¤¹¡£³ç¸ÌÆâ¤Î¶õÇòʸ»ú¤Ï¡¢
-¥é¥Ù¥ë¤Î³«»Ï¤ò°ÕÌ£¤·¤Ê¤¤¤¿¤á¡¢
-¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿´Ö¤Î¥Ç¥ê¥ß¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-Îã-¤³¤ÎÎã¤Ç¤Ï¡¢Character ¥¯¥é¥¹¤Î
-.B @see
-¥¿¥°¤¬ String ¥¯¥é¥¹¤Î equals ¥á¥½¥Ã¥É¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
-¥¿¥°¤Ë¤Ï¡¢Ì¾Á° \f3String#equals(Object)\f1 ¤È¥é¥Ù¥ë \f3equals\f1 ¤Î
-ξÊý¤Î°ú¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- /**
- * @see String#equals(Object) equals
- */
-.fi
-.ft 1
-.LP
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¼¡¤Î¤è¤¦¤Ê HTML ¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- <dl>
- <dt><b>´ØÏ¢¹àÌÜ:</b>
- <dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals</code></a>
- </dl>
-.fi
-.ft 1
-.LP
-¤³¤ì¤Ï¡¢¥Ö¥é¥¦¥¶¤Ç¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¡¢
-¥é¥Ù¥ë¤¬¥ê¥ó¥¯¥Æ¥¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
- ´ØÏ¢¹àÌÜ:
- equals
-.fi
-.ft 1
-.LP
-.B ̾Á°¤Î»ØÄê:
-¤³¤Î
-.I package.class#member
-¤Î̾Á°¤Ï¡¢
-.BR java.lang.String#toUpperCase()
-¤Î¤è¤¦¤Ë´°Á´»ØÄꤹ¤ë¤³¤È¤â¡¢
-.B String#toUpperCase()
-¤ä
-.BR #toUpperCase()
-¤Ê¤É¤Î¤è¤¦¤Ë´°Á´»ØÄꤷ¤Ê¤¤¤³¤È¤â²Äǽ¤Ç¤¹¡£
-´°Á´»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢Ä̾ï¤Î Java ¥³¥ó¥Ñ¥¤¥é¤Î¸¡º÷½ç½ø¤Ç¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢°Ê²¼¤Î¡Ö
-.BR @see
-¤Î¸¡º÷½ç½ø¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£»ØÄꤹ¤ë̾Á°¤Ç¤Ï¡¢
-¥á¥½¥Ã¥É¤ÎÊ£¿ô¤Î°ú¿ô¤Î·¿¤Î´Ö¤Ê¤É¡¢
-³ç¸ÌÆâ¤Ë¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-û¤¤Éôʬ½¤¾þ̾¤ò»ØÄꤹ¤ë¤³¤È¤ÎÍøÅÀ¤Ï¡¢ÆþÎϤ¹¤ë
-ʸ»ú¿ô¤¬¸º¤ë¤³¤È¤È¡¢¥½¡¼¥¹¥³¡¼¥É¤¬
-Æɤߤ䤹¤¯¤Ê¤ë¤³¤È¤Ç¤¹¡£°Ê²¼¤Îɽ¤Ë¼¨¤¹¤Î¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê
-·Á¼°¤Î̾Á°¤Ç¤¹¡£Class ¤Ë¤Ï
-¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢Type ¤Ë¤Ï¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢
-ÇÛÎ󡢤ޤ¿¤Ï´ðËܥǡ¼¥¿·¿¡¢
-method ¤Ë¤Ï¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.LP
-.TS
-box;
-lp-1.
-@see package.class#member ¤Î°ìÈÌŪ¤Ê·Á¼°
-_
-¸½ºß¤Î¥¯¥é¥¹¤Î¥á¥ó¥Ð¤ò»²¾È¤¹¤ë
-@see #field
-@see #method(Type, Type,...)
-@see #method(Type argname, Type argname,...)
-@see #constructor(Type, Type,...)
-@see #constructor(Type argname, Type argname,...)
-_
-T{
-¸½ºß¤Î¡¢¤Þ¤¿¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ÎÊ̤Υ¯¥é¥¹¤ò»²¾È¤¹¤ë
-T}
-@see Class#field
-@see Class#method(Type, Type,...)
-@see Class#method(Type argname, Type argname,...)
-@see Class#constructor(Type, Type,...)
-T{
-@see Class#constructor(Type argname, Type argname,...)
-T}
-@see Class.NestedClass
-@see Class
-_
-Ê̤Υѥ屡¼¥¸¤ÎÍ×ÁǤò»²¾È¤¹¤ë (´°Á´½¤¾þ)
-@see package.Class#field
-@see package.Class#method(Type, Type,...)
-@see package.Class#method(Type argname, Type argname,...)
-@see package.Class#constructor(Type, Type,...)
-T{
-@see package.Class#constructor(Type argname, Type argname,...)
-T}
-@see package.Class.NestedClass
-@see package.Class
-@see package
-.TE
-.LP
-¾å¤Îɽ¤ËÂФ¹¤ëÃí¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
-.TP 2
-\(bu
-¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò¾Ê¤¤¤¿ºÇ½é¤Î·Á¼°¤Î¥»¥Ã¥È¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥¯¥é¥¹³¬ÁؤÀ¤±¤Ç¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¸½ºß¤Î¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥ó¥Ð¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤«
-¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î 1 ¤Ä¡¢¤Þ¤¿¤Ï
-¿Æ¥¯¥é¥¹¤«¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î 1 ¤Ä (¸¡º÷¼ê½ç 1 ¡Á 3) ¤ò¸¡º÷¤·¤Þ¤¹¡£
-¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤Û¤«¤ÎÉôʬ¤ä¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸ (¸¡º÷¼ê½ç 4 ¡Á 5) ¤Ï
-¸¡º÷¤·¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-¥á¥½¥Ã¥É¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¡¢getValue ¤Î¤è¤¦¤Ë
-³ç¸Ì¤òÉÕ¤±¤º¤Ë̾Á°¤È¤·¤ÆÆþÎϤµ¤ì¡¢
-¤«¤ÄƱ¤¸Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤ÏÀµ³Î¤Ë¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¤¬¡¢³ç¸Ì¤È°ú¿ô¤òÄɲ乤ë¤è¤¦¤Ë
-Â¥¤¹·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ
-¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥í¡¼¥É¤·¤¿¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¡¢¸¡º÷¤Ç¸«¤Ä¤«¤Ã¤¿
-ºÇ½é¤Î¥á¥½¥Ã¥É¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-Æþ¤ì»Ò¤ÎÆâÉô¥¯¥é¥¹¤Ï¡¢¤É¤Î·Á¼°¤Î¾ì¹ç¤Ç¤â¡¢Ã±¤Ë
-.BR inner
-¤È¤¤¤¦·Á¤Ç¤Ï¤Ê¤¯¡¢
-.BR outer.inner
-¤È¤¤¤¦·Á¤Ç»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-¤¹¤Ç¤Ë½Ò¤Ù¤¿¤È¤ª¤ê¡¢¥¯¥é¥¹¤È¥á¥ó¥Ð¤ò¶èÀÚ¤ë¤Î¤Ë¡¢¥É¥Ã¥È (\f3.\f1) ¤Ç¤Ï¤Ê¤¯
-¥Ï¥Ã¥·¥åʸ»ú (\f3#\f1) ¤¬
-»È¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥É¥Ã¥È¤Ï¡¢¥¯¥é¥¹¡¢
-Æþ¤ì»Ò¤Î¥¯¥é¥¹¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò¶èÀÚ¤ë¤Î¤Ë¤â»È¤ï¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ç¤Ï°ìÈ̤˵öÍÆÈϰϤ¬¹¤¯¡¢
-¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤±¤ì¤Ð¡¢¥É¥Ã¥È¤Ç¤âÀµ¤·¤¯²òÀϤµ¤ì¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤¹¡£
-
-.LP
-.B @see ¤Î¸¡º÷½ç½ø:
-.B javadoc
-¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë (\f3.java\f1)¡¢¥Ñ¥Ã¥±¡¼¥¸
-¥Õ¥¡¥¤¥ë (\f3package.html\f1 ¤« \f3package\-info.java\f1)¡¢¤Þ¤¿¤Ï
-³µÍ×¥Õ¥¡¥¤¥ë (\f3overview.html\f1) Æâ¤Ç»È¤ï¤ì¤ë
-.B @see
-¥¿¥°¤ò½èÍý¤·¤Þ¤¹¡£
-¤¢¤È¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.BR @see
-¤ò»È¤Ã¤Æ»ØÄꤹ¤ë̾Á°¤ò´°Á´½¤¾þ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢´°Á´½¤¾þ̾
-¤ÈÉôʬ½¤¾þ̾¤Î¤É¤Á¤é¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬¡¢´°Á´½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤
-.B .java
-¥Õ¥¡¥¤¥ë¤Ç
-.B @see
-¥¿¥°¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿Ì¾Á°¤ò Java ¥³¥ó¥Ñ¥¤¥é¤È
-Ʊ¤¸½ç½ø¤Ç¸¡º÷¤·¤Þ¤¹¡£¤¿¤À¤·¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÉô¤Î̾Á°¶õ´Ö¤Î¤¢¤¤¤Þ¤¤¤µ¤Ï¸¡½Ð¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¤³¤ì¤é¤Î¥¨¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò
-Á°Äó¤È¤·¤ÆÆ°ºî¤¹¤ë¤¿¤á¤Ç¤¹¡£
-¸¡º÷½ç½ø¤Ï¡¢¡ÖJava Language Specification¡×Âè 2 ÈǤÎÂè 6 ¾Ï¡ÖNames¡×¤Ç
-Àµ¼°¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¸¡º÷¤Ï¼¡¤Î½ç½ø¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-.LP
-.TP 4
-1.
-¸½ºß¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.PD 0
-.TP 4
-2.
-̾Á°¤ò°Ï¤à¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤òºÇ½é¤Ë¸¡º÷
-.TP 4
-3.
-¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤È¥¹¡¼¥Ñ¡¼¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£¤â¤Ã¤È¤â¶á¤¤¤â¤Î¤òºÇ½é¤Ë¸¡º÷
-.TP 4
-4.
-¸½ºß¤Î¥Ñ¥Ã¥±¡¼¥¸
-.TP 4
-5.
-¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢
-¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡£import ʸ¤Î½ç½ø¤Ë½¾¤Ã¤Æ¸¡º÷
-.PD
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢°ìÃפ¹¤ë̾Á°¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢³Æ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ
-¼ê½ç 1 ¡Á 3 ¤ò·«¤êÊÖ¤·¤Æ¸¡º÷¤ò³¤±
-¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥¯¥é¥¹¤È¤½¤Î¥¯¥é¥¹¤ò°Ï¤à
-¥¯¥é¥¹ E ¤ò¸¡º÷¤·¤¿¤¢¤È¡¢E ¤Î¥¹¡¼¥Ñ¥¯¥é¥¹¤ò
-¸¡º÷¤·¡¢ºÇ¸å¤Ë E ¤ò°Ï¤à¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£¼ê½ç 4 ¤È 5 ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¸¡º÷¤ò¡¢
-¤Ê¤ó¤é¤«¤Î·è¤Þ¤Ã¤¿½ç
-½ø¤Ç¹Ô¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (¤³¤Î¸¡º÷½ç½ø¤Ï¥³¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Þ¤¹)¡£
-¼ê½ç 5 ¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.BR java.lang
-¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-.BR java.lang
-¤¬¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£
-.LP
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢É¬¤º¤·¤â¥µ¥Ö¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢Javadoc ¥Ä¡¼¥ë¤Î
-¼Â¹ÔÃæ¤Ë¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸
-¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢¤Û¤«¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î
-¸¡º÷¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢
-.B @see
-¥¿¥°¤¬
-.B java.awt.event.KeyEvent
-¥¯¥é¥¹¤Ë¤¢¤Ã¤Æ¡¢
-.B java.awt
-¥Ñ¥Ã¥±¡¼¥¸¤Ë¤¢¤ë̾Á°¤ò»²¾È¤¹¤ë¾ì¹ç¡¢
-.B javadoc
-¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬¥¤¥ó¥Ý¡¼¥È¤·¤Ê¤¤¸Â¤ê¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤·¤Þ¤»¤ó¡£
-.LP
-.B ̾Á°¤Îɽ¼¨ÊýË¡:
-.I label
-¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-.I package.class.member
-¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Ä̾package.class.member ¤Ï¡¢¸½ºß¤Î
-¥¯¥é¥¹¤ª¤è¤Ó¥Ñ¥Ã¥±¡¼¥¸¤Ë
-±þ¤¸¤ÆŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¡Öû¤¯¤µ¤ì¤ë¡×¤È¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬É¬Í׺Ǿ®¸Â¤Î̾Á°¤òɽ¼¨¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢String.toUpperCase() ¥á¥½¥Ã¥É¤¬Æ±¤¸
-¥¯¥é¥¹¤Î¥á¥ó¥Ð¤Ø¤Î»²¾È¤È¡¢Ê̤Υ¯¥é¥¹¤Î¥á¥ó¥Ð¤Ø¤Î
-»²¾È¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¡¢¥¯¥é¥¹Ì¾¤Ï¸å¼Ô¤Î¾ì¹ç¤À¤±É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¹°èŪ¤Ëºï½ü¤¹¤ë¤Ë¤Ï¡¢\-noqualifier ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.br
-.LP
-.TP 4
-.TS
-box, center;
-cbp-1 | cbp-1 | cbp-1
-l | l | l .
-»²¾È¤Î¼ïÎà T{
-String.toUppercase() ¤Ç¤ÎÎã
-T} ɽ¼¨
-_
-T{
-@see ¥¿¥°¤¬Æ±¤¸¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see String#toLowerCase()
-T} T{
-toLowerCase() (¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¥¯¥é¥¹Ì¾¤Ï¾Êά)
-T}
-_
-T{
-@see ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢Æ±¤¸¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see Character#toLowerCase(char)
-T} T{
-Character.toLowerCase(char) (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¾Êά¤·¡¢¥¯¥é¥¹Ì¾¤ò´Þ¤à)
-T}
-_
-T{
-@see ¥¿¥°¤¬°Û¤Ê¤ë¥¯¥é¥¹¡¢°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Ð¤ò»²¾È¤·¤Æ¤¤¤ë
-T} T{
-@see java.io.File#exists()
-T} T{
-java.io.File.exists() (¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥¯¥é¥¹Ì¾¤ò´Þ¤à)
-T}
-.TE
-.LP
-\f3@see ¤ÎÎã\fP
-.br
-±¦Â¦¤Î¥³¥á¥ó¥È¤Ï¡¢\f2@see\fP ¥¿¥°¤¬Ê̤Υѥ屡¼¥¸ (\f2java.applet.Applet\fP ¤Ê¤É) ¤Î¥¯¥é¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ë¡¢Ì¾Á°¤¬¤É¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
+\f2string\fP のテキストエントリを追加します。リンクは生成されません。\f2string\fP は、書籍または URL ではアクセスできない情報の参照先です。Javadoc ツールは、最初の文字が二重引用符 (\f2"\fP) かどうかを調べて、この形式をほかの 2 つの形式と区別します。例を示します。
.nf
\f3
.fl
- See also:
+ @see "The Java Programming Language"
+.fl
+
+.fl
+\fP
+.fi
+.LP
+これは次のようなテキストを生成します。
+.RE
+.RS 3
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+関連項目:
+The Java Programming Language
+.RE
+
+.LP
+.RE
+.RE
+.TP 3
+@see <a href="URL#value">label</a>
+\f2URL\fP#\f2value\fP で定義されたとおりにリンクを追加します。\f2URL\fP#\f2value\fP は、相対 URL または絶対 URL です。Javadoc ツールは、最初の文字が「より小さい」記号 (\f2<\fP) かどうかを調べて、この形式をほかの 2 つの形式と区別します。例を示します。
+.nf
+\f3
+.fl
+ @see <a href="spec.html#section">Java Spec</a>
+.fl
+
+.fl
+\fP
+.fi
+.LP
+これは次のようなリンクを生成します。
+.RS 3
+.RS 3
+.TP 3
+関連項目:
+Java Spec
+.RE
+.RE
+.RE
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@see\ package.class#member\ label
+指定された名前を持つ、参照されている Java 言語のメンバーについてのドキュメントを指すリンクを、表示テキスト \f2label\fP とともに追加します。\f2label\fP は省略可能です。 \f2label\fP を省略すると、リンク先のメンバーの名前が適切に短縮されて表示されます。 「名前が表示される方法」を参照してください。\-noqualifier を使用すると、表示テキストからパッケージ名が全体的に削除されます。ラベルは、自動生成される表示テキストとは異なる表示テキストを指定する場合に使います。
+.LP
+バージョン 1.2 だけは、ラベルではなく、名前が <code> HTML タグ内に自動的に表示されます。 1.2.2 からは、ラベルを使用するか、しないかにかかわらず、<code> は常に表示テキストを囲むかたちで、含まれます。
+.LP
+.RS 3
+.TP 2
+o
+\f4package.class\fP\f4#\fP\f4member\fP には、参照されている任意の有効なプログラム要素の名前を指定します。 つまり、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの名前です。 ただし、メンバー名ーの前のドットは、シャープ記号 (\f2#\fP) で置き換えます。\f2class\fP は、任意のトップレベルまたは入れ子にされたクラスまたはインタフェースを表します。\f2member\fP は、任意のコンストラクタ、メソッドまたはフィールド (入れ子にされたクラスまたはインタフェースではない) を表します。指定した名前が、ドキュメント化されているクラスに含まれている場合、Javadoc ツールは、その名前へのリンクを自動的に作成します。外部参照クラスへのリンクを作成するには、\f2\-link\fP オプションを使います。参照クラスに属していない名前のドキュメントを参照するには、ほかの 2 つの形式の \f2@see\fP タグを使います。この引数については、このあとの「名前の指定」で詳しく説明します。
+.TP 2
+o
+\f4label\fP は、省略可能なテキストで、リンクのラベルとして表示されます。\f2label\fP には空白を含めることができます。\f2label\fP を省略すると、\f2package.class.member\fP が、現在のクラスおよびパッケージに応じて適切に短縮されて表示されます。 「名前が表示される方法」を参照してください。
+.TP 2
+o
+空白文字は、\f2package.class\fP\f2#\fP\f2member\fP と \f2label\fP の間の区切り文字です。括弧の内側の空白文字はラベルの先頭とは解釈されないため、メソッドのパラメータ間に空白文字を入れてもかまいません。
+.RE
+.LP
+\f3例\fP \- この例では、\f2Character\fP クラスにある \f2@see\fP タグが、\f2String\fP クラスの \f2equals\fP メソッドを参照しています。タグには、名前 \f2String#equals(Object)\fP とラベル \f2equals\fP の両方の引数が含まれています。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * @see String#equals(Object) equals
+.fl
+ */
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.LP
+標準ドックレットは、次のような HTML を生成します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+<dl>
+.fl
+<dt><b>See also:</b>
+.fl
+<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a>
+.fl
+</dl>
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.LP
+これは、ブラウザでは次のように表示され、ラベルがリンクテキストになります。
+.RS 3
+.RS 3
+.TP 3
+関連項目:
+equals
+.RE
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.LP
+\f3名前の指定\fP \- このタグに指定する \f2package.class\fP\f2#\fP\f2member\fP という名前は、\f2java.lang.String#toUpperCase()\fP のように完全指定することも、\f2String#toUpperCase()\fP や \f2#toUpperCase()\fP のように部分的に指定することもできます。名前が完全指定されていない場合、Javadoc ツールは、Java コンパイラの通常の検索順序でその名前を検索します。詳細は、このあとの「@see の検索順序」を参照してください。名前には、メソッドの複数の引数の間など、括弧の内側であれば空白を含めることができます。
+.LP
+.LP
+「部分的に指定」した短い名前を指定することの利点は、入力する文字数が減ることや、ソースコードが読みやすくなることです。次の表に、さまざまな形式の名前を示します。 この表の中で、\f2Class\fP にはクラスまたはインタフェースを、\f2Type\fP にはクラス、インタフェース、配列、または基本データ型を、そして \f2method\fP にはメソッドまたはコンストラクタを指定できます。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.RS 3
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 の一般的な形式\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3現在のクラスのメンバーを参照する\fP
+.br
+\f2@see\fP\ \f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3現在の、またはインポートされたパッケージの別のクラスを参照する\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2Class.NestedClass\fP
+.br
+\f2@see\fP\ \f2Class\fP
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3別のパッケージの要素を参照する\fP\ (完全修飾)
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2field\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP
+.br
+\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP
+.br
+\f2@see\fP\ \f2package.Class.NestedClass\fP
+.br
+\f2@see\fP\ \f2package.Class\fP
+.br
+\f2@see\fP\ \f2package\fP
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(c-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 1861 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-58
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+上の表に対する補足事項を次に示します。
+.LP
+.RS 3
+.TP 2
+o
+最初の種類の形式 (パッケージとクラスを省略) の場合、Javadoc ツールは、現在のクラスの階層だけを検索します。つまり、現在のクラスかインタフェース、そのスーパークラスかスーパーインタフェース、または現在のクラスかインタフェースを囲んでいるクラスかインタフェースからメンバーを検索します (このあとの検索手順 1 〜 3)。現在のパッケージのほかの部分や、ほかのパッケージは検索しません (検索手順 4 〜 5)。
+.TP 2
+o
+メソッドまたはコンストラクタを指定するときに括弧を付けずに名前だけ (\f2getValue\fP など) を使用した場合、同じ名前のフィールドが存在しなければ、Javadoc ツールはそのメソッドに対して正しくリンクを作成します。 ただし、括弧と引数を追加するように促す警告メッセージを出力します。このメソッドがオーバーロードされている場合、Javadoc ツールは、検索で最初に見つかったメソッドにリンクします。 結果は前もって特定できません。
+.TP 2
+o
+入れ子にされたクラスは、上記のどの形式の場合も、単に「\f2inner\fP」ではなく、「\f2outer\fP\f2.\fP\f2inner\fP」として指定しなければなりません。
+.TP 2
+o
+すでに述べたとおり、クラスとメンバーを区切るために、ドット (\f2.\fP) ではなくシャープ記号 (\f2#\fP) を使用することに注意してください。このように指定すると、Javadoc ツールは、あいまいさを解決できます。 ドットは、クラス、入れ子にされたクラス、パッケージ、およびサブパッケージを区切るためにも使用されます。ただし、Javadoc ツールでは一般に許容範囲が広く、あいまいさがなければ、ドットでも正しく解析されます。 その場合でも警告は表示されます。
+.RE
+
+.LP
+.LP
+\f3@see の検索順序\fP \- Javadoc ツールは、ソースファイル (.java)、パッケージファイル (package.html または package\-info.java)、または概要ファイル (overview.html) の中に登場する \f2@see\fP タグを処理します。後者の 2 つのファイルでは、完全指定の名前を \f2@see\fP タグに指定しなければなりません。ソースファイルでは、完全指定の名前、または部分指定の名前を指定できます。
+.LP
+.LP
+Javadoc ツールは、\f2.java\fP ファイル内で完全指定でない名前が記述された \f2@see\fP タグを見つけると、Java コンパイラと同じ順序で指定された名前を検索します。 ただし、Javadoc ツールは、特定の名前空間のあいまいさを検出しません。 これは、ソースコードにこれらのエラーが存在していないことを前提としているためです。この検索順序は、Java 言語仕様第 2 版の第 6 章「Names」で正式に定義されています。Javadoc ツールは、関連するクラスとパッケージ、およびインポートされたクラスとパッケージのすべてから名前を検索します。具体的には、次の順序で検索します。
+.LP
+.RS 3
+.TP 3
+1.
+現在のクラスまたはインタフェース
+.TP 3
+2.
+外側を囲んでいるクラスとインタフェース (もっとも近いものから検索)
+.TP 3
+3.
+スーパークラスとスーパーインタフェース (もっとも近いものから検索)
+.TP 3
+4.
+現在のパッケージ
+.TP 3
+5.
+インポートされているパッケージ、クラス、およびインタフェース (import 文の順序に従って検索)
+.RE
+
+.LP
+.LP
+Javadoc ツールは、各クラスについて手順 1 〜 3 を再帰的に適用しながら、一致する名前が見つかるまで検索を続けます。つまり、まず現在のクラスを検索し、次にそのクラスを囲んでいるクラス E を検索し、その次に E のスーパークラスを検索し、さらにその次に E を囲んでいるクラスを検索します。 手順 4 と 5 では、1 つのパッケージ内のクラスまたはインタフェースを検索する順序は決まっていません。 その順序は、個々のコンパイラによって異なります。手順 5 では、Javadoc ツールは、java.lang を検索します。 このパッケージは、すべてのプログラムに自動的にインポートされるからです。
+.LP
+.LP
+Javadoc ツールは、必ずしもサブクラスを検索するとは限りません。 また、javadoc の実行中にほかのパッケージのドキュメントが生成される場合でも、ほかのパッケージを検索しません。たとえば、\f2@see\fP タグが \f2java.awt.event.KeyEvent\fP クラス内にあって、\f2java.awt\fP パッケージにある名前を参照している場合、Javadoc は、そのクラスがインポートしないかぎりそのパッケージを検索しません。
+.LP
+.LP
+\f3名前が表示される方法\fP \- \f2label\fP を省略すると、\f2package.class.member\fP が表示されます。一般に、package.class.member は、現在のクラスおよびパッケージに応じて適切に短縮されます。「短縮される」とは、必要最小限の名前だけが表示されるということです。たとえば、\f2String.toUpperCase()\fP メソッドに、同じクラスのメンバーへの参照とほかのクラスのメンバーへの参照が含まれている場合、クラス名が表示されるのは後者のケースだけです (次の表を参照)。
+.LP
+.LP
+パッケージ名を広域的に削除するには、\-noqualifier を使用します。
+.br
+
+.LP
+.RE
+.RS 3
+.RS 3
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f4String.toUpperCase()\fP\f3 での例\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\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/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2toLowerCase()\fP (クラス名は省略)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP タグが別のクラスのメンバーを参照している
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@see Character#toLowerCase(char)\fP
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 82
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2Character.toLowerCase(char)\fP (パッケージ名は省略し、クラス名を含む)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP タグが別のクラスのメンバーを参照している
+.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/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@see java.io.File#exists()\fP
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 82
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\f2java.io.File.exists()\fP (パッケージ名とクラス名を含む)
+.br
+.di
+.nr i| \n(dn
+.nr i- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3参照の種類\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(g-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f2@see String#toLowerCase()\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(h-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 82 0
+.nr 38 \w\f3表示される名前\fP
+.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 38 \n(f-
+.if \n(82<\n(38 .nr 82 \n(38
+.nr 38 \n(i-
+.if \n(82<\n(38 .nr 82 \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 TW \n(82
+.if t .if \n(TW>\n(.li .tm Table at line 1959 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3参照の種類\fP\h'|\n(41u'\h'|\n(42u'\f3表示される名前\fP
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.ne \n(c|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.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(31u
+.ne \n(d|u+\n(.Vu
+.ne \n(e|u+\n(.Vu
+.ne \n(f|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.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
+.e+
+.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
+.f+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(g|u+\n(.Vu
+.ne \n(h|u+\n(.Vu
+.ne \n(i|u+\n(.Vu
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.g+
+.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
+.h+
+.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
+.i+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-28
+.RE
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f3@see の例\fP
+.br
+右側のコメントは、\f2@see\fP タグが別のパッケージ (\f2java.applet.Applet\fP など) のクラス内にある場合に、名前がどのように表示されるかを示しています。
+.LP
+.nf
+\f3
+.fl
+ 関連項目:
.fl
@see java.lang.String // String \fP\f3
.fl
@@ -2264,593 +2850,1381 @@
.fl
@see "The Java Programming Language" // "The Java Programming Language" \fP\f3
.fl
+
+.fl
\fP
.fi
-.I @see
-¤ò¡¢¥É¥¥å¥á¥ó¥È²½¤ÎÂоݤˤ·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¤Ë¤Þ¤Ç³ÈÄ¥¤¹¤ë¤Ë¤Ï¡¢
-.I -link
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
+
.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see
-¤Î
+.LP
+\f2@see\fP を、ドキュメント化の対象にしていないクラスにまで拡張するには、\f2\-link\fP オプションを使用します。
+.LP
+.LP
+詳細については、
.na
-\f2@see ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2@see タグのドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@seeを参照してください。
+.LP
.RE
+.LP
+
+.LP
+.RS 3
.TP 3
-.BI @serial " field-description" | include | exclude
-¥Ç¥Õ¥©¥ë¥È¤ÎľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç»ÈÍѤ·¤Þ¤¹¡£
-.RS
+@serial\ field\-description | include | exclude
+デフォルトの直列化可能フィールドのドキュメンテーションコメントで使用します。
+.RE
+
.LP
-¾Êά²Äǽ¤Ê field-description ¤Ï¡¢
-¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤ò³ÈÄ¥¤·¤Þ¤¹¡£
-¤³¤ÎÀâÌÀ¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°ÕÌ£¤ª¤è¤Ó
-¼è¤êÆÀ¤ëÃͤΥꥹ¥È¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-ɬÍפʾì¹ç¤Ë¤Ï¡¢Ê£¿ô¤Î¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤ÆÀâÌÀ¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ï¡¢¤³¤Î¾ðÊó¤ò¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤ËÄɲä·¤Þ¤¹¡£
+.RS 3
+
.LP
-¥¯¥é¥¹¤òľÎ󲽤·¤¿¤¢¤È¤·¤Ð¤é¤¯¤·¤Æ¤«¤éľÎó²½²Äǽ¥Õ¥£¡¼¥ë¥É¤ò¥¯¥é¥¹¤ËÄɲä·¤¿¾ì¹ç¡¢¼çÀâÌÀ¤Ë¡¢Äɲä·¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¼±Ê̤¹¤ëʸ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.BR include
-¤È
-.BR exclude
-°ú¿ô¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Î¥Ú¡¼¥¸¤Ë¥¯¥é¥¹¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ò´Þ¤á¤ë¤Ù¤¤«¡¢
-¤¢¤ë¤¤¤Ï¤³¤ì¤é¤Î°ú¿ô¤ò½ü¤¯¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£
+\f2field\-description\fP (省略可能) では、フィールドの意味を説明し、取り得る値のリストを示す必要があります。必要に応じて、複数の行に渡って説明を記述できます。標準ドックレットは、この情報を、直列化された形式のページに追加します。
.LP
+.LP
+クラスを直列化したあとしばらくしてから直列化可能フィールドをクラスに追加した場合、主説明に、追加したバージョンを識別する文を追加する必要があります。
+.LP
+.LP
+\f2include\fP および \f2exclude\fP 引数は、直列化された形式のページにクラスまたはパッケージを含めるか除外するかを示します。これらの引数には、次のような効果があります。
+.LP
+.RS 3
.TP 2
-\(bu
-.BR Serializable
-¤ò¼ÂÁõ¤¹¤ë public ¥¯¥é¥¹¤Þ¤¿¤Ï protected ¥¯¥é¥¹¤Ï¡¢
-¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê´Þ¤á¤é¤ì¤Þ¤¹¡£
+o
+\f2Serializable\fP を実装している public または protected クラスは、通常はそのページに含められます。 ただし、そのクラスまたはそのクラスが属するパッケージが \f2@serial exclude\fP で指定されていると、そのページから除外されます。
.TP 2
-\(bu
-.BR Serializable
-¤ò¼ÂÁõ¤¹¤ë private ¥¯¥é¥¹¤Þ¤¿¤Ï package\-private ¥¯¥é¥¹¤Ï¡¢
-¤½¤Î¥¯¥é¥¹ (¤Þ¤¿¤Ï¤½¤Î¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-.BR @serial
-.BR include
-¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê½ü¤«¤ì¤Þ¤¹¡£
+o
+\f2Serializable\fP を実装している private または package private クラスは、通常はそのページから除外されます。 ただし、そのクラスまたはそのクラスが属するパッケージが \f2@serial include\fP で指定されていると、そのページに含められます。
+.RE
+
.LP
-Îã:
-.BR javax.swing
-¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢(package.html ¤Þ¤¿¤Ï \f2package\-info.java\fP Æâ¤Ç)
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£
-public ¥¯¥é¥¹¤Ç¤¢¤ë
-.BR java.sercurity.BasicPermission
-¤Ï¡¢
-.BR @serial
-.BR exclude
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£package\-private ¥¯¥é¥¹¤Ç¤¢¤ë
-.BR java.util.PropertyPermissionCollection
-¤Ï¡¢
-.BR @serial
-.BR include
-¤È¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£
.LP
-¥¯¥é¥¹¥ì¥Ù¥ë¤Î¥¿¥°
-.BR @serial
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤Î
-.BR @serial
-¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
+例: \f2javax.swing\fP パッケージは、\f2@serial exclude\fP で指定されています (\f2package.html\fP または \f2package\-info.java\fP 内)。public クラス \f2java.security.BasicPermission\fP は、\f2@serial exclude\fP で指定されています。package private クラス \f2java.util.PropertyPermissionCollection\fP は、\f2@serial include\fP で指定されています。
.LP
-¤³¤ì¤é¤Î¥¿¥°¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤È»ÈÍÑÎã¤Ï¡¢¡ÖJava ¥ª¥Ö¥¸¥§¥¯¥ÈľÎó²½»ÅÍ͡פÎÂè 1.6 Àá¡Ö¥¯¥é¥¹¤ÎľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Îʸ½ñ²½¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
-.fi
-http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missing
-¤Î
+.LP
+クラスレベルで指定された @serial タグは、パッケージレベルで指定された @serial タグをオーバーライドします。
+.LP
+.LP
+これらのタグの使用法についての詳細と使用例は、「Java オブジェクト直列化仕様」の第 1.6 節
.na
-¡Ö\f2ľÎ󲽤ΠFAQ\fP¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î FAQ ¤Ë¤Ï¡¢¡Ö\-private ¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¤¤Ç javadoc ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Î¤Ë private ¥Õ¥£¡¼¥ë¥É¤Î @serial ¥¿¥°¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦ javadoc ¤Î·Ù¹ð¤¬É½¼¨¤µ¤ì¤ë¡×¤Ê¤É¤Î°ìÈÌŪ¤Ê¼ÁÌä¤Ø¤Î²óÅú¤¬µºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä¾Îó²½·Á¼°»ÅÍͤ˥¯¥é¥¹¤ò´Þ¤á¤ë¾ì¹ç¤Ë¤Ï¡¢
+\f2「クラスの直列化可能なフィールドおよびデータの文書化」\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html
-¤Î
+http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.htmlを参照してください。また、
.na
-¡Ö\f2Sun ¤Î»ÅÍÍ\fP¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「直列化の FAQ」\fP @
+.fi
+http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missingも参照してください。 この FAQ には、「\-private スイッチを指定しないで javadoc を実行しているのに private フィールドの @serial タグが見つからないという javadoc の警告が表示される」などの一般的な質問への回答が記載されています。直列化形式仕様にクラスを含める場合には、
+.na
+\f2「Sun の仕様」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.htmlも参照してください。
+.LP
+.LP
+
.LP
.RE
-.TP
-.BI @serialField " field-name field-type field-description"
-Serializable ¥¯¥é¥¹¤Î serialPersistentFields ¥á¥ó¥Ð¤Î ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤Þ¤¹¡£³Æ ObjectStreamField ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ËÂФ·¤Æ
-.B @serialField
-¥¿¥°¤ò 1 ¤Ä»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI @serialData " data-description"
-.I data-description
-¤Ï¡¢Ä¾Î󲽤µ¤ì¤¿·Á¼°¤Ç¤Î¥Ç¡¼¥¿¤Î·¿¤È½ç½ø¤ò
-ÀâÌÀ¤¹¤ë¥Æ¥¥¹¥È¤Ç¤¹¡£ ¤³¤Î¥Ç¡¼¥¿¤Ë¤Ï¡¢
-Æäˡ¢writeObject ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ½ñ¤¹þ¤Þ¤ì¤ë¾Êά²Äǽ¤Ê
-¥Ç¡¼¥¿¡¢¤ª¤è¤Ó Externalizable.writeExternal ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ
-½ñ¤¹þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿ (´ðÄ쥯¥é¥¹¤ò´Þ¤à) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-.TP
-.B @serialData
-¥¿¥°¤Ï¡¢writeObject¡¢readObject¡¢writeExternal¡¢¤ª¤è¤Ó readExternal ¤Î³Æ¥á¥½¥Ã¥É¤Î
-doc ¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£
+.RS 3
+.TP 3
+@serialField\ field\-name\ field\-type\ field\-description
+\f2Serializable\fP クラスの \f2serialPersistentFields\fP メンバーの \f2ObjectStreamField\fP コンポーネントをドキュメント化します。各 \f2ObjectStreamField\fP コンポーネントに対して \f2@serialField\fP タグを 1 つ使う必要があります。
+.RE
+
.LP
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
+.TP 3
+@serialData\ data\-description
+\f2data\-description\fP は、直列化された形式でのデータの型と順序を説明するテキストです。このデータには、特に、\f2writeObject\fP メソッドによって書き込まれる省略可能なデータ、および \f2Externalizable.writeExternal\fP メソッドによって書き込まれるすべてのデータ (基底クラスを含む) が含まれます。
+.RE
+
+.LP
+.RS 3
+
+.LP
+.LP
+\f2@serialData\fP タグは、\f2writeObject\fP、\f2readObject\fP、\f2writeExternal\fP、\f2readExternal\fP、\f2writeReplace\fP、および \f2readResolve\fP メソッドのドキュメンテーションコメントで使用できます。
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
@since\ since\-text
-À¸À®¥É¥¥å¥á¥ó¥È¤Ë¡ÖƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¡×¸«½Ð¤·¤òÄɲä·¡¢»ØÄꤵ¤ì¤¿ \f2since\-text\fP ¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ë¤Ï¡¢ÆÃÊ̤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¡¢¤Ä¤Þ¤ê³µÍס¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤Ç͸ú¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢ÆÃÄê¤ÎÊѹ¹¤Þ¤¿¤Ïµ¡Ç½¤¬¡¢\f2since\-text\fP ¤Ë¼¨¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¥ê¥ê¡¼¥¹°Ê¹ß¡¢Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+生成ドキュメントに [導入されたバージョン] 見出しを追加し、指定された \f2since\-text\fP を書き込みます。このテキストには、特別な内部構造はありません。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。このタグは、特定の変更または機能が、\f2since\-text\fP に示されたソフトウェアリリース以降、存在していることを意味します。例を示します。
+.RE
+
+.LP
+.RS 3
+
+.LP
.nf
\f3
.fl
@since 1.5
.fl
+
+.fl
\fP
.fi
-Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¾ì¹ç¡¢¤³¤Î¥¿¥°¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à API »ÅÍͤΥС¼¥¸¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£¤½¤ÎÊѹ¹¤äµ¡Ç½¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤ËÄɲ䵤줿»þ´ü¤ò¼¨¤¹¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£Ê£¿ô¤Î @since ¥¿¥°¤ò»ÈÍѤǤ¡¢Ê£¿ô¤Î @author ¥¿¥°¤Î¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¡£¥×¥í¥°¥é¥àÍ×ÁǤ¬Ê£¿ô¤Î API ¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢Ê£¿ô¤Î¥¿¥°¤ò»ÈÍѤǤ¤Þ¤¹¡£
+
+.LP
+.LP
+Java プラットフォームのソースコードの場合、このタグは、Java プラットフォーム API 仕様のバージョンを示します。 その変更や機能がリファレンス実装に追加された時期を示すとは限りません。複数の @since タグを使用でき、複数の @author タグのように扱われます。プログラム要素が複数の API で使用される場合、複数のタグを使用できます。
+.LP
+.LP
+
+.LP
.RE
-.TP
-.BI @throws " class-name description"
-.B @throws
-¥¿¥°¤È
-.B @exception
-¥¿¥°¤ÏƱµÁ¤Ç¤¹¡£À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë¡¢
-.I class-name
-¤ª¤è¤Ó
-.I description
-¥Æ¥¥¹¥È¤ò»ý¤Ä [Îã³°] ¾®¸«½Ð¤·¤òÄɲä·¤Þ¤¹¡£
-.I class-name
-¤Ï¡¢³ºÅö¤¹¤ë¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ
-¥¹¥í¡¼¤µ¤ì¤ë²ÄǽÀ¤Î¤¢¤ëÎã³°¤Î̾Á°¤Ç¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢doc ¥³¥á¥ó¥È¤Þ¤¿¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Î¤ß͸ú¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤¬´°Á´
-½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸¡º÷½ç½ø¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤òõ¤·¤Þ¤¹¡£
-Ʊ¤¸¤Þ¤¿¤Ï°Û¤Ê¤ëÎã³°¤Î doc ¥³¥á¥ó¥È¤Ç¡¢
-Ê£¿ô¤Î @throws ¥¿¥°¤ò»ÈÍѤǤ¤Þ¤¹¡£
+.RS 3
+.TP 3
+@throws\ class\-name\ description\
+\f2@throws\fP タグと \f2@exception\fP タグは同義です。生成ドキュメントに [例外] 小見出しを追加して、\f2class\-name\fP と \f2description\fP テキストを書き込みます。\f2class\-name\fP は、そのメソッドからスローされる可能性のある例外の名前です。このタグは、メソッド、コンストラクタの doc コメント内でのみ有効です。このクラスが完全指定の名前で記述されていない場合、Javadoc ツールは、検索順序に従ってクラスを探します。同じまたは異なる例外の doc コメントで、複数の \f2@throws\fP タグを使用できます。
+.RE
+
.LP
-¤¹¤Ù¤Æ¤Î¥Á¥§¥Ã¥¯ºÑ¤ßÎã³°¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
-@throws ¥¿¥°¤¬ throws ÀáÆâ¤ÎÎã³°ÍѤ˸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢
-@throws ¥¿¥°¤Î¤¢¤ë¥É¥¥å¥á¥ó¥È¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÎã³°¤¬ HTML ½ÐÎϤËÀâÌÀ¤Ê¤·¤Ç
-¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£
+.RS 3
+
.LP
-¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥á¥½¥Ã¥É¤ÇÌÀ¼¨Åª¤ËÎã³°¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤Ã¤Æ¡¢
-¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥á¥½¥Ã¥É¤«¤é¥µ¥Ö¥¯¥é¥¹¤Ø
-@throws ¥É¥¥å¥á¥ó¥È¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥á¥½¥Ã¥É¤«¤é¼ÂÁõ¥á¥½¥Ã¥É¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¾ì¹ç¤â
-ƱÍͤǤ¹¡£{@inheritDoc} ¤ò»ÈÍѤ·¤Æ¡¢·Ñ¾µ¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ
-¶¯À©Åª¤Ë @throws ¤òŬÍѤ¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
.LP
-¾ÜºÙ¤Ï
-.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exception
-¤Î
+すべてのチェック済み例外がドキュメント化されるようにするために、\f2@throws\fP タグが throws 節内の例外用に存在しない場合は、@throws タグのあるドキュメントであるかのように、Javadoc ツールによって例外が HTML 出力に説明なしで自動的に追加されます。
+.LP
+.LP
+オーバーライドされるメソッド内で例外が明示的に宣言されている場合のみ、\f2@throws\fP ドキュメンテーションをそのメソッドからサブクラスにコピーされます。インタフェースメソッドから実装メソッドにコピーされる場合も同様です。@throws にドキュメンテーションを継承させるには、{@inheritDoc} を使用できます。
+.LP
+.LP
+詳細については、
.na
-\f2@throws ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.B {@value package.class#field}
-{@value} ¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Î doc ¥³¥á¥ó¥È¤Ç
-°ú¿ô¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ÎÄê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-/**
-* The value of this constant is {@value}.
-*/
-public static final String SCRIPT_START = "<script>"
+\f2@throws タグのドキュメント\fP @
.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exceptionを参照してください。
+.LP
+.LP
+
+.LP
.RE
-.LP
-Ǥ°Õ¤Î doc ¥³¥á¥ó¥ÈÆâ¤Ç°ú¿ô
-.B package.class#field
- ¤¢¤ê¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿Äê¿ô¤ÎÃͤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS 5
-.nf
-/**
-* Evaluates the script starting with {@value #SCRIPT_START}.
-*/
-public String evalScript(String script) {
-}
-.fi
+.RS 3
+.TP 3
+{@value\ package.class#field}
+\f2{@value}\fP が静的フィールドの doc コメントで 引数なしで使用されている場合、その定数の値が表示されます。
.RE
+
.LP
-°ú¿ô package.class#field ¤Ï¡¢@see °ú¿ô¤ÈƱ°ì¤Î·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥á¥ó¥Ð¤¬ÀÅŪ¥Õ¥£¡¼¥ë¥É¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
+.RS 3
+
.LP
-¤³¤ì¤é¤ÎÄê¿ô¤Ç¤ÎÃͤϡ¢¡ÖÄê¿ô¥Õ¥£¡¼¥ë¥ÉÃ͡ץڡ¼¥¸¤Ë¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI @version " version-text"
-\-version ¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¡¢À¸À®¥É¥¥å¥á¥ó¥È¤Ë¡Ö¥Ð¡¼¥¸¥ç¥ó¡×¾®¸«½Ð¤·¤òÄɲ䷤ơ¢»ØÄꤵ¤ì¤¿ \f2version\-text\fP ¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¤³¤Î¥¿¥°¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤¹¤ë¤è¤¦¤Ë°Õ¿Þ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ËÂФ·¡¢@since ¤Ï¡¢¤³¤Î¥³¡¼¥É¤¬Æ³Æþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÝ»ý¤·¤Þ¤¹¡£\f2version\-text\fP ¤Ë¤Ï¡¢ÆÃÊ̤ÊÆâÉô¹½Â¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-1 ¤Ä¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÊ£¿ô¤Î \f2@version\fP ¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¡¢\f2@version\fP ¥¿¥°¤´¤È¤Ë 1 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢¥¿¥°¤´¤È¤ËÊ£¿ô¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï¡¢Javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¡¢Ì¾Á°¤È̾Á°¤Î´Ö¤Ë¥³¥ó¥Þ (\f2,\fP) ¤È¥¹¥Ú¡¼¥¹¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¸å¼Ô¤Î¾ì¹ç¤Ï¡¢¥Æ¥¥¹¥ÈÁ´ÂΤ¬¡¢²òÀϤµ¤ì¤ë¤³¤È¤Ê¤¯¡¢À¸À®¥É¥¥å¥á¥ó¥È¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Þ¤Ç¤Ï¤Ê¤¯¡¢³Æ¸À¸ì¤ËÂбþ¤·¤¿Ì¾Á°¶èÀÚ¤êʸ»ú¤ò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢1 ¤Ä¤Î¥¿¥°¤ËÊ£¿ô¤Î̾Á°¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.nf
+\f3
+.fl
+ /**
+.fl
+ * The value of this constant is {@value}.
+.fl
+ */
+.fl
+ public static final String SCRIPT_START = "<script>"
+.fl
+
+.fl
+\fP
.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version
-¤Î
+
+.LP
+.LP
+任意の doc コメント内で引数 \f2package.class#field\fP ありで使用されている場合は、指定した定数の値が表示されます。
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * Evaluates the script starting with {@value #SCRIPT_START}.
+.fl
+ */
+.fl
+ public String evalScript(String script) {
+.fl
+ }
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+引数 \f2package.class#field\fP は、@see 引数と同一の形式になります。ただし、メンバーが静的フィールドになければならない点が異なります。
+.LP
+.LP
+これらの定数での値は、
.na
-\f2@version ¥¿¥°¤Î¥É¥¥å¥á¥ó¥È\fP¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS "¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê"
-°Ê²¼¤Ç¤Ï¡¢¥¿¥°¤ò»ÈÍѤǤ¤ë¾ì½ê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£@see¡¢@since¡¢@deprecated¡¢{@link}¡¢{@linkplain} ¤ª¤è¤Ó {@docroot} ¤Î¥¿¥°¤Ï¡¢¤¹¤Ù¤Æ¤Î doc ¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£
-.SS "³µÍץɥ¥å¥á¥ó¥È¥¿¥°"
-³µÍ×¥¿¥°¤Ï¡¢³µÍ×¥Ú¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È (Ä̾ï¤Ï \f3overview.html\f1
-¤È¤¤¤¦Ì¾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë) ¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤Û¤«¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤ÈƱÍͤˡ¢¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢ÀâÌÀ¤Î¤¢¤È¤Ç»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-Ãí:¥Ð¡¼¥¸¥ç¥ó 1.2 ¤Ç¤Ï¡¢³µÍץɥ¥å¥á¥ó¥ÈÆâ¤Î {\f3@link\f1} ¥¿¥°¤Ë
-¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥¥¹¥È¤ÏŬÀÚ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¤¬¡¢
-¥ê¥ó¥¯¤¬ÀßÄꤵ¤ì¤Þ¤»¤ó¡£
-¸½ºß¤Î¤È¤³¤í¡¢{\f2@docRoot\f1} ¥¿¥°¤Ï¡¢
-³µÍץɥ¥å¥á¥ó¥ÈÆâ¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-³µÍ×¥¿¥°
-@see
-@since
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-20
-
-.LP
-.SS "¥Ñ¥Ã¥±¡¼¥¸¥É¥¥å¥á¥ó¥È¥¿¥°"
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È (\f3package.html\f1 ¤Þ¤¿¤Ï \f2package\-info.java\fP ¤È¤¤¤¦
-̾Á°¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¸ºß) ¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤³¤³¤Ç»ÈÍѤǤ¤ë @serial ¥¿¥°¤Ï¡¢include ¤Þ¤¿¤Ï
-exclude °ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤À¤±¤Ç¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥Ñ¥Ã¥±¡¼¥¸¥¿¥°
-@see
-@since
-@serial
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-22
-
-.LP
-.SS "¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¥¯¥é¥¹¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥É¥¥å¥á¥ó¥È
-¥³¥á¥ó¥È¤Ç»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
-¤³¤³¤Ç»ÈÍѤǤ¤ë @serial ¥¿¥°¤Ï¡¢
-include ¤Þ¤¿¤Ï exclude °ú¿ô¤ò»ØÄꤷ¤¿¤â¤Î¤À¤±¤Ç¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¿¥°
-@see
-@since
-@deprecated
-@serial
-@author
-@version
-{@link}
-{@linkplain}
-{@docRoot}
-.TE
-
-.LP
-¼¡¤Ï¡¢¥¯¥é¥¹¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* A class representing a window on the screen.
-* For example:
-* <pre>
-* Window win = new Window(parent);
-* win.show();
-* </pre>
-*
-* @author Sami Shaio
-* @version 1.13, 06/08/06
-* @see java.awt.BaseWindow
-* @see java.awt.Button
-*/
-class Window extends BaseWindow {
-...
-}
+\f2定数フィールド値\fP @
.fi
-.ft 1
-.RE
-.SS "¥Õ¥£¡¼¥ë¥É¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤Ç
-»ÈÍѤǤ¤ë¥¿¥°¤Ç¤¹¡£
+http://java.sun.com/javase/6/docs/api/constant\-values.htmlページにも表示されます。
.LP
.LP
-.TS
-;
-cbp-1
-l .
-¥Õ¥£¡¼¥ë¥É¥¿¥°
-@see
-@since
-@deprecated
-@serial
-@serialField
-{@link}
-{@linkplain}
-{@docRoot}
-{@value}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-24
.LP
-¼¡¤Ï¡¢¥Õ¥£¡¼¥ë¥É¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-/**
-* The X-coordinate of the component.
-*
-* @see #getLocation()
-*/
-int x = 1263732;
-.fi
-.ft 1
.RE
-.SS "¥³¥ó¥¹¥È¥é¥¯¥¿¤ª¤è¤Ó¥á¥½¥Ã¥É¥É¥¥å¥á¥ó¥È¥¿¥°"
-¼¡¤Ë¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Çɽ¼¨¤Ç¤¤ë¥¿¥°¤ò¼¨¤·¤Þ¤¹¡£¤¿¤À¤·¡¢@return ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤Ïɽ¼¨¤Ç¤¤º¡¢{@inheritDoc} ¤Ï
-ɽ¼¨¤ËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£@serialData ¥¿¥°¤ÏÆÃÄê¤ÎľÎ󲽥᥽¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤Ç¤Î¤ß»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-.LP
-.TS
-;
-cbp-1
-l .
-¥á¥½¥Ã¥É¤ª¤è¤Ó¥³¥ó¥¹¥È¥é¥¯¥¿¥¿¥°
-@see
-@since
-@deprecated
-@param
-@return
-@throws and @exception
-@serialData
-{@link}
-{@linkplain}
-{@inheritDoc}
-{@docRoot}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-28
+.RS 3
+.TP 3
+@version\ version\-text
+\-version オプションが使われている場合、生成ドキュメントに [バージョン] 小見出しを追加して、指定された \f2version\-text\fP を書き込みます。このタグは、このコードが含まれるソフトウェアの現在のバージョン番号を保持するように意図されています。 これに対し、@since は、このコードが導入されたバージョン番号を保持します。\f2version\-text\fP には、特別な内部構造はありません。バージョンタグを使用できる場所を調べるには、「タグを使用できる場所」を参照してください。
+.RE
.LP
-¼¡¤Ï¥á¥½¥Ã¥É¤Î doc ¥³¥á¥ó¥È¤ÎÎã¤Ç¤¹¡£
+.RS 3
+
.LP
-.RS
-.ft 3
-.nf
-/**
-* Returns the character at the specified index. An index
-* ranges from <code>0</code> to <code>length() - 1</code>.
-*
-* @param index the index of the desired character.
-* @return the desired character.
-* @exception StringIndexOutOfRangeException
-* if the index is not in the range <code>0</code>
-* to <code>length()-1</code>.
-* @see java.lang.Character#charValue()
-*/
-public char charAt(int index) {
-...
-}
+.LP
+1 つのドキュメンテーションコメントに複数の \f2@version\fP タグを含めることができます。必要に応じて、\f2@version\fP タグごとに 1 つのバージョン番号を指定することも、タグごとに複数のバージョン番号を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要があるときは、1 つのタグに複数の名前を指定してください。
+.LP
+.LP
+詳細については、
+.na
+\f2@version タグのドキュメント\fP @
.fi
-.ft 1
-.RE
-.SH "¥ª¥×¥·¥ç¥ó"
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ½ÐÎϤò·èÄꤷ¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤Ç¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢
-¥Ç¥Õ¥©¥ë¥È¤Îɸ½à¥É¥Ã¥¯
-¥ì¥Ã¥È¤ò»È¤¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢Ç¤°Õ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤È¤È¤â¤Ë»ÈÍѤǤ¤ë¥³¥Þ¥ó¥É¹Ô
-¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×
-¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Öjavadoc ¤Î¥ª¥×¥·¥ç¥ó¡×¤ÇÀâÌÀ¤·¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢¤³
-¤Î¤Û¤«¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÄɲäΥ³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬Ä󶡤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë
-¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó¡×¤Ç
-ÀâÌÀ¤·¤Þ¤¹¡£¤É¤Î¥ª¥×¥·¥ç¥ó
-̾¤âÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç¤Ï
-Âçʸ»ú¤È¾®Ê¸»ú¤¬¶è
-Ê̤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@versionを参照してください。
.LP
-¥ª¥×¥·¥ç¥ó¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
+.RE
+.LP
+.SS
+タグを使用できる場所
+.LP
+ここでは、タグを使用できる場所について説明します。\f2@see\fP、\f2@since\fP、\f2@deprecated\fP、\f2{@link}\fP、\f2{@linkplain}\fP および \f2{@docroot}\fP のタグは、すべての doc コメントで使用できます。
+.RS 3
+
+.LP
+.SS
+概要のドキュメンテーションタグ
+.LP
+.LP
+概要タグは、概要ページのドキュメンテーションコメントで使用できるタグです。 このドキュメンテーションコメントは、通常 \f2overview.html\fP という名前ソースファイル内にあります。ほかのドキュメンテーションコメントの場合と同様に、これらのタグは、主説明のあとで使う必要があります。
+.LP
+.LP
+\f3注\fP \- バージョン 1.2 では、概要ドキュメント内の \f2{@link}\fP タグにバグがあります。テキストは正しく表示されますが、リンクが設定されません。現在のところ、\f2{@docRoot}\fP タグは、概要ドキュメント内では動作しません。
.LP
.RS 3
.LP
.LP
.TS
-center;
-li l li
-l li li
-li l li
-l li li
-li l l
-l l li
-li l li
-l l l
-l li l
-l l li
-li l l
-li l l
-l l l
-li l l
-li l l
-l l li
-li l l
-l l l
-l l l
-l li l
-l li l.
--1.1 -header -private
--author -help -protected
--bootclasspath -helpfile -public
--bottom -J -quiet
--breakiterator -keywords -serialwarn
--charset -link -source
--classpath -linkoffline -sourcepath
--d -linksource -splitindex
--docencoding -locale -stylesheetfile
--docfilessubdirs -nocomment -subpackages
--doclet -nodeprecated -tag
--docletpath -nodeprecatedlist -taglet
--doctitle -nohelp -tagletpath
--encoding -noindex -title
--exclude -nonavbar -use
--excludedocfilessubdir -noqualifier -verbose
--extdirs -nosince -version
--footer -notimestamp -windowtitle
--group -notree
- -overview
- -package
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3概要タグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2280 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3概要タグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-20
+
+.LP
+.RE
+.SS
+パッケージドキュメンテーションタグ
+.LP
+.LP
+パッケージタグは、パッケージのドキュメンテーションコメントで使用できるタグです。 このドキュメンテーションコメントは、\f2package.html\fP または \f2package\-info.java\fP という名前のソースファイル内にあります。ここで使用できる \f2@serial\fP タグは、\f2include\fP または \f2exclude\fP 引数を指定したものだけです。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@serial\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3パッケージタグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2316 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3パッケージタグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-22
+
+.LP
+.RE
+.SS
+クラスおよびインタフェースドキュメンテーションタグ
+.LP
+.LP
+次に、クラスまたはインタフェースのドキュメンテーションコメントで使用できるタグを示します。ここで使用できる \f2@serial\fP タグは、\f2include\fP または \f2exclude\fP 引数を指定したものだけです。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3クラスおよびインタフェースタグ\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@serial\fP
+.br
+\f2@author\fP
+.br
+\f2@version\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2356 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-26
+
+.LP
+.RE
+\f3次にクラスコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+/**
+.fl
+ * A class representing a window on the screen.
+.fl
+ * For example:
+.fl
+ * <pre>
+.fl
+ * Window win = new Window(parent);
+.fl
+ * win.show();
+.fl
+ * </pre>
+.fl
+ *
+.fl
+ * @author Sami Shaio
+.fl
+ * @version 1.13, 06/08/06
+.fl
+ * @see java.awt.BaseWindow
+.fl
+ * @see java.awt.Button
+.fl
+ */
+.fl
+class Window extends BaseWindow {
+.fl
+ ...
+.fl
+}
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.SS
+フィールドドキュメンテーションタグ
+.LP
+.LP
+次に、フィールドのドキュメンテーションコメントで使用できるタグを示します。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@serial\fP
+.br
+\f2@serialField\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@docRoot}\fP
+.br
+\f2{@value}\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3フィールドタグ\fP
+.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
+.35
+.nf
+.ll \n(34u
+.nr 38 1n
+.nr 79 0
+.nr 40 \n(79+(0*\n(38)
+.nr 80 +\n(40
+.nr TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2437 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
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3フィールドタグ\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-24
+
+.LP
+.RE
+\f3次にフィールドコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * The X\-coordinate of the component.
+.fl
+ *
+.fl
+ * @see #getLocation()
+.fl
+ */
+.fl
+ int x = 1263732;
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.SS
+コンストラクタおよびメソッドドキュメンテーションタグ
+.LP
+.LP
+次に、コンストラクタまたはメソッドのドキュメンテーションコメント内で表示できるタグを示します。 ただし、\f2@return\fP はコンストラクタでは表示できず、\f2{@inheritDoc}\fP は表示に制限があります。\f2@serialData\fP タグは特定の直列化メソッドの doc コメントでのみ使用できます。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3メソッドおよびコンストラクタタグ\fP
+.br
+.di
+.nr a| \n(dn
+.nr a- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di b+
+.35
+.ft \n(.f
+.ll \n(34u*1u/2u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f2@see\fP
+.br
+\f2@since\fP
+.br
+\f2@deprecated\fP
+.br
+\f2@param\fP
+.br
+\f2@return\fP
+.br
+\f2@throws\fP と \f2@exception\fP
+.br
+\f2@serialData\fP
+.br
+\f2{@link}\fP
+.br
+\f2{@linkplain}\fP
+.br
+\f2{@inheritDoc}\fP
+.br
+\f2{@docRoot}\fP
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(b-
+.if \n(80<\n(38 .nr 80 \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 TW \n(80
+.if t .if \n(TW>\n(.li .tm Table at line 2504 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.b+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-30
+
+.LP
+.RE
+\f3次にメソッドのドキュメンテーションコメントの例を示します。\fP
+.LP
+.nf
+\f3
+.fl
+ /**
+.fl
+ * Returns the character at the specified index. An index
+.fl
+ * ranges from <code>0</code> to <code>length() \- 1</code>.
+.fl
+ *
+.fl
+ * @param index the index of the desired character.
+.fl
+ * @return the desired character.
+.fl
+ * @exception StringIndexOutOfRangeException
+.fl
+ * if the index is not in the range <code>0</code>
+.fl
+ * to <code>length()\-1</code>.
+.fl
+ * @see java.lang.Character#charValue()
+.fl
+ */
+.fl
+ public char charAt(int index) {
+.fl
+ ...
+.fl
+ }
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.SH "オプション"
+.LP
+.LP
+javadoc ツールは、ドックレットを使って出力を決定します。Javadoc ツールは、\-doclet オプションでカスタムドックレットが指定されている場合以外は、デフォルトの標準ドックレットを使います。Javadoc ツールには、任意のドックレットとともに使用できるコマンド行オプションがあります。 これらのオプションについては、このあとの「Javadoc オプション」で説明します。標準ドックレットでは、このほかに、いくつかの追加のコマンド行オプションが提供されます。 これらのオプションについては、そのあとの「標準ドックレットが提供するオプション」で説明します。どのオプション名も、大文字と小文字が区別されません。 ただし、オプションの引数では、大文字と小文字が区別されます。
+.LP
+.LP
+オプションを次に示します。
+.LP
+.RS 3
+
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/4u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\-\f21.1\fP
+.br
+\-author
+.br
+\-\f2bootclasspath\fP
+.br
+\-bottom
+.br
+\-\f2breakiterator\fP
+.br
+\-charset
+.br
+\-\f2classpath\fP
+.br
+\-d
+.br
+\-docencoding
+.br
+\-docfilessubdirs
+.br
+\-\f2doclet\fP
+.br
+\-\f2docletpath\fP
+.br
+\-doctitle
+.br
+\-\f2encoding\fP
+.br
+\-\f2exclude\fP
+.br
+\-excludedocfilessubdir
+.br
+\-\f2extdirs\fP
+.br
+\-footer
+.br
+\-group
+.br
+.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/4u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\-header
+.br
+\-\f2help\fP
+.br
+\-helpfile
+.br
+\-\f2J\fP
+.br
+\-keywords
+.br
+\-link
+.br
+\-linkoffline
+.br
+\-linksource
+.br
+\-\f2locale\fP
+.br
+\-nocomment
+.br
+\-nodeprecated
+.br
+\-nodeprecatedlist
+.br
+\-nohelp
+.br
+\-noindex
+.br
+\-nonavbar
+.br
+\-noqualifier
+.br
+\-nosince
+.br
+\-notimestamp
+.br
+\-notree
+.br
+\-\f2overview\fP
+.br
+\-\f2package\fP
+.br
+.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/4u
+.if \n(.l<\n(82 .ll \n(82u
+.in 0
+\-\f2private\fP
+.br
+\-\f2protected\fP
+.br
+\-\f2public\fP
+.br
+\-\f2quiet\fP
+.br
+\-serialwarn
+.br
+\-\f2source\fP
+.br
+\-\f2sourcepath\fP
+.br
+\-splitindex
+.br
+\-stylesheetfile
+.br
+\-\f2subpackages\fP
+.br
+\-tag
+.br
+\-taglet
+.br
+\-tagletpath
+.br
+\-title
+.br
+\-use
+.br
+\-\f2verbose\fP
+.br
+\-version
+.br
+\-windowtitle
+.br
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.80
+.rm 80
+.nr 38 \n(a-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.81
+.rm 81
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 82 0
+.82
+.rm 82
+.nr 38 \n(c-
+.if \n(82<\n(38 .nr 82 \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 TW \n(82
+.if t .if \n(TW>\n(.li .tm Table at line 2681 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
+.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)
+.ta \n(80u \n(81u \n(82u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-123
.LP
.RE
.LP
-\f2²¼ÀþÉÕ¤\fP¤Ç¼¨¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢Javadoc ¤Î´ðËÜ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Ç»ÈÍѤǤ¤Þ¤¹¡£É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¼«ÂΤϡ¢²¼ÀþÉÕ¤¤Ç¤Ê¤¤¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Þ¤¹¡£
+\f2イタリック\fPで示されたオプションは、Javadoc の基本オプションであり、Javadoc ツールのフロントエンドによって提供され、すべてのドックレットで使用できます。標準ドックレット自体は、イタリックでないオプションを提供します。
.LP
-.SS "Javadoc ¤Î¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-overview " path/filename"
-.B javadoc
-¤ËÂФ·¤Æ¡¢
-.I path/filename
-¤Ç»ØÄꤵ¤ì¤¿¡Ö¥½¡¼¥¹¡×¥Õ¥¡¥¤¥ë¤«¤é
-³µÍץɥ¥å¥á¥ó¥ÈÍѤΥƥ¥¹¥È
-¤ò¼èÆÀ¤·¡¢³µÍ×¥Ú¡¼¥¸ (\f3overview-summary.html\f1) ¤ËÇÛÃÖ¤¹¤ë¤³¤È¤ò
-»Ø¼¨¤·¤Þ¤¹¡£
-.I path/filename
-¤Ï¡¢
-.BR \-sourcepath
-¤Ø¤ÎÁêÂХѥ¹¤Ç¤¹¡£
+.SS
+Javadoc オプション
.LP
-.RS
-.I filename
-¤È
-.IR path
-¤Ë¤Ï¡¢¤½¤ì¤¾¤ìǤ°Õ¤Î̾Á°¤È¾ì½ê¤ò»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢Ä̾ï¤Ï¡¢
-.B overview.html
-¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤Æ¡¢¥½¡¼¥¹¥Ä¥ê¡¼Æâ¤ÎºÇ¾å°Ì¤Î
-¥Ñ¥Ã¥±¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê
-¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤³¤Î¾ì½ê¤Ç¤Ï¡¢
-.B \-sourcepath
-¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤ò»Ø¤¹¤Î¤Ç¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò
-¥É¥¥å¥á¥ó¥È²½¤¹¤ëºÝ¤Ë path ¤¬É¬Íפ¢¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢java.lang ¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤¬
-.BR /src/classes/java/lang/
-¤Î¾ì¹ç¡¢³µÍ×¥Õ¥¡¥¤¥ë¤ò
-.BR /src/classes/overview.html
-¤ËÇÛÃ֤Ǥ¤Þ¤¹¡£¡Ö»ÈÍÑÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+.RS 3
+.TP 3
+\-overview \ path/filename
+Javadoc に対して、\f2path/filename\fP で指定された「ソース」ファイルから概要ドキュメント用のテキストを取得し、そのテキストを概要ページ (\f2overview\-summary.html\fP) に配置するように指定します。\f2path/filename\fP は、\f2\-sourcepath\fP への相対パスです。
.LP
-.IR path/filename
-¤Ç»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¡Ö³µÍ×¥³¥á¥ó¥È¥Õ¥¡¥¤¥ë¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2filename\fP と \f2path\fP には、それぞれ任意の名前と場所を指定できますが、通常は、\f2overview.html\fP という名前を付けて、ソースツリー内の最上位のパッケージディレクトリがあるディレクトリに配置します。この場所に配置すると、\f2\-sourcepath\fP によってこのファイルが指し示されるので、パッケージをドキュメント化する際に \f2path\fP が不要になります。たとえば、\f2java.lang\fP パッケージのソースツリーが \f2/src/classes/java/lang/\fP の場合、概要ファイルを \f2/src/classes/overview.html\fP に配置できます。「使用例」を参照してください。
.LP
-³µÍ×¥Ú¡¼¥¸¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢
-.B javadoc
-¤Ë 2 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÅϤ·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£
-¾ÜºÙ¤Ï¡¢¡ÖHTML ¥Õ¥ì¡¼¥à¡×
-Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2path/filename\fP で指定するファイルについては、「概要コメントファイル」を参照してください。
.LP
-³µÍ×¥Ú¡¼¥¸¤Î¥¿¥¤¥È¥ë¤Ï¡¢
-.B \-doctitle
-¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B \-public
-public ¤Ê¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-protected
-protected ¤ª¤è¤Ó public ¤Ê¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤¹¡£
-.TP
-.B \-package
-¥Ñ¥Ã¥±¡¼¥¸¡¢¤ª¤è¤Ó protected ¤È public ¤Ê
-¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-private
-¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B \-help
-¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹¡£
-.B javadoc
-¤È¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP
-.BI \-doclet " class"
-¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦
-¥É¥Ã¥¯¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-´°Á´»ØÄê¤Î̾Á°¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-¥É¥Ã¥¯¥ì¥Ã¥È¤Ç¤Ï¡¢½ÐÎϤÎÆâÍƤȷÁ¼°¤òÄêµÁ¤·¤Þ¤¹¡£
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¤Ïɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤ò»È¤Ã¤Æ¥Ç¥Õ¥©¥ë¥È¤Î HTML ·Á¼°¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¹¤Ë¤Ï¡¢
-start(Root) ¥á¥½¥Ã¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Îµ¯Æ°¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤Ï¡¢
-.B \-docletpath
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£
+概要ページが作成されるのは、Javadoc に複数のパッケージ名を渡した場合だけです。詳細は、「HTML フレーム」を参照してください。
.LP
-¤¿¤È¤¨¤Ð¡¢MIF ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+概要ページのタイトルは、\f2\-doctitle\fP によって設定されます。
.LP
-.RS
-.ft 3
+.TP 3
+\-public
+public クラスおよびメンバーだけを表示します。
+.LP
+.TP 3
+\-protected
+protected および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。
+.LP
+.TP 3
+\-package
+package、protected、および public のクラスとメンバーだけを表示します。
+.LP
+.TP 3
+\-private
+すべてのクラスとメンバーを表示します。
+.LP
+.TP 3
+\-help
+オンラインヘルプを表示します。 Javadoc とドックレットのコマンド行オプションが一覧表示されます。
+.LP
+.TP 3
+\-doclet\ class
+ドキュメントの生成に使うドックレットを起動するためのクラスファイルを指定します。完全指定の名前を指定してください。このドックレットにより、出力の内容と形式が定義されます。\f4\-doclet\fP オプションが使われていない場合、Javadoc は、標準ドックレットを使ってデフォルトの HTML 形式を生成します。このクラスには、\f2start(Root)\fP メソッドが含まれていなければなりません。この起動クラスへのパスは、\f2\-docletpath\fP オプションによって定義されます。
+.LP
+たとえば、MIF ドックレットを呼び出すには、次のように指定します。
.nf
- -doclet com.sun.tools.doclets.mif.MIFDoclet
+\f3
+.fl
+ \-doclet com.sun.tools.doclets.mif.MIFDoclet
+.fl
+\fP
.fi
-.ft 1
.LP
-ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
-¤Î
+特定のドックレットを実行した完全な例については、
.na
-¡Ö\f2Running the MIF Doclet\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
-.TP
-.BI \-docletpath " classpathlist"
-.B \-doclet
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥É¥Ã¥¯¥ì¥Ã¥È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢
-¤ª¤è¤Ó¤½¤ì¤Ë°Í¸¤¹¤ë jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-µ¯Æ°¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬ jar ¥Õ¥¡¥¤¥ëÆâ¤Ë¤¢¤ë¾ì¹ç¡¢
-Îã¤Ë½¾¤Ã¤Æ¡¢¤½¤Î jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-ÀäÂХѥ¹¡¢¤Þ¤¿¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.IR classpathlist
-¤Ë¤Ï¡¢Ê£¿ô¤Î¥Ñ¥¹¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ë
-¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢³Æ¥Ñ¥¹¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë¤ò Solaris ¤Ç¤Ï¥³¥í¥ó (\f3:\f1)¤Ç¡¢Windows ¤Ç¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-ÌÜŪ¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤Î³«»Ï¥¯¥é¥¹¤¬¤¹¤Ç¤Ë¸¡º÷¥Ñ¥¹Æâ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפǤ¹¡£
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
.LP
-¼¡¤ÎÎã¤Î jar ¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤Ë¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Î
-³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-jar ¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-docletpath\ classpathlist
+\f2\-doclet\fP オプションで指定されているドックレット開始クラスファイル、およびそれが依存するすべての jar ファイルへのパスを指定します。開始クラスファイルが jar ファイル内にある場合、以下の例のように jar ファイルのパスが指定されます。絶対パスまたは現在のディレクトリからの相対パスを指定できます。\f2classpathlist\fP には、複数のパスまたは JAR ファイルを含めることができます。 その場合、各パスまたは JAR ファイルを、Solaris の場合にはコロン (:)、Windows の場合にはセミコロン (;) で区切ります。目的のドックレット開始クラスがすでに検索パス内にある場合は、このオプションは不要です。
+.LP
+jar ファイルへのパスの例には、ドックレット開始クラスファイルが含まれています。jar ファイル名が含まれている点に注目してください。
.nf
\f3
.fl
@@ -2858,8 +4232,7 @@
.fl
\fP
.fi
-¼¡¤Ï¥É¥Ã¥¯¥ì¥Ã¥È¤Î³«»Ï¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ÎÎã¤Ç¤¹¡£
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë̾¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ドックレット開始クラスファイルのパスの例。クラスファイル名が省略されている点に注目してください。
.nf
\f3
.fl
@@ -2867,516 +4240,438 @@
.fl
\fP
.fi
-ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
-¤Î
+特定のドックレットを実行した完全な例については、
.na
-¡Ö\f2Running the MIF Doclet\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.RE
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
.LP
-.TP
-.B \-1.1
-¤³¤Îµ¡Ç½¤Ï¡¢javadoc 1.4 ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ÂåÂؤε¡Ç½¤Ï
-¸ºß¤·¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢javadoc 1.1 ¤ÇÀ¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤Î³°´Ñ¤Èµ¡Ç½ (¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡¢Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥¯¥é¥¹¤ò
-´Þ¤à) ¤òÈ÷¤¨¤¿¥É¥¥å¥á¥ó¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤·¤¿¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¢¤ì¤Ð¡¢Âå¤ï
-¤ê¤Ë javadoc 1.2 ¤Þ¤¿¤Ï 1.3 ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+.TP 3
+\-1.1
+\f2この機能は、Javadoc 1.4 では削除されました。代替機能はありません。このオプションは、Javadoc 1.1 によって生成されるのと同じ外見と機能を持つドキュメントを作成するためのものでした。 入れ子のクラスはサポートされていません。このオプションが必要な場合は、Javadoc 1.2 または 1.3 を使用してください。\fP
+.LP
.TP 3
\-source release
-¼õ¤±ÉÕ¤±¤ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£\f2release\fP ¤Ë¤Ï¼¡¤ÎÃͤò»ØÄê¤Ç¤¤Þ¤¹¡£
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
.LP
.TS
-;
-l l.
-1.5 T{
-Javadoc ¤Ï¡¢JDK 1.5 ¤ÇƳÆþ¤µ¤ì¤¿Áí¾Îµ¡Ç½¤ª¤è¤Ó¾¤Î¸À¸ìµ¡Ç½¤ò´Þ¤ó¤À¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£-source ¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ 1.5 ¤ÎÆ°ºî¤ò¤·¤Þ¤¹¡£
-T}
-1.4 T{
-Javadoc ¤Ï¡¢JDK 1.4 ¤ÇƳÆþ¤µ¤ì¤¿¡¢¥¢¥µ¡¼¥·¥ç¥ó¤ò´Þ¤à¥³¡¼¥É¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£
-T}
-1.3 T{
-Javadoc ¤Ï¡¢JDK 1.3 °Ê¹ß¤ËƳÆþ¤µ¤ì¤¿¥¢¥µ¡¼¥·¥ç¥ó¡¢Áí¾Îµ¡Ç½¡¢¤Þ¤¿¤Ï¾¤Î¸À¸ìµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.5 で導入された総称および他の言語機能を含んだコードを受け付けます。\f3\-source\fP フラグを指定しないと、コンパイラはデフォルトとして 1.5 の動作をします。
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Javadoc は、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 31 0
+.nr 32 0
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.5\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.4\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w\f31
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w.3\fP
+.if \n(32<\n(38 .nr 32 \n(38
+.80
+.rm 80
+.nr 60 \n(31
+.nr 38 \n(60+\n(32
+.if \n(38>\n(80 .nr 80 \n(38
+.if \n(38<\n(80 .nr 60 +(\n(80-\n(38)/2
+.nr 81 0
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \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 60 +\n(40
+.nr 41 \n(80+(3*\n(38)
+.nr 81 +\n(41
+.nr TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 2791 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
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.5\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.4\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(60u \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f31.3\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-14
.LP
-javac ¤Ç¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¤Ë»ÈÍѤ·¤¿ÃͤËÂбþ¤¹¤ë \f2release\fP ¤ÎÃͤò»ÈÍѤ·¤Þ¤¹¡£
+javac でコードをコンパイルするときに使用した値に対応する \f2release\fP の値を使用します。
.LP
-.TP
-.BI \-sourcepath " sourcepathlist"
-.B javadoc
-¥³¥Þ¥ó¥É¤Ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï \-subpackages
-¤òÅϤ¹ºÝ¤Ë¡¢
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë (.java) ¸¡º÷ÍѤΥѥ¹¤ò»ØÄꤷ¤Þ¤¹¡£
-.BI sourcepathlist
-¤Ë¤Ï¡¢¥³¥í¥ó (\f3:\f1)
-¤Ç¶èÀڤä¿Ê£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤À¤±¤Ç¤Ê¤¯¡¢
-¤½¤ì¼«ÂΤϥɥ¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢¥É¥¥å¥á¥ó¥È²½
-¤µ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é·Ñ¾µ¤µ¤ì¤¿¥³¥á¥ó¥È¤ò¤â¤Ä
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤â³Îǧ¤Ç¤¤Þ¤¹¡£
+.TP 3
+\-sourcepath\ sourcepathlist
+\f2javadoc\fP コマンドにパッケージ名または \f2\-subpackages\fP を渡すときに、ソースファイル (\f2.java\fP) を検索するためのパスを指定します。\f2sourcepathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパス以下のすべてのサブディレクトリを検索します。このオプションを使って、ドキュメント化されるソースファイルの位置だけでなく、それ自体はドキュメント化されないがドキュメント化されるソースファイルから継承されたコメントを持つソースファイルの位置も確認できます。
.LP
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.B javadoc
-¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤹ¤ë¤È¤¤Ë¤À¤±»ÈÍѤǤ¡¢
-.B javadoc
-¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë
-.B .java
-¥Õ¥¡¥¤¥ë¤Ï¸¡º÷¤Ç¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.B .java
-¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢
-¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤¹¤ë¤«¡¢
-³Æ¥Õ¥¡¥¤¥ë¤ÎÁ°¤Ë¤½¤Î¥Ñ¥¹¤òÉÕ¤±¤Þ¤¹ (¡Ö1 ¤Ä°Ê¾å
-¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½¡×¤ò»²¾È)¡£
-.B \-sourcepath
-¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¢
-.B javadoc
-¤Ï¥¯¥é¥¹¥Ñ¥¹¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹ (
-.B \-classpath
-¤ò»²¾È)¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢
-.B \-sourcepath
-¤Î¥Ç¥Õ¥©¥ë¥È¤Ï
-.B \-classpath
-¤ÎÃͤǤ¹¡£
-.B -classpath
-¤ò¾Êά¤·¤Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò
-.BR javadoc
-¤ËÅϤ·¤¿¾ì¹ç¡¢
-.BR javadoc
-¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê (¤ª¤è¤Ó¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê) ¤ò
-¸¡º÷¤·¤Þ¤¹¡£
+\f2\-sourcepath\fP オプションは、javadoc コマンドにパッケージ名を渡すときにだけ使用できます。 \f2javadoc\fP コマンドに渡される \f2.java\fP ファイルは、このパスからは検索されません。\f2.java\fP ファイルを検索するには、そのファイルのあるディレクトリに cd によって移動するか、または各ファイルの先頭にパスを含めます (「1 つ以上のクラスのドキュメント化」を参照)。\f2\-sourcepath\fP が省略された場合、Javadoc は、クラスパスを使ってソースファイルを検索します (\-classpath を参照)。したがって、デフォルトの \-sourcepath は、クラスパスの値です。\-classpath も省略してパッケージ名を Javadoc に渡すと、Javadoc は現在のディレクトリおよびそのサブディレクトリからソースファイルを検索します。
.LP
-.RS
-.I sourcepathlist
-¤Ç¤Ï¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î
-¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò
-ÀßÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¼¡¤Î
-¾ì½ê¤Ë¤¢¤ë
-.B com.mypackage
-¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤È¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+\f2sourcepathlist\fP には、ドキュメント化するパッケージ名のソースツリーのルートディレクトリを設定します。たとえば、\f2com.mypackage\fP というパッケージをドキュメント化する場合に、そのソースファイルが次の場所にあるとします。
.nf
-/home/user/src/com/mypackage/*.java
+\f3
+.fl
+ /home/user/src/com/mypackage/*.java
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥½¡¼¥¹¥Ñ¥¹¤ò
-.BR /home/user/src
-¡¢¤Ä¤Þ¤ê
-.BR com.mypackage
-¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ØÄꤷ¡¢¤½¤ì¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾
-.BR com.mypackage
-¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+この場合、次のようにして \f2sourcepath\fP を \f2/home/user/src\fP、つまり \f2com/mypackage\fP を含むディレクトリに指定し、それからパッケージ名 \f2com.mypackage\fP を指定します。
.nf
-% javadoc \-sourcepath /home/user/src/ com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-¤³¤ì¤Ï¡¢¥½¡¼¥¹¥Ñ¥¹¤ÎÃͤȥѥ屡¼¥¸Ì¾¤ò¤Ä¤Ê¤²¤Æ¡¢
-¥É¥Ã¥È¤ò¥¹¥é¥Ã¥·¥å (/) ¤ËÊѤ¨¤ë¤È¡¢°Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥Õ¥ë¥Ñ¥¹
-¤Ë¤Ê¤ë¤³¤È¤ËÃíÌܤ¹¤ë¤È³Ð¤¨¤ä¤¹¤¤¤Ç¤·¤ç¤¦¡£
+この方法は、ソースパスの値とパッケージ名を連結して、ドットを (円記号) 「\\」に変えると、パッケージのフルパス (C:\\user\\src\\com\\mypackage) になることを理解すると簡単です。\f2/home/user/src/com/mypackage\fP.
.LP
-.RS
-.ft 3
-.BR /home/user/src/com/mypackage
-.RE
-.LP
-2 ¤Ä¤Î¥½¡¼¥¹¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+2 つのソースパスを設定するには、次のようにします。
.nf
-% javadoc \-sourcepath /home/user/src/:/home/user2/src com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-.RE
-.TP
-.BI \-classpath " classpathlist"
-.B javadoc
-¤¬»²¾È¤µ¤ì¤ë¥¯¥é¥¹¤Î¸¡º÷¤ò¹Ô¤¦¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-»²¾È¤µ¤ì¤ë¥¯¥é¥¹ (\f3.class\f1) ¤È¤Ï¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¤è¤Ã¤Æ
-»²¾È¤µ¤ì¤ëǤ°Õ¤Î¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç
-¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
-.I classpathlist
-¤Ë¤Ï¡¢¥Ñ¥¹´Ö¤ò¥³¥í¥ó (\f3:\f1) ¤Ç¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò
-´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î
-¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£
-.IR classpathlist
-¤Î»ØÄê
-¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¯¥é¥¹¥Ñ¥¹¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
-.RS
-.B \-sourcepath
-¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë (²¼°Ì¸ß´¹ÍÑ) ¤È¤È¤â¤Ë¡¢
-.B \-classpath
-¤ò»È¤Ã¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢
-°Û¤Ê¤ë¥Ñ¥¹Æâ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì¹ç¤Ï¡¢
-.B \-sourcepath
-¤È
-.BR \-classpath
-¤ÎξÊý¤ò»È¤¤¤Þ¤¹¡£
+.TP 3
+\-classpath\ classpathlist
+Javadoc が参照クラス (\f2.class\fP ファイル) を検索するパスを指定します。 参照クラスとは、ドキュメント化されるクラスとそれらのクラスによって参照されるすべてのクラスのことです。\f2classpathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパスの以下すべてのサブディレクトリを検索します。\f2classpathlist\fP を指定するときは、
+.na
+\f2クラスパス\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#generalのドキュメントにある指示に従ってください。
.LP
-¤¿¤È¤¨¤Ð¡¢
-.BR com.mypackage
-¤ò¥É¥¥å¥á¥ó¥È²½¤·¤¿¤¤¾ì¹ç¤Ë¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥¯¥é¥¹¤¬¥Ç¥£¥ì¥¯¥È¥ê
-.BR /home/user/src/com/mypackage
-¤Ë¤¢¤ê¡¢¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬
-.BR /home/user/lib
-Æâ¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤¦¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+\f2\-sourcepath\fP が省略されている場合、Javadoc ツールは、\f2\-classpath\fP を使って、クラスファイルだけでなくソースファイルも検索します (下位互換性のため)。したがって、ソースファイルとクラスファイルを別々のパスから検索する必要がある場合は、\f2\-sourcepath\fP と \f2\-classpath\fP の両方を使います。
.LP
-.RS
-.ft 3
+たとえば、\f2com.mypackage\fP をドキュメント化する場合に、ソースファイルがディレクトリ \f2/home/user/src/com/mypackage\fP にあり、このパッケージが \f2/home/user/lib\fP 内のライブラリを使うのであれば、次のように指定します。
.nf
-% javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
+ほかのツールと同様に、\f2\-classpath\fP が指定されていない場合は、CLASSPATH 環境変数が設定されていれば、Javadoc ツールはこの環境変数を使います。どちらも設定されていない場合、Javadoc ツールは現在のディレクトリからクラスを検索します。
.LP
-¤Û¤«¤Î¥Ä¡¼¥ë¤ÈƱÍͤˡ¢
-.BR \-classpath
-¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢CLASSPATH ´Ä¶ÊÑ¿ô¤¬
-ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î´Ä¶ÊÑ¿ô¤ò»È¤¤¤Þ¤¹¡£
-¤É¤Á¤é¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
-¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£
+Javadoc ツールは拡張機能クラスおよびブートストラップクラスに関連しているため、Javadoc ツールが \f2\-classpath\fP を使用してユーザークラスを検索する方法についての詳細は、
+.na
+\f2「クラスの検索方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlをご覧ください。
.LP
-.B javadoc
-¥Ä¡¼¥ë¤¬³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤ª¤è¤Ó¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ÈÄÌ¿®¤¹¤ëºÝ¤Ë¡¢
-.B -classpath
-¤ò»È¤Ã¤Æ¥æ¡¼¥¶¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î
-¾ÜºÙ¤Ï¡¢¡Ö¥¯¥é¥¹¤Î¸¡º÷ÊýË¡¡×¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
.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 ¥×¥í¥°¥é¥à¤¬Ç§¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+たとえば、ディレクトリ \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
.TP 3
\-subpackages\ \ package1:package2:...
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËºÆµ¢Åª¤Ë¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤ëºÝ¤ËÊØÍø¤Ç¤¹¡£¿·¤·¤¤¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ï¼«Æ°Åª¤ËÁȤ߹þ¤Þ¤ì¤Þ¤¹¡£³Æ package °ú¿ô¤Ï¡¢Ç¤°Õ¤ÎºÇ¾å°Ì¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (java ¤Ê¤É) ¤Þ¤¿¤Ï´°Á´»ØÄê¤Î¥Ñ¥Ã¥±¡¼¥¸ (javax.swing ¤Ê¤É) ¤Ë¤Ê¤ê¤Þ¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£°ú¿ô¤Ï¡¢¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤Þ¤¹ (¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à)¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤ÏÉÔÍפǤ¹ (»ÈÍÑÉÔ²Ä)¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷¾ì½ê¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢\-sourcepath ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¡Ö¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î½èÍý¡×¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¢¤ë¤¬¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï°¤·¤Æ¤¤¤Ê¤¤¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¤Î¤ÇÌòΩ¤Á¤Þ¤¹¡£
+ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。このオプションは、ソースコードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。各 \f2package\fP 引数は、任意の最上位サブパッケージ (\f2java\fP など) または完全指定のパッケージ (\f2javax.swing\fP など) になります。ソースファイルを含める必要はありません。引数は、コロンで区切られます (すべてのオペレーティングシステム)。ワイルドカードは不要です (使用不可)。パッケージの検索場所を指定するには、\f2\-sourcepath\fP を使用します。このオプションは、「ソースファイルの処理」で説明したとおり、ソースツリーにあるがパッケージには属していないソースファイルを処理しないので役立ちます。
.LP
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP
.fl
.fi
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¡Öjava¡×¤ª¤è¤Ó¡Öjavax.swing¡×¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¤³¤ì¤é¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸Á´Éô¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
+このコマンドは、「java」および「javax.swing」という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。
.LP
-\f2\-exclude\fP ¤È¤È¤â¤Ë \f2\-subpackages\fP ¤ò»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò½ü³°¤Ç¤¤Þ¤¹¡£
+\f2\-exclude\fP とともに \f2\-subpackages\fP を使用すると、特定のパッケージを除外できます。
.LP
.TP 3
\-exclude\ \ packagename1:packagename2:...
-»ØÄꤵ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤È¤½¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤ò \f2\-subpackages\fP ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥ê¥¹¥È¤«¤é̵¾ò·ï¤Ë½ü³°¤·¤Þ¤¹¡£²áµî¤Î \f2\-subpackages\fP ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤Ã¤ÆÁȤ߹þ¤Þ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¡¢¤Þ¤¿¤Ï¾ÍèÁȤ߹þ¤Þ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤â½ü³°¤ÎÂоݤȤʤê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+指定されたパッケージとそのサブパッケージを \f2\-subpackages\fP によって作成されたリストから無条件に除外します。過去の \f2\-subpackages\fP オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP
.fl
.fi
-¤³¤Î¤¦¤Á¡¢\f2java.io\fP¡¢\f2java.util\fP¡¢\f2java.math\fP ¤ÏÁȤ߹þ¤Þ¤ì¤Þ¤¹¤¬¡¢\f2java.net\fP ¤È \f2java.lang\fP °Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢\f2java.lang\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Ç¤¢¤ë \f2java.lang.ref\fP ¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.BI \-bootclasspath " classpathlist"
-¥Ö¡¼¥È¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ö¡¼¥È¥¯¥é¥¹¤È¤Ï¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¯¥é¥¹¤Î¤³¤È¤Ç¤¹¡£
-.B bootclasspath
-¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë
-»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢
-¡ÖJavac ¤È Javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡¡× ¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.I classpathlist
-Æâ¤ÎÊ£¿ô¤Î
-¥¯¥é¥¹¥Ñ¥¹¥ê¥¹¥È¤Ï¡¢¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.TP
-.BI \-extdirs " dirlist"
-³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-³ÈÄ¥µ¡Ç½¥¯¥é¥¹¤Ï¡¢Java ³ÈÄ¥µ¡Ç½
-µ¡¹½¤ò»È¤¦¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤Ç¤¹¡£³ÈÄ¥µ¡Ç½¥Ç¥£¥ì¥¯¥È¥ê (
-.B extdirs
-) ¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë»È¤¦¸¡º÷¥Ñ¥¹¤Î°ìÉô¤Ç¤¹¡£
-¾ÜºÙ¤Ï¡¢¾å¤Î
-.B \-classpath
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.I dirlist
-Æâ¤ÎÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
-¥³¥í¥ó (:) ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-.TP
-.B \-verbose
-.B javadoc
-¤Î¼Â¹ÔÃæ¤Ë¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£¾éĹ¥ª¥×¥·¥ç¥ó¤ò
-»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥í¡¼¥É»þ¡¢¥É¥¥å¥á¥ó¥È¤Î
-À¸À®»þ (¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë 1 ¤Ä¤Î¥á¥Ã¥»¡¼¥¸)¡¢¤ª¤è¤Ó¥½¡¼¥È»þ¤Ë
-¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¾éĹ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢
-³Æ java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î²òÀϤËÍפ·¤¿¥ß¥êÉÿô¤Ê¤É¤Î
-Äɲåá¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.BI \-quiet
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸°Ê³°¡¢¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸°Ê³°¤Î
-¥á¥Ã¥»¡¼¥¸¤ò½ü³°¤·¡¢
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤À¤±¤ò
-ɽ¼¨¤·¤Æ¸«¤Ä¤±¤ä¤¹¤¯¤·¤Þ¤¹¡£
-¤Þ¤¿¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎó¤Îɽ¼¨¤âÍÞÀ©¤·¤Þ¤¹¡£
+このうち、\f2java.io\fP、\f2java.util\fP、\f2java.math\fP は組み込まれますが、\f2java.net\fP と \f2java.lang\fP 以下のパッケージは除外されます。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。
+.LP
+.TP 3
+\-bootclasspath\ classpathlist
+ブートクラスが存在するパスを指定します。ブートクラスとは、通常、Java プラットフォームのコアクラスのことです。ブートクラスパスは、Javadoc ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。詳細は、
+.na
+\f2「javac と javadoc がクラスを検索する方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfilesを参照してください。\f2classpathlist\fP 内の複数のディレクトリは、コロン (:) で区切ります。
+.LP
+.TP 3
+\-extdirs\ dirlist
+拡張機能クラスが存在するディレクトリを指定します。拡張機能クラスとは、Java 拡張機能機構を使うすべてのクラスです。extdirs は、Javadoc ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。詳細は、前述の \f2\-classpath\fP を参照してください。\f2dirlist\fP 内の複数のディレクトリは、コロン (:) で区切ります。
+.LP
+.TP 3
+\-verbose
+javadoc の実行中に詳細なメッセージを表示します。verbose オプションを指定しないと、ソースファイルのロード時、ドキュメントの生成時 (ソースファイルごとに 1 つのメッセージ)、およびソート時にメッセージが表示されます。verbose オプションを指定すると、各 Java ソースファイルの解析に要した時間 (ミリ秒単位) など、追加のメッセージが表示されます。
+.LP
+.TP 3
+\-quiet
+エラーメッセージまたは警告メッセージ以外のメッセージを抑制し、警告とエラーだけが表示されるようにして、これらを特定しやすくします。バージョン文字列も抑制します。
.LP
.TP 3
\-breakiterator\
-±Ñ¸ì¸À¸ì¤È¤¤¤¦¥í¥±¡¼¥ë¸ÇͤΥ¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢\f2java.text.BreakIterator\fP ¤Î¹ñºÝ²½¤µ¤ì¤¿Ê¸¶³¦¤ò»ÈÍѤ·¤Æ¡¢±Ñʸ¤ÎºÇ½é¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ·¤Þ¤¹ (¾¤Î¤¹¤Ù¤Æ¤Î¥í¥±¡¼¥ë¤Ï¤¹¤Ç¤Ë \f2BreakIterator\fP ¤ò»ÈÍÑ)¡£¡Ö\f2ºÇ½é¤Îʸ\fP¡×¤È¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤Î¼çÀâÌÀ¤Ç¤ÎºÇ½é¤Îʸ¤Î¤³¤È¤Ç¤¹¡£¤³¤Îʸ¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥á¥ó¥Ð¤ÎÍ×Ìó¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
+英語言語というロケール固有のアルゴリズムではなく、
+.na
+\f2java.text.BreakIterator\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html の国際化された文境界を使用して、英文の最初の文の終わりを判断します (他のすべてのロケールはすでに \f2BreakIterator\fP を使用)。\f2「最初の文」\fPとは、パッケージ、クラス、またはメンバーの主説明での最初の文のことです。この文は、パッケージ、クラス、またはメンバーの要約にコピーされ、アルファベット順のインデックスにコピーされます。
.LP
-JDK 1.2 °Ê¹ß¡¢BreakIterator ¥¯¥é¥¹¤Ï¡¢±Ñ¸ì¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¸À¸ì¤Îʸ¤Î½ª¤ï¤ê¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢1.2 °Ê¹ß¤Ç¤Ï¡¢\f2\-breakiterator\fP ¥ª¥×¥·¥ç¥ó¤Ï±Ñʸ°Ê³°¤Ë¤Ï¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£±Ñʸ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆȼ«¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£
+JDK 1.2 以降、BreakIterator クラスは、英語を除くすべての言語の文の終わりを判断するために、すでに使用されています。したがって、1.2 以降では、\f2\-breakiterator\fP オプションは英文以外には効果がありません。英文には、次のような独自のデフォルトのアルゴリズムがあります。
.RS 3
.TP 2
o
-±Ñʸ¤Î¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- ¶õÇò¤Þ¤¿¤Ï HTML ¥Ö¥í¥Ã¥¯¥¿¥° (\f2<P>\fP ¤Ê¤É) ¤¬Â³¤¯¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë
+英文のデフォルトの文区切りアルゴリズム \- 空白または HTML ブロックタグ (\f2<P>\fP など) が続くピリオドで停止する
.TP 2
o
-breakiterator ʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à \- °ìÈ̤ˡ¢¼¡¤Î¸ì¤¬Âçʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤¬Â³¤¯¥Ô¥ê¥ª¥É¡¢µ¿ÌäÉä¡¢¤Þ¤¿¤Ï´¶Ã²Éä¤ÇÄä»ß¤¹¤ë¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î¾Êάɽµ¤¬½èÍý¤µ¤ì¤ë (¡ÖThe serial no. is valid¡×¤Ï½èÍý¤µ¤ì¤ë¤¬¡ÖMr. Smith¡×¤Ï½èÍý¤µ¤ì¤Ê¤¤)¡£HTML ¥¿¥°¤ä¡¢¿ô»ú¤Þ¤¿¤Ïµ¹æ¤Ç»Ï¤Þ¤ëʸ¤Ç¤ÏÄä»ß¤·¤Ê¤¤¡£HTML ¥¿¥°¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¡Ö../filename¡×¤ÎºÇ¸å¤Î¥Ô¥ê¥ª¥É¤ÇÄä»ß¤¹¤ë
+breakiterator 文区切りアルゴリズム \- 一般に、次の語が大文字で始まる場合、空白文字が続くピリオド、疑問符、または感嘆符で停止する。このアルゴリズムでは、ほとんどの省略表記が処理される (「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。HTML タグや、数字または記号で始まる文では停止しない。HTML タグに埋め込まれている場合でも、「../filename」の最後のピリオドで停止する
.RE
.RS 3
-.LP
-.LP
-Ãí: 1.5.0 ¤«¤é¤Ï¡¢1.4.x ¤ËÀߤ±¤é¤ì¤Æ¤¤¤¿ breakiterator ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Îʸ¶èÀڤꥢ¥ë¥´¥ê¥º¥à¤òÊѹ¹¤·¤Æ¤¤¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢\-breakiterator ¥ª¥×¥·¥ç¥ó¤Ï¡¢1.5.0 ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¯¤Ê¤ê¡¢¤Þ¤¿¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤Ä¤â¤ê¤â¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¡Ö¼¡¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡×(1.5.0) ¤Ç¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤È¤¤¤¦¡¢°ÊÁ°¤ÎÌÜŪ¤È¤ÏµÕ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤òÊѹ¹¤»¤º¡¢1.4.x ¤Ç¤Î breakiterator ·Ù¹ð¤ò½üµî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢1.5.0 ¤«¤é¤Ï²¿¤â¤¹¤ëɬÍפ¬¤Ê¤¯¡¢·Ù¹ð¤Ï¾ÃÌǤ·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎµÕÌá¤ê¤ÎÍýͳ¤Ï¡¢breakiterator ¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¥á¥ê¥Ã¥È¤è¤ê¤â¡¢¥Ç¥Õ¥©¥ë¥È¤Ë¤¹¤ë¤¿¤á¤ËɬÍפȤʤ롢¸ß´¹À¤Î¤Ê¤¤¥½¡¼¥¹¤ÎÊѹ¹¤ÎÊý¤¬Ééô¤¬Â礤«¤Ã¤¿¤¿¤á¤Ç¤¹¡£¤³¤ì¤ËÈñ¤ä¤·¤¿ºî¶È¤äº®Íð¤¬ÌµÂ̤ˤʤê»ÄÇ°¤Ç¤¹¡£
-.LP
-.TP
-.BI \-locale " language_country_variant"
-.B ½ÅÍ×:
-\-locale ¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¥É¥Ã¥¯¥ì¥Ã¥È¤ä¤½¤Î¾¤Î¥É¥Ã¥¯¥ì¥Ã¥È
-¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤è¤ê¤âÁ°¤Ë (º¸Â¦¤Ë)
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ï
-±Ñ¸ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£½ç½ø¤Ë°Í¸¤¹¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î¤ß¤Ç¤¹¡£
-.LP
-.RS
-.B javadoc
-¤¬¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¤È¤¤Ë»È¤¦¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-°ú¿ô¤Ë¤Ï¡¢java.util.Locale ¤Î¥É¥¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë
-¥í¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢en_US (±Ñ¸ì¡¢Êƹñ)¡¢en_US_WIN (Windows ¤Ç»È¤ï¤ì¤ë±Ñ¸ì) ¤Ê¤É¤ò
-»ØÄꤷ¤Þ¤¹¡£
-.LP
-¥í¥±¡¼¥ë¤ò»ØÄꤹ¤ë¤È¡¢
-.B javadoc
-¤Ï»ØÄꤵ¤ì¤¿¥í¥±¡¼¥ë¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÁªÂò¤·¤Æ
-¥á¥Ã¥»¡¼¥¸ (¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥ê¥¹¥È¤Èɽ¤Î¸«½Ð¤·¡¢
-¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ÎÌܼ¡¡¢
-.BR stylesheet.css
-¤Î¥³¥á¥ó¥È¤Ê¤É¤Îʸ»úÎó) ¤Ë
-»È¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¥ê¥¹¥È¤Î¥½¡¼¥È½ç¡¢
-¤ª¤è¤ÓºÇ½é¤Îʸ¤ÎËöÈø¤ò·èÄꤹ¤ëʸ¤Î¶èÀÚ¤êʸ»ú¤â¡¢
-»ØÄꤷ¤¿¥í¥±¡¼¥ë¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç
-»ØÄꤵ¤ì¤Æ¤¤¤ë doc ¥³¥á¥ó¥È¥Æ¥¥¹¥È¤Î
-¥í¥±¡¼¥ë¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.RE
-.TP
-.BI \-encoding " name"
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾ (EUCJIS/SJIS ¤Ê¤É) ¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î
-¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Ð¡¼¥¿¤¬»È¤ï¤ì¤Þ¤¹¡£
-.LP
-\-docencoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
-.BI \-J flag
-.BR javadoc
-¤ò¼Â¹Ô¤¹¤ë¼Â¹Ô¥·¥¹¥Æ¥à java ¤Ë flag ¤òľÀÜÅϤ·¤Þ¤¹¡£J ¤È flag ¤Î´Ö¤Ë
-¶õÇò¤òÆþ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢À¸À®¤µ¤ì¤ë
-¥É¥¥å¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¡¢¥·¥¹¥Æ¥à¤Ç 32M ¥Ð¥¤¥È¤ò
-³ÎÊݤ¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢Java ¤Î
-.B \-Xmx
-¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£\-Xms ¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£½é´ü¥á¥â¥ê¤Î¥µ¥¤¥º¤Î¤ß¤òÀßÄꤹ¤ë¤¿¤á¡¢É¬ÍפʺǾ®¥á¥â¥ê¤òÃΤäƤ¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc \-J\-Xmx32m \-J\-Xms32m com.mypackage
-.fi
-.ft 1
-.RE
-
.LP
-»ÈÍѤ·¤Æ¤¤¤ë javadoc ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë java ¤Î¡Ö-version¡×¥ª¥×¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+注: 1.5.0 からは、1.4.x に設けられていた breakiterator 警告メッセージを削除し、デフォルトの文区切りアルゴリズムを変更していません。つまり、\\\-breakiterator オプションは、1.5.0 ではデフォルトではなくなり、またデフォルトにするつもりもありません。これは、「次のメジャーリリース」(1.5.0) でデフォルトを変更するという、以前の目的とは逆になっています。つまり、ソースコードを変更せず、1.4.x での breakiterator 警告を除去していない場合でも、1.5.0 からは何もする必要がなく、警告は消滅しています。 この逆戻りの理由は、breakiterator をデフォルトにするメリットよりも、デフォルトにするために必要となる、互換性のないソースの変更の方が負担が大きかったためです。この件で皆様に余分の手間をおかけし、混乱を招いたことをお詫びいたします。
+.LP
+.RE
+.TP 3
+\-locale\ language_country_variant
+.RS 3
+.LP
+\f3重要\fP \- \f2\-locale\fP オプションは、標準ドックレットが提供するすべてのオプション、またはその他の任意のドックレットの提供するすべてのオプションより前 (左側) に指定する必要があります。そうしないと、ナビゲーションバーが英語で表示されます。このコマンド行オプションだけは、指定する順序に依存します。
+.LP
+.RE
+.LP
+Javadoc がドキュメントを生成するときに使うロケールを指定します。引数には、java.util.Locale のドキュメントで説明されているロケールの名前を指定します。たとえば、\f2en_US\fP (英語、米国)、\f2en_US_WIN\fP (Windows で使われる英語) などを指定します。
+.LP
+ロケールを指定すると、指定したロケールのリソースファイルが Javadoc によって選択されて、メッセージ (ナビゲーションバー、リストと表の見出し、ヘルプファイルの目次、stylesheet.css のコメントなどの文字列) のために使われます。また、アルファベット順にソートされるリストのソート順、および最初の文の末尾を判別するための文の区切り文字も、指定したロケールによって決まります。ただし、このオプションは、ドキュメント化されるクラスのソースファイル内で指定されているドキュメンテーションコメントのテキストのロケールを決定するものではありません。
+.LP
+.TP 3
+\-encoding\ name
+ソースファイルのエンコーディングの名前 (\f2EUCJIS/SJIS\fP など) を指定します。このオプションが指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。
+.LP
+\-docencoding および \-charset も参照してください。
+.LP
+.TP 3
+\-Jflag
+javadoc を実行する実行時システム java に、\f2flag\fP を直接渡します。\f2J\fP と \f2flag\fP の間に空白を入れてはなりません。たとえば、生成ドキュメントを処理するためにシステムで 32M バイトのメモリーを確保しておく必要がある場合は、Java の \f2\-Xmx\fP オプションを次のように呼び出します。 \f2\-Xms\fP は、省略可能です。 これは、初期メモリーのサイズを設定するだけのオプションで、必要なメモリーの最小サイズがわかっている場合に便利です。
.nf
-% javadoc -J-version
-java version "1.2"
-Classic VM (build JDK-1.2-V, green threads, sunwjit)
+\f3
+.fl
+ % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.LP
-(ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£)
-.SS "ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤¬Ä󶡤¹¤ë¥ª¥×¥·¥ç¥ó"
-.TP
-.BI \-d " directory"
-À¸À®¤µ¤ì¤¿ HTML ¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò
-»ØÄꤷ¤Þ¤¹ (d ¤Ï¡ÖÀ¸À®Àè (destination)¡×¤Î°ÕÌ£)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-¾Êά¤¹¤ë¤È¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
-ÃÍ
-.I directory
-¤Ë¤Ï¡¢ÀäÂХǥ£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï¸½ºß¤Îºî¶È
-¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-1.4 ¤Ç¤Ï¡¢javadoc ¤Î¼Â¹Ô»þ¤Ë
-¼«Æ°Åª¤ËÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.LP
-¤¿¤È¤¨¤Ð¡¢
-¼¡¤ÎÎã¤Ï¡¢com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¡¢
-·ë²Ì¤ò
-.B /home/user/doc/
-¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+使用している javadoc のバージョンを確認するには、次のように java の「\f2\-version\fP」オプションを呼び出します。
.nf
-% javadoc \-d /home/user/doc com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-J\-version\fP
+.fl
+ java version "1.2"
+.fl
+ Classic VM (build JDK\-1.2\-V, green threads, sunwjit)
+.fl
.fi
-.ft 1
+出力ストリームには標準ドックレットのバージョン番号が含まれます。
.RE
-.TP
-.B \-use
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤È¥Ñ¥Ã¥±¡¼¥¸¤´¤È¤Ë 1 ¤Ä¤Î [»ÈÍÑ] ¥Ú¡¼¥¸¤ò
-´Þ¤á¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥¯¥é¥¹¤Þ¤¿¤Ï
-¥Ñ¥Ã¥±¡¼¥¸¤Î API ¤ò»È¤Ã¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¡¢¥¯¥é¥¹¡¢¥á¥½¥Ã¥É¡¢
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤¬µ½Ò¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹
-C ¤ª¤è¤Ó¥¯¥é¥¹ C ¤ò»È¤¦¤â¤Î¤Ï¡¢C ¤Î¥µ¥Ö¥¯¥é¥¹¡¢C ¤È¤·¤Æ
-Àë¸À¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¡¢C ¤òÊÖ¤¹¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¡¢·¿ C ¤Î
-¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¥á¥½¥Ã¥É¤È¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¥Ú¡¼¥¸¤Ë´Þ¤Þ
-¤ì¤Þ¤¹¡£
+.SS
+標準ドックレットが提供するオプション
.LP
-.RS
-¤¿¤È¤¨¤Ð¡¢String ¤Ë¤Ä¤¤¤Æ¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Ë²¿¤¬É½¼¨¤µ¤ì¤ë¤«¤ò
-¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£
-.B java.awt.Font
-¥¯¥é¥¹¤Î
-.B getName()
-¥á¥½¥Ã¥É¤Ï¡¢String ·¿¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢
-.B getName()
-¤Ï String ¤ò»È¤¦¤Î¤Ç¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Î String ¤Ç
-¤³¤Î¥á¥½¥Ã¥É¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+.RS 3
+.TP 3
+\-d\ directory
+生成された HTML ファイルを保存する生成先ディレクトリを指定します(「d」は「生成先 (destination)」の意味)。このオプションを省略すると、生成されたファイルは現在のディレクトリに保存されます。値 \f2directory\fP には、絶対ディレクトリ、または現在の作業ディレクトリからの相対ディレクトリを指定できます。バージョン 1.4 では、javadoc を実行すると生成先ディレクトリが自動的に作成されます。
.LP
-¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï API ¤Î»ÈÍѤÀ¤±¤¬¥É¥¥å¥á¥ó¥È²½¤µ¤ì¡¢¼ÂÁõ¤Ï¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Þ¤»¤ó¡£
-¤¢¤ë¥á¥½¥Ã¥É¤¬¼ÂÁõÆâ¤Ë String ¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¢°ú¿ô¤È¤·¤Æ
-ʸ»úÎó¤ò¤È¤Ã¤¿¤ê¡¢Ê¸»úÎó¤òÊÖ¤·¤¿¤ê¤·¤Ê¤¤
-¾ì¹ç¤Ï¡¢String ¤Î¡Ö»ÈÍѡפȤϤߤʤµ¤ì¤Þ¤»¤ó¡£
-.LP
-À¸À®¤µ¤ì¤¿ [»ÈÍÑ] ¥Ú¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ÌÜŪ¤Î¥¯¥é¥¹¤Þ¤¿¤Ï
-¥Ñ¥Ã¥±¡¼¥¸¤òɽ¼¨¤·¤Æ¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [»ÈÍÑ] ¥ê¥ó¥¯¤ò
-¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
-.RE
-.TP
-.B \-version
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë
-.B @version
-¥Æ¥¥¹¥È¤ò´Þ¤á¤Þ¤¹¡£¤³¤Î¥Æ¥¥¹¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡£
-»ÈÍѤ·¤Æ¤¤¤ë javadoc ¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-.B \-J\-version
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP
-.B \-author
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤Ë
-.B @author
-¥Æ¥¥¹¥È¤ò´Þ¤á¤Þ¤¹¡£
-.TP
-.B \-splitindex
-º÷°ú¥Õ¥¡¥¤¥ë¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤´¤È¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¡¢
-ʸ»ú¤´¤È¤Ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È°Ê³°¤Îʸ»ú¤Ç»Ï¤Þ¤ë
-º÷°ú¥¨¥ó¥È¥êÍѤΥե¡¥¤¥ë¤ò 1 ¤ÄºîÀ®¤·¤Þ¤¹¡£
-.TP
-.BI \-windowtitle " title"
-HTML ¤Î
-.B <title>
-¥¿¥°¤Ç»È¤¦¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤¿¥¿¥¤¥È¥ë¤Ï¡¢
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤È¡¢³ºÅö¤¹¤ë¥Ú¡¼¥¸¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤¿¥Ö¥é¥¦¥¶¤Î
-¥Ö¥Ã¥¯¥Þ¡¼¥¯ (¤è¤¯¥¢¥¯¥»¥¹¤¹¤ë¾ì½ê) ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¥¿¥¤¥È¥ë¤Ë¤Ï HTML ¥¿¥°¤ò´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥¿¥¤¥È¥ë¤Ë HTML ¥¿¥°¤¬
-´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Ë¤è¤ë¥¿¥°¤Î²ò¼á¤¬ÉÔŬÀڤˤʤë
-²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.I title
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò
-¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.B -windowtitle
-¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë -doctitle ¤ÎÃͤò»È¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+たとえば、次の例では、\f2com.mypackage\fP パッケージのドキュメントを生成し、結果を \f2/home/user/doc/\fP ディレクトリに保存します。
.nf
-% javadoc -windowtitle "Java 2 Platform" com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.TP
-.BI \-doctitle " title"
-³µÍ×¥Õ¥¡¥¤¥ë¤ÎºÇ¾åÉô¶á¤¯¤ËÇÛÃÖ¤¹¤ë¥¿¥¤¥È¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¿¥¤¥È¥ë¤ÏÃæ±û·¤¨¤µ¤ì¡¢¥ì¥Ù¥ë 1 ¤Î¸«½Ð¤·¤È¤·¤Æ¾åÉô
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¤¹¤°²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-.I title
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç°Ï
-¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I title
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.RS
-.ft 3
+.TP 3
+\-use
+ドキュメント化されるクラスおよびパッケージごとに 1 つの [使用] ページを組み込みます。このページには、その特定のクラスまたはパッケージの API を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドが記述されます。たとえば、クラス C を例にとると、クラス C を使っているものとしては、C のサブクラス、C として宣言されているフィールド、C を返すメソッド、および、型 C のパラメータを持つメソッドとコンストラクタがあります。
+.LP
+たとえば、String の [使用] ページに何が表示されるかを見てみましょう。\f2java.awt.Font\fP クラスの \f2getName()\fP メソッドは、\f2String\fP 型を返します。したがって、\f2getName()\fP は \f2String\fP を使っているので、\f2String\fP の [使用] ページにはこのメソッドがあります。
+.LP
+ただし、ドキュメント化されるのは API の使用だけであって、実装はドキュメント化されません。あるメソッドが、その実装の中で \f2String\fP を使っていても、引数として文字列をとったり、文字列を返したりしない場合は、\f2String\fP の「使用」とはみなされません。
+.LP
+生成された [使用] ページにアクセスするには、目的のクラスまたはパッケージに移動し、ナビゲーションバーの [使用] リンクをクリックします。
+.TP 3
+\-version
+生成ドキュメントに、@version のテキストを組み込みます。このテキストは、デフォルトでは省略されます。使用している Javadoc ツールのバージョンを確認するには、\f2\-J\-version\fP オプションを使用します。
+.LP
+.TP 3
+\-author
+生成ドキュメントに、@author のテキストを組み込みます。
+.LP
+.TP 3
+\-splitindex
+索引ファイルをアルファベットごとに複数のファイルに分割し、文字ごとに 1 つのファイルと、アルファベット以外の文字で始まる索引エントリ用に 1 つのファイルを作成します。
+.LP
+.TP 3
+\-windowtitle\ title
+HTML の <title> タグに配置するタイトルを指定します。指定したタイトルは、ウィンドウのタイトルや、このページに対して作成されたブラウザのブックマーク (お気に入り) に表示されます。このタイトルには HTML タグを含めないでください。 タイトルに HTML タグが含まれていると、ブラウザがタグを正しく解釈できません。\f2title\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。\-windowtitle が省略されている場合、Javadoc ツールは、このオプションの代わりに \-doctitle の値を使います。
.nf
-% javadoc -doctitle "Java<sup><font size=\"-2\">TM</font></sup>" com.mypackage
+\f3
+.fl
+ % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
-.TP
-.BI \-title " title"
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¸½ºß¤Ï¸ºß¤·¤Þ¤»¤ó¡£
-.B javadoc
-1.2 ¤Î¥Ù¡¼¥¿ÈǤˤÀ¤±Â¸ºß¤·¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ç¤Ï¤Ê¤¯¥É¥¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤òÄêµÁ¤¹¤ë¤³¤È¤ò
-ÌÀ³Î¤Ë¤¹¤ë¤¿¤á¡¢
-.BR \-doctitle
-¤Ë̾Á°¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£
-.TP
-.BI \-header " header"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¾åÉô¤ËÇÛÃÖ¤¹¤ë¥Ø¥Ã¥À¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Ø¥Ã¥À¤Ï¡¢
-¾åÉô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I header
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç
-°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£header ¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò
-¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-doctitle\ title
+概要ファイルの最上部の近くに配置するタイトルを指定します。タイトルは中央揃えになり、レベル 1 の見出しとして、上部ナビゲーションバーのすぐ下に置かれます。\f2title\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2title\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-doctitle "Java (TM)" com.mypackage\fP
+.fl
+.fi
+.TP 3
+\-title\ title
+\f3このオプションは、現在は存在しません。\fPJavadoc 1.2 のベータ版にだけ存在しました。このオプションは、\f2\-doctitle\fP という名前に変更されました。名前を変更した理由は、このオプションが、ウィンドウのタイトルではなくドキュメントのタイトルを定義することを明確にするためです。
+.LP
+.TP 3
+\-header\ header
+各出力ファイルの上端に配置するヘッダーテキストを指定します。ヘッダーは、上部ナビゲーションバーの右側に配置されます。\f2header\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2header\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.nf
\f3
.fl
@@ -3384,495 +4679,219 @@
.fl
.fi
.LP
-.TP
-.BI \-footer " footer"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Õ¥Ã¥¿¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£¥Õ¥Ã¥¿¤Ï¡¢
-²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î±¦Â¦¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I footer
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È
-¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç
-°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I footer
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-bottom " text"
-³Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎºÇ²¼Éô¤ËÇÛÃÖ¤¹¤ë¥Æ¥¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥Æ¥¥¹¥È¤Ï¡¢²¼Éô¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î²¼¤Î¥Ú¡¼¥¸¤ÎºÇ²¼Éô¤Ë
-ÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-.I text
-¤Ë¤Ï¡¢HTML ¥¿¥°¤È¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢
-¤³¤ì¤é¤ò´Þ¤á¤ë¾ì¹ç¤ÏÁ´ÂΤò°úÍÑÉä¤Ç°Ï¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.I text
-¤ÎÃæ¤Ç°úÍÑÉä¤ò»È¤¦¾ì¹ç¤Ï¡¢°úÍÑÉä¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-link " extdocURL"
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿´û¸¤Î
-³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£
-°ú¿ô¤Ï 1 ¤Ä¤Ç¤¹¡£
-.TP
-\(bu
-.I extdocURL
-¤Ï¡¢javadoc ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë
-³°Éô¥É¥¥å¥á¥ó¥È¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ ¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë package-list ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ
-¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢\-linkoffline ¤ò»ÈÍѤ·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï package-list ¥Õ¥¡¥¤¥ë¤«¤é¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆɤ߼è¤ê¡¢¤½¤ì¤ò
-.I extdocURL
-¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ javadoc ¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-.I extdocURL
-ÃͤϺîÀ®¤µ¤ì¤¿ <A HREF> ¥ê¥ó¥¯¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢
-.I extdocURL
-¤Ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢
-.I extdocURL
-¤Î URL ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-footer\ footer
+各出力ファイルの下端に配置するフッターテキストを指定します。フッターは、下部ナビゲーションバーの右側に配置されます。 \f2footer\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2footer\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.LP
-¥É¥¥å¥á¥ó¥È¤òǤ°Õ¤Î Web ¥µ¥¤¥È¾å¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤Ë¤Ï
-.I extdocURL
-¤ÎÀäÂÐ¥ê¥ó¥¯¤ò¡¢ÁêÂÐ¥í¥±¡¼¥·¥ç¥ó¤À¤±¤ò»ØÄꤹ¤ë¤Ë¤Ï
-ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\-d ¤Ç»ØÄê) ¤«¤é¤ÎÁêÂХѥ¹¤ò¡¢
-¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+.TP 3
+\-bottom\ text
+各出力ファイルの最下部に配置するテキストを指定します。このテキストは、下部ナビゲーションバーより下の、ページの最下部に配置されます。\f2text\fP には、HTML タグと空白を含めることができますが、これらを含める場合は、全体を引用符で囲まなければなりません。\f2text\fP の中で引用符を使う場合は、引用符をエスケープする必要があります。
.LP
-Ä̾ÀäÂÐ¥ê¥ó¥¯¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢http: ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤¿¤À¤·¡¢Web ¥µ¡¼¥Ð¤ò¤â¤¿¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë
-¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢file: ¥ê¥ó¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£
-¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ï¡¢À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë
-¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤¹¤ë
-¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¶¦Í¤·¤Æ¤¤¤ë
-¾ì¹ç°Ê³°¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+.TP 3
+\-link\ extdocURL
+javadoc により生成された既存の外部参照クラスのドキュメンテーションへのリンクを作成します。引数を 1 つとります。
.LP
-¤¹¤Ù¤Æ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢ÀäÂÐ URL ¤ÈÁêÂÐ URL¡¢¡Öhttp:¡×¥Ù¡¼¥¹¤È¡Öfile:¡×¥Ù¡¼¥¹¤Ë¤«¤«¤ï¤é¤º¡¢¥¹¥é¥Ã¥·¥å¤ò¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹
-.fi
-(http://www.ietf.org/rfc/rfc1738.txt
-¤Î
+.RS 3
+.TP 2
+o
+\f4extdocURL\fP は、リンク先として指定する、javadoc によって生成された外部ドキュメントを含むディレクトリの絶対 URL または相対 URL です。あとで例を示します。このディレクトリ内にパッケージリストファイルが存在していなければなりません。 存在しない場合は、\f2\-linkoffline\fP を使用します。Javadoc ツールは、\f2パッケージリスト\fPファイルからパッケージ名を読み取り、これらのパッケージをその URL にリンクします。Javadoc ツールを実行すると、作成される \f2<A HREF>\fP リンク内に \f2extdocURL\fP の値がそのままコピーされます。したがって、\f2extdocURL\fP はファイルへの URL ではなく「ディレクトリへの URL」でなければなりません。
+.LP
+\f2extdocURL\fP への絶対リンクを使用すると、ユーザーのドキュメントを任意の Web サイト上のドキュメントにリンクできます。 相対位置へリンクするだけでよい場合は相対リンクを使用できます。相対リンクを使用する場合、\f2\-d\fP を使って、生成先ディレクトリからリンクされるパッケージのあるディレクトリの相対パスを指定する必要があります。
+.LP
+通常、絶対リンクを指定する場合は、\f2http:\fPリンクを使用します。Web サーバーを持たないファイルシステムにリンクする場合は、\f2file:\fP リンクを使用できます。ただし、この方法は、すべてのユーザーが生成された同じファイルシステムを共有するドキュメントにアクセスする必要がある場合以外は使用しないでください。
+.LP
+いかなる場合にも、いかなるオペレーティングシステムでも、絶対 URL か相対 URL か、「http:」ベースか「file:」ベースかにかかわらず、スラッシュを区切り文字として使用します (
.na
-\f2URL Memo\fP ¤Ç»ØÄê)¡£
+\f2URL Memo\fP @
+.fi
+http://www.ietf.org/rfc/rfc1738.txt で指定)。
.RS 3
.TP 3
-http: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯:
+http:ベースの絶対リンク:
\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP
.TP 3
-file: ¥Ù¡¼¥¹¤ÎÀäÂÐ¥ê¥ó¥¯:
+file:ベースの絶対リンク:
\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP
.TP 3
-ÁêÂÐ¥ê¥ó¥¯:
+相対リンク:
\f2\-link <directory>/<directory>/.../<name>\fP
.RE
.RE
.LP
-javadoc ¼Â¹Ô»þ¤ËÊ£¿ô¤Î \-link ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢
-Ê£¿ô¤Î¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-\-linkoffline ¤Þ¤¿¤Ï \-link ¤ÎÁªÂò
-.LP
-\-link ¤ò»ÈÍѤ¹¤ë¾ì¹ç:
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂХѥ¹¤ò»ÈÍѤ·¤Æ¤¤¤ë
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ·¤Æ¤¤¤ë (¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢Æɤ߼è¤ê¤ò¹Ô¤¦¤³¤È¤¬
-¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)
-.LP
-\-linkoffline ¤ò»ÈÍѤ¹¤ë¾ì¹ç:
-.TP 3
-\(bu
-³°Éô API ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ URL ¤ò»ÈÍѤ·¤Æ¤¤¤ë
-(¥×¥í¥°¥é¥à¤¬¤½¤Î URL ¤ËÀܳ¤·¡¢Æɤ߼è¤ê¤ò¹Ô¤¦¤³¤È¤¬
-¥·¥§¥ë¤Ë¤è¤Ã¤Æµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢
-¥ê¥ó¥¯Àè¤Î¥É¥¥å¥á¥ó¥È¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î
-¸þ¤³¤¦Â¦¤Ë¤¢¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã -
-java.lang¡¢java.io¡¢¤ª¤è¤Ó¾¤Î Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸
-(\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) ¤Ë
-¥ê¥ó¥¯¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò»ý¤Ä
-com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î
-Object ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹
-(\-sourcepath ¤ä \-d ¤Ê¤É¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
-.LP
-.RS
-.ft 3
-.nf
-% \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
-.fi
-.ft 1
-.RE
-.LP
-³°Éô ¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã -
-.B javadoc
-¥Ä¡¼¥ë¤Î°Û¤Ê¤ë¼Â¹Ô¤ÇÀ¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤ò»ý¤Ä
-2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¡¢¤½¤ì¤é¤¬ÊÌ¡¹¤Î
-ÁêÂХѥ¹¤ò¤â¤Ã¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¡¢2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò
-com.apipackage (API)¡¢com.spipackage
-(SPI - Service Provide Interface) ¤È¤·¤Þ¤¹¡£ ¥É¥¥å¥á¥ó¥È¤ÎÃÖ¤¾ì½ê¤Ï docs/api/com/apipackage ¤ª¤è¤Ó
-docs/spi/com/spipackage ¤Ç¤¹¡£
-API ¥Ñ¥Ã¥±¡¼¥¸¥É¥¥å¥á¥ó¥È¤Ï¤¹¤Ç¤ËÀ¸À®¤µ¤ì¡¢¥É¥¥å¥á¥ó¥È¤¬¸½ºß¤Î
-¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
-API ¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤·¤¿ SPI ¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d ./spi \-link ../api com.spipackage
-.fi
-.ft 1
-.RE
-.LP
-\-link °ú¿ô¤¬À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁêÂХѥ¹ (docs/spi) ¤Ç
-¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¾ÜºÙ -
-\-link ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¥³¡¼¥É¤«¤é¤Ï»²¾È¤µ¤ì¤Æ¤¤¤Æ¤â¡¢
-Javadoc ¤Î¸½ºß¤Î¼Â¹Ô¤Ç¤Ï¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Ê¤¤¥¯¥é¥¹¤Ë¥ê¥ó¥¯
-¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥ê¥ó¥¯¤«¤é͸ú¤Ê¥Ú¡¼¥¸¤Ë
-°ÜÆ°¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î HTML ¥Ú¡¼¥¸¤¬
-¤¢¤ë¾ì½ê¤òÄ´¤Ù¡¢¤½¤Î¾ì½ê¤ò
-.I extdocURL
-¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤¿¤È¤¨¤Ð¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥É¥¥å¥á¥ó¥È¤«¤é¡¢
-http://java.sun.com ¤Ë¤¢¤ë java.* ¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-º£²ó¤Î¼Â¹Ô¤Ç
-.B javadoc
-¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥ÈÆâ¤Î
-API ¤À¤±¤òÂоݤ˥ê¥ó¥¯¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢
-\-link ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Þ¤¹¡£ \-link ¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢³°Éô»²¾È¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤ò
-ºîÀ®¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¥É¥¥å¥á¥ó¥È¤¬
-¸ºß¤¹¤ë¤«¤É¤¦¤«¡¢¤¢¤ë¤¤¤Ï¸ºß¤·¤Æ¤¤¤Æ¤â¤É¤³¤Ë
-¸ºß¤·¤Æ¤¤¤ë¤Î¤«¤òȽÊ̤Ǥ¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢À¸À®¥É¥¥å¥á¥ó¥ÈÆâ¤ÎÊ£¿ô¤Î¾ì½ê¤Ë
-¥ê¥ó¥¯¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-¤Þ¤¿¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢Ê£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸·²¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤¢¤ë°ì¼°¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Ê̤ΰ켰¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¡¢¤³¤ì¤é 2 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸·²¤Î´Ö¤Ë¥¯¥í¥¹¥ê¥ó¥¯¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-\f3¥¯¥é¥¹¤Î»²¾ÈÊýË¡\fP - ³°Éô»²¾È¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤ò¡¢¥Æ¥¥¹¥È¥é¥Ù¥ë¤À¤±¤Ç¤Ï¤Ê¤¯¼ÂºÝ¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¼¡¤ÎÊýË¡¤Ç¥¯¥é¥¹¤ò»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ÎËÜÂΤǥ¯¥é¥¹¤ò»²¾È¤¹¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\f2import\fP ʸ¤Þ¤¿¤ÏÀë¸À¤Ç»²¾È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¡¢¥¯¥é¥¹ \f2java.io.File\fP ¤ò»²¾È¤¹¤ëÊýË¡¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
+javadoc の実行時に複数の \f2\-link\fP オプションを指定して、複数のドキュメントへのリンクを作成することもできます。 \f3\-linkoffline または \-link の選択\fP
+.br
+\f2\-link\fP を使用する場合:
.RS 3
.TP 2
o
-¤¹¤Ù¤Æ¤Î¼ïÎà¤Î \f2import\fP ʸ¤Î¾ì¹ç: ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥È¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡¢¤Þ¤¿¤Ï \f2java.lang.*\fP ¤ËÂФ¹¤ë¼«Æ°Åª¤Ê¥¤¥ó¥Ý¡¼¥È¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤Ð½½Ê¬¤Ç¤¹¡£
+外部 API ドキュメントへの相対パスを使用する場合
+.TP 2
+o
+外部 API ドキュメントへの絶対 URL を使用する場合 (プログラムがその URL に接続し、読み取りを行うことがシェルによって許可されている場合)
+.RE
+次のような場合は、\f2\-linkoffline\fP オプションを使用します。
+.RS 3
+.TP 2
+o
+プログラムがその URL に接続し、読み取りを行うことがシェルによって許可されていない場合に外部 API ドキュメントへの絶対 URL を使用する場合。このような状況は、リンク先のドキュメントがファイアウォールの向こう側にある場合に発生します。
+.RE
+.LP
+\f3外部ドキュメントへの絶対リンクの使用例\fP \-
+.na
+\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/api 内の \f2java.lang\fP、\f2java.io\fP、その他の Java 2 プラットフォームパッケージにリンクしたい場合があります。 次のコマンドは、\f2com.mypackage\fP パッケージのドキュメントと Java 2 プラットフォームパッケージへのリンクを生成します。生成されたドキュメントには、たとえばクラスツリー内の \f2Object\fP クラスへのリンクが含まれています。\f2\-sourcepath\fP や \f2\-d\fP などの他のオプションは表示されません。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
+.fl
+.fi
+\f3外部ドキュメントへの相対リンクの使用例\fP \- 2 つのパッケージがあり、そのドキュメントが Javadoc ツールを複数回実行した結果生成されたものであるとします。 さらに、これらのドキュメントが相対パスで分割されているとします。この例の場合、2 つのパッケージは、API である \f2com.apipackage\fP とSPI (サービスプロバイダインタフェース) である \f2com.spipackage\fP です。ドキュメントの格納先は \f2docs/api/com/apipackage\fP パッケージと \f2docs/spi/com/spipackage\fP パッケージです。API パッケージのドキュメントがすでに生成されていて、現在のディレクトリが \f2docs\fP である場合、次のコマンドを実行することによって、この API ドキュメントへのリンクを持つ SPI パッケージをドキュメント化します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP
+.fl
+.fi
+.LP
+\f2\-link\fP 引数は、生成先ディレクトリ (\f2docs/spi\fP) の相対パスです。
+.LP
+\f3詳細\fP \- \f2\-link\fP オプションを使うと、「コードからは参照されていても、Javadoc の今回の実行ではドキュメント化されない」というクラスにリンクできるようになります。リンクから有効なページに移動できるようにするには、それらの HTML ページがある場所を調べ、その場所を \f2extdocURL\fP に指定する必要があります。このオプションを使うと、たとえば、サードパーティーのドキュメントから、\f2http://java.sun.com\fP にある \f2java.*\fP のドキュメントにリンクすることができます。
+.LP
+今回の実行で Javadoc によって生成されるドキュメント内の API だけを対象にリンクを作成する場合は、\f2\-link\fP オプションを省略します。\f2\-link\fP オプションが指定されていない場合、Javadoc ツールは、外部参照されたドキュメントへのリンクを作成しません。これは、そのドキュメントが存在するかどうか、および存在する場合はその場所を判別できないからです。
+.LP
+このオプションでは、生成ドキュメント内の複数の場所にリンクを作成できます。
+.LP
+また、このオプションを使うと、複数のパッケージ群の間にクロスリンクを作成することもできます。つまり、ある一式のパッケージに対して javadoc を実行したあと、別の一式のパッケージに対して javadoc を実行し、これら 2 つのパッケージ群の間にクロスリンクを作成できます。
+.LP
+\f3クラスの参照方法\fP \- 外部参照クラスへのリンクを、テキストラベルだけではなく実際に表示するには、次の方法でクラスを参照する必要があります。メソッドの本体でクラスを参照するだけでは十分ではありません。\f2import\fP 文または宣言で参照する必要があります。次に、クラス \f2java.io.File\fP を参照する方法の例を示します。
+.RS 3
+.TP 2
+o
+すべての種類の \f2import\fP 文の場合: ワイルドカードによるインポート、名前による明示的なインポート、または \f2java.lang.*\fP に対する自動的なインポート。たとえば、次のようにすれば十分です。
.br
\f2import java.io.*;\fP
.br
-1.3.x ¤ª¤è¤Ó 1.2.x ¤Ç¤Ï¡¢Ì¾Á°¤Ë¤è¤ëÌÀ¼¨Åª¤Ê¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥¤¥ó¥Ý¡¼¥Èʸ¤â¡¢¼«Æ°¥¤¥ó¥Ý¡¼¥È \f2java.lang.*\fP ¤â»ÈÍѤǤ¤Þ¤»¤ó¡£
+1.3.x および 1.2.x では、名前による明示的なインポートだけです。ワイルドカードによるインポート文も、自動インポート \f2java.lang.*\fP も使用できません。
.TP 2
o
-Àë¸À¤Î¾ì¹ç:
+宣言の場合:
.br
\f2void foo(File f) {}\fP
.br
-¤³¤Î»²¾È¤ò»ÈÍѤ·¡¢¥á¥½¥Ã¥É¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Õ¥£¡¼¥ë¥É¡¢¥¯¥é¥¹¡¢¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¿¡¼¥ó¥¿¥¤¥×¤Þ¤¿¤Ï¥Ñ¥é¥á¡¼¥¿¥¿¥¤¥×¤ËÃÖ¤¯¤«¡¢\f2implements\fP¡¢\f2extends\fP¡¢¤Þ¤¿¤Ï \f2throws\fP ʸ¤ËÃÖ¤¤Þ¤¹¡£
+この参照を使用し、メソッド、コンストラクタ、フィールド、クラス、またはインタフェースの戻り値の型またはパラメータの型に置くか、\f2implements\fP、\f2extends\fP、または \f2throws\fP 文に置きます。
.RE
.LP
-¤³¤Î·ë²Ì¡¢\f2\-link\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¤³¤ÎÀ©¸Â¤Î¤¿¤á¤Ë¸í¤Ã¤Æɽ¼¨¤µ¤ì¤Ê¤¤Â¿¤¯¤Î¥ê¥ó¥¯¤¬Â¿¿ôȯÀ¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¥Æ¥¥¹¥È¤Ï¥Ï¥¤¥Ñ¡¼¥Æ¥¥¹¥È¥ê¥ó¥¯¤¬ÉÕ¤±¤é¤ì¤º¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥ê¥ó¥¯¤¬É½¼¨¤¹¤ë·Ù¹ð¤«¤é¡¢¤³¤Î¥ê¥ó¥¯¤òǧ¼±¤Ç¤¤Þ¤¹¡£¥¯¥é¥¹¤òÀµ¤·¤¯»²¾È¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥ê¥ó¥¯¤òÄɲ乤뤿¤á¤Î¤â¤Ã¤È¤â°ÂÁ´¤ÊÊýË¡¤Ï¾å¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢Åö³º¤Î¥¯¥é¥¹¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ç¤¹¡£
+この結果、\f2\-link\fP オプションを使用しても、この制限のために誤って表示されない多くのリンクが多数発生する可能性があります。テキストはハイパーテキストリンクが付けられずに表示されます。これらのリンクが表示する警告から、このリンクを認識できます。クラスを正しく参照し、それによってリンクを追加するためのもっとも安全な方法は上で説明したとおり、当該のクラスをインポートすることです。
.LP
-.B ¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È:
-.B \-link
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢javadoc ¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë URL ¤Ë¸ºß¤·¤Æ¤¤¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.BR package-list
-¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¾ì½ê¤Ç¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î
-̾Á°¤Î¥ê¥¹¥È¤ò´Þ¤àñ½ã¤Ê¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-Á°¤ÎÎã¤Ç¤Ï¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë¤¢¤ë
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÆɤ߹þ¤ó¤Ç¡¢
-¤½¤Î URL ¤Ë¤¢¤ë¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤·¤¿¡£
+\f3パッケージリスト\fP \- \f2\-link\fP オプションは、\f2package\-list\fP という名前のファイルを要求します。 このファイルは、Javadoc ツールによって生成され、\f2\-link\fP によって指定した URL に存在します。\f2package\-list\fP ファイルは、その場所にあるドキュメント化されたパッケージの名前のリストが入った単純なテキストファイルです。前の例では、Javadoc ツールは指定された URL にある \f2package\-list\fP という名前のファイルを探し、パッケージ名を読み込んで、その URL にあるそれらのパッケージへのリンクを作成しました。
.LP
-¤¿¤È¤¨¤Ð¡¢Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à v5.0 API ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Ï°Ê²¼¤Ë¤¢¤ê¡¢
+たとえば、Java プラットフォーム v5.0 API のパッケージリストは
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP
-.RE
-.LP
-¼¡¤Î¤è¤¦¤ÊÆâÍƤǻϤޤäƤ¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-java.applet
-java.awt
-java.awt.color
-java.awt.datatransfer
-java.awt.dnd
-java.awt.event
-java.awt.font
-¤½¤Î¾ ...
+\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
.fi
-.ft 1
-.RE
-.LP
-.B \-link
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë³°Éô»²¾È
-¥¯¥é¥¹¤Ë°¤¹¤ë̾Á°¤ò
-¸«¤Ä¤±¤ë¤È¡¢
-.B javadoc
-¤Ï¤½¤Î̾Á°¤ò¥ê¥ó¥¯¤ò»ý¤¿¤Ê¤¤·Á¤Ç½ÐÎϤ·¤Þ¤¹¡£°ìÊý¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿
-.IR extdocURL
-¤Î¾ì½ê¤Ë¤¢¤ë
-.B package-list
-¥Õ¥¡¥¤¥ë¤«¤é¡¢³ºÅö¤¹¤ë̾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤òõ¤·¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬
-¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤Î
-.IR extdocURL
-¤ò̾Á°¤ÎÁ°¤ËÉÕ¤±¤Þ¤¹¡£
-.LP
-¤¹¤Ù¤Æ¤Î¥ê¥ó¥¯¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³°Éô»²¾È¤Î
-¥É¥¥å¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤¬¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë
-¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢
-.B package-list
-¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤À¤±¤Ç¡¢»ØÄꤵ¤ì¤¿ URL ¤Ë
-ÌÜŪ¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¡£
-.LP
-.B Ê£¿ô¤Î¥ê¥ó¥¯:
-Ê£¿ô¤Î
-.B \-link
-¥ª¥×¥·¥ç¥ó¤òÄ󶡤·¤Æ¡¢³°Éô¤ÇÀ¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤ËǤ°Õ¿ô¤Î¥ê¥ó¥¯¤òÀßÄê¤Ç¤¤Þ¤¹¡£Javadoc 1.2 ¤Ë¤Ï¡¢Ê£¿ô¤Î
-.B -link
-¥³¥Þ¥ó¥É¤òÄ󶡤Ǥ¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ð¥°¤Ï¡¢
-1.2.2 ¤Ç½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£
-.LP
-¥ê¥ó¥¯¤¹¤ë³°Éô¥É¥¥å¥á¥ó¥È¤´¤È¤ËÊ̤Υê¥ó¥¯¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+http://java.sun.com/j2se/1.5.0/docs/api/package\-list にあり、次のような内容で始まっています。
.nf
-% javadoc \-link extdocURL1 \-link extdocURL2 ... \-link extdocURLn com.mypackage
+\f3
+.fl
+ java.applet
+.fl
+ java.awt
+.fl
+ java.awt.color
+.fl
+ java.awt.datatransfer
+.fl
+ java.awt.dnd
+.fl
+ java.awt.event
+.fl
+ java.awt.font
+.fl
+ その他 ...
+.fl
+\fP
.fi
-.ft 1
+.LP
+\f2\-link\fP オプションを指定せずに javadoc を実行した場合、外部参照クラスに属する名前を見つけると、javadoc はその名前をリンクを持たない形で出力します。一方、\f2\-link\fP オプションを指定した場合は、指定した \f2extdocURL\fP にある \f2package\-list\fP ファイルから該当するパッケージ名が検索されます。パッケージ名が見つかると、\f2extdocURL\fP が名前の前に付加されます。
+.LP
+すべてのリンクが正しく機能するためには、外部参照のすべてのドキュメントが、指定した URL に存在していなければなりません。Javadoc ツールは、指定された package\-list が存在するかどうかを調べるだけで、指定された URL に目的のページが存在するかどうかはチェックしません。
+.LP
+\f3複数のリンク\fP \- 複数の \f2\-link\fP オプションを指定すると、生成された任意の数の外部ドキュメントに対してリンクを設定できます。Javadoc 1.2 には、複数の \f2\-link\fP オプションを指定できないというバグがあります。これは 1.2.2 で修正されました。
+.LP
+リンクする外部ドキュメントごとに、次のように別々のリンクオプションを指定します。
+.LP
+\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2...\fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP
+.LP
+\f2extdocURL1\fP、\f2extdocURL2\fP、... \f2extdocURLn\fP は、それぞれ外部ドキュメントのルートを指し、各ルートには \f2package\-list\fP という名前のファイルが入っています。
+.LP
+\f3クロスリンク\fP \- まだ生成されていない 2 つ以上のドキュメントをクロスリンクする場合は、「ブートストラップ」が必要になります。つまり、どのドキュメントについても \f2package\-list\fP が存在していない場合は、最初のドキュメントに対して javadoc ツールを実行する時点で、2 番目のドキュメントの \f2package\-list\fP がまだ存在していません。したがって、外部リンクを作成するには、2 番目のドキュメントを生成したあとで、最初のドキュメントを生成し直す必要があります。
+.LP
+この場合、最初のドキュメント生成の目的は、そのドキュメントの \f2package\-list\fP を作成することです。 パッケージ名をすべて把握している場合は、package\-list を手動で作成することもできます。次に、2 番目のドキュメントとその外部リンクを生成します。必要な外部の \f2package\-list\fP ファイルが存在しない場合、Javadoc ツールは警告を表示します。
+.LP
+.TP 3
+\-linkoffline\ extdocURL\ packagelistLoc
+このオプションは、\f2\-link\fP オプションを変えたものです。 どちらも、javadoc によって生成された外部参照クラスのドキュメントへのリンクを作成します。Javadoc ツール自体がオフラインになっているとき (Web 接続を使ってドキュメントにアクセスできないとき)、Web 上のドキュメントにリンクするには、\f2\-linkoffline\fP オプションを使用します。
+.LP
+厳密には、外部ドキュメントの \f2package\-list\fP ファイルにアクセスできないとき、またはこのファイルが \f2extdocURL\fP で指定された場所とは異なる場所 (通常、\f2packageListLoc\fP で指定可能なローカルな場所) に存在するとき、\f2\-linkoffline\fP を使用します。したがって、\f2extdocURL\fP に WWW 上でしかアクセスできない場合は、\f2\-linkoffline\fP を指定することにより、ドキュメントの生成時に javadoc ツールが Web に接続できなければならないという制約がなくなります。
+.LP
+さらに、ドキュメントを更新するための「ハッキング」としての使用も可能です。パッケージのセット全体に対して javadoc を実行したあと、変更した一部のパッケージだけに対して javadoc を実行します。 こうして、更新されたファイルを、オリジナルのファイルセットに挿入できるようにします。例をあとで示します。
+.LP
+\f2\-linkoffline\fP オプションは引数を 2 つ取ります。 最初の引数は \f2<a href>\fP リンクに組み込まれる文字列を指定する引数、2 番目の引数は \f2package\-list\fP の検索場所を指定する引数です。
+.RS 3
+.TP 2
+o
+\f4extdocURL\fP は、リンク先として指定する、javadoc によって生成された外部ドキュメントを含むディレクトリの絶対 URL または相対 URL です。相対リンクを使用する場合、\f2\-d\fP を使って、生成先ディレクトリからリンクされるパッケージのルートの相対パスを指定する必要があります。詳細は、\f2\-link\fP オプションの \f2extdocURL\fP を参照してください。
+.TP 2
+o
+\f4packagelistLoc\fP には、外部ドキュメントの \f2package\-list\fP ファイルが入っているディレクトリのパスまたは URL を指定します。これは、URL (http: または file:)or file:)とファイルパスのどちらでもかまいません。また、絶対パスと相対パスのどちらでも指定できます。相対パスの場合は、javadoc が実行されるカレントディレクトリからの相対パスとして指定します。\f2package\-list\fP というファイル名は含めないでください。
.RE
.LP
-.BR extdocURL1¡¢
-.BR extdocURL2¡¢...
-.BR extdocURLn
-¤Ï¡¢¤½¤ì¤¾¤ì³°Éô¥É¥¥å¥á¥ó¥È¤Î
-¥ë¡¼¥È¤ò»Ø¤·¡¢³Æ¥ë¡¼¥È¤Ë¤Ï¡¢
-.BR package-list
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+javadoc の 1 回の実行で、複数の \f2\-linkoffline\fP オプションを指定できます。1.2.2 より前は、複数のオプションを指定することはできませんでした。
.LP
-¥¯¥í¥¹¥ê¥ó¥¯ - ¤Þ¤ÀÀ¸À®¤µ¤ì¤Æ¤¤¤Ê¤¤ 2 ¤Ä°Ê¾å¤Î¥É¥¥å¥á¥ó¥È¤ò
-¥¯¥í¥¹¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢¡Ö¥Ö¡¼¥È¥¹¥È¥é¥Ã¥Ô¥ó¥°¡×¤¬É¬Íפˤʤ뤳¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¸À¤¤´¹¤¨¤ë¤È¡¢¤É¤Î¥É¥¥å¥á¥ó¥È¤Î
-.B package-list
-¤â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ºÇ½é¤Î¥É¥¥å¥á¥ó¥È¤ËÂФ·¤Æ
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤¿»þÅÀ¤Ç¤Ï¡¢2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤Î
-.B package-list
-¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³°Éô¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢
-2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤ò
-À¸À®¤·¤¿¤¢¤È¡¢ºÇ½é¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·Ä¾¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¤³¤Î¾ì¹ç¡¢ºÇ½é¤Ë¹Ô¤¦¥É¥¥å¥á¥ó¥ÈÀ¸À®¤ÎÌÜŪ¤Ï¡¢
-.B package-list
-¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¤¹¤Ù¤ÆÇÄ°®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-.B package-list
-¤ò¼êÆ°¤ÇºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¼¡¤Ë¡¢2 ÈÖÌܤΥɥ¥å¥á¥ó¥È¤È
-¤½¤Î³°Éô¥ê¥ó¥¯¤òÀ¸À®¤·¤Þ¤¹¡£
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢É¬Íפʳ°Éô¤Î
-.B package-list
-¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢·Ù¹ð¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.BI \-linkoffline " extdocURL packagelistLoc"
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.BR \-link
-¥ª¥×¥·¥ç¥ó¤òÊѤ¨¤¿¤â¤Î¤Ç¤¹¡£¤É¤Á¤é¤â¡¢javadoc ¤Ç
-À¸À®¤µ¤ì¤¿³°Éô»²¾È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤·¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤¬¡Ö¥ª¥Õ¥é¥¤¥ó¡×¤Ç¡¢Web ¾å¤Î¥É¥¥å¥á¥ó¥È¤Ë
-¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ï¡¢Web Àܳ·Ðͳ¤Ç¤Ï¥É¥¥å¥á¥ó¥È¤Ë
-¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤¿¤á¡¢
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¸·Ì©¤Ë¤Ï¡¢³°Éô¥É¥¥å¥á¥ó¥È¤Î \f2package\-list\fP ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤È¤¡¢¤Þ¤¿¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤¬ \f2extdocURL\fP ¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤È¤Ï°Û¤Ê¤ë¾ì½ê (Ä̾\f2packageListLoc\fP ¤Ç»ØÄê²Äǽ¤Ê¥í¡¼¥«¥ë¤Ê¾ì½ê) ¤Ë¸ºß¤¹¤ë¤È¤¡¢\f2\-linkoffline\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2extdocURL\fP ¤Ë WWW ¾å¤Ç¤·¤«¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¾ì¹ç¤Ï¡¢\f2\-linkoffline\fP ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®»þ¤Ë javadoc ¥Ä¡¼¥ë¤¬ Web ¤ËÀܳ¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦À©Ì󤬤ʤ¯¤Ê¤ê¤Þ¤¹¡£
-.LP
-¤µ¤é¤Ë¡¢¥É¥¥å¥á¥ó¥È¤ò¹¹¿·¤¹¤ë¤¿¤á¤Î¡Ö¥Ï¥Ã¥¥ó¥°¡×¤È¤·¤Æ¤Î»ÈÍѤâ²Äǽ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î¥»¥Ã¥ÈÁ´ÂΤËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤¿¤¢¤È¡¢Êѹ¹¤·¤¿°ìÉô¤Î¥Ñ¥Ã¥±¡¼¥¸¤À¤±¤ËÂФ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤¦¤·¤Æ¡¢¹¹¿·¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¥»¥Ã¥È¤ËÁÞÆþ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£Îã¤ò¤¢¤È¤Ç¼¨¤·¤Þ¤¹¡£
-.LP
-.BR \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Ë¤Ï 2 ¤Ä¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Ï
-<a href> ¥ê¥ó¥¯¤ËËä¤á¹þ¤àʸ»úÎ󡢤⤦ 1 ¤Ä¤Ï
-.BR package-list:
-¤Î¸¡º÷¾ì½ê¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu
-.I extdocURL
-¤Ï¡¢\f3javadoc\f1 ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥ê¥ó¥¯Àè¤È¤·¤Æ»ØÄꤹ¤ë
-³°Éô¥É¥¥å¥á¥ó¥È¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀäÂÐ
-URL ¤Þ¤¿¤ÏÁêÂÐ URL ¤Ç¤¹¡£ ÁêÂÐ¥ê¥ó¥¯¤Î¾ì¹ç¡¢
-À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\-d ¤Ç»ØÄê) ¤«¤é¤ÎÁêÂХѥ¹¤ò¡¢
-¥ê¥ó¥¯Àè¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¤ËÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢
-.B \-link
-¥ª¥×¥·¥ç¥ó¤Î
-.I extdocURL
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-.I packagelistLoc
-¤Ë¤Ï¡¢³°Éô¥É¥¥å¥á¥ó¥È¤Î
-.B package-list
-¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤Þ¤¿¤Ï
-URL ¤ò»ØÄꤷ¤Þ¤¹¡£ URL (http: ¤Þ¤¿¤Ï file:)
-¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¡¢ÀäÂХѥ¹¤ÈÁêÂХѥ¹¤Î¤É¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-ÁêÂХѥ¹¤Î¾ì¹ç¤Ï¡¢javadoc ¤¬¼Â¹Ô¤µ¤ì¤ë¸½ºß¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£
-.BR package-list
-¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤Ï´Þ¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-.LP
-.B javadoc
-¤Î 1 ²ó¤Î¼Â¹Ô¤Ç¡¢Ê£¿ô¤Î
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-1.2.2 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ê£¿ô¤Î¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
-.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÀäÂÐ¥ê¥ó¥¯¤ò»È¤Ã¤¿Îã -
-.BR java.lang
-¡¢
-.BR java.io
-¡¢¤ª¤è¤Ó¤½¤Î¾¤Î Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸ (\f2http://java.sun.com/j2se/1.5.0/docs/api\fP)
-¤Ë¥ê¥ó¥¯¤·¤¿¤¯¤Æ¤â¡¢Web ¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤
-¾ì¹ç¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
-.BR package-list
-¥Õ¥¡¥¤¥ë¤ò¥Ö¥é¥¦¥¶¤Ç³«¤ (\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP)¡¢
-¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢2 ÈÖÌܤΰú¿ô
-.I packagelistLoc
-¤Ç¤½¤Î¥í¡¼¥«¥ë¥³¥Ô¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¤È¤
-¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê
-¡Ö.¡×¤ËÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò´Þ¤à¡¢
-com.mypackage ¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð¥¯¥é¥¹¥Ä¥ê¡¼Æâ¤Î
-Object ¥¯¥é¥¹¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹
-(\-sourcepath ¤Ê¤É¤Î¾¤ÎɬÍפʥª¥×¥·¥ç¥ó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
-.LP
-.RS
-.ft 3
+\f3外部ドキュメントへの絶対リンクを使った例\fP \- \f2http://java.sun.com/j2se/1.5.0/docs/api\fP 内の \f2java.lang\fP、\f2java.io\fP、、およびその他の Java 2 プラットフォームパッケージにリンクしたくても、Web にアクセスできない 場合について考えてみます。この場合は、ブラウザで
+.na
+\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/api/package\-list にある \f2package\-list\fP ファイルを開き、ローカルディレクトリに保存します。 さらに、2 番目の引数 \f2packagelistLoc\fP にこのローカルコピーの場所を指定します。この例では、パッケージリストファイルはカレントディレクトリ "\f2.\fP" に保存されています。次のコマンドは、Java 2 プラットフォーム API へのリンクを含む、\f2com.mypackage\fP パッケージのドキュメントを生成します。生成されたドキュメントには、たとえばクラスツリー内の \f2Object\fP クラスへのリンクが含まれています。\f2\-sourcepath\fP などの他の必要なオプションは表示されません。
.nf
+\f3
+.fl
% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP
+.fl
.fi
-.ft 1
-.RE
.LP
-³°Éô¥É¥¥å¥á¥ó¥È¤Ø¤ÎÁêÂÐ¥ê¥ó¥¯¤ò»È¤Ã¤¿Îã -
-.B \-linkoffline
-¤òÁêÂХѥ¹¤Ç»ØÄꤹ¤ë¤Î¤Ï¤¢¤Þ¤ê°ìÈÌŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä̾ï¤Ï¡¢
-.B \-link
-¤Ç½½Ê¬¤À¤«¤é¤Ç¤¹¡£
-.B \-linkoffline
-¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-.BR package-list
-¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¥í¡¼¥«¥ë¤Ç¡¢ÁêÂÐ¥ê¥ó¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤â¥í¡¼¥«¥ë¤Ç¤¢¤ë¤Î¤¬ÉáÄ̤Ǥ¹¡£
-¤½¤Î¤¿¤á¡¢
-.B \-linkoffline
-¤Ë 2 ¤Ä¤Î°Û¤Ê¤ë°ú¿ô¤Î¥Ñ¥¹¤ò
-Í¿¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ 2 ¤Ä¤Î°ú¿ô¤¬Æ±¤¸¤Ç¤¢¤ë¾ì¹ç¡¢
-.B \-link
-¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.B \-link
-¤ÎÁêÂÐ¥ê¥ó¥¯¤Î»ÈÍÑÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f3外部ドキュメントへの相対リンクの使用例\fP \- 通常、\f2\-linkoffline\fP に相対パスを指定することはありません。 \f2\-link\fP で同じことができるからです。\f2\-linkoffline\fP を使用する際、\f2package\-list\fP には通常ローカルのファイルを指定します。 相対リンクを使用する際も、リンク先のファイルには通常ローカルのファイルを指定します。したがって、\f2\-linkoffline\fP の 2 つの引数に別々のパスを指定する必要はありません。2 つの引数が同一である場合は、\f2\-link\fP を使用できます。\f2\-link\fP の相対リンクの例を参照してください。
.LP
-package-list ¥Õ¥¡¥¤¥ë¤Î¼êÆ°ºîÀ® -
-.BR package-list
-¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Ê¤¯¤Æ¤â¡¢¥É¥¥å¥á¥ó¥È¤Î¥ê¥ó¥¯Àè¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤ò¼«Ê¬¤ÇºîÀ®¤·¡¢
-.I packagelistLoc
-¤Ç¤½¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-com.apipackage ¤¬ºÇ½é¤ËºîÀ®¤µ¤ì¤¿¤È¤¤Ë
-com.spipackage ¤Î¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¡¢
-°ÊÁ°¤Î¾ì¹ç¤¬¤½¤ÎÎã¤Ç¤¹¡£
-¤³¤ÎÊýË¡¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¡¢
-¤Þ¤À¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¿·¤·¤¤³°Éô¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯¤¹¤ë
-¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-¤Þ¤¿¡¢Javadoc 1.0 ¤Þ¤¿¤Ï 1.1 ¤Ç¤Ï package-list ¥Õ¥¡¥¤¥ë¤¬
-À¸À®¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤³¤ÎÊýË¡¤Ç¡¢¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç
-À¸À®¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Î package-list ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-2 ¤Ä¤Î²ñ¼Ò¤¬Ì¤¸ø³«¤Î package-list ¥Õ¥¡¥¤¥ë¤ò
-¶¦Í¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤¿¤á¡¢¥¯¥í¥¹¥ê¥ó¥¯¤òÀßÄꤷ¤¿
-¥É¥¥å¥á¥ó¥È¤òƱ»þ¤Ë¥ê¥ê¡¼¥¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+\f4package\-list\fP\f3 ファイルを手動で作成\fP \- \f2package\-list\fP ファイルがまだ存在しなくても、ドキュメントのリンク先のパッケージ名がわかっている場合は、このファイルを自分で作成し、\f2packagelistLoc\fP でそのパスを指定することができます。\f2com.apipackage\fP が最初に生成され、\f2com.spipackage\fP のパッケージリストが存在しないという前出の例を参照してください。この方法は、パッケージ名はわかっているものの、まだ公開されていない、新しい外部ドキュメントにリンクするドキュメントを生成する必要がある場合に便利です。また、\f2package\-list\fP ファイルが生成されない Javadoc 1.0 や 1.1 などで生成されたパッケージ向けに \f2package\-list\fP ファイルを作成するときにも、この方法を利用します。同様に、2 つの会社が未公開の \f2package\-list\fP ファイルを共有することもできるため、クロスリンクを設定したドキュメントを同時にリリースすることも可能です。
.LP
-Ê£¿ô¤Î¥É¥¥å¥á¥ó¥È¤Ë¥ê¥ó¥¯ -
-.B \-linkoffline
-¤Ï¡¢»²¾ÈÀè¤ÎÀ¸À®¥É¥¥å¥á¥ó¥È¤´¤È¤Ë 1 ¤Ä¤º¤Ä»ØÄꤷ¤Þ¤¹¡£
-¼¡¤ÎÎã¤Ç¤Ï¡¢¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë
-¥ª¥×¥·¥ç¥ó¤´¤È¤Ë¹Ô¤òʬ¤±¤Æ¤¤¤Þ¤¹¡£
+\f3複数のドキュメントへのリンク\fP \- \f2\-linkoffline\fP は、参照先の生成ドキュメントごとに 1 つずつ指定します。 次の例では、わかりやすくするためにオプションごとに行を分けています。
.LP
-.RS
-.ft 3
+\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP
+.br
+\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP
+.br
+\f2\ \ \ \ \ \ \ \ \ \ ...\fP
+.LP
+\f3ドキュメントの更新\fP \- 前述の \f2\-linkoffline\fP オプションのもうひとつの用途は、プロジェクトに大量のパッケージが含まれていて、すでにツリー全体に対して javadoc の実行が完了している場合に、次の実行では、少量の変更を手早く加えたあと、ソースツリーのごく一部に対してだけ javadoc を再実行する場合に便利です。これは、ドキュメンテーションコメントに対してだけ変更を加え、宣言は変更しない場合にのみ正しく処理されるので、ハッキングのようなものです。ソースコードの宣言を追加、削除、または変更した場合は、索引、パッケージツリー、継承されるメンバーのリスト、[使用] ページなどの場所で、リンクが壊れることがあります。
+.LP
+まず、今回の実行で使用する新しい生成先ディレクトリ (\f2update\fP) を作成します。元の生成先ディレクトリの名前が \f2html\fP だとします。もっとも単純な例では、\f2html\fP ディレクトリの親ディレクトリに移動 (cd) します。\f2\-linkoffline\fP の最初の引数にカレントディレクトリ "." を指定し、2 番目の引数に \f2html\fP への相対パスを指定します。 ここで、\f2package\-list\fP が検索されます。 更新対照のパッケージのパッケージ名だけを指定してください。
.nf
-.ta 18n
-% javadoc \-linkoffline docURL1 packagelistURL1 \\
- \-linkoffline docURL2 packagelistURL2 \\
-.ft 1
- ...
+\f3
+.fl
+ % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP
+.fl
.fi
-.RE
+Javadoc ツールの終了後、\f2update/com/package\fP 内の生成されたクラスのページをコピーし (概要や索引を除く)、\f2html/com/package\fP 内の元のファイルに上書きします。
.LP
-.B ¥É¥¥å¥á¥ó¥È¤Î¹¹¿·:
-.B \-linkoffline
-¥ª¥×¥·¥ç¥ó¤Î¤â¤¦ 1 ¤Ä¤ÎÍÑÅӤϡ¢¥×¥í¥¸¥§¥¯¥È¤Ç¿¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤¤¡¢
-¤¹¤Ç¤Ë¥Ä¥ê¡¼Á´ÂΤËÂФ·¤Æ
-.B javadoc
-¤ò¼Â¹Ô¤·¤Æ¤¢¤ë¾ì¹ç¤Ë¡¢¼¡¤Î¼Â¹Ô¤Ç¤Ï¡¢¤¹¤Ð¤ä¤¯ºÙ¤«¤¤
-Êѹ¹¤ò¹Ô¤Ê¤Ã¤Æ¤«¤é¡¢¥½¡¼¥¹
-¥Ä¥ê¡¼¤Î°ìÉô¤ËÂФ·¤Æ¤À¤±
-.B javadoc
-¤ò¼Â¹Ô¤·Ä¾¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¤³¤ì¤Ï¡¢
-Êѹ¹¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ËÂФ·
-¤Æ¤Ç¤¢¤ê¡¢¥·¥°¥Ë¥Á¥ã¤ËÂФ·¤Æ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤À¤±Àµ¾ï¤Ë
-½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¥Ï¥Ã¥¥ó¥°
-¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤ËÂФ·¤Æ¥·¥°¥Ë¥Á¥ã¤òÄɲá¢
-ºï½ü¤Þ¤¿¤ÏÊѹ¹¤·¤¿¾ì¹ç¤Ï¡¢º÷°ú¡¢¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¡¢
-·Ñ¾µ¤µ¤ì¤ë¥á¥ó¥Ð¤Î¥ê¥¹¥È¡¢[»ÈÍÑ] ¥Ú¡¼¥¸¤Ê¤É¤Î¾ì½ê
-¤Ç²õ¤ì¤¿¥ê¥ó¥¯¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+.TP 3
+\-linksource\
+各ソースファイル (行番号付き) の HTML バージョンを作成し、標準 HTML ドキュメントからソースファイルへのリンクを追加します。リンクは、ソースファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。デフォルトコンストラクタ、生成されたクラスに対しては作成されません。
.LP
-¤Þ¤º¡¢¿·¤·¤¤¼Â¹Ô¤Î¤¿¤á¡¢¿·µ¬¤Î
-À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (update) ¤òºîÀ®¤·¤Þ¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤ÎÀ¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ò html ¤È¤·¤Þ¤¹¡£¤â¤Ã¤È¤â´Êñ¤ÊÎã¤È¤·¤Æ¡¢html ¤Î¿Æ¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-.B \-linkoffline
-¤Î 1 ÈÖÌܤΰú¿ô¤Ë¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¡Ö.¡×¤ò
-ÀßÄꤷ¡¢2 ÈÖÌܤΰú¿ô¤Ë package-list
-¤ò¸¡º÷¤¹¤ë¾ì½ê¤Ç¤¢¤ë html ¤Ø¤ÎÁêÂХѥ¹¤òÀßÄꤷ¤Þ¤¹¡£¹¹¿·¤·¤¿¤¤¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¤ß¤òÅϤ·¤Þ¤¹¡£
+\f3このオプションは、\fP\f4\-public\fP\f3、\fP\f4\-package\fP\f3、\fP\f4\-protected\fP\f3、\fP\f4\-private\fP\f3 の各オプションとは関係なく、非公開のクラス、フィールド、非公開のメソッドの本体をはじめとする組み込まれたソースファイル内のすべての非公開実装の詳細を公開します。\fP\f2\-private\fP オプションを指定しないかぎり、非公開のクラスやインタフェースの一部には、リンクを介してアクセスできないことがあります。
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d update \-linkoffline . html com.mypackage
-.fi
-.ft 1
-.RE
-.LP
-.B javadoc
-¤Î¼Â¹Ô¤¬½ªÎ»¤·¤¿¤È¤¡¢
-.B update/com/package
-Æâ¤ËÀ¸À®¤µ¤ì¤¿¥¯¥é¥¹ (³µÍפäº÷°ú¤Ç¤Ï¤Ê¤¤) ¤Ç¡¢
-html/com/package Æâ¤Ë¤¢¤ë¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¥³¥Ô¡¼¤·¤Þ¤¹¡£
-.TP
-\-linksource
-³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë (¹ÔÈÖ¹æÉÕ¤) ¤Î HTML ¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤·¡¢É¸½à HTML ¥É¥¥å¥á¥ó¥È¤«¤é¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄɲä·¤Þ¤¹¡£¥ê¥ó¥¯¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥³¥ó¥¹¥È¥é¥¯¥¿¡¢À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤ËÂФ·¤Æ¤ÏºîÀ®¤µ¤ì¤Þ¤»¤ó¡£
-.LP
-\f3¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fP\f4\-public\fP\f3¡¢\fP\f4\-package\fP\f3¡¢\fP\f4\-protected\fP\f3¡¢\fP\f4\-private\fP\f3 ¤Î³Æ¥ª¥×¥·¥ç¥ó¤È¤Ï´Ø·¸¤Ê¤¯¡¢Èó¸ø³«¤Î¥¯¥é¥¹¡¢¥Õ¥£¡¼¥ë¥É¡¢Èó¸ø³«¤Î¥á¥½¥Ã¥É¤ÎËÜÂΤò¤Ï¤¸¤á¤È¤¹¤ëÁȤ߹þ¤Þ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î\fP\f4¤¹¤Ù¤Æ¤Î\fP\f3Èó¸ø³«¼ÂÁõ¤Î¾ÜºÙ¤ò¸ø³«¤·¤Þ¤¹¡£\fP\f2\-private\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤«¤®¤ê¡¢Èó¸ø³«¤Î¥¯¥é¥¹¤ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÉô¤Ë¤Ï¡¢¥ê¥ó¥¯¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-³Æ¥ê¥ó¥¯¤Ï¡¢¤½¤ÎÀë¸ÀÆâ¤Î¼±ÊÌ»Ò̾¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2Button\fP ¥¯¥é¥¹¤Î¥½¡¼¥¹¥³¡¼¥É¥Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖButton¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
+各リンクは、その宣言内の識別子名の上に作成されます。たとえば、\f2Button\fP クラスのソースコードヘのリンクは、「Button」という語の上に作成されます。
.nf
\f3
.fl
@@ -3884,7 +4903,7 @@
.fl
\fP
.fi
-Button ¥¯¥é¥¹¤Î \f2getLabel()\fP ¥á¥½¥Ã¥É¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ï¡¢¡ÖgetLabel¡×¤È¤¤¤¦¸ì¤Î¾å¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
+Button クラスの \f2getLabel()\fP メソッドのソースコードへのリンクは、「getLabel」という語の上に作成されます。
.nf
\f3
.fl
@@ -3893,220 +4912,121 @@
\fP
.fi
.LP
-.TP
-.BI \-group " groupheading packagepattern:packagepattern:..."
-³µÍ×¥Ú¡¼¥¸¤ÎÊ£¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄê¤Î¥°¥ë¡¼¥×¤Ëʬ¤±¡¢
-¥°¥ë¡¼¥×ñ°Ì¤Çɽ¤òºîÀ®
-¤·¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ï¡¢¤½¤ì¤¾¤ìÊ̤Î
-.B \-group
-¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Ï¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿½ç½ø¤Ç¥Ú¡¼¥¸¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢1 ¤Ä¤Î¥°¥ë¡¼¥×Æâ¤Ç¤Ï
-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ëʤ٤é¤ì¤Þ¤¹¡£³Æ
-.B \-group
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢
-.I packagepattern
-¼°¤Î¥ê¥¹¥È¤Ë°ìÃפ¹¤ë
-¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢¸«½Ð¤·
-.IR groupheading
-¤ò»ý¤Ä 1 ¤Ä¤Îɽ¤Ë¤Þ¤È¤á¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
-.RS
+.TP 3
+\-group\ groupheading\ packagepattern:packagepattern:...
+概要ページの複数のパッケージを、指定したグループに分けて、グループごとに表を作成します。各グループは、それぞれ別の \f2\-group\fP オプションで指定します。これらのグループは、コマンド行で指定した順序でページに表示されます。 各グループ内では、パッケージがアルファベット順に並べられます。指定した \f2\-group\fP オプションごとに、\f2packagepattern\fP 式のリストと一致するパッケージが、見出し \f2groupheading\fP を持つ 1 つの表にまとめて表示されます。
+.RS 3
.TP 2
-\(bu
-.I groupheading
-¤Ë¤ÏǤ°Õ¤Î¥Æ¥¥¹¥È¤ò»ØÄê¤Ç¤¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-»ØÄꤷ¤¿¥Æ¥¥¹¥È¤Ï¡¢¥°¥ë¡¼¥×¤Îɽ¸«½Ð¤·¤Ë¤Ê¤ê¤Þ¤¹¡£
+o
+\f4groupheading\fP には、任意のテキストを指定でき、空白を含めることができます。指定したテキストは、グループの表見出しになります。
.TP 2
-\(bu
-.I packagepattern
-¤Ë¤Ï¡¢Ç¤°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤ÏǤ°Õ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ÎÀèƬÉôʬ¤È¤½¤ì¤Ë³¤¯ 1 ¤Ä¤Î¥¢¥¹¥¿¥ê¥¹¥¯ (*)¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¡ÖǤ°Õ¤Îʸ»ú¤Ë°ìÃפ¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç¤¹¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤ÆµöÍƤµ¤ì¤ë¤Î¤Ï¡¢¥¢¥¹¥¿¥ê¥¹¥¯¤À¤±¤Ç¤¹¡£1 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Ï¡¢
-¥³¥í¥ó (:) ¤Ç¶èÀڤä¿Ê£¿ô¤Î¥Ñ¥¿¡¼¥ó¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+o
+\f4packagepattern\fP には、任意のパッケージ名、または任意のパッケージ名の先頭部分とそれに続く 1 つのアスタリスク (\f2*\fP) を指定できます。アスタリスクは、「任意の文字に一致する」という意味のワイルドカードです。ワイルドカードとして指定できるのは、アスタリスクだけです。1 つのグループには、コロン (\f2:\fP) で区切って複数のパターンを含めることができます。
+.RE
+.RS 3
+
.LP
-Ãí: ¥Ñ¥¿¡¼¥ó¤ä¥Ñ¥¿¡¼¥ó¥ê¥¹¥ÈÆâ¤Ç¥¢¥¹¥¿¥ê¥¹¥¯¤ò
-»È¤¦¾ì¹ç¤Ï¡¢"java.lang*:java.util"
-¤Î¤è¤¦¤Ë¡¢¥Ñ¥¿¡¼¥ó¥ê¥¹¥È¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-.B \-group
-¥ª¥×¥·¥ç¥ó¤¬ 1 ¤Ä¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î
-¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢[¥Ñ¥Ã¥±¡¼¥¸]
-¤È¤¤¤¦¸«½Ð¤·¤ò»ý¤Ä 1 ¤Ä¤Î¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î
-Ãæ¤Ë¡¢»ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¤É¤Î¥°¥ë¡¼¥×¤Ë¤âÆþ¤é¤Ê¤¤
-¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ë¾ì¹ç¡¢¤³¤Î¤è¤¦¤Ê
-¥Ñ¥Ã¥±¡¼¥¸¤Ï [¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸] ¤È¤¤¤¦¸«½Ð¤·¤ò
-»ý¤ÄÆÈΩ¤·¤¿¥°¥ë¡¼¥×¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£
+\f3注: パターンやパターンリスト内でアスタリスクを使う場合は、\fP\f4"java.lang*:java.util"\fP\f3 のように、パターンリストを引用符で囲む必要があります。\fP
.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤ë 4 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢
-¥³¥¢¥Ñ¥Ã¥±¡¼¥¸¡¢³ÈÄ¥µ¡Ç½¥Ñ¥Ã¥±¡¼¥¸¡¢
-¤ª¤è¤Ó¤½¤Î¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ëʬ¤«¤ì¤Þ¤¹¡£
-\f3java.lang*\f1 ¤Ç¤Ï¡¢¸å³¤Î¥É¥Ã¥È¤¬¤Ê¤¤¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£\f3java.lang.*\f1 ¤Î¤è¤¦¤Ë¥É¥Ã¥È¤ò
-Æþ¤ì¤ë¤È¡¢
-.B java.lang
-¥Ñ¥Ã¥±¡¼¥¸¤Ï´Þ¤Þ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+.RE
.LP
-.RS
-.ft 3
+\f2\-group\fP オプションが指定されていない場合は、すべてのパッケージが、「パッケージ」という見出しの 1 つのグループに入れられます。ドキュメント化されるパッケージの中に、指定したグループのどのグループにも入らないパッケージがある場合、このようなパッケージは「その他のパッケージ」という見出しを持つ独立したグループに入れられます。
+.LP
+たとえば、次のようにオプションを指定すると、ドキュメント化される 5 つのパッケージは、コアパッケージ、拡張機能パッケージ、およびその他のパッケージに分けられます。「java.lang*」では、最後のドットを指定していないことに注目してください。 「java.lang.*」のようにドットを入れると、java.lang パッケージは除外されることになります。
.nf
-% javadoc \-group "Core Packages" "java.lang*:java.util"
- \-group "Extension Packages" "javax.*"
- java.lang java.lang.reflect java.util javax.servlet java.new
+\f3
+.fl
+ % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util"
+.fl
+ \-group "Extension Packages" "javax.*"
+.fl
+ java.lang java.lang.reflect java.util javax.servlet java.new\fP
+.fl
.fi
-.ft 1
+この結果、次のようなグループ化が行われます。
+.RS 3
+.RS 3
+.TP 3
+コアパッケージ
+\f2java.lang\fP
+\f2java.lang.reflect\fP
+\f2java.util\fP
+.TP 3
+拡張機能パッケージ
+\f2javax.servlet\fP
+.TP 3
+その他のパッケージ
+\f2java.new\fP
+.RE
+
+.LP
.RE
.LP
-¤³¤Î·ë²Ì¡¢¼¡¤Î¤è¤¦¤Ê¥°¥ë¡¼¥×²½¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+.TP 3
+\-nodeprecated
+推奨されない API をドキュメントに生成しないようにします。このオプションを指定すると、\-nodeprecatedlist オプションを指定した場合と同じ効果があることに加えて、ドキュメントのほかの部分全体でも、推奨されない API が生成されません。このオプションは、コードを記述しているとき、推奨されないコードによって気を散らされたくない場合に便利です。
.LP
-.RS
-.ft 3
+.TP 3
+\-nodeprecatedlist
+推奨されない API のリストを含むファイル (deprecated\-list.html)、およびナビゲーションバーのそのページへのリンクが生成されないようにします。ただし、ドキュメントのほかの部分では、推奨されない API が生成されます。このオプションは、推奨されない API がソースコードに含まれておらず、ナビゲーションバーをすっきりと見せたい場合に便利です。
+.LP
+.TP 3
+\-nosince
+生成ドキュメントから、@since タグに対応する「導入されたバージョン」 セクションを省略します。
+.LP
+.TP 3
+\-notree
+生成されるドキュメントからクラスおよびインタフェースの階層ページを省略します。これらのページには、ナビゲーションバーの「ツリー」ボタンからアクセスできます。デフォルトでは、階層が生成されます。
+.LP
+.TP 3
+\-noindex
+生成ドキュメントから、索引を省略します。デフォルトでは、索引が生成されます。
+.LP
+.TP 3
+\-nohelp
+出力の各ページの最上部と最下部にあるナビゲーションバーから [ヘルプ] リンクを省略します。
+.LP
+.TP 3
+\-nonavbar
+生成されるページの最上部と最下部に表示されるナビゲーションバー、ヘッダー、およびフッターを生成しないようにします。このオプションは、bottom オプションには影響を与えません。\f2\-nonavbar\fP オプションは、印刷するためだけにファイルを PostScript または PDF に変換する場合など、内容だけが重要で、ナビゲーションの必要がない場合に便利です。
+.LP
+.TP 3
+\-helpfile\ path/filename
+上部と下部のナビゲーションバーの [ヘルプ] リンクのリンク先となる代替ヘルプファイル \f2path/filename\fP のパスを指定します。このオプションが指定されていない場合、Javadoc ツールは、ハードコードされているヘルプファイル \f2help\-doc.html\fP を自動的に作成します。このオプションを使うと、そのデフォルトの動作をオーバーライドできます。\f2filename\fP にはどんなファイル名でも指定でき、\f2help\-doc.html\fP には限定されません。例を示します。
.nf
-Core Packages
- java.lang
- java.lang.reflect
- java.util
-Extension Packages
- javax.servlet
-Other Packages
- java.new
+\f3
+.fl
+ % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP
+.fl
.fi
-.ft 1
-.RE
-.RE
-.TP
-.B \-nodeprecated
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ò¥É¥¥å¥á¥ó¥È¤ËÀ¸À®¤¹¤ë¤³¤È¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢
-.B \-nodeprecatedlist
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî¤Ë²Ã¤¨¤Æ¡¢
-¥É¥¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤òÄ̤¸¤Æ¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤òÀ¸À®¤·¤Ê¤¤¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¡¼¥É¤òµ½Ò¤·¤Æ¤¤¤Æ¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤¥³¡¼¥É¤ò̵»ë¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.B \-nodeprecatedlist
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤Î¥ê¥¹¥È¤ò´Þ¤à
-¥Õ¥¡¥¤¥ë (\f3deprecated-list.html\f1) ¤ÎÀ¸À®¤ò¶Ø»ß
-¤·¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥ê¥ó¥¯¤ò
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ËÀ¸À®¤¹¤ë¤³¤È¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤¿¤À¤·¡¢¥É¥¥å¥á¥ó¥È¤Î¤Û¤«¤ÎÉôʬ¤Ç¤Ï¡¢
-¿ä¾©¤µ¤ì¤Ê¤¤ API ¤ÎÀ¸À®¤ò³¹Ô¤·¤Þ¤¹¡£¤³¤Î
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¿ä¾©¤µ¤ì¤Ê¤¤ API ¤¬¥½¡¼¥¹¥³¡¼¥É¤Ë
-´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤ò
-¤¹¤Ã¤¤ê¤È¸«¤»¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.B \-nosince
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤é¡¢
-.BR @since
-¥¿¥°¤Ë´ØÏ¢¤·¤¿¡ÖSince¡×¥»¥¯¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
-.TP
-.B \-notree
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤é¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-³¬Áؤò¾Êά¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î¡Ö¥Ä¥ê¡¼¡×¥Ü¥¿¥ó¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢³¬Áؤ¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-noindex
-À¸À®¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤«¤éº÷°ú¤ò¾Êά¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-º÷°ú¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-nohelp
-³Æ½ÐÎÏ¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Î
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤«¤é [¥Ø¥ë¥×] ¥ê¥ó¥¯¤ò
-¾Êά¤·¤Þ¤¹¡£
-.TP
-.B \-nonavbar
-À¸À®¤µ¤ì¤ë¥Ú¡¼¥¸¤ÎºÇ¾åÉô¤ÈºÇ²¼Éô¤Ëɽ¼¨¤µ¤ì¤ë
-¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¡¢¥Ø¥Ã¥À¡¢
-¤ª¤è¤Ó¥Õ¥Ã¥¿¤ÎÀ¸À®¤ò¶Ø»ß¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢bottom ¥ª¥×¥·¥ç¥ó¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£
-.B \-nonavbar
-¥ª¥×¥·¥ç¥ó¤Ï¡¢°õºþ¤¹¤ë¤¿¤á¤À¤±¤Ë
-¥Õ¥¡¥¤¥ë¤ò PostScript ¤Þ¤¿¤Ï PDF ¤ËÊÑ´¹¤¹¤ë
-¾ì¹ç¤Ê¤É¡¢ÆâÍƤÀ¤±¤¬½ÅÍפǥʥӥ²¡¼¥·¥ç¥ó¤Î
-ɬÍ×À¤¬¤Ê¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-.TP
-.BI \-helpfile " path/filename"
-¾åÉô¤È²¼Éô¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î [¥Ø¥ë¥×] ¥ê¥ó¥¯¤Î
-¥ê¥ó¥¯Àè¤È¤Ê¤ëÂåÂإإë¥×¥Õ¥¡¥¤¥ë
-.I path/filename
-¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¤Ï¡¢javadoc ¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Ø¥ë¥×¥Õ¥¡¥¤¥ë
-.B help-doc.html
-¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤
-¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¤É¤Î¤è¤¦¤Ê
-̾Á°¤â»ØÄê¤Ç¤¡¢\f3help-doc.html\f1 ¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ
-¤»¤ó¡£
-.B javadoc
-¤Ï¡¢¤½¤ì¤Ë½¾¤Ã¤Æ¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Ë¤¢¤ë
-¥ê¥ó¥¯¤ËÄ´À°¤ò²Ã¤¨¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.RS
-.ft 3
+.TP 3
+\-stylesheetfile\ path/filename
+代替 HTML スタイルシートファイルのパスを指定します。このオプションが指定されていない場合、Javadoc ツールは、ハードコードされているスタイルシートファイル \f2stylesheet.css\fP を自動的に作成します。このオプションを使うと、そのデフォルトの動作をオーバーライドできます。\f2filename\fP にはどんなファイル名でも指定でき、\f2stylesheet.css\fP には限定されません。例を示します。
.nf
-% javadoc \-helpfile /home/doc/myhelp.html java.awt
+\f3
+.fl
+ % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP
+.fl
.fi
-.RE
-.RE
-.ft 1
-.TP
-.BI \-stylesheetfile " path/filename"
-ÂåÂØ HTML ¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤
-¤Ê¤¤¾ì¹ç¡¢
-.B javadoc
-¥Ä¡¼¥ë¤Ï¡¢ÆâÉôŪ¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë
-¥¹¥¿¥¤¥ë¥·¡¼¥È¥Õ¥¡¥¤¥ë
-.BR stylesheet.css
-¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤¤Þ¤¹¡£
-filename ¤Ë¤Ï¤É¤ó¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤â»ØÄê¤Ç¤¡¢
-.BR stylesheet.css
-¤Ë¤Ï¸ÂÄꤵ¤ì¤Þ¤»¤ó¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.TP 3
+\-serialwarn
+@serial タグがない場合は、コンパイル時に警告を生成します。デフォルトでは、Javadoc 1.2.2 以降のバージョンでは、直列化の警告は生成されません。1.2.2 より前の初期バージョンでは、警告が生成されます。このオプションを使用すると、直列化の警告が表示されるので、デフォルトの直列化可能フィールドと \f2writeExternal\fP メソッドを適切にドキュメント化するのに役立ちます。
.LP
-.RS
-.RS
-.ft 3
-.nf
-% javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage
-.fi
-.ft 1
-.RE
-.RE
-.TP
-.B \-serialwarn
-.B @serial
-¥¿¥°¤¬¤Ê¤¤¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·Ù¹ð¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javadoc
-1.2.2 (¤ª¤è¤Ó¤½¤ì°Ê¹ß) ¤Ï
-.B @serial
-¤Î·Ù¹ð¤òÀ¸À®¤·¤Þ¤»¤ó¡£
-(¤³¤ì¤Ï¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤ÏµÕ¤Ç¤¹¡£)
-.B @serial
-¤Î·Ù¹ð¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î
-ľÎó²½²Äǽ¤Ê¥Õ¥£¡¼¥ë¥É¤È writeExternal ¥á¥½¥Ã¥É¤òÀµ¤·¤¯
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£
-.TP
-.BI \-charset " name"
-¤³¤Î¥É¥¥å¥á¥ó¥ÈÍѤΠHTML ʸ»ú¥»¥Ã¥È¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢
+.TP 3
+\-charset\ name
+このドキュメント用の HTML 文字セットを指定します。この名前は、
.na
-\f2IANA Registry\fP
+\f2IANA Registry\fP @
.fi
-(http://www.iana.org/assignments/character\-sets) ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+http://www.iana.org/assignments/character\-sets で与えられた、推奨される MIME 名でなければなりません。例を示します。
.nf
\f3
.fl
% \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP
.fl
.fi
-À¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤ÎÀèƬ¤Ë¡¢¼¡¤Î¹Ô¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
+生成されるすべてのページの先頭に、次の行が挿入されます。
.nf
\f3
.fl
@@ -4114,35 +5034,34 @@
.fl
\fP
.fi
-¤³¤Î META ¥¿¥°¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2
-¤Î
+この META タグについては、
.na
-\f2HTML ¤Îɸ½à\fP (4197265 ¤ª¤è¤Ó 4137321) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2HTML の標準\fP @
+.fi
+http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 および 4137321) を参照してください。
.LP
-\-encoding ¤È \-docencoding ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\-encoding および \-docencoding も参照してください。
.LP
.TP 3
\-docencoding\ name
-À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢
+生成される HTML ファイルのエンコーディングを指定します。この名前は、
.na
-\f2IANA Registry\fP
+\f2IANA Registry\fP @
.fi
-(http://www.iana.org/assignments/character\-sets) ¤ÇÍ¿¤¨¤é¤ì¤¿¡¢¿ä¾©¤µ¤ì¤ë MIME ̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¾Êά¤·¤Ê¤¬¤é \-encoding ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤ë HTML ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥É¤Ï¡¢\-encoding ¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+http://www.iana.org/assignments/character\-sets で与えられた、推奨される MIME 名でなければなりません。このオプションを省略しながら \-encoding を使用した場合、生成される HTML ファイルのエンコードは、\-encoding によって決められます。例:
.nf
\f3
.fl
% \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP
.fl
.fi
-\-encoding ¤ª¤è¤Ó \-charset ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\-encoding および \-charset も参照してください。
.LP
.TP 3
\-keywords
-HTML ¥á¥¿¥¡¼¥ï¡¼¥É¥¿¥°¤ò¡¢¥¯¥é¥¹¤´¤È¤ËÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥¿¥°¤Ï¡¢¥á¥¿¥¿¥°¤ò¸¡º÷¤¹¤ë¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥Ú¡¼¥¸¤ò¸«¤Ä¤±¤ë¾ì¹ç¤ËÌòΩ¤Á¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤò¸¡º÷¤¹¤ë¿¤¯¤Î¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤Ï¡¢¥Ú¡¼¥¸¤¬¥á¥¿¥¿¥°¤ò¸íÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥á¥¿¥¿¥°¤òÄ´¤Ù¤Þ¤»¤ó¡£°ìÊý¡¢¸¡º÷¤ò¼«¿È¤Î Web ¥µ¥¤¥È¤Ë¸ÂÄꤷ¤Æ¤¤¤ë´ë¶È¤Ç¤Ï¡¢¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤¬¥á¥¿¥¿¥°¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥á¥ê¥Ã¥È¤òÆÀ¤é¤ì¤Þ¤¹¡£
+HTML メタキーワードタグを、クラスごとに生成されるファイルに追加します。これらのタグは、メタタグを検索するサーチエンジンがページを見つける場合に役立ちます。インターネット全体を検索する多くのサーチエンジンは、ページがメタタグを誤用しているため、メタタグを調べません。 一方、検索を自身の Web サイトに限定している企業では、サーチエンジンがメタタグを調べることによってメリットを得られます。
.LP
-¥á¥¿¥¿¥°¤Ë¤Ï¡¢¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤È¡¢¥Õ¥£¡¼¥ë¥É¤ª¤è¤Ó¥á¥½¥Ã¥É¤Î½¤¾þ¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢¥¯¥é¥¹Ì¾¤ÈƱ¤¸¤Ç¤¢¤ë¤¿¤á´Þ¤Þ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¥¯¥é¥¹ String ¤Ï¼¡¤Î¥¡¼¥ï¡¼¥É¤Ç³«»Ï¤·¤Þ¤¹¡£
+メタタグには、クラスの完全修飾名と、フィールドおよびメソッドの修飾されていない名前が含まれます。コンストラクタは、クラス名と同じであるため含まれません。たとえば、クラス String は次のキーワードで開始します。
.nf
\f3
.fl
@@ -4159,803 +5078,552 @@
.LP
.TP 3
\-tag\ \ tagname:Xaoptcmf:"taghead"
-Javadoc ¥Ä¡¼¥ë¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥ÈÆâ¤Î°ú¿ô¤ò 1 ¤Ä¼è¤ëñ½ã¤Ê¥«¥¹¥¿¥à¥Ö¥í¥Ã¥¯¥¿¥° \f2@\fP\f2tagname\fP ¤ò²ò¼á¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Javadoc ¥Ä¡¼¥ë¤Ï¥¿¥°Ì¾¤Î¡Ö¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¡×¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥à¥¿¥°¤Ë \f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤à¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£º£²ó¤Î¼Â¹Ô¤Ç½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ï¡¢\f2X\fP ¤òÉÕ¤±¤Æ̵¸ú¤Ë¤·¤Þ¤¹¡£
+Javadoc ツールがドキュメンテーションコメント内の引数を 1 つ取る単純なカスタムブロックタグ \f2@\fP\f2tagname\fP を解釈できるようにします。これにより、Javadoc ツールはタグ名の「スペルチェック」を行うことができるので、ソースコード内のすべてのカスタムタグに \f2\-tag\fP オプションを組み込むことをお勧めします。今回の実行で出力されないタグは、\f2X\fP を付けて無効にします。
.LP
-¥³¥í¥ó (\f4:\fP) ¤Ï¾ï¤Ë¶èÀÚ¤êʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¡£\f2tagname\fP ¤Ç¥³¥í¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Ö¥¿¥°Ì¾¤Ç¤Î¥³¥í¥ó¤Î»ÈÍѡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コロン (\f4:\fP) は常に区切り文字になります。\f2tagname\fP でコロンを使用するには、「タグ名でのコロンの使用」を参照してください。
.LP
-\f2\-tag\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¿¥°¤Î¸«½Ð¤·¡Ö\f2taghead\fP¡×¤òÂÀ»ú¤Ç½ÐÎϤ·¤Þ¤¹¡£¤½¤Î¼¡¤Î¹Ô¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ç»ØÄꤷ¤¿¥Æ¥¥¹¥È¤¬Â³¤¤Þ¤¹¡£°Ê²¼¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ö¥í¥Ã¥¯¥¿¥°¤ÈƱÍÍ¡¢¤³¤Î°ú¿ô¤Î¥Æ¥¥¹¥È¤Ë¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥¤¥ó¥é¥¤¥ó¥¿¥°¤â²ò¼á¤µ¤ì¤Þ¤¹¡£½ÐÎϤϡ¢°ú¿ô¤ò 1 ¤Ä¼è¤ëɸ½à¤Î¥¿¥° (\f2@return\fP¡¢\f2@author\fP ¤Ê¤É) ¤Î½ÐÎϤȤ褯»÷¤Æ¤¤¤Þ¤¹¡£\f2taghead\fP ¤ò¾Êά¤¹¤ë¤È¡¢\f2tagname\fP ¤¬¸«½Ð¤·¤È¤·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
+\f2\-tag\fP オプションは、タグの見出し「taghead」を太字で出力します。 その次の行には、このオプションの引数で指定したテキストが続きます。 以下の例を参照してください。ブロックタグと同様、この引数のテキストにはインラインタグを含めることができます。 このインラインタグも解釈されます。出力は、引数を 1 つ取る標準のタグ (\f2@return\fP、\f2@author\fP など) の出力とよく似ています。\f2taghead\fP を省略すると、\f2tagname\fP が見出しとして表示されます。
.LP
-\f3¥¿¥°¤ÎÇÛÃÖ\fP \- °ú¿ô¤Î \f4Xaoptcmf\fP Éôʬ¤Ï¡¢¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î¥¿¥°¤òÇÛÃ֤Ǥ¤ë°ÌÃ֤ȡ¢\f2X\fP ¤ò»È¤Ã¤Æ¤³¤Î¥¿¥°¤ò̵¸ú¤Ë¤Ç¤¤ë¤«¤É¤¦¤«¤òÆÃÄꤷ¤Þ¤¹¡£¥¿¥°¤ÎÇÛÃÖ°ÌÃÖ¤òÀ©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï \f4a\fP ¤ò»ØÄꤷ¤Þ¤¹¡£¤½¤ì°Ê³°¤Îʸ»ú¤ÎÁȤ߹ç¤ï¤»¤â²Äǽ¤Ç¤¹¡£
+\f3タグの配置\fP \- 引数の \f4Xaoptcmf\fP 部分は、ソースコード内のタグを配置できる位置と、\f2X\fP を使ってこのタグを無効にできるかどうかを特定します。タグの配置位置を制限しない場合は \f4a\fP を指定します。 それ以外の文字の組み合わせも可能です。 \f4X\fP (タグの無効化)
.br
-\f4X\fP (¥¿¥°¤Î̵¸ú²½)
+\f4a\fP (すべての位置)
.br
-\f4a\fP (¤¹¤Ù¤Æ¤Î°ÌÃÖ)
+\f4o\fP (概要)
.br
-\f4o\fP (³µÍ×)
+\f4p\fP (パッケージ)
.br
-\f4p\fP (¥Ñ¥Ã¥±¡¼¥¸)
+\f4t\fP (型すなわちクラスおよびインタフェース)
.br
-\f4t\fP (·¿¤¹¤Ê¤ï¤Á¥¯¥é¥¹¤ª¤è¤Ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹)
+\f4c\fP (コンストラクタ)
.br
-\f4c\fP (¥³¥ó¥¹¥È¥é¥¯¥¿)
+\f4m\fP (メソッド)
.br
-\f4m\fP (¥á¥½¥Ã¥É)
-.br
-\f4f\fP (¥Õ¥£¡¼¥ë¥É)
+\f4f\fP (フィールド)
.LP
-¥·¥ó¥°¥ë¥¿¥°¤ÎÎã -
-¥½¡¼¥¹¥³¡¼¥É¤ÎǤ°Õ¤Î¾ì½ê¤Ç»ÈÍѤǤ¤ë
-¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.TP 3
-\-tag todo:a:"To Do:"
-.RE
-.LP
-¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥á¥½¥Ã¥É¡¢¤ª¤è¤Ó¥Õ¥£¡¼¥ë¥É¤À¤±¤Ç @todo ¤ò
-»ÈÍѤµ¤»¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+\f3シングルタグの例\fP \- ソースコード内の任意の位置で使用で気るタグのタグオプションの例を示します。
.nf
-\-tag todo:cmf:"To Do:"
+\f3
+.fl
+ \-tag todo:a:"To Do:"
+.fl
+\fP
.fi
-.ft 1
-.RE
-.LP
-¾åµ¤Ç¤Ï¡¢ËöÈø¤Î¥³¥í¥ó (:) ¤¬¥Ñ¥é¥á¡¼¥¿¤Î
-¶èÀڤ굹æ¤Ç¤Ï¤Ê¤¯¡¢É½¼¨¤Î¤È¤ª¤ê¡¢
-¸«½Ð¤·¥Æ¥¥¹¥È¤Î°ìÉô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¼¡¤Î¤è¤¦¤Ë¡¢@todo ¥¿¥°¤ò´Þ¤à¥½¡¼¥¹¥³¡¼¥É¤Ë
-¤É¤Á¤é¤«¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+@todo をコンストラクタ、メソッド、フィールドのみで使用する場合は、以下のオプションを使用します。
.nf
-@todo The documentation for this method needs work.
+\f3
+.fl
+ \-tag todo:cmf:"To Do:"
+.fl
+\fP
.fi
-.ft 1
-.LP
-¥¿¥°Ì¾¤Ë¥³¥í¥ó¤ò»ÈÍѤ¹¤ë \-
-¥³¥í¥ó (:) ¤ò¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ë¤È¡¢
-¥³¥í¥ó¤ò¥¿¥°Ì¾¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.RS 5
+上の例の最後のコロン (\f2:\fP) は、パラメータ区切り子ですが、見出しテキストの一部になっています (以下の例を参照)。次の例のように、\f2@todo\fP タグを含むソースコードでは、いずれかのタグオプションを使用します。
.nf
-/**
-* @ejb:bean
-*/
-.RE
+\f3
+.fl
+ @todo The documentation for this method needs work.
+.fl
+\fP
+.fi
+\f3タグ名にコロンを使用する\fP \- コロン (:) をバックスラッシュでエスケープすると、コロンをタグ名に使用することができます。このドキュメンテーションコメントの中では、次のように使用します。
+.nf
+\f3
+.fl
+ /**
+.fl
+ * @ejb:bean
+.fl
+ */
+.fl
+\fP
+.fi
+でこのタグオプションを使用すると、
+.nf
+\f3
+.fl
+ \-tag ejb\\\\:bean:a:"EJB Bean:"
+.fl
+\fP
+.fi
+\f3タグ名のスペルチェック (タグの無効化)\fP \- ソースコード内に配置した一部のカスタムタグの出力を抑制したい場合があります。この場合も、ソースコード内にすべてのタグを配置し、出力を抑制しないタグを有効にし、出力を抑制するタグを無効にします。タグを無効にするには、\f2X\fP を指定します。指定しないと、そのタグは有効になります。 これにより、Javadoc ツールは、検出したタグが入力ミスなどによる未知のタグであるかどうかを特定できます。未知のタグを検出した場合、Javadoc ツールは警告を出力します。
+.LP
+すでに配置されている値に \f2X\fP を追加できます。 こうしておけば、\f2X\fP を削除するだけでタグを有効にすることができます。たとえば、@todo タグの出力を抑制したい場合、次のように指定します。
+.nf
+\f3
+.fl
+ \-tag todo:Xcmf:"To Do:"
+.fl
+\fP
+.fi
+さらに単純な指定方法もあります。
+.nf
+\f3
+.fl
+ \-tag todo:X
+.fl
+\fP
.fi
.LP
-¤Ç¤³¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
+構文 \f2\-tag todo:X\fP は、\f2@todo\fP が taglet で定義されている場合も有効です。
.LP
-.RS 5
+\f3タグの順序\fP \- \f2\-tag\fP (および \f2\-taglet\fP) オプションの順序によって、その出力順序が決定します。カスタムタグと標準タグを組み合わせて使用することもできます。標準タグのタグオプションは、順序を決定するためだけのプレースホルダです。これらは標準タグ名のみを使用します。(標準タグの小見出しは変更できません。)これについては、以下の例で説明します。
+.LP
+\f2\-tag\fP がない場合、\f2\-taglet\fP の位置によってその順序が決定します。タグが両方とも存在する場合、コマンド行の最後にあるほうがその順序を決定します。これは、タグやタグレットがコマンド行に指定された順番に処理されるためです。たとえば、\f2\-taglet\fP と \f2\-tag\fP の両方が todo という名前を持っている場合、コマンド行の最後にあるほうが順序を決定します。
+.LP
+\f3タグの完全セットの例\fP \- この例では、出力の「Parameters」と「Throws」の間に「To Do」を挿入します。X を使用して、@example が、ソースコード内の今回の実行では出力されないタグであることを指定します。@argfile を使用する場合は、次のように、引数ファイル内の別々の行にタグを配置できます。 行の継続を示す文字は不要です。
.nf
-\-tag ejb\\:bean:a:"EJB Bean:"
-.RE
-.LP
-¤È¤Ê¤ê¤Þ¤¹¡£
+\f3
+.fl
+ \-tag param
+.fl
+ \-tag return
+.fl
+ \-tag todo:a:"To Do:"
+.fl
+ \-tag throws
+.fl
+ \-tag see
+.fl
+ \-tag example:X
+.fl
+\fP
.fi
-.ft 1
-.RE
.LP
-¥¿¥°Ì¾¤Î¥¹¥Ú¥ë¥Á¥§¥Ã¥¯ (¥¿¥°¤Î̵¸ú²½) - ³«È¯¼Ô¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤ÎÃæ¤Ç½ÐÎϤǤ¤Ê¤¤¥«¥¹¥¿¥à¥¿¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¥½¡¼¥¹¥¿¥°¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥¿¥°¤ò¥ê¥¹¥È¤·¡¢½ÐÎϤ¹¤ë¥¿¥°¤ò͸ú²½¤·¡¢½ÐÎϤ·¤Ê¤¤¥¿¥°¤ò̵¸ú²½¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£ X ¤ò»ÈÍѤ¹¤ë¤È¥¿¥°¤ò̵¸ú²½¤Ç¤¡¢¤³¤ì¤¬¤Ê¤¤¾ì¹ç¤Ï¥¿¥°¤¬Í¸ú¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤Îʸ»ú¤Î¸ºß¤Ë¤è¤Ã¤Æ¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢¸¡½Ð¤·¤¿¥¿¥°¤¬Ì¤ÃΤΥ¿¥°¤Ç¡¢¤ª¤½¤é¤¯ÄÖ¤ê´Ö°ã¤¤¤Ç¤¢¤ë¤ÈȽÃǤǤ¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+javadoc がドキュメンテーションコメントを解析する際に検出されたタグのうち、標準タグでも \f2\-tag\fP や \f2\-taglet\fP で渡されるタグでもないものは、未知のタグの見なされます。 この場合、警告がスローされます。
.LP
-¤¹¤Ç¤Ë¸ºß¤¹¤ë¡¢ÇÛÃÖ¤ò»ØÄꤹ¤ë°ú¿ô¤ÎÃÍ¤Ë X ¤òÄɲä·¤¿¾ì¹ç¡¢¥¿¥°¤ò͸ú¤Ë¤·¤¿¤¤¤È¤¤Ë X ¤òºï½ü¤Ç¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢@todo ¤¬½ÐÎϤ·¤¿¤¯¤Ê¤¤¥¿¥°¤Î¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+標準タグは、最初、デフォルトの順序でリスト内に内部的に格納されます。\f2\-tag\fP オプションを使用すると、このリストに追加されるタグ、すなわち標準タグの位置がデフォルトの位置から移動します。つまり、標準タグに \f2\-tag\fP オプションを付けなければ、これらはデフォルトの位置に配置されたままになります。
.LP
-.RS
-.ft 3
-.nf
-\-tag todo:Xcmf:"To Do:"
-.fi
-.ft 1
-.RE
+\f3競合の回避\fP \- 固有の名前空間を分割するには、パッケージに使用されている \f2com.mycompany.todo\fP のように、ドット (.) 区切りの命名規則を使用します。Sun は、今後も名前にドットを含まない標準タグを作成します。ユーザーが作成したタグは、Sun が提供する同じ名前のタグの動作をオーバーライドします。つまり、ユーザーが \f2@todo\fP という名前のタグまたはタグレットを作成している場合、Sun があとから同じ名前の標準タグを作成しても、そのタグまたはタグレットは元の動作を保持します。
.LP
-¤Þ¤¿¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤è¤ê´Êñ¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-tag todo:X
-.fi
-.ft 1
-.RE
-.LP
-\-tag todo:X ¤Î¹½Ê¸¤Ï¡¢@todo ¤¬¥¿¥°¥ì¥Ã¥È¤Ç
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤â͸ú¤Ç¤¹¡£
-.LP
-¥¿¥°¤Î½ç½ø -
-\-tag (¤ª¤è¤Ó \-taglet) ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤Ë½¾¤Ã¤Æ
-¥¿¥°¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¥«¥¹¥¿¥à¥¿¥°¤Èɸ½à¥¿¥°¤ò
-º®ºß¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ɸ½à¥¿¥°¤Î¥¿¥°¥ª¥×¥·¥ç¥ó¤Ï¡¢
-½ç½ø¤ò·èÄꤹ¤ë¤¿¤á¤À¤±¤Î¥×¥ì¡¼¥¹¥Û¥ë¥À¤Ç¤¹¡£
-¤³¤ì¤é¤Ïɸ½à¥¿¥°Ì¾¤À¤±¤ò»ÈÍѤ·¤Þ¤¹
-(ɸ½à¥¿¥°¤Î¾®¸«½Ð¤·¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó)¡£
-¤³¤ì¤ò¼¡¤ÎÎã¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
-\-tag ¤¬¤Ê¤¤¾ì¹ç¡¢\-taglet ¤Î¾ì½ê¤Ë¤è¤Ã¤Æ¤½¤Î½ç½ø¤¬·è¤Þ¤ê¤Þ¤¹¡£
-¤³¤Î 2 ¤Ä¤¬Î¾Êý¤¢¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ë»ÈÍѤµ¤ì¤¿Êý¤¬
-½ç½ø¤ò·èÄꤷ¤Þ¤¹ (¤³¤ì¤Ï¡¢¥¿¥°¤È¥¿¥°¥ì¥Ã¥È¤¬¡¢
-¥³¥Þ¥ó¥É¹Ô¤Ç»ÈÍѤµ¤ì¤¿½ç¤Ë½èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹)¡£
-¤¿¤È¤¨¤Ð¡¢\-taglet ¤È \-tag ¤¬Î¾Êý¤È¤â todo ¤È¤¤¤¦
-̾Á°¤Ç¤¢¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É¹Ô¤ÎºÇ¸å¤Ç»ÈÍѤµ¤ì¤¿
-Êý¤¬½ç½ø¤ò·èÄꤷ¤Þ¤¹¡£
-.LP
-¥¿¥°¤Î´°Á´¤Ê¥»¥Ã¥È¤ÎÎã -
-¤³¤ÎÎã¤Ç¤Ï¡¢½ÐÎϤΠParameters ¤È Throws ¤Î´Ö¤Ë
-To Do ¤òÁÞÆþ¤·¤Þ¤¹¡£ ¡ÖX¡×¤ò»ÈÍѤ·¤Æ¡¢@example ¤¬
-¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Îº£²ó¤Î¼Â¹Ô¤Ç½ÐÎϤµ¤ì¤Ê¤¤¥¿¥°¤Ç
-¤¢¤ë¤³¤È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£ @argfile ¤ò»ÈÍѤ¹¤ë¤È¡¢
-¼¡¤Î¤è¤¦¤Ë¹Ô¤Î·Ñ³ʸ»ú¤Ê¤·¤Ç¡¢
-°ú¿ô¥Õ¥¡¥¤¥ë¤Î°Û¤Ê¤ë¹Ô¤Ë¥¿¥°¤òÇÛÃ֤Ǥ¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-tag param
-\-tag return
-\-tag todo:a:"To Do:"
-\-tag throws
-\-tag see
-\-tag example:X
-.fi
-.ft 1
-.RE
-.LP
-javadoc ¤¬¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥á¥ó¥È¤ò²òÀϤ¹¤ëºÝ¤Ë¡¢
-¸¡½Ð¤µ¤ì¤¿¥¿¥°¤Î¤¦¤Á¡¢É¸½à¥¿¥°¤Ç¤â¤Ê¤¯¡¢
-\-tag ¤ä \-taglet ¤ÇÅϤµ¤ì¤ë¥¿¥°¤Ç¤â¤Ê¤¤¤â¤Î¤Ï¡¢
-ÉÔÌÀ¤Ê¥¿¥°¤È¤·¤Æǧ¼±¤·¡¢·Ù¹ð¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£
-.LP
-ɸ½à¥¿¥°¤Ï¡¢ºÇ½é¡¢¥Ç¥Õ¥©¥ë¥È¤Î½ç½ø¤Ç
-¥ê¥¹¥ÈÆâÉôŪ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-\-tag ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¥¿¥°¤¬¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£
-ɸ½à¥¿¥°¤Ï¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤«¤é°ÜÆ°¤·¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢É¸½à¥¿¥°¤Ç \-tag ¥ª¥×¥·¥ç¥ó¤¬¾Êά¤µ¤ì¤ë¤È¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ËÇÛÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-¶¥¹ç¤Î²óÈò -
-¸ÇͤΥ͡¼¥à¥¹¥Ú¡¼¥¹¤òºÙ¤«¤¯Ê¬¤±¤ë¤Ë¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë com.mycompany.todo
-¤È¤¤¤¦Ì¾Á°¤Î¤è¤¦¤Ë¡¢¥É¥Ã¥È (.) ¤ò¶èÀڤ굹æ¤È¤¹¤ë̾Á°¤ò»È¤¤¤Þ¤¹¡£
-Sun ¤Ïº£¸å¤â¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤É¸½à¥¿¥°¤òºîÀ®¤·¤Þ¤¹¡£
-¥æ¡¼¥¶¤¬ºîÀ®¤·¤¿¥¿¥°¤Ï¡¢Sun ¤¬ÄêµÁ¤·¤¿Æ±¤¸
-̾Á°¤Î¥¿¥°¤ÎÆ°ºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢¥æ¡¼¥¶¤¬ @todo ¤È¤¤¤¦Ì¾Á°¤Î¥¿¥°¤Þ¤¿¤Ï
-¥¿¥°¥ì¥Ã¥È¤òºîÀ®¤·¤Æ¤¤¤¿¾ì¹ç¡¢¤½¤Î¤¢¤È¤Ç Sun ¤¬
-Ʊ¤¸Ì¾Á°¤Îɸ½à¥¿¥°¤òºîÀ®¤·¤Æ¤â¡¢¥æ¡¼¥¶¤¬ÄêµÁ¤·¤¿
-Æ°ºî¤Ï¤½¤Î¤Þ¤Þ°Ý»ý¤µ¤ì¤Þ¤¹¡£
-.LP
-\f3Ãí¼á vs. Javadoc ¥¿¥°\fP \- °ìÈ̤ˡ¢Äɲ乤ëɬÍפΤ¢¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¤¬¡¢¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤¿¤ê¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òÀ¸À®¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¤½¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤Ï javadoc ¥¿¥°¤Ë¤¹¤Ù¤¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÃí¼á¤Ë¤¹¤Ù¤¤Ç¤¹¡£
+\f3注釈 vs. Javadoc タグ\fP \- 一般に、追加する必要のあるマークアップが、ドキュメンテーションに影響を与えたりドキュメンテーションを生成したりするためのものである場合、そのマークアップは javadoc タグにすべきです。 それ以外の場合は注釈にすべきです。
.na
-¡Ö\f2Comparing Annotations and Javadoc Tags\fP¡×
+\f2「Comparing Annotations and Javadoc Tags」\fP @
.fi
-(http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotations) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotationsを参照してください。
.LP
-\-taglet ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¤è¤êÊ£»¨¤Ê
-¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤ä¥«¥¹¥¿¥à¥¤¥ó¥é¥¤¥ó¥¿¥°¤ò
-ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.TP
-\-taglet class
-¥¿¥°¤Î¥É¥¥å¥á¥ó¥È¤ÎÀ¸À®¤Ë»È¤¦¥¿¥°¥ì¥Ã¥È¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¯¥é¥¹¤Î´°Á´½¤¾þ̾¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥¿¥°¥ì¥Ã¥È¤Ï¡¢¥«¥¹¥¿¥à¥¿¥°¤¬»ý¤Ã¤Æ¤¤¤ë¥Æ¥¥¹¥È°ú¿ô¤Î
-¿ô¤âÄêµÁ¤·¤Þ¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤Ï¤³¤ì¤é¤Î°ú¿ô¤ò¼õ¤±¼è¤ê¡¢
-½èÍý¤·¡¢½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤ÎÎã¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-¥¿¥°¥ì¥Ã¥È¤Î³µÍפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ï¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥°¤Þ¤¿¤Ï¥¤¥ó¥é¥¤¥ó¥¿¥°¤Ë
-»ÈÍѤ¹¤ë¤ÈÊØÍø¤Ç¤¹¡£ ¥¿¥°¥ì¥Ã¥È¤Ç¤ÏǤ°Õ¤Î
-¿ô¤Î°ú¿ô¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¡¢¥«¥¹¥¿¥à¤ÎÆ°ºî¤ò¼ÂÁõ¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¥Æ¥¥¹¥È¤òÂÀ»ú¤Ë¤·¤¿¤ê¡¢²Õ¾ò½ñ¤·Á¼°¤Ë¤·¤¿¤ê¡¢
-¥Æ¥¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤½Ð¤·¤¿¤ê¡¢
-¾¤Î¥×¥í¥»¥¹¤òµ¯Æ°¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¤¹¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ç»ØÄê¤Ç¤¤ë¤Î¤Ï¡¢¥¿¥°¤ÎÇÛÃÖ¾ì½ê¤ÈÇÛÃÖ·Á¼°¤Î¤ß¤Ç¤¹¡£¤½¤Î¾¤Î¤¹¤Ù¤Æ¤Î·èÄê¤Ï¡¢¥É¥Ã¥¯¥ì¥Ã¥È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥¿¥°¥ì¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢Êñ´Þ¥¯¥é¥¹¤Î¥ê¥¹¥È¤«¤é¥¯¥é¥¹Ì¾¤òºï½ü¤¹¤ë¤Ê¤É¤Î½èÍý¤Ï¼Â¹Ô¤Ç¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥°¤Î¥Æ¥¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¤ê¡¢ÊÌ¤Î¥×¥í¥»¥¹¤ò¥È¥ê¥¬¤¹¤ë¤Ê¤É¤ÎÉûºîÍѤÏÆÀ¤é¤ì¤Þ¤¹¡£
-.LP
-¥¿¥°¥ì¥Ã¥È¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
-.B \-tagletpath
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥Ú¡¼¥¸¤Î Parameters ¤È Throws ¤Î´Ö¤Ë
-To Do ¥¿¥°¥ì¥Ã¥È¤òÁÞÆþ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-taglet com.sun.tools.doclets.ToDoTaglet
-\-tagletpath /home/taglets
-\-tag return
-\-tag param
-\-tag todo
-\-tag throws
-\-tag see
-.fi
-.ft 1
-.RE
-.LP
-.B \-taglet
-¥ª¥×¥·¥ç¥ó¤ò
-.B \-tag
-¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¤¬¡¢
-¤½¤Î·ë²Ì¡¢Æɤߤˤ¯¤¯¤Ê¤ê¤Þ¤¹¡£
-.TP
-\-tagletpath tagletpathlist
-taglet ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (.class) ¤òõ¤¹¤¿¤á¤Î¸¡º÷¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-.I tagletpathlist
-¤Ë¤Ï¡¢¥³¥í¥ó (:) ¤Ç
-¶èÀڤäÆÊ£¿ô¤Î¥Ñ¥¹¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¹°Ê²¼¤Î¤¹¤Ù¤Æ¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Þ¤¹¡£
-.TP
-\-docfilessubdirs
-doc-files ¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢²¼¤Î³¬Áؤò´Þ¤á¤Æ¥³¥Ô¡¼
-¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤È¤¹¤Ù¤Æ¤Î
-¥³¥ó¥Æ¥ó¥Ä¤¬¡¢À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ËºÆµ¢Åª¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢
-.BR doc-files/example/images
-¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÃæ¤Î¥Õ¥¡¥¤¥ë¤¬¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£
-.TP
-\-excludedocfilessubdirs name1:name2:...
-doc-files ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢»ØÄꤵ¤ì¤¿
-̾Á°¤Î¤â¤Î¤ò½ü³°¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-SCCS ¤ª¤è¤Ó¤½¤Î¾¤Î¥½¡¼¥¹¥³¡¼¥É´ÉÍý¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£
-.TP
-\-noqualifier all | packagename1:packagename2:...
-½¤¾þ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¡¢½ÐÎϤΥ¯¥é¥¹Ì¾¤ÎÁ°¤«¤éºï½ü¤·¤Þ¤¹¡£
-\-noqualifier ¤Î°ú¿ô¤Ï
-all (¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤òºï½ü)¡¢
-¤Þ¤¿¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¥ê¥¹¥È¤Î
-¤¤¤º¤ì¤«¤Ç¡¢½¤¾þ»Ò¤È¤·¤Æºï½ü¤µ¤ì¤Þ¤¹¡£
-¥ï¥¤¥ë¥É¥«¡¼¥É¤â»ÈÍѤǤ¤Þ¤¹¡£
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬
-ɽ¼¨¤µ¤ì¤¿¤È¤³¤í¤«¤éºï½ü¤µ¤ì¤Þ¤¹¡£
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier all
-.fi
-.ft 1
-.RE
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò java.lang
-¤ª¤è¤Ó java.io ¤ò¾Êά¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier java.lang:java.io
-.fi
-.ft 1
-.RE
-.LP
-¼¡¤ÎÎã¤Ç¤Ï¡¢java ¤ª¤è¤Ó com.sun ¤«¤é
-»Ï¤Þ¤ë (javax ¤ò½ü¤¯)
-¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤òºï½ü¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-noqualifier java.*:com.sun.*
-.fi
-.ft 1
-.RE
-.LP
-¥Ñ¥Ã¥±¡¼¥¸½¤¾þ»Ò¤¬¾åµ¤ÎÆ°ºî¤Ë½¾¤Ã¤Æɽ¼¨¤µ¤ì¤ë¾ì¹ç¡¢Ì¾Á°¤ÏŬÀÚ¤Ëû¤¯¤µ¤ì¤Þ¤¹¡£¾ÜºÙ¤Ï¡Ö̾Á°¤Îɽ¼¨ÊýË¡¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îµ¬Â§¤Ï¡¢
-\-noqualifier ¤¬
-»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤ºÂ¸ºß¤·¤Þ¤¹¡£
-.TP
-.BI \-notimestamp
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬ÍÞÀ©¤µ¤ì¤Þ¤¹¡£
-³Æ¥Ú¡¼¥¸ÀèƬ¶á¤¯¤Ë¤¢¤ë¡¢À¸À®¤µ¤ì¤¿ HTML Æâ¤Î
-HTML ¥³¥á¥ó¥È¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬±£¤µ¤ì¤Þ¤¹¡£
-.B Javadoc
-¤ò 2 ¤Ä¤Î¥½¡¼¥¹¥Ù¡¼¥¹¤Ç¼Â¹Ô¤·¡¢¤½¤ì¤é¤ËÂФ·¤Æ
-diff ¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤è¤Ã¤Æ diff ¤¬È¯À¸¤·¤Ê¤¯¤Ê¤ë¤Î¤Ç
-ÊØÍø¤Ç¤¹ (¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢
-³Æ¥Ú¡¼¥¸¤Ç diff ¤Ë¤Ê¤ê¤Þ¤¹)¡£
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ë¤Ï
-.B Javadoc
-¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢
-¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.RS 5
- <!-- Generated by javadoc (build 1.5.0-internal)
- on Tue Jun 22 09:57:24 PDT 2004 -->
-.RE
-.TP
-\-nocomment
-µ½Ò¤ª¤è¤Ó¤¹¤Ù¤Æ¤Î¥¿¥°¤ò´Þ¤à¥³¥á¥ó¥È
-ËÜʸÁ´ÂΤòÍÞÀ©¤·¡¢Àë¸À¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢¸µ¤Ï°Û¤Ê¤ëÌÜŪ¤Î¤¿¤á¤À¤Ã¤¿
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºÆÍøÍѤ·¡¢
-¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤Î¤¿¤á¤Î¥¹¥±¥ë¥È¥ó¤ò
-ºîÀ®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-.SS ¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë
-.BR javadoc
-¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢
-.BR javadoc
-¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\-J ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤¬
-Æþ¤Ã¤¿ 1 ¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤³¤È¤òÍøÍѤ¹¤ì¤Ð¡¢¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à
-¾å¤Ç¤â¡¢Ç¤°Õ¤ÎŤµ¤Î
-.BR javadoc
-¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢javac ¥ª¥×¥·¥ç¥ó¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤ò
-¼«Í³¤ËÁȤ߹ç¤ï¤»¤Æµ½Ò¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¡¢Javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤òµ½Ò¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¶õÇòʸ»ú¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë̾¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾Á´ÂΤòÆó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¥ê¥¹¥È¤Ç¤Ï¡¢
-¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢*.java ¤È¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó¡£
-°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç @ ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢
-Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤Þ¤¿¡¢\-J ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢
-µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-.LP
-.BR javadoc
-¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤Î
-ÀèƬ¤Ë @ ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£
-.BR javadoc
-¤Ï¡¢@ ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä»ØÄꤹ¤ëÎã
-.LP
-argfile ¤È¤¤¤¦Ì¾Á°¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤¹¤Ù¤Æ¤Î
-Javadoc °ú¿ô¤ò³ÊǼ¤·¡¢¼¡¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @argfile
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë
-2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòξÊý¤È¤âÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä»ØÄꤹ¤ëÎã
-.LP
-Javadoc ¥ª¥×¥·¥ç¥óÍÑ¤Ë 1 ¤Ä¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Þ¤¿¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ÍѤË
-1 ¤Ä¤È¤¤¤¦¤è¤¦¤Ë¡¢2 ¤Ä¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
-¼¡¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Ê¤ª¡¢¤³¤Î¤¢¤È¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¹Ô¤Î·Ñ³ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
-.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à options ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-\-d docs-filelist
-\-use
-\-splitindex
-\-windowtitle 'Java 2 Platform v1.3 API Specification'
-\-doctitle 'Java<sup><font size="-2">TM</font></sup> 2\\
- Platform 5.0 API Specification'
-\-header '<b>Java 2 Platform </b><br><font size="-1">5.0</font>'
-\-bottom 'Copyright 1993-2000 Sun Microsystems, Inc. All Rights Reserved.'
-\-group "Core Packages" "java.*"
-\-overview /java/pubs/ws/1.5/src/share/classes/overview-core.html
-\-sourcepath /java/pubs/ws/1.5/src/share/classes
-.fi
-.ft 1
-.RE
-.LP
-°Ê²¼¤ÎÆâÍƤò´Þ¤à packages ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-com.mypackage1
-com.mypackage2
-com.mypackage3
-.fi
-.ft 1
-.RE
-.LP
-¤½¤Î¤¢¤È¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @options @packages
-.fi
-.ft 1
-.RE
-.LP
-¥Ñ¥¹ÉÕ¤¤Î°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÎã
-.LP
-°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ñ¥¹¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤¿¤À¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢
-¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢²¼¤ÎÎã¤Î¾ì¹ç¤Ï¡¢path1 ¤ä
-path2 ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @path1/options @path2/packages
-.fi
-.ft 1
-.RE
-.LP
-¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ÎÎã
-.LP
-¼¡¤Ë¡¢javadoc ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤À¤±¤ò°ú¿ô¥Õ¥¡¥¤¥ë¤Ë
-³ÊǼ¤¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢\-bottom ¥ª¥×¥·¥ç¥ó¤ò
-Îã¤Ë¼è¤ê¾å¤²¤Þ¤¹¡£¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢
-¤«¤Ê¤êŤ¤°ú¿ô¤ò»ØÄꤹ¤ë¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
-¤Þ¤º¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î¥Æ¥¥¹¥È°ú¿ô¤Ë¤Ê¤ë
-¼¡¤Î¤è¤¦¤ÊÆâÍƤò´Þ¤à¡¢bottom ¤È¤¤¤¦Ì¾Á°¤Î
-¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-.LP
-'<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">
-Submit a bug or feature</a><br><br>Java is a
-trademark or registered trademark of
-Sun Microsystems, Inc. in the US and other
-countries.<br>Copyright 1993-2000 Sun
-Microsystems, Inc. 901 San Antonio Road,<br>Palo
-Alto, California, 94303, U.S.A.
-All Rights Reserved.</font>'
-.LP
-¤½¤Î¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+\-taglet オプションを使用して、より複雑なブロックタグやカスタムインラインタグを 作成することができます。
.LP
.TP 3
-% javadoc \-bottom @bottom @packages
-.LP
-¤Þ¤¿¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë
-\-bottom ¥ª¥×¥·¥ç¥ó¤òÁȤ߹þ¤ó¤Ç¤ª¤±¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-% javadoc @bottom @packages
-.fi
-.ft 1
-.RE
-.TP
-.SH ¼Â¹Ô
-.SS Javadoc ¤Î¼Â¹Ô
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ -
-.LP
-javadoc ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï
-.BR javadoc \-J\-version
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç³Îǧ¤Ç¤¤Þ¤¹¡£
-ɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ë
-ɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï \-quiet ¥ª¥×¥·¥ç¥ó¤Ç¥ª¥Õ¤Ë¤Ç¤¤Þ¤¹¡£
-.LP
-¥×¥í¥°¥é¥à¤«¤éÍøÍѤǤ¤ë public ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ -
-Java ¸À¸ì¤Ç½ñ¤«¤ì¤¿¥×¥í¥°¥é¥àÆ⤫¤é
-.B javadoc
-¥Ä¡¼¥ë¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï
-.BR com.sun.tools.javadoc.Main
-(javadoc ¤ÏºÆÆþ)
-¤Ë¤¢¤ê¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢¡Öɸ½à¥É¥Ã¥¯¥ì¥Ã¥È¡×
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f3¥É¥Ã¥¯¥ì¥Ã¥È¤Î¼Â¹Ô\fP \-
-²¼µ¤ÎÀâÌÀ¤Ï¡¢É¸½à HTML ¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£¥«¥¹¥¿¥à¥É¥Ã¥¯¥ì¥Ã¥È¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢\-doclet ¤ª¤è¤Ó \-docletpath ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ÆÃÄê¤Î¥É¥Ã¥¯¥ì¥Ã¥È¤ò¼Â¹Ô¤·¤¿´°Á´¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+\-taglet\ \ class
+そのタグのドキュメントの生成に使うドックレットを起動するためのクラスファイルを指定します。クラスの完全指定名を指定してください。このタグレットは、カスタムタグのテキスト引数の数も定義します。タグレットは、これらの引数を受け付け、処理し、出力を生成します。外部ドキュメントとサンプルタグレットについては、以下を参照してください。
+.RS 3
+.TP 2
+o
.na
-¡Ö\f2Running the MIF Doclet\fP¡×
+\f2「タグレットの概要」\fP @
.fi
-(http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html
+.RE
.LP
-.SH "»ÈÍÑÎã"
-.B javadoc
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â¡¢
-¸Ä¡¹¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â
-¤Ç¤¤Þ¤¹¡£³Æ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ï¡¢¤½¤ì¤¾¤ì¤Î
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò
-»ý¤Á¤Þ¤¹¡£¼¡¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï
-.BR /home/src/java/awt/*java
-¤Ë¤¢¤ê¤Þ¤¹¡£À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ï
-.BR /home/html
-¤Ç¤¹¡£
-.SS "1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥É¥¥å¥á¥ó¥È²½"
-¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤Ë¤Ï¡¢¤½¤Î
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (*\f3.java\f1)
-¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ä¥Ç¥£¥ì¥¯¥È¥ê
-Æâ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬Ê£¿ô¤Î¼±Ê̻Ҥǹ½À®¤µ¤ì¤Æ¤¤¤ë
-(java.awt.color ¤Î¤è¤¦¤Ë¡¢³Æ¼±Ê̻ҤϥɥåȤÇ
-¶èÀÚ¤é¤ì¤Æ¤¤¤ë) ¾ì¹ç¤Ï¡¢¸å³¤Î³Æ¼±Ê̻Ҥ¬²¼°Ì¤Î
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÂбþ¤·¤Æ
-¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (java/awt/color ¤Ê¤É)¡£
-1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¿¤á¤ÎÊ£¿ô¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¡¢
-°Û¤Ê¤ë¾ì½ê¤Ë¤¢¤ë 2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ëʬ¤±¤Æ
-³ÊǼ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹
- (
-.BR src1/java/awt/color
-¤È
-.BR src2/java/awt/color
-¤Ê¤É)¡£
-¤¿¤À¤·¡¢¤½¤Î¾ì¹ç¤Ï¡¢\-sourcepath ¤Ë¤è¤Ã¤Æ¡¢
-¤½¤ÎξÊý¤Î¾ì½ê¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+タグレットは、標準タグまたはインラインタグで便利です。タグレットは任意の数の引数をとることができます。 また、テキストを太字にする、箇条書きを作成する、テキストをファイルに書き出す、その他のプロセスを開始するなどのカスタム動作を実装できます。
.LP
-.B javadoc
-¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢cd ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ
-¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¤«¡¢
-¤Þ¤¿¤Ï
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 1 - 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¤Îµ¯Æ°¤òºÆµ¢Åª¤Ë¼Â¹Ô -
-¤³¤ÎÎã¤Ç¤Ï javadoc ¤¬Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¡¢
-.BR \-sourcepath
-¤ò»ÈÍѤ·¡¢ºÆµ¢Åª½èÍý¤Î¤¿¤á¤Ë -subpackages (1.4 ¤Î¿·¥ª¥×¥·¥ç¥ó) ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢java ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸ (
-.BR java.net
-¤ª¤è¤Ó
-.BR java.lang
-¤ò¥ë¡¼¥È¤È¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤ò½ü¤¯) ¤ò½èÍý¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ
-.BR java.lang.ref (
-.BR java.lang
-¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸) ¤¬
-½ü³°¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+タグレットで指定できるのは、タグの配置場所と配置形式のみです。その他のすべての決定は、ドックレットによって行われます。タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガーするなどの副作用は得られます。
.LP
-.RS
-.ft 3
+タグレットのパスを指定するには、\f2\-tagletpath\fP オプションを使用します。以下は、生成されるページの「Parameter」と「Throws」の間に「To Do」タグレットを挿入する例です。
.nf
-% javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java.net:java.lang
+\f3
+.fl
+ \-taglet com.sun.tools.doclets.ToDoTaglet
+.fl
+ \-tagletpath /home/taglets
+.fl
+ \-tag return
+.fl
+ \-tag param
+.fl
+ \-tag todo
+.fl
+ \-tag throws
+.fl
+ \-tag see
+.fl
+\fP
.fi
-.ft 1
-.RE
.LP
-¾¤Î¥Ñ¥Ã¥±¡¼¥¸¥Ä¥ê¡¼¤ò½èÍý¤¹¤ë¤Ë¤Ï¡¢
-.BR java:javax:org.xml.sax
-¤Î¤è¤¦¤Ë¡¢¤½¤Î̾Á°¤ò
-.BR \-subpackages
-°ú¿ô¤ËÄɲä·¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 2 - ¥ë¡¼¥È¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤«¤éÌÀ¼¨Åª¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ò¼Â¹Ô -
-´°Á´½¤¾þ¥Ñ¥Ã¥±¡¼¥¸¤Î
-¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë
-1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+\f2\-tag\fP オプションの代わりに \f2\-taglet\fP オプションを使用することもできますが、読みやすさを考慮するなら、\f2\-tag\fP オプションを使用したほうがよいでしょう。
.LP
-.RS
-.ft 3
+.TP 3
+\-tagletpath\ \ tagletpathlist
+taglet クラスファイル (.class) の検索パスを指定します。\f2tagletpathlist\fP には、コロン (\f2:\fP) で区切って複数のパスを含めることができます。Javadoc ツールは、指定されたパスの以下すべてのサブディレクトリを検索します。
+.LP
+.TP 3
+\-docfilessubdirs\
+\f2doc\-files\fP ディレクトリの深いコピーを有効にします。つまり、コピー先には、サブディレクトリとすべてのコンテンツがコピーされます。たとえば、\f2doc\-files/example/images\fP ディレクトリとその中のファイルがコピーされます。ここでも、サブディレクトリを除外する指定が可能です。
+.LP
+.TP 3
+\-excludedocfilessubdir\ \ name1:name2...
+所定の名前の \f2doc\-files\fP サブディレクトリを除外します。これにより、SCCS とその他のソースコード制御サブディレクトリのコピーを防ぎます。
+.LP
+.TP 3
+\-noqualifier\ \ all\ | \ packagename1:packagename2:...
+出力されるクラス名の先頭のパッケージ名 (パッケージ修飾子) を省略します。\f2\-noqualifier\fP の引数として \f2all\fP を指定した場合、すべてのパッケージ修飾子がすべて省略されます。 削除する複数のパッケージ名をコロンで区切って、ワイルドカードとともに指定することもできます。クラスまたはインタフェース名が表示される位置からパッケージ名が削除されます。
+.LP
+次の例では、すべてのパッケージ修飾子を省略します。
.nf
-% cd /home/src/
-% javadoc \-d /home/html java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier all
+.fl
+\fP
.fi
-.ft 1
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 3 - Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë - ¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤³¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò
-.B \-sourcepath
-¤Ë»ØÄꤷ¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¡¢
-.B javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+次の例では、パッケージ修飾子 java.lang および java.io を省略します。
.nf
- % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier java.lang:java.io
+.fl
+\fP
.fi
-.ft 1
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 4 - Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¼Â¹Ô¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼Æâ¤Ë¤¢¤ë - ¤³¤ì¤Ï¥±¡¼¥¹ 3 ¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¤¬Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¸ºß¤·¤Þ¤¹¡£ ³Æ¥Ä¥ê¡¼¤Î¥ë¡¼¥È¤Ø¤Î¥Ñ¥¹¤ò
-.B \-sourcepath
-¤Ë»ØÄꤷ (¥³¥í¥ó¤Ç¶èÀÚ¤ë)¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò»ØÄꤷ¤Æ¡¢javadoc ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ 1 ¤Ä¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¡¢1 ¤Ä¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥½¡¼¥¹¥Ñ¥¹¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì½ê¤Î¤É¤³¤«¤Ç¸«ÉÕ¤«¤ì¤Ð½½Ê¬¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
+次の例では、java で始まるパッケージ修飾子と com.sun というサブパッケージ (javax ではない) を省略します。
.nf
-% javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event
+\f3
+.fl
+ \-noqualifier java.*:com.sun.*
+.fl
+\fP
.fi
-.ft 1
-.RE
+パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短くされます。 詳細は「名前の表示方法」を参照してください。この規則は、\f2\-noqualifier\fP を使用したかどうかにかかわらず有効です。
.LP
-·ë²Ì: ¤É¤Á¤é¤Î¥±¡¼¥¹¤Ç¤â¡¢¥Ñ¥Ã¥±¡¼¥¸
-.B java.awt
-¤È
-.B java.awt.event
-¤Î public ¤ª¤è¤Ó protected
-¤Ê¥¯¥é¥¹¤È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÂоݤˡ¢HTML ·Á¼°¤Î
-¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¡¢»ØÄê
-¤µ¤ì¤¿À¸À®Àè¥Ç¥£¥ì¥¯¥È¥ê (\f3/home/html\f1) ¤Ë HTML ¥Õ¥¡¥¤¥ë¤¬
-Êݸ¤µ¤ì¤Þ¤¹¡£2 ¤Ä
-°Ê¾å¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¥É¥¥å¥á¥ó¥È¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥ê¥¹¥È¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¡¢
-¤ª¤è¤Ó¥á¥¤¥ó¥Ú¡¼¥¸¤Î 3 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.SS "1 ¤Ä°Ê¾å¤Î¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½"
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë 2 ÈÖÌܤÎÊýË¡¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë (
-.B .java
-) ¤òÅϤ¹¤³¤È¤Ç¤¹¡£
-.B javadoc
-¤Ï¡¢¼¡¤Î 2 ¤Ä¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-1 ¤Ä¤Ï¡¢(cd ¤Ë¤è¤Ã¤Æ) ¥Ç¥£¥ì¥¯¥È¥ê¤ò
-Êѹ¹¤¹¤ëÊýË¡¡¢¤â¤¦ 1 ¤Ä¤Ï
-.B .java
-¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ò´°Á´»ØÄꤹ¤ëÊýË¡¤Ç¤¹¡£
-ÁêÂХѥ¹¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹¡£
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÅϤ·¤¿¾ì¹ç¡¢
-.B \-sourcepath
-¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯ (*) ¤Î
-¤è¤¦¤Ê¥³¥Þ¥ó¥É¹Ô¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢
-¥¯¥é¥¹¤Î¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 1 ¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î°ÜÆ°:
-.B .java
-¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-¼¡¤Ë¡¢¥É¥¥å¥á¥ó¥È²½¤¹¤ë 1 ¤Ä°Ê¾å¤Î
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
+.TP 3
+\-notimestamp\
+タイムスタンプが抑制されます。 各ページ先頭近くにある、生成された HTML 内の HTML コメントでタイムスタンプが隠されます。Javadoc を 2 つのソースベースで実行し、それらに対して diff を実行するときにこのオプションを使用すると、タイムスタンプによって diff が発生しなくなるので便利です (このオプションを使用しないと、各ページで diff になります)。タイムスタンプには Javadoc のバージョン番号が含まれており、次のようになります。
.nf
-% cd /home/src/java/awt
-% javadoc \-d /home/html Button.java Canvas.java Graphics*.java
+\f3
+.fl
+ <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\->
+.fl
+\fP
.fi
-.ft 1
+.LP
+.TP 3
+\-nocomment\
+主説明およびすべてのタグを含むコメント本文全体を抑制し、宣言だけを生成します。このオプションにより、元は異なる目的のためだったソースファイルを再利用し、新しいプロジェクトの早い段階でスケルトン HTML ドキュメントを作成できるようになりました。
.RE
+.SH "コマンド行引数ファイル"
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹ Button ¤È Canvas¡¢
-¤ª¤è¤ÓÀèƬ¤¬ Graphics ¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Î
-HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.BR javadoc
-¤Î°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢
-¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¤Ï¤Ê¤¯¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç¡¢
-¥É¥¥å¥á¥ó¥È¤Ï¡¢¥¯¥é¥¹¤Î¥ê¥¹¥È¤È
-¥á¥¤¥ó¥Ú¡¼¥¸¤Î 2 ¤Ä¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 2 ¥Ñ¥Ã¥±¡¼¥¸¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î°ÜÆ°:
-¤³¤ì¤Ï¡¢Æ±¤¸¥ë¡¼¥ÈÆâ¤Ë¤¢¤ëÊ£¿ô¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸Ä¡¹¤Ë
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤Î
-¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢³Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò
-¥ë¡¼¥È¤«¤é¤Î¥Ñ¥¹¤Ç»ØÄꤷ¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-% cd /home/src/
-% javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java
-.fi
-.ft 1
-.RE
+\f2javadoc\fP のコマンド行を短くしたり簡潔にしたりするために、\f2javadoc\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) が入った 1 つ以上のファイルを指定することができます。このことを利用すれば、どのオペレーティングシステム上でも、任意の長さの javadoc コマンドを作成できます。
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢Button ¥¯¥é¥¹¤ª¤è¤Ó Applet ¥¯¥é¥¹
-ÍѤΠHTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP 2
-\(bu
-.B ¥±¡¼¥¹ 3 ¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é:
-¤³¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤É¤Î
-¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¥É¥¥å¥á¥ó¥È²½¤¹¤ë
-.B .java
-¥Õ¥¡¥¤¥ë¤Ø¤ÎÀäÂХѥ¹¤Þ¤¿¤Ï
-ÁêÂХѥ¹¤ò»ØÄꤷ¤Æ
-.BR javadoc
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java
-.fi
-.ft 1
-.RE
+引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
.LP
-.RS 2
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¯¥é¥¹
-.B Button
-¤ª¤è¤ÓÀèƬ¤¬
-.BR Graphics
-¤Ç»Ï¤Þ¤ë¥¯¥é¥¹¤Î HTML ·Á¼°
-¤Î¥É¥¥å¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.RE
-.SS "¥Ñ¥Ã¥±¡¼¥¸¤È¥¯¥é¥¹¤Î¥É¥¥å¥á¥ó¥È²½"
-¥Ñ¥Ã¥±¡¼¥¸Á´ÂΤȸġ¹¤Î¥¯¥é¥¹¤òƱ»þ¤Ë¥É¥¥å¥á¥ó¥È
-²½¤Ç¤¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¾å¤Ë¼¨
-¤·¤¿ 2 ¤Ä¤ÎÎã¤òÁȤ߹ç¤ï¤»¤¿Îã¤Ç¤¹¡£
-.B \-sourcepath
-¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍѤǤ¤Þ¤¹¤¬¡¢
-¸Ä¡¹¤Î¥¯¥é¥¹¤Î¥Ñ¥¹¤ËÂФ·¤Æ¤Ï»ÈÍÑ
-¤Ç¤¤Þ¤»¤ó¡£
.LP
-.RS
-.ft 3
-.nf
-% javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java
-.fi
-.ft 1
-.RE
+引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸
-.B java.awt
-¤È¥¯¥é¥¹
-.B Applet
-¤Î HTML ·Á¼°¤Î¥É¥¥å¥á¥ó¥È¤¬
-À¸À®¤µ¤ì¤Þ¤¹¡£
-.B javadoc
-¤Ï¡¢Applet ¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ò¡¢
-.B Applet.java
-¥½¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÀë¸À (Àë¸À¤¬¤¢¤ë¾ì¹ç) ¤«¤é·èÄꤷ¤Þ¤¹¡£
-.SS "»ÈÍÑÎã"
-.B javadoc
-¥Ä¡¼¥ë¤Ë¤Ï¡¢Â¿¤¯¤ÎÊØÍø¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢
-¤½¤ÎÃæ¤Î¤¤¤¯¤Ä¤«¤Ï¡¢¤Û¤«¤Î¥ª¥×¥·¥ç¥ó¤è¤ê¤â¤è¤¯
-»È¤ï¤ì¤Þ¤¹¡£°Ê²¼¤Ï¡¢makefile ÊÑ¿ô¤ò»È¤Ã¤Æ Java ¥×¥é¥Ã¥È
-¥Õ¥©¡¼¥à API ¾å¤Ç
-.B javadoc
-¥Ä¡¼¥ë¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤¦¸ú²ÌŪ¤Ê¥³¥Þ¥ó¥É¤Ç¤¹¡£
-¤³¤³¤Ç¤Ï 180M ¥Ð¥¤¥È¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Æ¡¢
-Java 2 Platform, Standard Edition, v1.2 ¤Ë
-¸ºß¤¹¤ë¡¢Ìó 1500 ¸Ä¤Î public ¤ª¤è¤Ó protected
-¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¥É¥¥å¥á¥ó¥È¤òÀ¸À®¤·¤Þ¤¹¡£
.LP
-Ʊ¤¸Îã¤ò 2 ²ó·ÇºÜ¤·¤Þ¤¹¡£ºÇ½é¤ÎÎã¤Ï¥³¥Þ¥ó¥É¹Ô¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¡¢2 ÈÖÌܤÎÎã¤Ï Makefile ¤«¤é¼Â¹Ô¤¹¤ë¤â¤Î¤Ç¤¹¡£ ¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤ËÀäÂХѥ¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤³¤Î
-.B javadoc
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.SS ¥³¥Þ¥ó¥É¹Ô¤ÎÎã
-¼¡¤Î¥³¥Þ¥ó¥É¹Ô¤ÎÎã¤Ï 900 ʸ»ú¤òĶ¤¨¤Æ¤¤¤ë¤¿¤á¡¢
-DOS ¤Ê¤É¤Î¥·¥§¥ë¤Ë¤ÏÂ礤¹¤®¤Þ¤¹¡£
-¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô
-°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿¤Ï¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òµ½Ò¤·¤Þ¤¹¡£
+javadoc を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javadoc は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.LP
+.SS
+引数ファイルを 1 つ指定する例
+.LP
+.LP
+\f2argfile\fP という名前の引数ファイルにすべての Javadoc 引数を格納し、次のように使用することができます。
.LP
.nf
\f3
.fl
-% javadoc \-sourcepath /java/jdk/src/share/classes \\
+ % \fP\f3javadoc @argfile\fP
.fl
- \-overview /java/jdk/src/share/classes/overview.html \\
+.fi
+
+.LP
+.LP
+この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
+.LP
+.SS
+引数ファイルを 2 つ指定する例
+.LP
+.LP
+Javadoc オプション用に 1 つ、ソースファイル名用に 1 つというように、2 つの引数ファイルを作成し、次のようにして使用することができます。なお、このあとのリストでは、行の継続文字を使用していません。
+.LP
+.LP
+以下の内容を含む \f2options\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
.fl
- \-d /java/jdk/build/api \\
+ \-d docs\-filelist
.fl
- \-use \\
+ \-use
.fl
- \-splitIndex \\
+ \-splitindex
.fl
- \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+ \-windowtitle 'Java 2 Platform v1.3 API Specification'
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\
+ \-doctitle 'Java(TM) 2 Platform 5.0 API Specification'
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
+ \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>'
+.fl
+ \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.'
+.fl
+ \-group "Core Packages" "java.*"
+.fl
+ \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html
+.fl
+ \-sourcepath /java/pubs/ws/1.5/src/share/classes
+.fl
+\fP
+.fi
+
+.LP
+.LP
+以下の内容を含む \f2packages\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+ com.mypackage1
+.fl
+ com.mypackage2
+.fl
+ com.mypackage3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+そのあと、次のコマンドを使用して javadoc を実行します。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @options @packages\fP
+.fl
+.fi
+
+.LP
+.SS
+パス付きの引数ファイルの例
+.LP
+.LP
+引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @path1/options @path2/packages\fP
+.fl
+.fi
+
+.LP
+.SS
+オプションの引数の例
+.LP
+.LP
+次に、Javadoc オプションに対する引数だけを引数ファイルに格納する例を示します。ここでは、\f2\-bottom\fP を例に取り上げます。 そのオプションには、かなり長い引数を指定することがあるからです。まず、このオプションのテキスト引数になる次のような内容を含む、\f2bottom\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+'<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit a
+.fl
+bug or feature</a><br><br>Java is a trademark or registered trademark of
+.fl
+Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993\-2000 Sun
+.fl
+Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.
+.fl
+All Rights Reserved.</font>'
+.fl
+\fP
+.fi
+
+.LP
+.LP
+そのあと、次のようにして Javadoc ツールを実行します。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-bottom @bottom @packages\fP
+.fl
+.fi
+
+.LP
+.LP
+また、引数ファイルの先頭に \f2\-bottom\fP オプションを組み込んでおけば、次のようにして実行できます。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc @bottom @packages\fP
+.fl
+.fi
+.SH "名前"
+実行
+.SH "Javadoc の実行"
+.LP
+.LP
+\f3バージョン番号\fP \- javadoc のバージョン番号を判別するには、\f3javadoc \-J\-version\fP を使用します。出力ストリームには標準ドックレットのバージョン番号が含まれます。\f2\-quiet\fP で無効にできます。
+.LP
+.LP
+\f3公開プログラムインタフェース\fP \- Java 言語で記述されたプログラムから Javadoc ツールを起動するとき使用します。このインタフェースは \f2com.sun.tools.javadoc.Main\fP にあります (javadoc は再入可能)。詳細は、
+.na
+\f2「標準ドックレット」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammaticallyを参照してください。
+.LP
+.LP
+\f3ドックレットの実行\fP \- 下記の説明は、標準 HTML ドックレットを呼び出すためのものです。カスタムドックレットを呼び出すには、\-doclet および \-docletpath オプションを使用します。特定のドックレットを実行した完全な例については、
+.na
+\f2MIF Doclet のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlを参照してください。
+.LP
+.SH "簡単な例"
+.LP
+.LP
+javadoc は、パッケージ全体に対して実行することも、個々のソースファイルに対して実行することもできます。各パッケージ名は、それぞれのパッケージ名に対応するディレクトリ名を持ちます。次の例では、ソースファイルは \f2/home/src/java/awt/*.java\fP にあります。生成先ディレクトリは \f2/home/html\fP です。
+.LP
+.SS
+1 つ以上のパッケージのドキュメント化
+.LP
+.LP
+パッケージをドキュメント化するには、そのパッケージのソースファイル (\f2*.java\fP) が、パッケージと同じ名前を持つディレクトリ内に存在していなければなりません。パッケージ名が複数の識別子で構成されている (\f2java.awt.color\fP のように、各識別子はドットで区切られている) 場合は、後続の各識別子が下位のサブディレクトリに対応していなければなりません (\f2java/awt/color\fP など)。1 つのパッケージのための複数のソースファイルを、異なる場所にある 2 つのディレクトリツリーに分けて格納することも可能です (\f2src1/java/awt/color\fP と \f2src2/java/awt/color\fP など)。 ただし、その場合は、\f2\-sourcepath\fP によって、その両方の場所を指定しなければなりません。
+.LP
+.LP
+javadoc を実行するには、\f2cd\fP コマンドを使ってディレクトリを変更するか、または \f2\-sourcepath\fP オプションを使用します。以下の例では、両方の方法について説明します。
+.LP
+.RS 3
+.TP 2
+o
+\f3ケース 1 \- 1 つ以上のパッケージからの起動を再帰的に実行\fP \- この例では javadoc が任意のディレクトリから実行できるように、\-sourcepath を使用し、再帰的処理のために \-subpackages (1.4 の新オプション) を使用します。これは、\f2java\fP のサブパッケージ (\f2java.net\fP および \f2java.lang\fP をルートとするパッケージを除く) を処理します。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP
+.fl
+.fi
+.LP
+その他のパッケージツリーを巡回するには、\f2java:javax:org.xml.sax\fP のように、\f2\-subpackages\fP 引数にその名前を追加します。
+.TP 2
+o
+\f3ケース 2 \- ルートソースディレクトリに移ってから明示的なパッケージに対して実行\fP \- 完全指定のパッケージ名の親ディレクトリに移ります。次に、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/\fP
+.fl
+ % \f3javadoc \-d /home/html java.awt java.awt.event\fP
+.fl
+.fi
+.TP 2
+o
+\f3ケース 3 \- 任意のディレクトリから実行。 ソースファイルは 1 つのディレクトリツリー内にある\fP \- このケースでは、現在のディレクトリがどこであってもかまいません。最上位パッケージの親ディレクトリを \f2\-sourcepath\fP に指定し、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP
+.fl
+.fi
+.TP 2
+o
+\f3ケース 4 \- 任意のディレクトリから実行。 ソースファイルは複数のディレクトリツリー内にある\fP \- これはケース 3 と似ていますが、パッケージが複数のディレクトリツリーに存在します。それぞれのツリーのルートへのパスを \f2\-sourcepath\fP に指定し (コロンで区切る)、ドキュメント化する 1 つ以上のパッケージ名を指定して javadoc を実行します。1 つのパッケージのすべてのソースファイルが、1 つのルートディレクトリの下に存在しなければならない、ということはありません。 ソースパスとして指定された場所のどこかで見つかれば十分です。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP
+.fl
+.fi
+.RE
+
+.LP
+.LP
+結果: 上記のどのケースでも、\f2java.awt\fP と \f2java.awt.event\fP パッケージ内の public および protected クラスとインタフェースについて、HTML 形式のドキュメントが生成され、指定された生成先ディレクトリ (\f2/home/html\fP) に HTML ファイルが保存されます。2 つ以上のパッケージが生成されているので、ドキュメントは、パッケージのリスト、クラスのリスト、およびメインのクラスページという 3 つのフレームを持つことになります。
+.LP
+.SS
+1 つ以上のクラスのドキュメント化
+.LP
+.LP
+また、1 つ以上のソースファイル (\f2.java\fP) を渡して、Javadoc ツールを実行することもできます。javadoc は、次の 2 つのどちらかの方法で実行できます。 1 つは、\f2cd\fP コマンドでディレクトリを変更する方法、もう 1 つは \f2.java\fP ファイルへのパスを完全指定する方法です。相対パスは、現在のディレクトリを起点とします。ソースファイル名を渡すときは、\f2\-sourcepath\fP オプションは無視されます。アスタリスク (*) のようなコマンド行ワイルドカードを使用すると、クラスのグループを指定できます。
+.LP
+.RS 3
+.TP 2
+o
+\f3ケース 1 \- ソースディレクトリに移る\fP \- \f2.java\fP ファイルのあるディレクトリに移ります。次に、ドキュメント化する 1 つ以上のソースファイルの名前を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/java/awt\fP
+.fl
+ % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP
+.fl
+.fi
+この例では、クラス \f2Button\fP と \f2Canvas\fP、および名前が \f2Graphics\fP で始まるクラスについて、HTML 形式のドキュメントが生成されます。パッケージ名ではなくソースファイルが javadoc に引数として渡されているので、ドキュメントは、クラスのリストとメインページという 2 つのフレームを持つことになります。
+.TP 2
+o
+\f3ケース 2 \- パッケージのルートディレクトリに移る\fP \- これは、同じルート内にある複数のサブパッケージの個々のソースファイルをドキュメント化する場合に便利です。パッケージのルートディレクトリに移り、各ソースファイルを、ルートからのパスとともに指定します。
+.nf
+\f3
+.fl
+ % \fP\f3cd /home/src/\fP
+.fl
+ % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP
+.fl
+.fi
+この例では、\f2Button\fP クラスおよび \f2Applet\fP クラスについて、HTML 形式のドキュメントが生成されます。
+.TP 2
+o
+\f3ケース 3 \- 任意のディレクトリから\fP \- このケースでは、現在のディレクトリがどこであってもかまいません。ドキュメント化する \f2.java\fP ファイルへの絶対パス (または、現在のディレクトリからの相対パス) を指定して javadoc を実行します。
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP
+.fl
+.fi
+この例では、クラス \f2Button\fP と、名前が \f2Graphics\fP で始まるクラスについて、HTML 形式のドキュメントが生成されます。
+.RE
+
+.LP
+.SS
+パッケージとクラスのドキュメント化
+.LP
+.LP
+パッケージ全体と個々のクラスを同時に指定してドキュメント化することもできます。次に前述の 2 つの例を組み合わせた例を示します。\f2\-sourcepath\fP は、パッケージへのパスに対しては使用できますが、個々のクラスのパスに対しては使用できません。
+.LP
+.nf
+\f3
+.fl
+ % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP
+.fl
+.fi
+
+.LP
+.LP
+この例では、パッケージ \f2java.awt\fP と、クラス \f2Applet\fP について、HTML 形式のドキュメントが生成されます。Javadoc ツールは、\f2Applet\fP のパッケージ名を、\f2Applet.java\fP ソースファイル内のパッケージ宣言 (その宣言がある場合) から判別します。
+.LP
+.SH "使用例"
+.LP
+.LP
+Javadoc ツールには多くの便利なオプションがあり、その中にはほかのオプションよりも頻繁に使われるものがあります。ここで紹介するのは、Java プラットフォーム API に対して Javadoc ツールを実行するときに使用する実際のコマンドです。Java 2 Platform, Standard Edition, v1.2 に存在する、約 1500 個の public および protected クラスについてドキュメントを生成するために、180M バイトのメモリーを使用しました。
+.LP
+.LP
+同じ例を 2 回掲載します。 最初の例はコマンド行から実行するもので、2 番目の例は Makefile から実行するものです。オプションの引数に絶対パスを使用しているため、任意のディレクトリからこの \f2javadoc\fP コマンドを実行できます。
+.LP
+.SS
+コマンド行の例
+.LP
+.LP
+次のコマンド行の例は 900 文字を超えているため、DOS などのシェルには大きすぎます。この制限を回避するには、コマンド行引数ファイルを使用します。 または、シェルスクリプトを記述します。
+.LP
+.nf
+\f3
+.fl
+% javadoc \-sourcepath /java/jdk/src/share/classes \\
+.fl
+ \-overview /java/jdk/src/share/classes/overview.html \\
+.fl
+ \-d /java/jdk/build/api \\
+.fl
+ \-use \\
+.fl
+ \-splitIndex \\
+.fl
+ \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+.fl
+ \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' \\
+.fl
+ \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
.fl
\-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -4965,9 +5633,9 @@
.fl
901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\
.fl
- \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
+ \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
.fl
- \-group "Extension Packages" "javax.*" \\
+ \-group "Extension Packages" "javax.*" \\
.fl
\-J\-Xmx180m \\
.fl
@@ -4978,24 +5646,17 @@
.LP
.LP
-¾åµ¤Î¥³¥Þ¥ó¥É¤Ç¡¢packages ¤Ï¡¢
-½èÍýÂоݤΥѥ屡¼¥¸Ì¾ (
-.BR java.applett
-.BR java.lang ¤Ê¤É) ¤¬
-Æþ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£ ³Æ¥ª¥×¥·¥ç¥ó¤Î¡¢
-ñ°ì°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿°ú¿ô¤ÎÆ⦤ˤϡ¢
-²þ¹Ôʸ»ú¤òÁÞÆþ¤Ç¤¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢
-¤³¤ÎÎã¤ò¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤¹¤ë¾ì¹ç¤Ï¡¢
-.B \-bottom
-¥ª¥×¥·¥ç¥ó¤«¤é²þ¹Ôʸ»ú¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤µ¤é¤Ë¡¢¤³¤Î¤¢¤È¤Î¡ÖÃí¡×¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS Makefile ¤ÎÎã
-¤³¤³¤Ç¤Ï¡¢GNU Makefile ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-Windows ¤Î Makefile ¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+上記のコマンドで、\f2packages\fP は、処理対象のパッケージ名 (\f2java.applet java.lang\fP など) が入っているファイルの名前です。各オプションの、単一引用符で囲まれた引数の内側には、改行文字を挿入できません。たとえば、この例をコピー&ペーストする場合は、\f2\-bottom\fP オプションから改行文字を削除してください。さらに、このあとの「注」も参照してください。
+.LP
+.SS
+Makefile の例
+.LP
+.LP
+ここでは、GNU Makefile の例を示します。Windows の Makefile の例については、
.na
-¡Ö\f2creating a makefile for Windows\fP¡×
+\f2Windows の Makefile の作成方法\fP @
.fi
-(http://java.sun.com/j2se/javadoc/faq/index.html#makefiles) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/j2se/javadoc/faq/index.html#makefilesを参照してください。
.LP
.nf
\f3
@@ -5026,7 +5687,7 @@
.fl
java.lang java.lang.reflect \\ /* Sets packages to document */
.fl
- java.util java.io java.net \\
+ java.util java.io java.net \\
.fl
java.applet
.fl
@@ -5034,7 +5695,7 @@
.fl
WINDOWTITLE = 'Java 2 Platform v1.2 API Specification'
.fl
-DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification'
+DOCTITLE = 'Java(TM) 2 Platform v1.2 API Specification'
.fl
HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>'
.fl
@@ -5059,138 +5720,116 @@
.LP
.LP
-Makefile ¤Î°ú¿ô¤Ï¡¢Ã±°ì°úÍÑÉä¤Ç°Ï¤ß¤Þ¤¹¡£
-.SS Ãí
-.TP 2
-\(bu
-.B \-windowtitle
-¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥É¥¥å¥á¥ó¥È¥¿¥¤¥È¥ë¤¬
-¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.B \-windowtitle
-¤Î¥Æ¥¥¹¥È¤Ï¡¢´ðËÜŪ¤Ë
-.B \-doctitle
-¤ÈƱ¤¸¤Ç¤¹¡£¤¿¤À¤·¡¢HTML ¥¿¥°¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
-HTML ¥¿¥°¤Ï¡¢¥¦¥£¥ó¥É¥¦¥¿¥¤¥È¥ë¤Ë¤½¤Î¤Þ¤Þ¤Î
-¥Æ¥¥¹¥È¤È¤·¤Æɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¤³¤ÎÎã¤Î¤è¤¦¤Ë
-.B \-footer
-¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¤È¡¢
-.B Javadoc
-¥Ä¡¼¥ë¤Ë¤è¤Ã¤Æ¥Ø¥Ã¥À¥Æ¥¥¹¥È¤¬
-¥Õ¥Ã¥¿¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.TP 2
-\(bu
-¤³¤ÎÎã¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢
-.B \-classpath
-¤ª¤è¤Ó
-.BR \-link
-¤â½ÅÍפʥª¥×¥·¥ç¥ó¤Ç¤¹¡£
-
+Makefile の引数は、単一引用符で囲みます。
.LP
-.SH ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°
-.SS °ìÈÌŪ¤Ê¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°
-.TP 2
-\(bu
-Javadoc FAQ - ¤è¤¯ÌäÂê¤È¤Ê¤ë¥Ð¥°¤ä
-¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î
-¥Ò¥ó¥È¤Ï
-.na
-¡Ö\f2Javadoc FAQ\fP¡×
-.fi
-(http://java.sun.com/j2se/javadoc/faq/index.html#B) ¤Ë¤¢¤ê¤Þ¤¹¡£
-.TP 2
-\(bu
-¥Ð¥°¤ª¤è¤ÓÀ©¸Â»ö¹à - ¤Þ¤¿¡¢¥Ð¥°¤Î°ìÉô¤Ï¡¢
-.na
-¡Ö\f2Important Bug Fixes and Changes\fP¡×
-.fi
-(http://java.sun.com/j2se/1.5.0/fixedbugs/index.html) ¤Ç¤â»²¾È¤Ç¤¤Þ¤¹¡£
-.TP 2
-\(bu
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ - ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 2
-\(bu
-͸ú¤Ê¥¯¥é¥¹¤À¤±¤ò¥É¥¥å¥á¥ó¥È²½ -
-javadoc ¤¬¥Ñ¥Ã¥±¡¼¥¸¤ò¥É¥¥å¥á¥ó¥È²½¤¹¤ë¤È¤¡¢
-͸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤À¤±¤ò
-Æɤ߹þ¤à¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¥Õ¥¡¥¤¥ë̾¤Ë¥Ï¥¤¥Õ¥ó (-) ¤Ê¤É¤ò´Þ¤á¤ë¤³¤È¤Ç¡¢
-javadoc ¤¬¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¤Ê¤¤¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£
-.SS ¥¨¥é¡¼¤È·Ù¹ð
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ª¤è¤Ó·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢
-¥Õ¥¡¥¤¥ë̾¤ÈÀë¸À¹Ô¤ËÂФ¹¤ë¹ÔÈֹ椬
-´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢doc ¥³¥á¥ó¥È¤ÎÆÃÄê¤Î
-¹Ô¤ËÂФ¹¤ë¹ÔÈÖ¹æ¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡£
-.TP 2
-\(bu
-"error: cannot read: Class1.java" -
-.B Javadoc
-¥Ä¡¼¥ë¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
-.BR Class1.java
-¥¯¥é¥¹¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
-¥¯¥é¥¹Ì¾¤Ï¡¢ÀäÂХѥ¹¤Þ¤¿¤ÏÁêÂХѥ¹¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢./Class1.java ¤ÈƱ¤¸¤Ç¤¹¡£
.LP
-.SH "´Ä¶"
-.TP 20
-.SB CLASSPATH
-´Ä¶ÊÑ¿ô¤Ï¡¢
-.B javadoc
-¤¬¥æ¡¼¥¶¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òõ¤¹¤È¤¤Ë»È¤¦¡¢¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£´Ä¶ÊÑ¿ô¤Ï¡¢
-.B \-classpath
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï
-¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
-.RS 15
-.sp 1n
-.B .:/home/classes:/usr/local/java/classes
-.RE
-.br
-.ne 11
-.SH "´ØÏ¢¹àÌÜ"
+\f3注\fP
.LP
.RS 3
.TP 2
o
-javac
+\f2\-windowtitle\fP オプションを省略すると、Javadoc ツールによって、ドキュメントタイトルがウィンドウタイトルにコピーされます。\f2\-windowtitle\fP のテキストは、基本的に \f2\-doctitle\fP と同じです。 ただし、HTML タグは使用しません。 HTML タグは、ウィンドウタイトルにそのままのテキストとして表示されてしまいます。
.TP 2
o
-java
+この例のように \f2\-footer\fP オプションを省略すると、Javadoc ツールによって、ヘッダーテキストがフッターにコピーされます。
.TP 2
o
-jdb
+この例では必要ありませんが、\-\f2classpath\fP および \-\f2link\fP も重要なオプションです。
+.RE
+
+.LP
+.SH "トラブルシューティング"
+.LP
+.SS
+一般的なトラブルシューティング
+.LP
+.RS 3
.TP 2
o
-javah
+\f3Javadoc FAQ\fP \- 一般的なバグおよびトラブルシューティングのヒントは、
+.na
+\f2「Javadoc FAQ」\fP @
+.fi
+http://java.sun.com/j2se/javadoc/faq/index.html#B で参照できます。
.TP 2
o
-javap
+\f3バグおよび制限事項\fP \- バグの一部は、「Important Bug Fixes and Changes」 でも参照できます。
.TP 2
o
+\f3バージョン番号\fP \- 「バージョン番号」を参照してください。
+.TP 2
+o
+\f3有効なクラスだけをドキュメント化\fP \- パッケージをドキュメント化するとき、Javadoc は、有効なクラス名で構成されているファイルのみを読み込みます。たとえば、ファイル名にハイフン「\-」を含めることで、javadoc によるファイルの解析を防ぐことができます。
+.RE
+
+.LP
+.SS
+エラーと警告
+.LP
+.LP
+エラーおよび警告メッセージには、ファイル名と宣言行 (ドキュメンテーションコメント内の特定の行ではない) の行番号が含まれます。
+.LP
+.RS 3
+.TP 2
+o
+\f2"error:cannot read:Class1.java"\fP Javadoc ツールはカレントディレクトリに Class1.java クラスをロードしようとしています。絶対パスまたは相対パスとともに表示されるクラス名は、この例の場合 \f2./Class1.java\fP と同じです。
+.RE
+
+.LP
+.SH "環境"
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+Javadoc がユーザークラスのファイルを探すときに使うパスを指定する環境変数です。この環境変数は、\f2\-classpath\fP オプションによってオーバーライドされます。ディレクトリは、次のようにコロンで区切ります。
+.:/home/classes:/usr/local/java/classes
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+javac(1)
+.TP 2
+o
+java(1)
+.TP 2
+o
+jdb(1)
+.TP 2
+o
+javah(1)
+.TP 2
+o
+javap(1)
+.TP 2
+o
+.na
+\f2Javadoc のホームページ\fP @
.fi
http://java.sun.com/j2se/javadoc/index.jsp
-¤Î
-.na
-¡Ö\f2Javadoc Home Page\fP¡×
.TP 2
o
+.na
+\f2How to Write Doc Comments for Javadoc\fP @
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
-¤Î
+.TP 2
+o
.na
-¡Ö\f2How to Write Doc Comments for Javadoc\fP¡×
+\f2クラスパスの設定\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general
.TP 2
o
-¥¯¥é¥¹¥Ñ¥¹¤ÎÀßÄê
-.TP 2
-o
-javac ¤È javadoc ¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ëÊýË¡ (tools.jar)
+.na
+\f2javac と javadoc がクラスを検索する方法\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar)
.RE
.LP
.LP
-Javadoc ¤Ï¡¢Sun Microsystems, Inc ¤Î¾¦É¸¤Ç¤¹ (\f2javadoc\fP ¥³¥Þ¥ó¥É¼«ÂΤˤϾ¦É¸¥·¥ó¥Ü¥ë¤ÏÉÔÍ×)¡£
+javadoc は、Sun Microsystems, Inc の商標です (\f2javadoc\fP コマンド自体には商標シンボルは不要)。
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1
index 4f1eb42..94d076d 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1
@@ -1,225 +1,160 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-'\"macro stdmacro
-.TH javah 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-javah \- C ¸À¸ì¤Î¥Ø¥Ã¥À¤È¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤Î¥¸¥§¥Í¥ì¡¼¥¿
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javah 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+javah \- C ヘッダーとスタブファイルジェネレータ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3javah\fP は、Java クラスから C ヘッダーファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
+.fl
+javah_g [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
.LP
.LP
.LP
-\f3javah\fP ¤Ï¡¢Java ¥¯¥é¥¹¤«¤é C ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤È C ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤È¡¢C ¤Ê¤É¤Î¤½¤Î¾¤Î¸À¸ì¤Ç½ñ¤«¤ì¤¿¥³¡¼¥É¤òÀܳ¤·¡¢¥³¡¼¥É¤¬Áê¸ß¤ËºîÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+\f3javah\fP は、ネイティブメソッドを実装するために必要な C ヘッダーとソースファイルを生成します。作成されたヘッダーとソースファイルは、ネイティブソースコードからオブジェクトのインスタンス変数を参照するために C プログラムによって使用されます。.h ファイルは、対応するクラスと一致する配置を持つ構造体定義を含みます。構造体のフィールドは、クラスのインスタンス変数に対応します。
.LP
-.SH "·Á¼°"
-.B javah
-[
-.B options
-]
-.I fully-qualified-classname . . .
-.br
-.B javah_g
-[
-.B options
-]
-.I fully-qualified-classname . . .
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP"
-.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP"
-.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator"
-.B javah
-¥³¥Þ¥ó¥É¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤Î¤ËɬÍפÊ
-C
-¸À¸ì¤Î¥Ø¥Ã¥À¤ª¤è¤Ó¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-C
-¤Î¥×¥í¥°¥é¥à¤Ï¡¢
-À¸À®¤µ¤ì¤¿¥Ø¥Ã¥À¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢
-¥Í¥¤¥Æ¥£¥Ö¥½¡¼¥¹¥³¡¼¥É¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹
-ÊÑ¿ô¤ò»²¾È¤Ç¤¤Þ¤¹¡£
-.B .h
-¥Õ¥¡¥¤¥ë¤Ï¡¢Âбþ¤¹¤ë¥¯¥é¥¹¤Ë¹ç¤Ã¤¿¥ì¥¤¥¢¥¦¥È¤Î
-¹½Â¤ÂÎÄêµÁ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-¹½Â¤ÂΤ˴ޤޤì¤ë¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¯¥é¥¹Æâ¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë
-Âбþ¤·¤Æ¤¤¤Þ¤¹¡£
.LP
-¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë̾¤ª¤è¤Ó¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÃæ¤ÇÄêµÁ¤µ¤ì¤ë¹½Â¤ÂÎ̾¤Ï¡¢
-¥¯¥é¥¹Ì¾¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£
-.B javah
-¤ËÅϤµ¤ì¤ë¥¯¥é¥¹¤¬¥Ñ¥Ã¥±¡¼¥¸ÆâÉô¤Ë¤¢¤ì¤Ð¡¢
-¤½¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤¬¥Õ¥¡¥¤¥ë̾¤ª¤è¤Ó¹½Â¤ÂÎ̾¤ÎÀèƬ¤ËÉղ䵤ì¤Þ¤¹¡£
-̾Á°¤Î´Ö¤Ï²¼Àþ
-(_)
-¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£
+ヘッダーファイルとその中で宣言される構造体の名前はクラスの名前から派生します。\f3javah\fP に渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダーファイル名と構造体名の両方に付加されます。下線 (_) が名前の区切り文字として使用されます。
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B javah
-¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¸Ä¡¹¤Î¥¯¥é¥¹¤ËÂФ·¤Æ
-¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ÐÎϤ·¤Þ¤¹¡£
-.B \-stubs
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.B \-o
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿Á´¥¯¥é¥¹¤ËÂФ¹¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë
-¤òÏ¢·ë¤·¤Æ
-1
-¸Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£
.LP
-¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-Java Native Interface (JNI)
-¤Ï¡¢¥Ø¥Ã¥À¾ðÊó¤ä¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£
-¤¿¤À¤·
-.B javah
-¥³¥Þ¥ó¥É¤Ï¸½ºß¤â JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É¤ËɬÍפÊ
-¥Í¥¤¥Æ¥£¥Ö¥á¥½¥Ã¥É´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤òÀ¸À®¤Ç¤¤Þ¤¹¡£
-.B javah
-¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç JNI ·Á¼°¤Ç½ÐÎϤ·¡¢¤½¤Î·ë²Ì¤ò
-.B .h
-¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Þ¤¹¡£
+デフォルトでは \f3javah\fP は、コマンド行にリストされる各クラスのヘッダーファイルを作成し、現在のディレクトリにファイルを置きます。ソースファイルを作成するには、\f2\-stubs\fP オプションを使用してください。1 つのファイルの中に、リストされたすべてのクラスの結果を連結するには、\f2\-o\fP オプションを使用してください。
.LP
-.B javah_g
-¤ÏÈóºÇŬ²½¥Ð¡¼¥¸¥ç¥ó¤Î
-.B javah
-¤Ç¡¢
-.B jdb
-¤Ê¤É¤Î¥Ç¥Ð¥Ã¥¬ÍѤλÈÍѤËŬ¤·¤Æ¤¤¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP 15
-.BI \-o " outputfile"
-¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤¿¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤ËÂФ¹¤ë·ë²Ì¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï
-¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤·¡¢
-.BR outputfile
-¤Ë³ÊǼ¤·¤Þ¤¹¡£
-.B \-o
-¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï
-.B \-d
-¥ª¥×¥·¥ç¥ó¤À¤±¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.TP 15
-.BI \-d " directory"
-.B javah
-¤¬¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥¹¥¿¥Ö¥Õ¥¡¥¤¥ë¤ò½ñ¤½Ð¤¹
-¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.B \-stubs
-Java ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é C ¸À¸ì¤ÎÀë¸À¤òÀ¸À®¤·¤Þ¤¹¡£
-.TP 15
-.B \-verbose
-¾ÜºÙ¾ðÊó¤Î½ÐÎϤòÍ׵ᤷ¤Þ¤¹¡£
-.B javah
-¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾õÂ֤˴ؤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò
-.B stdout
-¤Ë½ñ¤½Ð¤·¤Þ¤¹¡£
-.TP 15
-.B \-help
-.B javah
-¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 15
-.B \-version
-javah ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 15
-.B \-jni
-JNI ·Á¼°¤Î¥Í¥¤¥Æ¥£¥Ö¤Ê¥á¥½¥Ã¥É´Ø¿ô¤Î¥×¥í¥È¥¿¥¤¥×¤¬Æþ¤Ã¤¿½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò
-ºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Î½ÐÎϤǤ¢¤ë¤¿¤á¡¢
--B \-jni
-¤Ï¾Êά²Äǽ¤Ç¤¹¡£
-.TP 15
-.BI \-classpath " path"
-.B javah
-¤¬¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¤¿¤á¤ËÍѤ¤¤ë¥Ñ¥¹¤ò
-.I path
-¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄêÃͤϡ¢¥Ç¥Õ¥©¥ë¥È¤ª¤è¤Ó
-.B CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄêÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ
-.I path
-¤ÎÄ̾ï¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.RS 20
-.sp 1n
.LP
-.BI .:< your_path >
-.sp 1n
-.RE
-.RS 15
+新しいネイティブメソッドインタフェースである Java Native Interface (JNI) は、ヘッダー情報またはスタブファイルを必要としません。 現在では、\f3javah\fP は、JNI 形式のネイティブメソッドに必要なネイティブメソッド機能プロトタイプを生成します。 デフォルトでは、\f3javah\fP は JNI 形式で出力され、その結果は .h ファイルに格納されます。
.LP
-¥Ñ¥¹¤Î»ØÄêÎ㡧
-.RE
-.RS 20
-.sp 1n
.LP
-.B .:/home/avh/classes:/usr/local/java/classes
-.sp 1n
-.RE
+\f3javah_g\fP は、jdb(1) のようなデバッガに適した、\f3javah\fP の最適化されていないバージョンです。
.LP
-Êص¹¾å¡¢\f2*\fP ¤Î¥Ù¡¼¥¹Ì¾¤ò´Þ¤à¥¯¥é¥¹¥Ñ¥¹Í×ÁǤϡ¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î³ÈÄ¥»Ò \f2.jar\fP ¤Þ¤¿¤Ï \f2.JAR\fP ¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¤Î¤ÈƱ¤¸¤È¤ß¤Ê¤µ¤ì¤Þ¤¹ (Java ¥×¥í¥°¥é¥à¤Ï¤³¤Î 2 ¤Ä¤Î¸Æ¤Ó½Ð¤·¤ò¶èÊ̤Ǥ¤Ê¤¤)¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-o outputfile
+コマンド行にリストされたすべてのクラスに対して、結果のヘッダーまたはソースファイルを連結して \f2outputfile\fP に格納します。\f3\-o\fP または \f3\-d\fP のどちらか一方だけが使われます。
+.TP 3
+\-d directory
+\f3javah\fP がヘッダーファイルまたはスタブファイルを保存する、ディレクトリを設定します。\f3\-d\fP または \f3\-o\fP のどちらか一方だけが使われます。
+.TP 3
+\-stubs
+\f3javah\fP が、Java オブジェクトファイルから C 宣言を生成します。
+.TP 3
+\-verbose
+詳細出力を指定し、作成ファイルの状態に関するメッセージを、\f3javah\fP が標準出力に出力します。
+.TP 3
+\-help
+\f3javah\fP の使用法についてのヘルプメッセージを出力します。
+.TP 3
+\-version
+\f3javah\fP のバージョン情報を出力します。
+.TP 3
+\-jni
+JNI 形式のネイティブファイル機能プロトタイプを含む出力ファイルを、\f3javah\fP が作成します。これは標準出力であるため、\f3\-jni\fP の使用はオプションです。
+.TP 3
+\-classpath path
+クラスを探すために \f3javah\fP が使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
+.nf
+\f3
+.fl
+ .:<your_path>
+.fl
+\fP
+.fi
+例を示します。
+.nf
+\f3
+.fl
+ .:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
.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 ¥×¥í¥°¥é¥à¤Ïǧ¼±¤·¤Þ¤»¤ó¡£
-.TP 15
-.BI \-bootclasspath " path"
-bootstrap ¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢bootstrap
-¥¯¥é¥¹¤Ï¥³¥¢¤È¤Ê¤ë Java 2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¡¢
-.B jre/lib/rt.jar
-¤ª¤è¤Ó¾¤Î½ÅÍ×¤Ê jar ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP 15
-.B \-old
-¸Å¤¤ JDK 1.0 ·Á¼°¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
-.TP 15
-.B \-force
-¾ï¤Ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë½ñ¤¹þ¤à¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î»²¾È¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH "´Ä¶ÊÑ¿ô"
-.TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS 10
-.sp 1n
-.LP
-.B .:/home/avh/classes:/usr/local/java/classes
+たとえば、ディレクトリ \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 プログラムが展開されていないワイルドカードを認識することはありません。
+.TP 3
+\-bootclasspath path
+ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。
+.TP 3
+\-old
+古い JDK1.0 形式のヘッダーファイルを生成するように指定します。
+.TP 3
+\-force
+出力ファイルが常に書き込まれるように指定します。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割されています。
+.nf
+\f3
+.fl
+.:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-javac¡¢java¡¢jdb¡¢javap¡¢javadoc
+javac(1)、java(1)、jdb(1)、javap(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1
index c9ddcba..0a888b5 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1
@@ -1,115 +1,137 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-'\"macro stdmacro
-.TH javap 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-javap \- Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ëµÕ¥¢¥»¥ó¥Ö¥é
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
+.SH "名前"
+javap \- Java クラスファイル逆アセンブラ
+.LP
+.RS 3
.LP
.LP
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£
+クラスファイルを逆アセンブルします。
.LP
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B javap
-[
-.B options
-]
-.IR class .\|.\|.
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java class file disassembler" "" "Java class file disassembler \(em \fLjavap\fP"
-.IX "javap" "" "\fLjavap\fP \(em Java class file disassembler"
-.B javap
-¥³¥Þ¥ó¥É¤Ï¡¢
-Java ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£
-½ÐÎÏÆâÍƤϥª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤ò
-1
-¤Ä¤â»ØÄꤷ¤Ê¤¤¤È¡¢
-.B javap
-¤ÏÅϤµ¤ì¤¿¥¯¥é¥¹¤Î
-.BR package¡¢
-.BR protected¡¢
-¤ª¤è¤Ó
-.B public
-¥Õ¥£¡¼¥ë¥É¤È¥á¥½¥Ã¥É¤ò½ÐÎϤ·¤Þ¤¹¡£
-.B javap
-¥³¥Þ¥ó¥É¤Î½ÐÎÏÀè¤Ï
-.B stdout
-¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥¯¥é¥¹Àë¸À¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-.RS
+.RE
+.SH "形式"
+.LP
+
+.LP
.nf
\f3
+.fl
+javap [ \fP\f3options\fP\f3 ] class. . .
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3javap\fP コマンドは、クラスファイルを逆アセンブルします。その出力は指定するオプションにより異なります。オプションを指定しない場合、\f3javap\fP は、そのパッケージ、渡されたクラスの protected および public のフィールドとメソッドを出力します。 \f3javap\fP はその出力を標準出力に表示します。たとえば、次のクラス宣言をコンパイルするとします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
import java.awt.*;
+.fl
import java.applet.*;
+.fl
+.fl
public class DocFooter extends Applet {
- String date;
- String email;
+.fl
+ String date;
+.fl
+ String email;
+.fl
- public void init() {
- resize(500,100);
- date = getParameter("LAST_UPDATED");
- email = getParameter("EMAIL");
- }
+.fl
+ public void init() {
+.fl
+ resize(500,100);
+.fl
+ date = getParameter("LAST_UPDATED");
+.fl
+ email = getParameter("EMAIL");
+.fl
+ }
+.fl
- public void paint(Graphics g) {
- g.drawString(date + " by ",100, 15);
- g.drawString(email,290,15);
- }
+.fl
+ public void paint(Graphics g) {
+.fl
+ g.drawString(date + " by ",100, 15);
+.fl
+ g.drawString(email,290,15);
+.fl
+ }
+.fl
}
-\f1
+.fl
+\fP
.fi
.RE
+
.LP
-¤³¤Î¾ì¹ç¡¢
-.B javap DocFooter
-¤ò¼Â¹Ô¤¹¤ë¤È°Ê²¼¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤Þ¤¹¡£
-.RS
-\f3
+.LP
+\f3javap DocFooter\fP がもたらす出力は次のようになります。
+.LP
+.RS 3
+
+.LP
.nf
+\f3
+.fl
Compiled from DocFooter.java
+.fl
public class DocFooter extends java.applet.Applet {
- java.lang.String date;
- java.lang.String email;
- public void init();
- public void paint(java.awt.Graphics);
- public DocFooter();
+.fl
+ java.lang.String date;
+.fl
+ java.lang.String email;
+.fl
+ public DocFooter();
+.fl
+ public void init();
+.fl
+ public void paint(java.awt.Graphics);
+.fl
}
-\f1
+.fl
+\fP
.fi
+.RE
+
.LP
-\f3javap \-c DocFooter\fP ¤ò¼Â¹Ô¤¹¤ë¤È°Ê²¼¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤Þ¤¹¡£
+.LP
+\f3javap \-c DocFooter\fP がもたらす出力は次のようになります。
.LP
.RS 3
@@ -226,34 +248,35 @@
.RE
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+.SH "オプション"
.LP
.LP
+.RS 3
.TP 3
\-help
-\f3javap\fP ¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
+\f3javap\fP のヘルプメッセージを出力します。
.TP 3
\-l
-¹ÔÈÖ¹æ¤È¶É½êÊÑ¿ô¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹¡£
+行番号と局所変数テーブルを表示します。
.TP 3
\-b
-JDK 1.1 ¤Î \f3javap\fP ¤È¤Î²¼°Ì¸ß´¹À¤òÊݾڤ·¤Þ¤¹¡£
+JDK 1.1 の \f3javap\fP との下位互換性を保証します。
.TP 3
\-public
-public ¥¯¥é¥¹¤ª¤è¤Ó¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
+public クラスおよびメンバーだけを表示します。
.TP 3
\-protected
-protected ¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£
+protected および public のクラスとメンバーだけを表示します。
.TP 3
\-package
-package¡¢protected¡¢¤ª¤è¤Ó public ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤À¤±¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤¹¡£
+package、protected、および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。
.TP 3
\-private
-¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¤È¥á¥ó¥Ð¤òɽ¼¨¤·¤Þ¤¹¡£
+すべてのクラスとメンバーを表示します。
.TP 3
\-Jflag
-¥é¥ó¥¿¥¤¥à¥·¥¹¥Æ¥à¤ËľÀÜ \f2flag\fP ¤òÅϤ·¤Þ¤¹¡£»ÈÍÑÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+ランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。
.RS 3
.LP
@@ -269,21 +292,20 @@
.RE
.TP 3
\-s
-ÆâÉô¤Î·¿¥·¥°¥Ë¥Á¥ã¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£
+内部の型シグニチャーを出力します。
.TP 3
\-c
-¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤Î¤¿¤á¤ËµÕ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¥³¡¼¥É¡¢¤¹¤Ê¤ï¤Á Java ¥Ð¥¤¥È¥³¡¼¥É¤«¤éÀ®¤ëÌ¿Îá¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï
-.fi
-http://java.sun.com/docs/books/vmspec/
-¤Î
+クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは
.na
-¡Ö\f2Java Virtual Machine Specification\fP¡×¤Ë¥É¥¥å¥á¥ó¥È²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f2「Java Virtual Machine Specification」\fP @
+.fi
+http://java.sun.com/docs/books/vmspec/にドキュメント化されています。
.TP 3
\-verbose
-¥á¥½¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¡¢¤ª¤è¤Ó \f2locals\fP ¤È \f2args\fP ¤Î¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
+メソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。
.TP 3
\-classpath path
-\f3javap\fP ¤¬¥¯¥é¥¹¤òõ¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï CLASSPATH ´Ä¶ÊÑ¿ôÀßÄê¤ò¾å½ñ¤¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Çʬ³ä¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢\f2path\fP ¤Î°ìÈÌ·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+\f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
.nf
\f3
.fl
@@ -291,7 +313,7 @@
.fl
\fP
.fi
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+例を示します。
.nf
\f3
.fl
@@ -301,27 +323,41 @@
.fi
.TP 3
\-bootclasspath path
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2jre/lib/rt.jar\fP ¤ª¤è¤Ó¾¤Î¤¤¤¯¤Ä¤«¤Î JAR ¥Õ¥¡¥¤¥ë ¤Ë¤¢¤ë¡¢¥³¥¢ Java ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
+ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。
.TP 3
\-extdirs dirs
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³ÈÄ¥µ¡Ç½¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£³ÈÄ¥µ¡Ç½¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \f2java.ext.dirs\fP ¤Ë¤¢¤ê¤Þ¤¹¡£
-.LP
-.SH "´Ä¶ÊÑ¿ô"
-.TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.RS 10
-.B .:/home/avh/classes:/usr/local/java/classes
+インストールされた拡張機能を検索する場所をオーバーライドします。The default location for extensions is the value of \f2java.ext.dirs\fP.
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。 次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/home/avh/classes:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.RE
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-javac¡¢java¡¢jdb¡¢javah¡¢javadoc
+javac(1)、 java(1)、jdb(1)、javah(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1
index 420327f..b0a6250 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1
@@ -1,30 +1,51 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH javaws 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-\fBjavaws \fP- Java Web Start µ¯Æ°¥³¥Þ¥ó¥É
-\fB
-.SH ·Á¼°
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH javaws 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+
+.LP
+.SH "名前"
+\f2javaws\fP コマンド行
+.LP
+
+.LP
+.LP
+\
+.LP
+.SS
+NAME
+.LP
+.RS 3
+
+.LP
+.LP
+\f2javaws\fP \- Java Web Start 起動コマンド
+.LP
+.RE
+.SS
+形式
+.LP
.RS 3
.LP
@@ -35,21 +56,20 @@
\f2javaws [control\-options]\fP
.LP
.RE
-.SS
-¥Ñ¥é¥á¡¼¥¿
+.SS
+パラメータ
.LP
.RS 3
.LP
.LP
-[run\-options]
+\f2[run\-options]\fP
.LP
.RS 3
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¼Â¹Ô¥ª¥×¥·¥ç¥ó¡£
-¼Â¹Ô¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£¸Ä¡¹¤Î¼Â¹Ô¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡Ö¼Â¹Ô¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コマンド行実行オプション。 実行オプションは任意の順序で指定できます。各種オプションについては、下の 「実行オプション」を参照してください。
.LP
.RE
.LP
@@ -59,7 +79,7 @@
.LP
.LP
-¥Ñ¥¹¤Þ¤¿¤Ï JNLP (Java Network Launching Protocol) ¥Õ¥¡¥¤¥ë¤Î URL (Uniform Resource Locater) ¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+JNLP (Java Network Launching Protocol) ファイルのパスまたは URL (Uniform Resource Locator) のどちらかです。
.LP
.RE
.LP
@@ -69,28 +89,28 @@
.LP
.LP
-¥³¥Þ¥ó¥É¹ÔÀ©¸æ¥ª¥×¥·¥ç¥ó¡£À©¸æ¥ª¥×¥·¥ç¥ó¤Î½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£¸Ä¡¹¤ÎÀ©¸æ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖÀ©¸æ¥ª¥×¥·¥ç¥ó¡×Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+コマンド行制御オプション。 制御オプションは任意の順序で指定できます。各種オプションについては、下の 「制御オプション」を参照してください。
.LP
.RE
.RE
-.SS
-µ¡Ç½ÀâÌÀ
+.SS
+説明
.LP
.RS 3
.LP
.LP
-\fBjavaws\fP ¥³¥Þ¥ó¥É¤Ë¤è¤ê JNLP (Java Network Launching Protocol) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤¢¤ë Java Web Start ¤òµ¯Æ°¤Ç¤¤Þ¤¹¡£Java Web Start ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ËÃÖ¤«¤ì¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£
+\f2javaws\fP コマンドは、JNLP (Java Network Launching Protocol) のリファレンス実装である Java Web Start を起動します。Java Web Start は、ネットワーク上で動作する Java アプリケーションまたはアプレットを起動します。
.LP
.LP
-JNLP ¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤È¡¢\fBjavaws\fP ¤Ï JNLP ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤òµ¯Æ°¤·¤Þ¤¹¡£
+JNLP ファイルを指定すると、\f2javaws\fP は JNLP ファイルに指定された Java アプリケーションまたはアプレットを起動します。
.LP
.LP
-¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë \f2javaws\fP µ¯Æ°¥Ä¡¼¥ë¤Î°ìÏ¢¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f2javaws\fP 起動ツールには、現在のリリースでサポートされている 1 組のオプションがあります。ただし、これらのオプションは将来のリリースでは削除される可能性があります。
.LP
.RE
-.SS
-¼Â¹Ô¥ª¥×¥·¥ç¥ó
+.SS
+実行オプション
.LP
.RS 3
@@ -102,7 +122,7 @@
.LP
.LP
-Java Web Start ¤ò¥ª¥Õ¥é¥¤¥ó¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
+Java Web Start をオフラインモードで実行します。
.LP
.RE
.LP
@@ -112,7 +132,7 @@
.LP
.LP
-½é´ü¥¹¥×¥é¥Ã¥·¥å²èÌ̤Îɽ¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
+最初のスプラッシュ画面の表示を無効にします。
.LP
.RE
.LP
@@ -122,8 +142,7 @@
.LP
.LP
-jnlp ¥Õ¥¡¥¤¥ë¤Î°ú¿ô¤ò \f2\-open <arguments> ¤ÈÃÖ¤´¹¤¨¤Þ¤¹¡£
-\fP.
+このオプションを指定すると、JNLP ファイル内の引数が \f2\-open <arguments>\fP に置き換わります。
.LP
.RE
.LP
@@ -133,7 +152,7 @@
.LP
.LP
-jnlp ¥Õ¥¡¥¤¥ë¤Î°ú¿ô¤ò \f2\-print <arguments>\fP ¤ÈÃÖ¤´¹¤¨¤Þ¤¹¡£
+このオプションを指定すると、JNLP ファイル内の引数が \f2\-print <arguments>\fP に置き換わります。
.LP
.RE
.LP
@@ -143,7 +162,7 @@
.LP
.LP
-¥ª¥ó¥é¥¤¥ó¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî)¡£
+オンラインモードで実行します (デフォルトの動作)。
.LP
.RE
.LP
@@ -153,7 +172,7 @@
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤Þ¤Ç \f2javaws\fP ¥×¥í¥»¥¹¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£
+このオプションを指定すると、アプリケーションが終了するまで \f2javaws\fP プロセスは終了しません。
.LP
.RE
.LP
@@ -163,7 +182,7 @@
.LP
.LP
-ÄɲäνÐÎϤòɽ¼¨¤·¤Þ¤¹¡£
+追加の出力を表示します。
.LP
.RE
.LP
@@ -173,7 +192,7 @@
.LP
.LP
-vm ¤Ë¥ª¥×¥·¥ç¥ó¤òÊ䤤¤Þ¤¹¡£
+vm にオプションを補います。
.LP
.RE
.LP
@@ -183,12 +202,12 @@
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¤«¤é¤Î¤ß¼Â¹Ô¤·¤Þ¤¹¡£
+アプリケーションをシステムキャッシュからのみ実行します。
.LP
.RE
.RE
-.SS
-À©¸æ¥ª¥×¥·¥ç¥ó
+.SS
+制御オプション
.LP
.RS 3
@@ -200,7 +219,7 @@
.LP
.LP
-Java ¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ç¥¥ã¥Ã¥·¥å¥Ó¥å¡¼¥¢¤òɽ¼¨¤·¤Þ¤¹¡£
+Java コントロールパネルでキャッシュビューアを表示します。
.LP
.RE
.LP
@@ -210,7 +229,7 @@
.LP
.LP
-»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
+指定された配備プロパティーをクリアします。
.LP
.RE
.LP
@@ -220,7 +239,7 @@
.LP
.LP
-»ØÄꤵ¤ì¤¿ÇÛÈ÷¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£
+指定された配備プロパティーを指定された値に設定します。
.LP
.RE
.LP
@@ -230,7 +249,7 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤«¤é¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
+キャッシュからすべてのアプリケーションを削除します。
.LP
.RE
.LP
@@ -240,7 +259,7 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤«¤é¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Þ¤¹¡£
+キャッシュからアプリケーションを削除します。
.LP
.RE
.LP
@@ -250,10 +269,10 @@
.LP
.LP
-¥¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+キャッシュにアプリケーションをインポートします。
.LP
.RE
-¥¤¥ó¥Ý¡¼¥È¥ª¥×¥·¥ç¥ó
+\f3インポートオプション\fP
.LP
.LP
\f2\-silent\fP
@@ -262,7 +281,7 @@
.LP
.LP
-¥µ¥¤¥ì¥ó¥È¥â¡¼¥É¤Ç¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹ (UI ¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)¡£
+サイレントモードでインポートします (UI は表示されません)。
.LP
.RE
.LP
@@ -272,7 +291,7 @@
.LP
.LP
-¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+システムキャッシュにアプリケーションをインポートします。
.LP
.RE
.LP
@@ -282,7 +301,7 @@
.LP
.LP
-Ǥ°Õ¤Î codebase ¤«¤é¥ê¥½¡¼¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
+任意の codebase からリソースを取得します。
.LP
.RE
.LP
@@ -292,7 +311,7 @@
.LP
.LP
-¥æ¡¼¥¶µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£
+ユーザー許容プロンプトのようにショートカットをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。
.LP
.RE
.LP
@@ -302,20 +321,43 @@
.LP
.LP
-¥æ¡¼¥¶µöÍÆ¥×¥í¥ó¥×¥È¤Î¤è¤¦¤Ë´ØÏ¢ÉÕ¤±¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-silent\fP ¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë»ÈÍѤ·¤Ê¤¤¤È¸ú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£
+ユーザー許容プロンプトのように関連付けをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。
.LP
.RE
.RE
-.SS
-.SH ¥Õ¥¡¥¤¥ë
+.SS
+ファイル
.LP
-¥æ¡¼¥¶¥¥ã¥Ã¥·¥å¡¢¥·¥¹¥Æ¥à¥¥ã¥Ã¥·¥å¡¢¤ª¤è¤Ó deployment.properties ¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ï¡¢
+.RS 3
+
+.LP
+.LP
+ユーザーキャッシュ、システムキャッシュ、および deployment.properties ファイルについては、
.na
-¡Ö\f2System\- and User\-Level Properties\fP¡×
+\f2システムレベルおよびユーザーレベルのプロパティー\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH ¾ÜºÙ¾ðÊó
-Java Web Start ¤Î¾ÜºÙ¤Ï¡¢
-http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.htmlを参照してください。
+.LP
+.RE
+.SS
+詳細情報
+.LP
+.RS 3
+
+.LP
+.LP
+Java Web Start の詳細は、
+.na
+\f2「Java Web Start」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.htmlを参照してください。
+.LP
+.RS 3
+
+.LP
+.LP
+\
+.LP
+.RE
+.RE
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1
index 3f5e258..9b10de5 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1
@@ -1,29 +1,51 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH "jconsole" 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jconsole \- Java ´Æ»ë/´ÉÍý¥³¥ó¥½¡¼¥ë
-.SH ·Á¼°
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jconsole 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jconsole \- Java 監視および管理コンソール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -37,49 +59,63 @@
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
+.RS 3
.TP 3
-options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP
+options
+オプションを使用する場合、コマンド名の直後に記述してください。
+.br
+.TP 3
connection = pid | host:port | jmxUrl
-.LP
-\f2pid\fP\ \ \ ¥í¡¼¥«¥ë¤Î Java VM ¤Î¥×¥í¥»¥¹ ID¡£¤³¤Î Java VM ¤Ï¡¢jconsole ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥æ¡¼¥¶ ID ¤ÈƱ¤¸¥æ¡¼¥¶ ID ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.RS 3
+\f2pid\fP\ \ \ ローカルの Java VM のプロセス ID。Java VM は、jconsole を実行しているユーザー ID と同じユーザー ID を使用して実行する必要があります。詳細については、
.na
-¡Ö\f2JMX Monitoring and Management\fP¡×
+\f2「JMX 監視および管理」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2host\fP:\f2port\fP\ \ Java VM ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¥·¥¹¥Æ¥à¤Î̾Á°¤È¡¢¤½¤Î Java VM ¤Îµ¯Æ°»þ¤Ë¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£ \f2com.sun.management.jmxremote.port\fP ¤Ë»ØÄꤵ¤ì¤¿¥Ý¡¼¥ÈÈֹ档¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlを参照してください。
+.br
+\f2host\fP:\f2port\fP\ \ Java VM が実行しているホストシステムの名前と、JVM を起動したときにシステムプロパティー \f2com.sun.management.jmxremote.port\fP で指定したポート番号。詳細については、
.na
-¡Ö\f2JMX Monitoring and Management\fP¡×
+\f2「JMX 監視および管理」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2jmxUrl\fP\ \ ÀܳÀè¤Î JMX ¥¨¡¼¥¸¥§¥ó¥È¤Î¥¢¥É¥ì¥¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlを参照してください。
+.br
+\f2jmxUrl\fP 接続先の JMX エージェントのアドレス。 これについては、
.na
-¡Ö\f2JMXServiceURL\fP¡×
+\f2JMXServiceURL\fP @
.fi
-(http://java.sun.com/javase/6/docs/api/javax/management/remote/jmxserviceurl.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH µ¡Ç½ÀâÌÀ
+http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html を参照してください。
+.RE
+.RE
-.B jconsole
-¥³¥Þ¥ó¥É¤Ï¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤Î Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È²¾ÁÛ¥Þ¥·¥ó¤ò´Æ»ë¤ª¤è¤Ó´ÉÍý¤¹¤ë¤¿¤á¤Î¥°¥é¥Õ¥£¥«¥ë¥³¥ó¥½¡¼¥ë¥Ä¡¼¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-.SH ¥ª¥×¥·¥ç¥ó
-.TP 15
-.B \-interval=n
-¹¹¿·´Ö³Ö¤ò n ÉäËÀßÄꤷ¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È¤Ï 4 ÉÃ)
-.TP
-.B \-notile
-½é´ü¾õÂ֤ǥ¦¥£¥ó¥É¥¦¤òʤ٤Æɽ¼¨¤·¤Þ¤»¤ó¡£(Àܳ¤¬ 2 ¤Ä°Ê¾å¤¢¤ë¾ì¹ç)
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jconsole\fP コマンドは、ローカルマシンまたはリモートマシン上の Java アプリケーションと仮想マシンの監視と管理を行うグラフィカルコンソールツールを起動します。
+.LP
+.LP
+Windows 上では、\f3jconsole\fP はコンソールウィンドウと関連付けられていません。ただし、なんらかの理由で \f3jconsole\fP コマンドが失敗すると、エラー情報を示すダイアログボックスが表示されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-interval=n
+更新間隔を \f2n\fP 秒に設定します (デフォルトは 4 秒)。
+.TP 3
+\-notile\
+最初にウィンドウをタイリングしません (複数の接続のため)。
.TP 3
\-pluginpath\ plugins
-JConsole ¥×¥é¥°¥¤¥ó¤Î¸¡º÷Àè¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£\f2plugins\fP ¥Ñ¥¹¤Ë¤Ï¡¢¼¡¤Î̾Á°¤Î¥×¥í¥Ð¥¤¥À¹½À®¥Õ¥¡¥¤¥ë¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
+JConsole プラグインの検索先となるディレクトリまたは JAR ファイルのリストを指定します。\f2plugins\fP パスには、次の名前のプロバイダ構成ファイルを含めてください。
.br
.nf
\f3
@@ -89,38 +125,38 @@
\fP
.fi
.LP
-¤³¤ì¤Ë¤Ï¡¢
+これには、
.na
-\f2com.sun.tools.jconsole.JConsolePlugin\fP
+\f2com.sun.tools.jconsole.JConsolePlugin\fP @
.fi
-(http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/jconsoleplugin.html) ¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Î´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë¹Ô¤¬¡¢¥×¥é¥°¥¤¥ó¤´¤È¤Ë 1 ¹Ô¤º¤Ä´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP
-.B \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.TP
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html クラスを実装するクラスの完全修飾クラス名を指定する行が、プラグインごとに 1 行ずつ含まれています。
+.TP 3
+\-version\
+バージョン情報を出力して終了します。
+.TP 3
+\-help\
+ヘルプメッセージを出力して終了します。
.TP 3
\-J<flag>\
-jconsole ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£
+jconsole が実行されている Java 仮想マシンに <flag> を渡します。
+.RE
+
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
+o
+.na
+\f2jconsole の使用\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
-¤Î
-.na
-¡Ö\f2Using JConsole\fP¡×
.TP 2
-*
+o
+.na
+\f2「Java プラットフォームの監視および管理」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/management/index.html
-¤Î
-.na
-¡Ö\f2Monitoring and Management for Java Platform\fP¡×
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1
index 7aab068..53fe7f6 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1
@@ -1,107 +1,101 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.4/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.TH jdb 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-jdb \- Java ¥Ç¥Ð¥Ã¥¬
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jdb 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jdb \- Java デバッガ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3jdb\fP は、Java 言語プログラムのバグを見つけて修正するために使用するツールです。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jdb\fP [ options ] [ class ] [ arguments ]
+.fl
+.fi
+
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+次に示すコマンド行オプション
+.TP 3
+class
+デバッグを開始するクラスの名前
+.TP 3
+arguments
+\f2class\fP の \f2main()\fP メソッドに渡す引数
+.RE
+
+.LP
+.RE
+.SH " 説明"
.LP
.LP
.LP
-\f3jdb\fP ¤Ï¡¢Java ¸À¸ì¥×¥í¥°¥é¥à¤Î¥Ð¥°¤ò¸«¤Ä¤±¤Æ½¤Àµ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£
-.LP
-.SH "·Á¼°"
-.B jdb
-[
-.I options
-] [
-.I class
-] [
-.I arguments
-]
-.LP
-.TP 15
-.I options
-°Ê²¼¤Ë»ØÄꤹ¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó
-.TP
-.I class
-¥Ç¥Ð¥Ã¥°¤ò³«»Ï¤¹¤ë¥¯¥é¥¹Ì¾
-.TP
-.I arguments
-¥¯¥é¥¹¤Î
-.B main(\|)
-¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë°ú¿ô
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java debugger" "" "Java debugger \(em \fLjdb\fP"
-.IX "jdb" "" "\fLjdb\fP \(em Java debugger"
-Java ¥Ç¥Ð¥Ã¥¬¤Î
-.BR jdb
-¤Ï¡¢
-Java
-¥¯¥é¥¹ÍѤÎñ½ã¤Ê¥³¥Þ¥ó¥É¹Ô¥Ç¥Ð¥Ã¥¬¤Ç¤¹¡£
+Java デバッガ \f3jdb\fP は、Java クラス用の簡単なコマンド行デバッガです。
.na
-¡Ö\f2Java Platform Debugger Architecture\fP¡×
+\f2Java Platform Debugger Architecture\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html)
-¤ò²èÌ̤Ëɽ¼¨¤·¤Ê¤¬¤é¼Â¹Ô¤·¡¢¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó
-¤Î¸¡ºº¤È¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.SS "jdb ¥»¥Ã¥·¥ç¥ó¤Î³«»Ï"
-.IX "jdb" "Starting a jdb Session" "\fLjdb\fP \(em Java debugger"
-jdb ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤Ã¤È¤âÉÑÈˤ˻È
-¤ï¤ì¤ë¤Î¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤ò¥Ç¥Ð¥Ã¥°¤·¤Æ¡¢
-.B jdb
-¤«¤é¿·¤·¤¯ Java ²¾ÁÛ¥Þ¥·¥ó (VM) ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¹Ô¤Ç¡¢
-.BR java (1)
-¤ÎÂå¤ï¤ê¤Ë
-.B jdb
-¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó¥¯¥é¥¹¤¬
-.BR MyClass
-¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ jdb ´Ä¶¤Ç¥Ç¥Ð¥Ã¥°¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html を視覚的に実行し、ローカルまたはリモートの Java Virtual Machine の検査とデバッグを行うことができます。
.LP
-.RS
-.B % jdb MyClass
-.RE
+.SS
+jdb セッションの開始
.LP
-¤³¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤¹¤ë¤È¡¢
-.B jdb
-¤Ï 2 ¤ÄÌܤΠJava VM ¤ò¸Æ¤Ó½Ð¤·¡¢»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤òÅϤ·¡¢
-»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤½¤Î¤¢¤È¡¢
-¥¯¥é¥¹¤ÎºÇ½é¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë VM ¤òÄä»ß¤µ¤»¤Þ¤¹¡£
+.RS 3
+
.LP
-.B jdb
-¤Î¤â¤¦ 1 ¤Ä¤Î»ÈÍÑÊýË¡¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë Java VM ¤Ë
-.B jdb
-¤òÀܳ¤¹¤ë¤³¤È¤Ç¤¹¡£
-jdb ¤¬Àܳ¤¹¤ë VM ¤ò¡¢¤½¤Î¼Â¹ÔÃæ¤Ëµ¯Æ°¤¹¤ë¤¿¤á¤Î¹½Ê¸¤ò¼¡¤Ë¼¨¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥¤¥ó¥×¥í¥»¥¹¥Ç¥Ð¥Ã¥°Íѥ饤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¡¢Àܳ¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡£
+.LP
+jdb セッションを開始するにはさまざまな方法があります。もっとも頻繁に使われるのは、デバッグするアプリケーションのメインクラスを使用して、\f3jdb\fP から新しい Java 仮想マシン (VM) を起動する方法です。コマンド行で、 \f3java\fP の代わりに \f3jdb\fP コマンドを入力します。たとえば、アプリケーションのメインクラスが MyClass の場合は、JDB 環境でデバッグするときに次のコマンドを使用します。
+.LP
+.nf
+\f3
+.fl
+ % jdb MyClass
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この方法で起動すると、\f3jdb\fP は、指定されたパラメータを使って 2 つ目の Java VM を呼び出します。 次に、指定されたクラスをロードして、クラスの最初の命令を実行する前に VM を停止させます。
+.LP
+.LP
+\f3jdb\fP のもう 1 つの使用方法は、すでに起動している Java VM に jdb を接続することです。jdb が接続する VM を、その実行中に起動するための構文を次に示します。これは、インプロセスデバッグ用ライブラリをロードし、接続の種類を指定します。
.LP
.nf
\f3
@@ -113,11 +107,7 @@
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï
-.B MyClass
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¡¢¸å¤Ç
-.B jdb
-¤òÀܳ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+たとえば、次のコマンドは、MyClass アプリケーションを実行して、\f3jdb\fP があとでそのアプリケーションに接続できるようにします。
.LP
.nf
\f3
@@ -129,375 +119,250 @@
.LP
.LP
-¼¡¤Î¥³¥Þ¥ó¥É¤Ç
-.B jdb
-¤ò VM ¤ËÀܳ¤Ç¤¤Þ¤¹¡£
+次のコマンドを使用して、\f3jdb\fP を VM に接続できます。
.LP
-.RS
-.B % jdb \-attach 8000
-.RE
-.LP
-¤³¤Î¤È¤¡¢
-.B jdb
-¤Ï¿·¤·¤¤ VM ¤òµ¯Æ°¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢´û¸¤Î VM ¤ËÀܳ¤¹¤ë¤Î¤Ç¡¢
-.B jdb
-¥³¥Þ¥ó¥É¹Ô¤Ç
-.B MyClass
-¤ò»ØÄꤷ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-¤³¤ì°Ê³°¤Ë¤â¥Ç¥Ð¥Ã¥¬ (jdb) ¤ò VM ¤ËÀܳ¤¹¤ëÊýË¡¤Ï¤¿¤¯¤µ¤ó¤¢¤ê¡¢
-.BR jdb
-¤Ï¤½¤Î¤¹¤Ù¤Æ¤ÎÊýË¡¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤ÊÀܳ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.nf
+\f3
+.fl
+ % jdb \-attach 8000
+.fl
+\fP
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html
-¤Ç Java Platform Debugger Architecture ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-\f3jdb\fP ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ë J2SE 1.4.2 °ÊÁ°¤Î VM ¤òµ¯Æ°¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html
-¤Î 1.4.2 ¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS " jdb ´ðËÜ¥³¥Þ¥ó¥É"
-.IX "jdb" "Basic jdb Commands" "\fLjdb\fP \(em Java debugger"
-°Ê²¼¤Ë
-.B jdb
-´ðËÜ¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£
-Java
-¥Ç¥Ð¥Ã¥¬¤Ç»ÈÍѲÄǽ¤Ê¤½¤Î¾¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-.B help
-¥³¥Þ¥ó¥É¤Çɽ¼¨¤Ç¤¤Þ¤¹¡£
-.TP 15
-.B help ¤Þ¤¿¤Ï ?
-.BR jdb
-¤Î¥³¥Þ¥ó¥É¤ÎÃæ¤Ç¤â¤Ã¤È¤â½ÅÍפʤΤ¬¡¢¤³¤Î
-.B help
-¥³¥Þ¥ó¥É¤Ç¤¹¡£ÍøÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¤Î°ìÍ÷¤ò¡¢
-³Æ¥³¥Þ¥ó¥É¤Î´Êñ¤ÊÀâÌÀ¤Ä¤¤Çɽ¼¨¤·¤Þ¤¹¡£
-.TP 15
-.B run
-.BR jdb
-¤òµ¯Æ°¤·¤ÆɬÍפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤷ¤¿¤¢¤È¤Ë¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò³«»Ï¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-.B jdb
-¤«¤éµ¯Æ°¤¹¤ë¤È¤¤Ë¤À¤±»ÈÍѤǤ¤Þ¤¹¡£
-´û¸¤Î VM ¤ËÀܳ¤¹¤ë¾ì¹ç¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£
-.TP
-.B cont
-¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¡¢Îã³°¡¢¤Þ¤¿¤Ï¥¹¥Æ¥Ã¥×¼Â¹Ô¤Î¤¢¤È¤Ç¡¢¥Ç¥Ð¥Ã¥°Ãæ¤Î
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£
-.TP 15
-.B print
-Java ¥ª¥Ö¥¸¥§¥¯¥È¤ª¤è¤Ó¥×¥ê¥ß¥Æ¥£¥ÖÃͤòɽ¼¨¤·¤Þ¤¹¡£ ¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô
-¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤ÎÃͤò½ÐÎϤ·¤Þ¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç
-¤Ë¤Ï¡¢Ã»¤¤ÀâÌÀ¤ò½ÐÎϤ·¤Þ¤¹¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê¹ß¤Î
-.B dump
-¥³¥Þ¥ó¥É¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.sp 1n
-.LP
-Ãí: ¶É½ê
-(¥¹¥¿¥Ã¥¯)
-ÊÑ¿ô¤ò¥Ö¥é¥¦¥º¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹¤¬
-.B javac \-g
-¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.sp 1n
-.LP
-.B print
-¤Ï¡¢¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¿¿ô¤Î´Êñ¤Ê Java ¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS
-.TP 3
-\(bu
-.B print MyClass.myStaticField
-.PD 0
-.TP
-\(bu
-.B print myObj.myInstanceField
-.TP
-\(bu
-\f3print\f1 \f2i\f1 \f3+\f1 \f2j\f1 \f3+\f1 \f2k\f1 (
-.IR i¡¢
-.IR j ¡¢
-¤ª¤è¤Ó
-.I k
-¤Ï¥×¥ê¥ß¥Æ¥£¥Ö¤Ç¤¢¤ê¡¢¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï¶É½êÊÑ¿ô¤Î¤¤¤º¤ì¤«)
-.TP
-\(bu
-\f3print myObj.myMethod(\|)\f1 (
-.B myMethod
-¤¬ null °Ê³°¤òÊÖ¤¹¾ì¹ç)
-.TP
-\(bu
-.B print new java.lang.String("Hello").length(\|)
-.RE
-.PD
-.TP
-.B dump
-¥×¥ê¥ß¥Æ¥£¥ÖÃͤξì¹ç¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï
-.BR print
-¤ÈƱ¤¸¤Ç¤¹¡£¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë
-³Æ¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤ÎÃͤò½ÐÎϤ·¤Þ¤¹¡£ static ¥Õ¥£¡¼¥ë¥É¤È instance
-¥Õ¥£¡¼¥ë¥É¤ò½ÐÎϤ·¤Þ¤¹¡£
-.sp 1n
-.LP
-.B dump
-¥³¥Þ¥ó¥É¤Ï¡¢
-.B print
-¥³¥Þ¥ó¥É¤ÈƱ¤¸¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.TP
-.B threads
-¸½ºß¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤´¤È¤Ë¡¢Ì¾Á°¤È¸½ºß¤Î¾õÂÖ¡¢
-¤ª¤è¤Ó¤Û¤«¤Î¥³¥Þ¥ó¥É¤Ë»ÈÍѤǤ¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò
-¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.RS 20
-.LP
-.B 4. (java.lang.Thread)0x1 main running
-.RE
-.RS
-.sp 1n
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï
-.BR 4
-¤Ç¤¢¤ê¡¢¥¹¥ì¥Ã¥É¤Ï
-.BR java.lang.Thread
-¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¹¡£¥¹¥ì¥Ã¥É¤Î̾Á°¤Ï¡Ö
-.BR main
-¡×¤Ç¤¢¤ê¡¢¸½ºß¼Â¹ÔÃæ¤Ç¤¹¡£
-.RE
-.TP 15
-.B thread
-¸½ºß¤Î¥¹¥ì¥Ã¥É¤òÁªÂò¤·¤Þ¤¹¡£ ¿¤¯¤Î
-.B jdb
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¤ÎÀßÄê¤Ë´ð¤Å¤¤¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥¹¥ì¥Ã¥É¤Ï¡¢
-.B threads
-¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤¹¤ë¥¹¥ì¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤È¤â¤Ë»ØÄꤷ¤Þ¤¹¡£
-.TP 15
-.B where
-°ú¿ô¤Î¤Ê¤¤
-.B where
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É
-(
-.B thread
-¥³¥Þ¥ó¥É¤ÇÀßÄê)
-¤Î¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.B where all
-¤È»ØÄꤹ¤ë¤È¡¢¸½ºß¤Î¥¹¥ì¥Ã¥É¥°¥ë¡¼¥×¤Ë¤¢¤ëÁ´¥¹¥ì¥Ã¥É¤Î
-¥¹¥¿¥Ã¥¯¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.BI where " threadindex"
-¤È»ØÄꤹ¤ë¤È¡¢
-.I threadindex
-¤¬¼¨¤¹¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤À¤±¤ò¥À¥ó¥×¤·¤Þ¤¹¡£
-.sp 1n
-.LP
-¸½ºß¤Î¥¹¥ì¥Ã¥É¤¬ (¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ê¤É¤Î¥¤¥Ù¥ó¥È¤ä
-.B suspend
-¥³¥Þ¥ó¥É¤Ç) ÃæÃǤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-.B print
-¥³¥Þ¥ó¥É¤ä
-.B dump
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢¶É½êÊÑ¿ô¤ä¥Õ¥£¡¼¥ë¥É¤òɽ¼¨¤Ç¤¤Þ¤¹¡£
-¤É¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤ò¸½ºß¤Î¥Õ¥ì¡¼¥à¤Ë¤¹¤ë¤«¤Ï¡¢
-.B up
-¤ª¤è¤Ó
-.B down
-¥³¥Þ¥ó¥É¤ÇÁªÂò¤Ç¤¤Þ¤¹¡£
-.SS "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥ÈÍÑ¥³¥Þ¥ó¥É"
-.IX "jdb" "Breakpoints" "\fLjdb\fP \(em Java debugger"
-.B jdb
-¤Ç¤Ï¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ò¹ÔÈÖ¹æ¤Ç¡¢
-¤Þ¤¿¤Ï¥á¥½¥Ã¥É¤ÎºÇ½é¤ÎÌ¿Îá¤Ç
-ÀßÄê¤Ç¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.TP 25
-.B stop at MyClass:22
-.BR MyClass
-¤¬´Þ¤Þ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î
-.B 22
-¹ÔÌܤκǽé¤ÎÌ¿Îá¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë
-.TP
-.B stop in java.lang.String.length
-.BR java.lang.String.length
-¥á¥½¥Ã¥É¤ÎºÇ½é¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë
-.TP
-.BI "stop in MyClass." init
-.I init
-¤Ï
-.B MyClass
-¥³¥ó¥¹¥È¥é¥¯¥¿¤ò¼±Ê̤¹¤ë
-.TP
-.BI "stop in MyClass." clinit
-.I clinit
-¤Ï
-.BR MyClass
-¤ÎÀÅŪ¤Ê½é´ü²½¥³¡¼¥É¤ò¼±Ê̤¹¤ë
-.LP
-¥á¥½¥Ã¥É¤¬¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤Î·¿¤â»ØÄꤷ¤Æ¡¢
-¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ËÂФ·¤ÆŬÀڤʥ᥽¥Ã¥É¤¬ÁªÂò¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»
-¤ó¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
-.LP
-.RS 15
-.B MyClass.myMethod(int,java.lang.String)
-.RE
-.LP
-¤Þ¤¿¤Ï
-.LP
-.RS 15
-.B MyClass.myMethod()
-.RE
-.LP
-.B clear
-¥³¥Þ¥ó¥É¤Ï¡¢¡Ö
-.BR clear MyClass:45
-¡×¤Î¤è¤¦¤Ê¹½Ê¸¤ò»ÈÍѤ·¤Æ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òºï½ü¤·¤Þ¤¹¡£
-°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤Ç
-.B clear
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤
-¤ë¤¹¤Ù¤Æ¤Î¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.B cont
-¥³¥Þ¥ó¥É¤Ç¼Â¹Ô¤¬·Ñ³¤·¤Þ¤¹¡£
-.SS "¥³¥Þ¥ó¥É¤Î¥¹¥Æ¥Ã¥×¼Â¹Ô"
-.IX "jdb" "Stepping" "\fLjdb\fP \(em Java debugger"
-.B step
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¸Æ¤Ó½Ð¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç¡¢
-¼¡¤Î¹Ô¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.B next
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Î¼¡¤Î¹Ô¤ò
-¼Â¹Ô¤·¤Þ¤¹¡£
-.SS "Îã³°½èÍýÍÑ¥³¥Þ¥ó¥É"
-.IX "jdb" "Exceptions" "\fLjdb\fP \(em Java debugger"
-¥¹¥í¡¼¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¾å¤Î¤É¤³¤Ë¤â catch ʸ¤¬¤Ê¤¤¤è¤¦¤Ê
-Îã³°¤¬È¯À¸¤¹¤ë¤È¡¢VM ¤ÏÄ̾Îã³°¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢
-.BR jdb
-´Ä¶¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤è¤¦¤ÊÎã³°¤¬È¯À¸¤¹¤ë¤È
-.B jdb
-¤ËÀ©¸æ¤¬Ìá¤ê¤Þ¤¹¡£ ¼¡¤Ë¡¢
-.BR jdb
-¤ò»ÈÍѤ·¤ÆÎã³°¤Î¸¶°ø¤ò¿ÇÃǤ·¤Þ¤¹¡£
-.TP 15
-.B catch
-¥Ç¥Ð¥Ã¥°Ãæ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¾¤ÎÎã³°¤¬¥¹¥í¡¼¤µ¤ì¤¿¤È¤³¤í¤ÇÄä»ß¤·¤Þ¤¹¡£
-¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS 20
-.B catch java.io.FileNotFoundException
-.RE
-.sp 1n
-.RS 15
-¤Þ¤¿¤Ï
-.RE
-.LP
-.RS 20
-.B catch mypackage.BigTroubleException
-.RE
-.sp 1n
-.RS 15
-Îã³°¤¬»ØÄꤷ¤¿¥¯¥é¥¹ (¤Þ¤¿¤Ï¡¢¥µ¥Ö¥¯¥é¥¹) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤¢¤ë¾ì¹ç¡¢
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥¹¥í¡¼¤µ¤ì¤¿¤È¤³¤í¤ÇÄä»ß¤·¤Þ¤¹¡£
-.RE
-.TP 15
-.B ignore
-°ÊÁ°¤Î
-.B catch
-¥³¥Þ¥ó¥É¤Î¸ú²Ì¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î»ØÄê¤Ë¤è¤Ã¤ÆÎã³°¤ò̵»ë¤¹¤ë¤Î¤Ï
-¥Ç¥Ð¥Ã¥¬¤À¤±¤Ç¤¢¤ê¡¢¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿ VM ¤Ï̵»ë¤·¤Þ¤»¤ó¡£
-.SH "¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó"
-¥³¥Þ¥ó¥É¹Ô¤Ç Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ÎÂå¤ï¤ê¤Ë
-.B jdb
-¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-.B jdb
-¤Ï¡¢
-.BR \-D¡¢
-.BR \-classpath¡¢
-.BI \-X option\f1
-¤Ê¤É¡¢
-.BR java (1)
-¥³¥Þ¥ó¥É¤ÈƱ¤¸¥ª¥×¥·¥ç¥ó¤ò¿¿ô»ÈÍѤǤ¤Þ¤¹¡£
-.LP
-.B jdb
-¤Ï¡¢¤½¤Î¤Û¤«¤Ë¼¡¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤǤ¤Þ¤¹¡£
-.TP 3
-.BI \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-.BI \-sourcepath " dir1\f1:\f2dir2\f1:..."
-»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ç¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Î¡Ö.¡×¤ò¸¡º÷¤·¤Þ¤¹¡£
-.TP
-.BI \-attach " address"
-¥Ç¥Õ¥©¥ë¥È¤ÎÀܳµ¡¹½¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ç¤Ë¼Â¹ÔÃæ¤Î VM ¤Ë¥Ç¥Ð¥Ã¥¬¤òÀܳ
-¤·¤Þ¤¹¡£
-.TP
-.BI \-listen " address"
-¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£
-.TP
-.BI \-listenany
-¼Â¹ÔÃæ¤Î VM ¤¬É¸½à¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤ÆÍøÍѲÄǽ¤ÊǤ°Õ¤Î¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤Î¤òÂÔµ¡¤·¤Þ¤¹¡£
-.TP
-.B \-launch
-¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-.BR jdb
-¤Îµ¯Æ°¸å¤¿¤À¤Á¤Ëµ¯Æ°¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢
-.B run
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¥Ç¥Ð¥Ã¥°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢
-µ¯Æ°¸å¡¢ºÇ½é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ëľÁ°¤ËÄä»ß¤·¤Þ¤¹¡£
-¤½¤Î»þÅÀ¤Ç¡¢É¬Íפʥ֥졼¥¯¥Ý¥¤¥ó¥È¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-¼Â¹Ô¤ò·Ñ³¤¹¤ë¤Ë¤Ï
-.B cont
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP 3
-\-listconnectors
-¤³¤Î VM ¤ÇÍøÍѤǤ¤ë¥³¥Í¥¯¥¿¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-\-connect
-<connector\-name>:<name1>=<value1>,...
-°ìÍ÷ɽ¼¨¤µ¤ì¤¿°ú¿ô¤ÎÃͤȻØÄê¤Î¥³¥Í¥¯¥¿¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È VM ¤ËÀܳ¤·¤Þ¤¹¡£
-.TP 3
-\-dbgtrace [flags]
-jdb ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 3
-\-tclient
-Java HotSpot(tm) VM (¥¯¥é¥¤¥¢¥ó¥È) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.TP 3
-\-tserver
-Java HotSpot(tm) VM (¥µ¡¼¥Ð) Æâ¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.TP
-.BI \-J "option"
-jdb ¤Î¼Â¹Ô¤Ë»ÈÍѤµ¤ì¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Java ²¾ÁÛ¥Þ¥·¥ó¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3run\fP ¥³¥Þ¥ó¥É¤ËÅϤµ¤ì¤ë¡£)
-¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-
.LP
-¤³¤ì°Ê³°¤Ë¤â¡¢¥Ç¥Ð¥Ã¥¬¤ò¥Ç¥Ð¥Ã¥°¤µ¤ì¤ë VM ¤ËÀܳ¤¹¤ë¤¿¤á¤ÎÂåÂص¡¹½
-ÍѤΥª¥×¥·¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤ÊÀܳ¤ÎÂåÂص¡¹½¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+.LP
+この場合、\f3jdb\fP は新しい VM を起動する代わりに既存の VM に接続されるため、\f3jdb\fP コマンド行には「MyClass」は指定しません。
+.LP
+.LP
+デバッガを VM に接続するにはほかにもさまざまな方法があり、すべて \f3jdb\fP でサポートされています。接続オプションについては、Java Platform Debugger Architecture の
+.na
+\f2ドキュメント\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html
-¤Î Java Platform Debugger Architecture ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlを参照してください。\f3jdb\fP で使用するために J2SE 1.4.2 以前の VM を起動する方法については、
+.na
+\f21.4.2 のドキュメント\fP @
+.fi
+http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.htmlを参照してください。
.LP
.SS
-¥Ç¥Ð¥Ã¥°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤ËžÁ÷¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó
+基本 jdb コマンド
.LP
-.TP 3
-\-v \-verbose[:class|gc|jni]
-¾éĹ¥â¡¼¥É¤Ë¤·¤Þ¤¹¡£
-.TP 3
-\-D<name>=<value>
-¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 3
-\-classpath <directories separated by
-":">
-¥¯¥é¥¹¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-\-X<option>
-Èóɸ½à¥¿¡¼¥²¥Ã¥È VM ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
.LP
-.SH "´ØÏ¢¹àÌÜ"
+基本的な \f3jdb\fP コマンドの一覧を示します。Java デバッガがサポートするコマンドはこれ以外にもあり、それらは \f3jdb\fP の \f2help\fP コマンドを使用して表示できます。
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+help または ?
+もっとも重要な \f3jdb\fP コマンド \f2help\fP は、認識されたコマンドのリストに簡潔な説明を付けて表示します。
+.TP 3
+run
+\f3jdb\fP を起動して必要なブレークポイントを設定したあとに、このコマンドを使用して、デバッグするアプリケーションの実行を開始できます。このコマンドは、既存の VM に接続している場合とは異なり、デバッグするアプリケーションが \f3jdb\fP から起動したときにだけ使用できます。
+.TP 3
+cont
+ブレークポイント、例外、またはステップ実行のあとで、デバッグするアプリケーションの実行を継続します。
+.TP 3
+print
+Java オブジェクトおよびプリミティブ値を表示します。プリミティブ型の変数またはフィールドの場合には、実際の値が出力されます。オブジェクトの場合には、短い説明が出力されます。オブジェクトについては、以降の \f2dump\fP コマンドの説明を参照してください。
+.LP
+\f2注:局所変数を表示するには、その変数を含むクラスが \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP オプションでコンパイルされていなければなりません。
+.LP
+\f2print\fP では、メソッドの呼び出しを含む多数の簡単な Java 式がサポートされています。 次に例を示します。
+.RS 3
+.TP 2
+o
+\f2print MyClass.myStaticField\fP
+.TP 2
+o
+\f2print myObj.myInstanceField\fP
+.TP 2
+o
+\f2print i + j + k\fP (i、j、および k はプリミティブであり、フィールドまたは局所変数のいずれか)
+.TP 2
+o
+\f2print myObj.myMethod()\fP (myMethod が null 以外を返す場合)
+.TP 2
+o
+\f2print new java.lang.String("Hello").length()\fP
+.RE
+.TP 3
+dump
+プリミティブ値の場合には、このコマンドは \f2print\fP と同じです。オブジェクトの場合には、オブジェクト内に定義されている各フィールドの現在の値が出力されます。static フィールドと instance フィールドが出力されます。
+.LP
+\f2dump\fP コマンドでは、\f2print\fP コマンドと同じ式がサポートされます。
+.TP 3
+threads
+現在実行中のスレッドを一覧表示します。スレッドごとに、名前と現在の状態、およびほかのコマンドに使用できるインデックスが出力されます。 次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+4. (java.lang.Thread)0x1 main running
+.fl
+\fP
+.fi
+.RE
+この例では、スレッドインデックスは 4 であり、スレッドは java.lang.Thread のインスタンスです。 スレッドの名前は「main」であり、現在実行中です。
+.TP 3
+thread
+現在のスレッドにするスレッドを選択します。多くの \f3jdb\fP コマンドは、現在のスレッドの設定に基づいて実行されます。スレッドは、\f2threads\fP コマンドで説明したスレッドインデックスとともに指定します。
+.TP 3
+where
+引数を指定しないで \f2where\fP を実行すると、現在のスレッドのスタックがダンプされます。 \f2where all\fP コマンドは、現在のスレッドグループにあるスレッドのスタックを、すべてダンプします。 \f2where\fP \f2threadindex\fP は、指定されたスレッドのスタックをダンプします。
+.LP
+現在のスレッドが (ブレークポイントか \f2suspend\fP コマンドによって) 中断している場合は、局所変数とフィールドは \f2print\fP コマンドと \f2dump\fP コマンドで表示できます。\f2up\fP コマンドと \f2down\fP コマンドで、どのスタックフレームをカレントにするかを選ぶことができます。
+.RE
+
+.LP
+.RE
+.SS
+ブレークポイント
+.LP
+.RS 3
+
+.LP
+.LP
+ブレークポイントは、行番号またはメソッドの最初の命令で \f3jdb\fP に設定できます。 次に例を示します。
+.LP
+.RS 3
+.TP 2
+o
+\f2stop at MyClass:22\fP (MyClass が含まれるソースファイルの 22 行目の最初の命令にブレークポイントを設定)
+.TP 2
+o
+\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP メソッドの最初にブレークポイントを設定)
+.TP 2
+o
+\f2stop in MyClass.<init>\fP (<init> は MyClass コンストラクタを識別)
+.TP 2
+o
+\f2stop in MyClass.<clinit>\fP (<clinit> は MyClass の静的初期化コードを識別)
+.RE
+
+.LP
+.LP
+メソッドがオーバーロードされている場合には、メソッドの引数の型も指定して、ブレークポイントに対して適切なメソッドが選択されるようにしなければなりません。たとえば、「\f2MyClass.myMethod(int,java.lang.String)\fP」または「\f2MyClass.myMethod()\fP」と指定します。
+.LP
+.LP
+\f2clear\fP コマンドは、「\f2clear\ MyClass:45\fP」のような構文を使用してブレークポイントを削除します。\f2clear\fP を使用するか、引数を指定しないでコマンドを使用すると、現在設定されているすべてのブレークポイントが表示されます。\f2cont\fP コマンドは実行を継続します。
+.LP
+.RE
+.SS
+ステップ実行
+.LP
+.RS 3
+
+.LP
+.LP
+\f2step\fP コマンドは、現在のスタックフレームまたは呼び出されたメソッド内で、次の行を実行します。\f2next\fP コマンドは、現在のスタックフレームの次の行を実行します。
+.LP
+.RE
+.SS
+例外
+.LP
+.RS 3
+
+.LP
+.LP
+スローしているスレッドの呼び出しスタック上のどこにも catch 文がない場合に例外が発生すると、VM は通常、例外トレースを出力して終了します。ただし、\f3jdb\fP 環境で実行している場合は、例外が発生すると \f3jdb\fP に制御が戻ります。次に、\f3jdb\fP を使用して例外の原因を診断します。
+.LP
+.LP
+たとえば、「\f2catch java.io.FileNotFoundException\fP」または「\f2catch mypackage.BigTroubleException\fP」のように \f2catch\fP コマンドを使用すると、デバッグされたアプリケーションは、ほかの例外がスローされたときに停止します。例外が特定のクラス (またはサブクラス) のインスタンスの場合は、アプリケーションは例外がスローされた場所で停止します。
+.LP
+.LP
+\f2ignore\fP コマンドを使うと、以前の \f2catch\fP コマンドの効果が無効になります。
+.LP
+.LP
+\f2注:\fP\f2ignore\fP コマンドでは、デバッグされる VM は例外を無視せず、デバッガだけが例外を無視します。
+.LP
+.RE
+.RE
+.SH "コマンド行オプション"
.LP
.LP
.LP
-javac¡¢java¡¢javah¡¢javap¡¢javadoc
+コマンド行で Java アプリケーション起動ツールの代わりに \f3jdb\fP を使用する場合、\f3jdb\fP は、\f2\-D\fP、\f2\-classpath\fP、\f2\-X<option>\fP など、java コマンドと同じ数のオプションを受け入れます。
+.LP
+.LP
+\f3jdb\fP は、そのほかに次のオプションを受け入れます。
+.LP
+.RS 3
+.TP 3
+\-help
+ヘルプメッセージを表示します。
+.TP 3
+\-sourcepath <dir1:dir2:...>
+指定されたパスを使用して、ソースファイルを検索します。このオプションが指定されていない場合は、デフォルトパスの「.」が使われます。
+.TP 3
+\-attach <address>
+デフォルトの接続機構を使用して、すでに実行中の VM にデバッガを接続します。
+.TP 3
+\-listen <address>
+実行中の VM が標準のコネクタを使って指定されたアドレスに接続するのを待機します。
+.TP 3
+\-listenany
+実行中の VM が標準のコネクタを使って利用可能な任意のアドレスに接続するのを待機します。
+.TP 3
+\-launch
+デバッグするアプリケーションを jdb の起動後ただちに起動します。このオプションによって、\f2run\fP コマンドを使用する必要がなくなります。デバッグするアプリケーションは、起動後、初期アプリケーションクラスがロードされる直前に停止します。その時点で、必要なブレークポイントを設定し、\f2cont\fP を使用して実行を継続できます。
+.TP 3
+\-listconnectors
+この VM で利用できるコネクタを一覧表示します。
+.TP 3
+\-connect <connector\-name>:<name1>=<value1>,...
+一覧表示された引数の値と指定のコネクタを使ってターゲット VM に接続します。
+.TP 3
+\-dbgtrace [flags]
+jdb のデバッグ情報を出力します。
+.TP 3
+\-tclient
+Java HotSpot(tm) VM (クライアント) 内でアプリケーションを実行します。
+.TP 3
+\-tserver
+Java HotSpot(tm) VM (サーバー) 内でアプリケーションを実行します。
+.TP 3
+\-Joption
+jdb の実行に使用される Java 仮想マシンに \f2option\fP を渡します。(アプリケーション Java 仮想マシンに対するオプションは、\f3run\fP コマンドに渡される)。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+.LP
+デバッガとデバッグを行う VM を接続するための代替機構に対して、その他のオプションがサポートされています。その他の接続オプションについては、Java Platform Debugger Architecture の
+.na
+\f2ドキュメント\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlを参照してください。
+.LP
+.SS
+デバッグ対象のプロセスに転送されるオプション
+.LP
+.RS 3
+.TP 3
+\-v \-verbose[:class|gc|jni]
+冗長モードにします。
+.TP 3
+\-D<name>=<value>
+システムプロパティーを設定します。
+.TP 3
+\-classpath <directories separated by ":">
+クラスを検索するディレクトリを一覧表示します。
+.TP 3
+\-X<option>
+非標準ターゲット VM オプションです。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+javac(1)、java(1)、javah(1)、javap(1)、javadoc(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1
index 0de8a48..881ade9 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,15 +18,34 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jhat 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH jhat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-jhat \- Java ¥Ò¡¼¥×²òÀϥġ¼¥ë
+.SH "名前"
+jhat \- Java ヒープ解析ツール
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -41,107 +59,101 @@
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
+.RS 3
.TP 3
options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
+オプションを使用する場合、コマンド名の直後に記述してください。
+.br
.TP 3
heap\-dump\-file
-¥Ö¥é¥¦¥ºÂоݤȤʤë Java ¥Ð¥¤¥Ê¥ê¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¡£Ê£¿ô¤Î¥Ò¡¼¥×¥À¥ó¥×¤ò´Þ¤à¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¡Öfoo.hprof#3¡×¤Î¤è¤¦¤Ë¥Õ¥¡¥¤¥ë̾¤Î¸å¤Ë¡Ö#<number>¡×¤òÉղ乤뤳¤È¤Ç¡¢¥Õ¥¡¥¤¥ëÆâ¤ÎÆÃÄê¤Î¥À¥ó¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.SH "ÀâÌÀ"
-.LP
-
+ブラウズ対象となる Java バイナリヒープダンプファイル。複数のヒープダンプを含むダンプファイルの場合、「foo.hprof#3」のようにファイル名の後に「#<number>」を付加することで、ファイル内の特定のダンプを指定できます。
+.SH "説明"
.LP
.LP
-\f3jhat\fP ¥³¥Þ¥ó¥É¤Ï¡¢java ¥Ò¡¼¥×¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¡¢Web ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£jhat ¤ò»È¤¨¤Ð¡¢¤ª¹¥¤ß¤Î Web ¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¥Ò¡¼¥×¥À¥ó¥×¤ò¥Ö¥é¥¦¥º¤Ç¤¤Þ¤¹¡£jhat ¤Ï¡¢¡Ö¤¢¤ë´ûÃΤΥ¯¥é¥¹¡ÖFoo¡×¤Î¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òɽ¼¨¤¹¤ë¡×¤È¤¤¤Ã¤¿¡¢»öÁ°¤ËÀ߷פµ¤ì¤¿¥¯¥¨¥ê¤Î¤Û¤«¡¢\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) ¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£\f3OQL\fP ¤Ï¡¢¥Ò¡¼¥×¥À¥ó¥×¤ËÂФ¹¤ë¥¯¥¨¥ê¤ò¹Ô¤¦¤¿¤á¤Î¡¢SQL ¤Ë»÷¤¿¥¯¥¨¥ê¸À¸ì¤Ç¤¹¡£OQL ¤Î¥Ø¥ë¥×¤Ë¤Ï¡¢jhat ¤Ë¤è¤Ã¤Æɽ¼¨¤µ¤ì¤ë OQL ¥Ø¥ë¥×¥Ú¡¼¥¸¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢OQL ¤Î¥Ø¥ë¥×¤Ï http://localhost:7000/oqlhelp/ ¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
+\f3jhat\fP コマンドは、java ヒープダンプファイルを解析し、Web サーバーを起動します。 jhat を使えば、お好みの Web ブラウザを使ってヒープダンプをブラウズできます。 jhat は、「ある既知のクラス「Foo」のすべてのインスタンスを表示する」といった、事前に設計されたクエリのほか、\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) もサポートします。OQL のヘルプには、jhat によって表示される OQL ヘルプページからアクセスできます。デフォルトポートを使用する場合、OQL のヘルプは http://localhost:7000/oqlhelp/ で利用可能です。
.LP
.LP
-Java ¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
+Java のヒープダンプを生成するには、いくつかの方法があります。
.LP
.RS 3
.TP 2
-*
-jmap ¤Î \-dump ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£
+o
+jmap(1) の \-dump オプションを使って実行時にヒープダンプを取得する。
.TP 2
-*
-jconsole ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ
+o
+jconsole(1) のオプションを使って
.na
-\f2HotSpotDiagnosticMXBean\fP
+\f2HotSpotDiagnosticMXBean\fP @
.fi
-(http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html) ·Ðͳ¤Ç¼Â¹Ô»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤ò¼èÆÀ¤¹¤ë¡£
+http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html 経由で実行時にヒープダンプを取得する。
.TP 2
-*
-\-XX:+HeapDumpOnOutOfMemoryError VM ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢OutOfMemoryError ¤Î¥¹¥í¡¼»þ¤Ë¥Ò¡¼¥×¥À¥ó¥×¤¬À¸À®¤µ¤ì¤ë¡£
+o
+\-XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemoryError のスロー時にヒープダンプが生成される。
.TP 2
-*
-
+o
.na
-\f2hprof\fP
+\f2hprof\fP @
.fi
-(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) ¤ò»ÈÍѤ¹¤ë¡£
+http://java.sun.com/developer/technicalArticles/Programming/HPROF.html を使用する。
.RE
.LP
.LP
-\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¢¤ê¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f3注:\fP このツールは\f3試験的なもの\fPであり、将来の JDK のバージョンでは\f3利用できなくなる\fP可能性があります。
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
+.SH "オプション"
+.RS 3
.TP 3
\-stack false/true
-¥ª¥Ö¥¸¥§¥¯¥È³ä¤êÅö¤Æ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×Æâ¤Ç³ä¤êÅö¤Æ¥µ¥¤¥È¾ðÊ󤬻ÈÍѤǤ¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤ò false ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£
+オブジェクト割り当て呼び出しスタックの追跡を無効にします。ヒープダンプ内で割り当てサイト情報が使用できない場合、このフラグを false に設定する必要があります。デフォルトは true です。
.TP 3
\-refs false/true
-¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤ÎÄÉÀפò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï true ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ò¡¼¥×Æâ¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢¥Ð¥Ã¥¯¥Ý¥¤¥ó¥¿ (»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¡£¤Ä¤Þ¤ê¡¢»²¾È¼Ô¤Þ¤¿¤Ï¼õ¿®»²¾È) ¤¬·×»»¤µ¤ì¤Þ¤¹¡£
+オブジェクトへの参照の追跡を無効にします。デフォルトは true です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バックポインタ (指定されたオブジェクトをポイントしているオブジェクト。 参照者または受信参照とも呼ばれる) が計算されます。
.TP 3
\-port port\-number
-jhat ¤Î HTTP ¥µ¡¼¥Ð¤Î¥Ý¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï 7000 ¤Ç¤¹¡£
+jhat の HTTP サーバーのポートを設定します。デフォルトは 7000 です。
.TP 3
\-exclude exclude\-file
-¡ÖÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¡×¤Î¥¯¥¨¥ê¤«¤é½ü³°¤¹¤Ù¤¥Ç¡¼¥¿¥á¥ó¥Ð¤Î°ìÍ÷¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë \f2java.lang.String.value\fP ¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢ÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¡Öo¡×¤«¤éÅþã²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ò·×»»¤¹¤ëºÝ¤Ë¡¢\f2java.lang.String.value\fP ¥Õ¥£¡¼¥ë¥É¤Ë´ØÏ¢¤¹¤ë»²¾È¥Ñ¥¹¤¬¹Í褵¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
+「到達可能なオブジェクト」のクエリから除外すべきデータメンバーの一覧を含むファイルを指定します。たとえば、このファイルに \f2java.lang.String.value\fP が含まれていた場合、特定のオブジェクト「o」から到達可能なオブジェクトのリストを計算する際に、\f2java.lang.String.value\fP フィールドに関連する参照パスが考慮されなくなります。
.TP 3
\-baseline baseline\-dump\-file
-¥Ù¡¼¥¹¥é¥¤¥ó¤È¤Ê¤ë¥Ò¡¼¥×¥À¥ó¥×¤ò»ØÄꤷ¤Þ¤¹¡£Î¾Êý¤Î¥Ò¡¼¥×¥À¥ó¥×Æâ¤ÇƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È ID ¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¤Ç¤Ï¤Ê¤¤¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤½¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡Ö¿·µ¬¡×¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢°Û¤Ê¤ë 2 ¤Ä¤Î¥Ò¡¼¥×¥À¥ó¥×¤òÈæ³Ó¤¹¤ëºÝ¤ËÌòΩ¤Á¤Þ¤¹¡£
+ベースラインとなるヒープダンプを指定します。両方のヒープダンプ内で同じオブジェクト ID を持つオブジェクトは「新規ではない」としてマークされます。その他のオブジェクトは「新規」としてマークされます。これは、異なる 2 つのヒープダンプを比較する際に役立ちます。
.TP 3
\-debug int
-¤³¤Î¥Ä¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£0 ¤Ï¡Ö¥Ç¥Ð¥Ã¥°½ÐÎϤʤ·¡×¤ò°ÕÌ£¤·¤Þ¤¹¡£¤è¤êÂ礤ÊÃͤòÀßÄꤹ¤ë¤È¡¢¤è¤ê¾éĹ¤Ê¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
+このツールのデバッグレベルを設定します。0 は「デバッグ出力なし」を意味します。より大きな値を設定すると、より冗長なモードになります。
.TP 3
\-version\
-¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊó¹ð¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+バージョン番号を報告したあと、終了します。
.TP 3
\-h\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+ヘルプメッセージを出力して終了します。
.TP 3
\-help\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
+ヘルプメッセージを出力して終了します。
.TP 3
\-J<flag>\
-jhat ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢512M ¥Ð¥¤¥È¤ÎºÇÂç¥Ò¡¼¥×¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\-J\-Xmx512m ¤È¤·¤Þ¤¹¡£
-.LP
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-.RS 3
-.TP 2
-*
-jmap \- Java ¥á¥â¥ê¥Þ¥Ã¥×
-.TP 2
-*
-jconsole \- Java ´Æ»ë¤ª¤è¤Ó´ÉÍý¥³¥ó¥½¡¼¥ë
-.TP 2
-*
-.na
-\f2hprof \- ¥Ò¡¼¥×¤ª¤è¤Ó CPU ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥Ä¡¼¥ë\fP
-.fi
-(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html)
+jhat が実行されている Java 仮想マシンに <flag> を渡します。たとえば、512M バイトの最大ヒープサイズを使用するには、\-J\-Xmx512m とします。
.RE
.LP
-
-.LP
+.SH "関連項目"
+.RS 3
+.TP 2
+o
+jmap(1)
+.TP 2
+o
+jconsole(1)
+.TP 2
+o
+.na
+\f2hprof \- ヒープおよび CPU プロファイリングツール\fP @
+.fi
+http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
+.RE
+.RE
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1
index fbbd337..589abc1 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1
@@ -1,70 +1,108 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jinfo 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jinfo \- ¹½À®¾ðÊó
-.\"
-.SH ·Á¼°
-.B jinfo
-.BI [ option ] " pid"
-.br
-.B jinfo
-.BI [ option ] " executable core"
-.br
-.B jinfo
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jinfo 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH ¥Ñ¥é¥á¡¼¥¿
+.SH "名前"
+jinfo \- 構成情報
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.nf
+\f3
+.fl
+\fP\f3jinfo\fP [ option ] pid
+.fl
+\f3jinfo\fP [ option ] executable core
+.fl
+\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
.TP 3
-option
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+option
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。
+.RS 3
.TP 3
-pid
-¹½À®¾ðÊó¤ò½ÐÎϤ¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
+pid
+出力する構成情報のプロセス ID。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
+.RE
+.RS 3
.TP 3
executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
+コアダンプの作成元の Java 実行可能ファイルです。
+.RE
+.RS 3
.TP 3
core
-¹½À®¾ðÊó¤ò½ÐÎϤ¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
+出力する構成情報のコアファイル。
+.RE
+.RS 3
.TP 3
remote\-hostname\-or\-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.RE
+.RS 3
.TP 3
server\-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.RE
+.RE
+
.LP
-.SH µ¡Ç½ÀâÌÀ
-.B jinfo
-¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤Î Java ¹½À®¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¹½À®¾ðÊó¤Ë¤Ï¡¢Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤È Java ²¾ÁÛ¥Þ¥·¥ó¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jinfo\fP は、指定された Java プロセスやコアファイルまたはリモートデバッグサーバーの Java 構成情報を出力します。構成情報は、Java システムプロパティーと Java 仮想マシンのコマンド行フラグから構成されます。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.br
.LP
@@ -74,51 +112,55 @@
jinfo \-J\-d64 \-sysprops pid
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-Windows ¾å¤Î jinfo ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Î \-flag ¥ª¥×¥·¥ç¥ó¤À¤±¤Ç¤¹¡£
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。Windows 上の jinfo でサポートされているのは、実行中のプロセスの \-flag オプションだけです。\fP
.LP
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.B " <no option>"
-¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤È¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ÈÃͤΥڥ¢¤ÎξÊý¤ò½ÐÎϤ·¤Þ¤¹¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+<オプションなし>
+コマンド行フラグを、システムプロパティー名と値のペアとともに出力します。
.br
.TP 3
\-flag name
-»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤Î̾Á°¤ÈÃͤò½ÐÎϤ·¤Þ¤¹¡£
+指定されたコマンド行フラグの名前と値を出力します。
.br
.TP 3
\-flag [+|\-]name
-»ØÄꤵ¤ì¤¿¥Ö¡¼¥ë·¿¤Î¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò͸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£
+指定されたブール型のコマンド行フラグを有効または無効にします。
.br
.TP 3
\-flag name=value
-»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤷ¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-flags
-JVM ¤ËÅϤµ¤ì¤ë¥³¥Þ¥ó¥É¹Ô¥Õ¥é¥°¤ò¥Ú¥¢¤Ç½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-sysprops
-Java ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤ò̾Á°¤ÈÃͤΥڥ¢¤È¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+指定されたコマンド行フラグを指定された値に設定します。
+.br
+.TP 3
+\-flags
+JVM に渡されるコマンド行フラグをペアで出力します。
+.br
+.TP 3
+\-sysprops
+Java システムプロパティーを名前と値のペアとして出力します。
+.br
+.TP 3
+\-h
+ヘルプメッセージを出力します。
+.TP 3
+\-help
+ヘルプメッセージを出力します。
+.RE
+
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1
index 481547d..6f3a27a 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1
@@ -1,71 +1,103 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jmap 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jmap \- ¥á¥â¥ê¥Þ¥Ã¥×
-.\"
-.SH ·Á¼°
-.B jmap
-.BI [ option ] " pid"
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jmap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jmap \- メモリーマップ
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jmap\fP [ option ] pid
+.fl
+\f3jmap\fP [ option ] executable core
+.fl
+\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+option
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。
+.TP 3
+pid
+印刷するメモリーマップのプロセス ID。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
.br
-.B jmap
-.BI [ option ] " executable core"
+.TP 3
+executable
+コアダンプの作成元の Java 実行可能ファイルです。
.br
-.B jmap
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.BI option
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥á¥â¥ê¥Þ¥Ã¥×¤òɽ¼¨¤¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥á¥â¥ê¥Þ¥Ã¥×¤òɽ¼¨¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I remote-hostname-or-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jmap
-¤Ï¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤Î¡¢¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥á¥â¥ê¥Þ¥Ã¥×¤Þ¤¿¤Ï¥Ò¡¼¥×¥á¥â¥ê¤Î¾ÜºÙ¤òɽ¼¨¤·¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+.TP 3
+core
+印刷するメモリーマップのコアファイル。
+.br
+.TP 3
+remote\-hostname\-or\-IP
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.br
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.br
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jmap\fP は、指定されたプロセスやコアファイルまたはリモートデバッグサーバーの、共用オブジェクトメモリーマップまたはヒープメモリーの詳細を印刷します。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.LP
.RS 3
@@ -80,82 +112,87 @@
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。\fP
.br
.LP
-Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç»ÈÍѲÄǽ¤ÊÍ£°ì¤Î jmap ·Á¼°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+Windows プラットフォーム上で使用可能な唯一の jmap 形式は、次のとおりです。
.RS 3
.LP
jmap \-dump:<\f2dump\-options\fP> pid
.RE
-¤ª¤è¤Ó
+および
.RS 3
.LP
jmap \-histo[:live] pid
.RE
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI " <no option>"
-¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jmap
-¤Ï¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Þ¥Ã¥Ô¥ó¥°¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È VM ¤ËÆɤ߹þ¤Þ¤ì¤¿³Æ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¡¢³«»Ï¥¢¥É¥ì¥¹¡¢¥Þ¥Ã¥Ô¥ó¥°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Solaris ¤Î
-.B pmap
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈƱÍͤǤ¹¡£
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+<オプションなし>
+オプションを使用しない場合、\f3jmap\fP は共用オブジェクトマッピングを印刷します。ターゲット VM にロードされた共用オブジェクトごとに、開始アドレス、マッピングのサイズ、および共用オブジェクトファイルのフルパスが印刷されます。これは、Solaris \f3pmap\fP ユーティリティーと類似しています。
+.br
.TP 3
\-dump:[live,]format=b,file=<filename>
-Java ¥Ò¡¼¥×¤ò hprof ¥Ð¥¤¥Ê¥ê·Á¼°¤Ç filename ¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¾Êά²Äǽ¤Ç¤¹¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ò¡¼¥×Æâ¤ÇÀ¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£¥Ò¡¼¥×¥À¥ó¥×¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò jhat (Java Heap Analysis Tool) ¤ò»È¤Ã¤ÆÆɤ߼è¤ê¤Þ¤¹¡£
+Java ヒープを hprof バイナリ形式で filename にダンプします。\f2live\fP サブオプションは省略可能です。これが指定された場合、ヒープ内で生存中のオブジェクトのみがダンプされます。ヒープダンプを参照するには、生成されたファイルを jhat(1) (Java Heap Analysis Tool) を使って読み取ります。
+.br
.TP 3
\-finalizerinfo
-¥Õ¥¡¥¤¥Ê¥é¥¤¥º¤òÂԤäƤ¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-heap
-¥Ò¡¼¥×¤Î¥µ¥Þ¥ê¤òɽ¼¨¤·¤Þ¤¹¡£»ÈÍѤµ¤ì¤¿ GC ¥¢¥ë¥´¥ê¥º¥à¡¢¥Ò¡¼¥×¹½À®¡¢¤ª¤è¤ÓÀ¸À®µ¬ÌϤΥҡ¼¥×»ÈÍÑΨ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-histo[:live]
-¥Ò¡¼¥×¤Î¥Ò¥¹¥È¥°¥é¥à¤òɽ¼¨¤·¤Þ¤¹¡£³Æ Java ¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥È¿ô¡¢¥á¥â¥ê¥µ¥¤¥º¡Ê¥Ð¥¤¥È¿ô¡Ë¡¢¤ª¤è¤Ó´°Á´½¤¾þ¥¯¥é¥¹Ì¾¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£VM ÆâÉô¥¯¥é¥¹Ì¾¤ÎÁ°¤Ë¤Ï '*' ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢À¸Â¸Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-permstat
-Java ¥Ò¡¼¥×¤Î±Ê³ŪÀ¸À®¤Î¥¯¥é¥¹¥í¡¼¥Àµ¬ÌϤÎÅý·×¤òɽ¼¨¤·¤Þ¤¹¡£³Æ¥¯¥é¥¹¥í¡¼¥À¤Ë¤Ä¤¤¤Æ¡¢Ì¾Á°¡¢³èÆ°À¡¢¥¢¥É¥ì¥¹¡¢¿Æ¥¯¥é¥¹¥í¡¼¥À¡¢¤ª¤è¤ÓÆɤ߹þ¤Þ¤ì¤¿¥¯¥é¥¹¤Î¥µ¥¤¥º¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-¤µ¤é¤Ë¡¢intern ¤µ¤ì¤¿Ê¸»úÎó¤Î¿ô¤È¥µ¥¤¥º¤â½ÐÎϤµ¤ì¤Þ¤¹¡£
+ファイナライズを待っているオブジェクトに関する情報を出力します。
+.br
+.TP 3
+\-heap
+ヒープサマリーを印刷します。使用される GC アルゴリズム、ヒープ構成、および世代ごとのヒープ使用率が印刷されます。
+.br
+.TP 3
+\-histo[:live]
+ヒープのヒストグラムを印刷します。Java クラスごとに、オブジェクトの数、バイト単位でのメモリーサイズ、および完全修飾クラス名が印刷されます。VM 内部クラス名は、「*」の接頭辞を付けて印刷されます。\f2live\fP サブオプションが指定された場合、生存中のオブジェクトのみがカウントされます。
+.br
+.TP 3
+\-permstat
+Permanent 世代の Java ヒープの、クラスローダー関連の統計データを印刷します。クラスローダーごとに、その名前、状態、アドレス、親クラスローダー、およびクラスローダーがロードしたクラスの数とサイズが印刷されます。さらに、intern された文字列の数とサイズも出力されます。
+.br
.TP 3
\-F
-¶¯À© (Force)¡£pid ¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¡¢jmap \-dump ¤Þ¤¿¤Ï jmap \-histo ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢\f2live\fP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.B \-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
+強制 (Force)。pid が応答しない場合に、jmap \-dump または jmap \-histo オプションとともに使用します。このモードでは、\f2live\fP サブオプションはサポートされません。
+.br
+.TP 3
+\-h
+ヘルプメッセージを印刷します。
+.br
+.br
+.TP 3
+\-help
+ヘルプメッセージを印刷します。
+.br
.br
.TP 3
\-J<flag>
-jmap ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë <flag> ¤òÅϤ·¤Þ¤¹¡£
+jmap が実行されている Java 仮想マシンに <flag> を渡します。
+.br
+.RE
.LP
-.SH ´ØÏ¢¹àÌÜ
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
+o
pmap (1)
.TP 2
-*
-jhat
+o
+jhat(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1
index 39c4bf0..09fd4a9 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1
@@ -1,202 +1,294 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jps 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
-.\"
-.SH ·Á¼°
-.B jps
-.BI [ options ]
-.BI [ hostid ]
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jps 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.if t .TP 20
-.if n .TP 15
-.I hostid
-¥×¥í¥»¥¹¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¥Û¥¹¥È¤Î¥Û¥¹¥È¼±Ê̻ҡ£
-.I hostid
-¤Ë¤Ï¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¤½¤Î¾¸ÇͤμÂÁõ¥Ç¡¼¥¿¤ò¼¨¤¹¥ª¥×¥·¥ç¥ó¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jps
-¥Ä¡¼¥ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Î·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¥¢¥¯¥»¥¹¸¢¤¬¤¢¤ë JVM ¾å¤Î¾ðÊó¤À¤±¤òÊó¹ð¤·¤Þ¤¹¡£
-.LP
-¥Û¥¹¥È ID ¤ò»ØÄꤻ¤º¤Ë
-.B jps
-¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤òõ¤·¤Þ¤¹¡£¥Û¥¹¥È ID ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢»ØÄꤵ¤ì¤¿¥Û¥¹¥È¾å¤Î JVM ¤ò¡¢»ØÄꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤È¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æõ¤·¤Þ¤¹¡£
-.B jstatd
-¥×¥í¥»¥¹¤¬¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¾å¤Ç²ÔÆ°¤·¤Æ¤¤¤ë¤³¤È¤¬Á°Äó¤È¤Ê¤ê¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¾å¤Ç¸«¤Ä¤«¤Ã¤¿·×¬µ¡¹½ÉÕ¤ JVM ¤Î¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¡¢¥í¡¼¥«¥ë VM ¼±ÊÌ»Ò (lvmid) ¤òÊó¹ð¤·¤Þ¤¹¡£lvmid ¤Ï¡¢°ìÈ̤ˡ¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î JVM ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jps
-¤Ï³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î lvmid ¤Î¸å¤Ëû¤¤·Á¼°¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï jar ¥Õ¥¡¥¤¥ë̾¤ò³¤±¤Æ¥ê¥¹¥È¤·¤Þ¤¹¡£Ã»¤¤·Á¼°¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¡¢¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¾ðÊó¤ä JAR ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¾ðÊó¤Ï¾Ê¤«¤ì¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ï java µ¯Æ°¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹Ì¾¤È main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤òõ¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤¬¥«¥¹¥¿¥àµ¯Æ°¥Ä¡¼¥ë¤Çµ¯Æ°¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Ì¾ (¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾) ¤È main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ÏÆþ¼ê¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤È main ¥á¥½¥Ã¥É¤Î°ú¿ô¤È¤·¤Æ¡¢Unknown ¤È¤¤¤¦Ê¸»úÎó¤ò½ÐÎϤ·¤Þ¤¹¡£
-.LP
-.B jps
-¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë JVM ¤Î¥ê¥¹¥È¤Ï¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¼çÂΤ˵ö²Ä¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¸¢¤Ë¤è¤Ã¤ÆÀ©¸Â¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¸ÇͤΥ¢¥¯¥»¥¹À©¸æµ¡¹½¤Ë½¾¤Ã¤Æ¡¢¼çÂΤ¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë JVM ¤À¤±¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½ºß¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jps
-¥³¥Þ¥ó¥É¤Ï¡¢¥³¥Þ¥ó¥É½ÐÎϤòÊѹ¹¤¹¤ë¿¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¾Íè¡¢Êѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-q
-¥¯¥é¥¹Ì¾¡¢JAR ¥Õ¥¡¥¤¥ë̾¡¢¤ª¤è¤Ó main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤Î½ÐÎϤòÍÞÀ©¤·¤Æ¡¢¥í¡¼¥«¥ë VM ¼±Ê̻ҤΥꥹ¥È¤À¤±¤òÀ¸À®¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-m
-main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£Ëä¤á¹þ¤ß JVM ¤Î¾ì¹ç¡¢½ÐÎÏ¤Ï NULL ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-l
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î main ¥¯¥é¥¹¤Î¥Õ¥ë¥Ñ¥Ã¥±¡¼¥¸Ì¾¡¢¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹Ì¾¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-v
-JVM ¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-V
-¥Õ¥é¥°¥Õ¥¡¥¤¥ë (.hotspotrc ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï -XX:Flags=<filename> °ú¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë) ¤òÄ̤¸¤Æ JVM ¤ËÅϤµ¤ì¤¿°ú¿ô¤ò½ÐÎϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-J "option"
-.B jps
-¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿ java µ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢-J-Xms48m ¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£Java ¤ÇºîÀ®¤µ¤ì¤¿²¼ÁؤΠVM ¼Â¹Ô¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤Î¤¬¡¢\-J ¤Î°ìÈÌŪµ¬Â§¤Ç¤¹¡£
-.SH ¥Û¥¹¥È¼±ÊÌ»Ò
-¥Û¥¹¥È¼±ÊÌ»Ò (hostid) ¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤ò¼¨¤¹Ê¸»úÎó¤Ç¤¹¡£hostid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-[protocol:][[//]hostname][:port][/servername]
-.fi
-.ft 1
-.RE
-.if t .TP 20
-.if n .TP 15
-.B protocol
-ÄÌ¿®¥×¥í¥È¥³¥ë¡£protocol ¤¬¾Ê¤«¤ì¡¢hostname ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¸ÇͤκÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ç¤¹¡£protocol ¤¬¾Ê¤«¤ì¡¢hostname ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï rmi ¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I hostname
-¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£hostname ¤¬¾Ê¤«¤ì¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I port
-¥ê¥â¡¼¥È¥µ¡¼¥Ð¡¼¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¡£hostname ¤¬¾Ê¤«¤ì¤ë¤«¡¢protocol ¤¬ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢port ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢port ¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¸ÇͤǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢port ¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î rmiregistry ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£port ¤¬¾Ê¤«¤ì¡¢protocol ¤¬ rmi ¤ò¼¨¤¹¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I servername
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î¼è¤ê°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤¹Ê¸»úÎó¤Ç¤¹¡£
-.B jstatd
-¥³¥Þ¥ó¥É¤Î \-n ¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH ½ÐÎÏ·Á¼°
-jps ¥³¥Þ¥ó¥É¤Î½ÐÎϤϡ¢¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
-.fi
-.ft 1
-.RE
-.LP
-½ÐÎϥȡ¼¥¯¥ó¤Ï¤¹¤Ù¤Æ¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£Ëä¤á¹þ¤Þ¤ì¤¿¶õÇò¤ò´Þ¤à arg ¤¬¤¢¤ë¤È¡¢°ú¿ô¤ò¼ÂºÝ¤Î°ÌÃ֥ѥé¥á¡¼¥¿¤Ë¥Þ¥Ã¥×¤¹¤ë¤È¤¤Ë¤¢¤¤¤Þ¤¤¤µ¤¬À¸¤¸¤Þ¤¹¡£
-.LP
-Ãí - ¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç·Á¼°¤¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
-.B jps
-¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤Ï½ñ¤«¤Ê¤¤Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£jps ½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï½¤Àµ¤¬É¬Íפˤʤ뤳¤È¤òͽÁÛ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-.SH »ÈÍÑÎã
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢
-.B jps
-¥³¥Þ¥ó¥É¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-.RS
-.ft 3
-.nf
-jps
-18027 Java2Demo.JAR
-18032 jps
-18005 jstat
-.fi
-.ft 1
-.RE
-.TP
-¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ JVM ¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢jstat ¥µ¡¼¥Ð¡¼¤È¤½¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Þ¤¿¤Ï¸ÄÊ̤γ°Éô rmiregistry ¥×¥í¥»¥¹¤¬¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ÎŬÀڤʥ¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎÎã¤Ë¤Ï¡¢Ä¹¤¤·Á¼°¤Î¥¯¥é¥¹Ì¾¤Þ¤¿¤Ï JAR ¥Õ¥¡¥¤¥ë̾¤ò½ÐÎϤ¹¤ë¤¿¤á¤Î -l ¥ª¥×¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jps -l remote.domain
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
-2857 sun.tools.jstatd.jstatd
-.fi
-.ft 1
-.RE
-.LP
-RMI ¥ì¥¸¥¹¥È¥êÍѤ˥ǥե©¥ë¥È°Ê³°¤Î¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î·×¬µ¡¹½ÉÕ¤ Java ²¾ÁÛ¥Þ¥·¥ó¤ò¥ê¥¹¥È¤¹¤ë:
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢jstatd ¥µ¡¼¥Ð¡¼¤¬¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤Æ¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤¬¥Ý¡¼¥È 2002 ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎÎã¤Ç¤Ï¡¢¥ê¥¹¥È¤µ¤ì¤ë³Æ Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î main ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤¿°ú¿ô¤ò´Þ¤á¤ë¤¿¤á¤Ë¡¢-m ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jps -m remote.domain:2002
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
-3102 sun.tools.jstatd.jstatd -p 2002
-.fi
-.ft 1
-.RE
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jps \- Java 仮想マシンプロセスステータスツール
.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+o
+形式
.TP 2
-*
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
+o
+パラメータ
.TP 2
-*
-jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó
+o
+説明
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+オプション
+.TP 2
+o
+ホスト識別子
+.TP 2
+o
+出力形式
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ]
+.br
+
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+options
+コマンド行オプション。
+.TP 3
+hostid
+プロセスレポートを生成するホストのホスト識別子。\f2hostid\fP には、通信プロトコル、ポート番号、実装に固有な他のデータを指定したオプションコンポーネントを含めることができます。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jps\fP ツールは、ターゲットシステム上で計測された HotSpot Java 仮想マシン (JVM) を一覧表示します。このツールで表示できるレポート情報は、アクセス権を持った JVM に関するものに限定されます。
+.LP
+.LP
+\f2hostid\fP を指定せずに \f3jps\fP を実行した場合、ローカルホストで計測された JVM が検索されます。\f2hostid\fP を指定して起動した場合、指定されたプロトコルとポートを使用して、指定されたホスト上の JVM を検索します。\f3jstatd\fP プロセスがターゲットホスト上で実行されていると想定されます。
+.LP
+.LP
+\f3jps\fP コマンドは、ターゲットシステムで計測された各 JVM について、ローカル VM 識別子、つまり \f2lvmid\fP をレポートします。\f3lvmid\fP は、必須ではありませんが、一般的には JVM プロセスに対するオペレーティングシステムのプロセス識別子です。オプションを指定しない場合、\f3jps\fP によって、各 Java アプリケーションの \f2lvmid\fP が一覧表示され、それぞれにアプリケーションのクラス名または JAR ファイル名が簡単な形式で示されます。この簡単な形式のクラス名と JAR ファイル名では、クラスのパッケージ情報または JAR ファイルパス情報が省略されています。
+.LP
+.LP
+\f3jps\fP コマンドは、\f3Java\fP 起動ツールを使用して、\f2main\fP メソッドに渡されるクラス名と引数を検索します。独自の起動ツールを使用してターゲット JVM を起動した場合は、\f2main\fP メソッドに渡されるクラス名 (または JAR ファイル名) と引数は利用できません。この場合、\f3jps\fP コマンドは、main メソッドへ渡されるクラス名 (または JAR ファイル名) と引数に対して、文字列 \f2Unknown\fP を出力します。
+.LP
+.LP
+\f3jps\fP コマンドで生成される JVM のリストは、このコマンドを実行する主体に与えられたアクセス権に基づき、制限される場合があります。このコマンドは、オペレーティングシステム独自のアクセス制御機構による決定に基づいて、主体にアクセス権が与えられている JVM だけを一覧表示します。
+.LP
+.LP
+\f3注:\fP このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jps\fP コマンドでは、コマンドの出力を変更するオプションが多数サポートされています。将来、これらのオプションは、変更または廃止される可能性があります。
+.LP
+.RS 3
+.TP 3
+\-q
+ローカル VM 識別子のリストだけを生成するように、\f2main\fP メソッドに渡されるクラス名、JAR ファイル名、および引数の出力を制御します。
+.TP 3
+\-m
+main メソッドに渡される引数を出力します。この出力は、組み込まれている JVM に対して null になることもあります。
+.TP 3
+\-l
+アプリケーションの主要なクラスのフルパッケージ名、またはアプリケーションの JAR ファイルへのフルパス名を出力します。
+.TP 3
+\-v
+JVM に渡される引数を出力します。
+.TP 3
+\-V
+フラグファイル (.hotspotrc ファイルまたは \-XX:Flags=<\f2filename\fP> の引数で指定されたファイル) を通じて JVM に渡される引数を出力します。
+.TP 3
+\-Joption
+\f3jps\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
+.RE
+
+.LP
+.SS
+ホスト識別子
+.LP
+.RS 3
+
+.LP
+.LP
+ホスト識別子、つまり \f2hostid\fP は、ターゲットシステムを示す文字列です。\f2hostid\fP 文字列の構文の大部分は、URI の構文に対応しています。
+.LP
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.RS 3
+.TP 3
+protocol
+通信プロトコルです。\f2protocol\fP が省略され、\f2hostname\fP が指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカルプロトコルになります。\f2protocol\fP が省略され、\f2hostname\fP が指定されている場合は、デフォルトプロトコルは \f3rmi\fP になります。
+.TP 3
+hostname
+ターゲットホストを示すホスト名または IP アドレスです。\f2hostname\fP が省略されている場合は、ターゲットホストはローカルホストになります。
+.TP 3
+port
+リモートサーバーと通信するためのデフォルトポートです。\f2hostname\fP が省略されているか、\f2protocol\fP で最適化されたローカルプロトコルが指定されている場合、\f2port\fP は無視されます。そうでなければ、\f2port\fP パラメータの扱いは、実装によって異なります。デフォルトの \f3rmi\fP プロトコルの場合、\f2port\fP は、リモートホスト上の rmiregistry のポート番号を示します。\f2port\fP が省略され、\f2protocol\fP で \f3rmi\fP が指定されている場合、デフォルトの rmiregistry ポート (1099) が使用されます。
+.TP 3
+servername
+このパラメータの扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。\f3rmi\fP プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を示す文字列になります。jstatd(1) コマンドについては、\f3\-n\fP オプションを参照してください。
+.RE
+
+.LP
+.RE
+.SH "出力形式"
+.LP
+
+.LP
+.LP
+\f3jps\fP コマンドの出力は、次のパターンに従います。
+.LP
+.nf
+\f3
+.fl
+\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+すべての出力トークンは空白で区切ります。\f2arg\fP の中で空白を使用すると、実際の定位置パラメータに引数をマッピングしようとするときに、あいまいになります。
+.br
+.br
+\f3注\fP: 将来のリリースでこの形式は変更される可能性があるため、\f3jps\fP 出力を解析するスクリプトは作成しないことをお勧めします。\f3jps\fP 出力を解析するスクリプトを作成すると、このツールの将来のリリースで、作成したスクリプトを変更する必要が予測されます。
+.br
+
+.LP
+.SH "例"
+.LP
+
+.LP
+.LP
+この節では、\f3jps\fP コマンドの例を示します。
+.LP
+.LP
+ローカルホスト上で計測された JVM を一覧表示する場合:
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps\fP
+.br
+
+.fl
+18027 Java2Demo.JAR
+.br
+
+.fl
+18032 jps
+.br
+
+.fl
+18005 jstat
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+リモートホスト上で計測された JVM を一覧表示する場合:
+.LP
+.LP
+この例では、\f3jstat\fP サーバーと、その内部 RMI レジストリまたは別の外部 \f3rmiregistry\fP プロセスのいずれかとが、リモートホストのデフォルトポート (ポート 1099) で実行されていると想定しています。また、ローカルホストが、リモートホストへの有効なアクセス権を持っていることも想定しています。この例には、\f2\-l\fP オプションも含まれ、クラス名または JAR ファイル名を詳細な形式で出力します。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps \-l remote.domain\fP
+.br
+
+.fl
+3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+.br
+
+.fl
+2857 sun.tools.jstatd.jstatd
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+RMI レジストリにデフォルトではないポートを使用して、リモートホスト上で計測された JVM を一覧表示する場合:
+.LP
+.LP
+この例では、内部 RMI レジストリがポート 2002 にバインドされた \f3jstatd\fP サーバーが、リモートホスト上で実行していると想定しています。また、\f2\-m\fP オプションを使用して、一覧表示されたそれぞれの Java アプリケーションの \f2main\fP メソッドに渡される引数を組み込んでいます。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jps \-m remote.domain:2002\fP
+.br
+
+.fl
+3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+.br
+
+.fl
+3102 sun.tools.jstatd.jstatd \-p 2002
+.fl
+.fi
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+「java(1) \- Java アプリケーション起動ツール」
+.TP 2
+o
+「jstat(1) \- Java 仮想マシン統計データ監視ツール」
+.TP 2
+o
+「jstatd(1) \- 仮想マシン jstat デーモン」
+.TP 2
+o
+「rmiregistry(1) \- Java リモートオブジェクトレジストリ」
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1
index 70541ea..f2fbd26 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,15 +18,40 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jrunscript 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH jrunscript 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-jrunscript \- ¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë
+.SH "名前"
+jrunscript \- コマンド行スクリプトシェル
.LP
-.SH "·Á¼°"
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+引数
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -36,148 +60,166 @@
.fl
\fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ]
.fl
-
-.fl
.fi
.LP
-.SH "¥Ñ¥é¥á¡¼¥¿"
+.SH "パラメータ"
.LP
.LP
-.TP 3
-options
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 3
-arguments
-°ú¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Þ¤¿¤Ï¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH "ÀâÌÀ"
-.LP
-
-.LP
-.LP
-\f3jrunscript\fP ¤Ï¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È¥·¥§¥ë¤Ç¤¹¡£jrunscript ¤Ï¡¢ÂÐÏ÷¿ (Æɤ߼è¤ê \- ɾ²Á \- ½ÐÎÏ) ¥â¡¼¥É¤È¥Ð¥Ã¥Á (\-f ¥ª¥×¥·¥ç¥ó) ¥â¡¼¥É¤ÎξÊý¤Î¥¹¥¯¥ê¥×¥È¼Â¹Ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤Ï¥¹¥¯¥ê¥×¥È¸À¸ì¤Ë°Í¸¤·¤Ê¤¤¥·¥§¥ë¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Î»ÈÍѸÀ¸ì¤Ï JavaScript ¤Ç¤¹¤¬¡¢\-l ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤Û¤«¤Î¸À¸ì¤â»ØÄê¤Ç¤¤Þ¤¹¡£jrunscript ¤Ï¡¢Java ¤È¥¹¥¯¥ê¥×¥È¸À¸ì¤È¤ÎÄÌ¿®¤Ë¤è¤Ã¤Æ¡ÖõµáŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡×¥¹¥¿¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.LP
-.LP
-\f3Ãí:\fP ¤³¤Î¥Ä¡¼¥ë¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¢¤ê¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
-.TP 3
-\-classpath path
-¥¹¥¯¥ê¥×¥È¤«¤é¤Î¥¢¥¯¥»¥¹ÂоݤȤʤë¥æ¡¼¥¶¤Î .class ¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-\-cp path
-\-classpath \f2path\fP ¤ÈƱµÁ¤Ç¤¹¡£
-.TP 3
-\-Dname=value
-Java ¤Î¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 3
-\-J<flag>
-jrunscript ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë Java ²¾ÁÛ¥Þ¥·¥ó¤Ë¡¢Ä¾ÀÜ <flag> ¤òÅϤ·¤Þ¤¹¡£
-.TP 3
-\-l language
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï JavaScript ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤Û¤«¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤Î JAR ¥Õ¥¡¥¤¥ë¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ë¤Ï¡¢\-cp¡¢\-classpath ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.TP 3
-\-e script
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¤òɾ²Á¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¤¹¤Ù¤Æ¤¬»ØÄꤵ¤ì¤¿¡Ö1 ¹Ô¡×¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.TP 3
-\-encoding encoding
-¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߼è¤ê»þ¤Ë»ÈÍѤ¹¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-\-f script\-file
-»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤·¤Þ¤¹ (¥Ð¥Ã¥Á¥â¡¼¥É)¡£
-.TP 3
-\-f \-
-ɸ½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤òÆɤ߼è¤ê¡¢¤½¤ì¤òɾ²Á¤·¤Þ¤¹ (ÂÐÏ÷¿¥â¡¼¥É)¡£
-.TP 3
-\-help\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-\-?\
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.TP 3
-\-q\
-ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¥¨¥ó¥¸¥ó¤ò°ìÍ÷ɽ¼¨¤·¤¿¤¢¤È¡¢½ªÎ»¤·¤Þ¤¹¡£
-.LP
-.SH "°ú¿ô"
-.LP
-.LP
-[arguments...] ¤¬Â¸ºß¤·¤Æ¤¤¤Æ¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ºÇ½é¤Î°ú¿ô¤¬¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤È¤Ê¤ê¡¢Â¾¤Î°ú¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..] ¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä \f3\-e\fP¡¢\f3\-f\fP ¤Î¤¤¤º¤ì¤«¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î [arguments..] ¤¬¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£[arguments..]¡¢\f3\-e\fP¡¢\f3\-f\fP ¤¬¤É¤ì¤â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÂÐÏ÷¿¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¡Öarguments¡×¤È¤¤¤¦Ì¾Á°¤Î String ÇÛÎ󷿤Υ¨¥ó¥¸¥óÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-.SH "Îã"
-.LP
-\f3¥¤¥ó¥é¥¤¥ó¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript \-e "print('hello world')"
-.fl
- jrunscript \-e "cat('http://java.sun.com')"
-.fl
-\fP
-.fi
-
-.LP
-\f3»ØÄꤵ¤ì¤¿¸À¸ì¤ò»ÈÍѤ·¡¢»ØÄꤵ¤ì¤¿¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òɾ²Á¤¹¤ë\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript \-l js \-f test.js
-.fl
-\fP
-.fi
-
-.LP
-\f3ÂÐÏ÷¿¥â¡¼¥É\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript
-.fl
- js>print('hello world');
-.fl
- hello world
-.fl
- js>34 + 55
-.fl
- 89
-.fl
- js> thread(function() { print('hello world'); }
-.fl
- hello world
-.fl
- js>
-.fl
-\fP
-.fi
-
-.LP
-\f3¥¹¥¯¥ê¥×¥È°ú¿ô¤ò»ØÄꤷ¤Æ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë\fP
-.LP
-.nf
-\f3
-.fl
- jrunscript test.js arg1 arg2 arg3
-.fl
-\fP
-.fi
-
-.LP
-test.js ¤¬¼Â¹ÔÂоݤȤʤ륹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢arg1¡¢arg2¡¢¤ª¤è¤Ó arg3 ¤Ï¥¹¥¯¥ê¥×¥È°ú¿ô¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¤Ï¡Öarguments¡×ÇÛÎó¤ò»È¤Ã¤Æ¤³¤ì¤é¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-.LP
-JavaScript ¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢jrunscript ¤Ï¡¢ºÇ½é¤Î¥æ¡¼¥¶ÄêµÁ¥¹¥¯¥ê¥×¥È¤òɾ²Á¤¹¤ëÁ°¤Ë¡¢¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤äÁȤ߹þ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤·¤Þ¤¹¡£¤³¤ì¤é¤Î JavaScript ÁȤ߹þ¤ßµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¢jsdocs ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
.RS 3
+.TP 3
+options
+オプションを使用する場合、コマンド名の直後に記述してください。
+.TP 3
+arguments
+引数を使用する場合、オプションまたはコマンド名の直後に記述してください。
.RE
.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jrunscript\fP はコマンド行スクリプトシェルです。 jrunscript は、対話型 (読み取り \- 評価 \- 出力) モードとバッチ (\-f オプション) モードの両方のスクリプト実行をサポートします。これはスクリプト言語に依存しないシェルです。デフォルトの使用言語は JavaScript ですが、\-l オプションを使えばほかの言語も指定できます。jrunscript は、Java とスクリプト言語との通信によって「探求的なプログラミング」スタイルをサポートします。
+.LP
+.LP
+\f3注:\fP このツールは\f3試験的なもの\fPであり、将来の JDK のバージョンでは\f3利用できなくなる\fP可能性があります。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-classpath path
+スクリプトからのアクセス対象となるユーザーの .class ファイルの検索場所を指定します。
+.TP 3
+\-cp path
+\-classpath \f2path\fP と同義です。
+.TP 3
+\-Dname=value
+Java のシステムプロパティーを設定します。
+.TP 3
+\-J<flag>
+jrunscript が実行されている Java 仮想マシンに <flag> を渡します。
+.TP 3
+\-l language
+指定されたスクリプト言語を使用します。デフォルトでは JavaScript が使用されます。ほかのスクリプト言語を使用するには、対応するスクリプトエンジンの JAR ファイルも指定する必要があります。 それには、\-cp、\-classpath のいずれかのオプションを使用します。
+.TP 3
+\-e script
+指定されたスクリプトを評価します。このオプションを使えば、コマンド行にすべてが指定された「1 行」スクリプトを実行できます。
+.TP 3
+\-encoding encoding
+スクリプトファイルの読み取り時に使用する文字エンコーディングを指定します。
+.TP 3
+\-f script\-file
+指定されたスクリプトファイルを評価します (バッチモード)。
+.TP 3
+\-f \-
+標準入力からスクリプトを読み取り、それを評価します (対話型モード)。
+.TP 3
+\-help\
+ヘルプメッセージを出力して終了します。
+.TP 3
+\-?\
+ヘルプメッセージを出力して終了します。
+.TP 3
+\-q\
+利用可能なすべてのスクリプトエンジンを一覧表示したあと、終了します。
+.RE
+
+.LP
+.SH "引数"
+.LP
+.LP
+[arguments...] が存在していて、かつ \f3\-e\fP、\f3\-f\fP のいずれのオプションも使用されなかった場合、最初の引数がスクリプトファイルとなり、他の引数が存在する場合はスクリプト引数として渡されます。[arguments..] が使用され、かつ \f3\-e\fP、\f3\-f\fP のいずれかのオプションが使用された場合、すべての [arguments..] がスクリプト引数として渡されます。[arguments..]、\f3\-e\fP、\f3\-f\fP がどれも存在しなかった場合は、対話型モードが使用されます。スクリプトからスクリプト引数を使用するには、「arguments」という名前の String 配列型のエンジン変数を使用します。
+.LP
+.SH "例"
+.LP
+\f3インラインスクリプトの実行\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript \-e "print('hello world')"
+.fl
+jrunscript \-e "cat('http://java.sun.com')"
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3指定された言語を使用し、指定されたスクリプトファイルを評価する\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript \-l js \-f test.js
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3対話型モード\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript
+.fl
+js>print('hello world');
+.fl
+hello world
+.fl
+js>34 + 55
+.fl
+89
+.fl
+js> thread(function() { print('hello world'); }
+.fl
+hello world
+.fl
+js>
+.fl
+\fP
+.fi
+.RE
+
+.LP
+\f3スクリプト引数を指定してスクリプトファイルを実行する\fP
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jrunscript test.js arg1 arg2 arg3
+.fl
+\fP
+.fi
+.RE
+
+.LP
+test.js が実行対象となるスクリプトファイルであり、arg1、arg2、および arg3 はスクリプト引数としてスクリプトに渡されます。スクリプトは「arguments」配列を使ってこれらにアクセスできます。
+.SH "関連項目"
+.LP
+.LP
+JavaScript が使用される場合、jrunscript は、最初のユーザー定義スクリプトを評価する前に、いくつかの組み込み関数や組み込みオブジェクトを初期化します。これらの JavaScript 組み込み機能については、jsdocs を参照してください。
+.LP
+
+.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1
index ee56c4e..980e1d9 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1
@@ -1,105 +1,149 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jsadebugd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jsadebugd \- ¥µ¡¼¥Ó¥¹¥¨¡¼¥¸¥§¥ó¥È¥Ç¥Ð¥Ã¥°¥Ç¡¼¥â¥ó
-.\"
-.SH ·Á¼°
-.B jsadebugd
-.I pid [ server-id ]
-.br
-.B jsadebugd
-.I executable core [ server-id ]
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¥¢¥¿¥Ã¥Á¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£1 ¤Ä¤Î¥×¥í¥»¥¹¤Ë¥¢¥¿¥Ã¥Á¤Ç¤¤ë¤Î¤Ï¡¢1 ¤Ä¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤À¤±¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤¬¥¢¥¿¥Ã¥Á¤¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥Þ¥·¥ó¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¾ì¹ç¤ËɬÍפʡ¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤¹¤ëÆÃÄê¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤ò¼±Ê̤¹¤ë¤Ë¤Ï¡¢¤³¤Î ID ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Î¥Þ¥·¥óÆâ¤Ç¡¢¤³¤Î ID ¤Ï°ì°Õ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jsadebugd
-¤Ï¡¢Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£
-.B jstack
-¡¢
-.B jmap
-¡¢
-.B jinfo
-¤Ê¤É¤Î¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Java Remote Method Invocation (RMI) ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¤Ë¥¢¥¿¥Ã¥Á¤Ç¤¤Þ¤¹¡£
-.B jsadebugd
-¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤Æ
-.B rmiregistry
-¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jsadebugd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
-.ft 3
-.nf
-rmiregistry -J-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar
-.fi
-.ft 1
-.RE
-.LP
-$JAVA_HOME ¤Ï¡¢JDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
-.B rmiregistry
-¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.B jsadebugd
-¤Ïɸ½à (1099) ¥Ý¡¼¥È¤ÇÆâÉôŪ¤Ë
-.B rmiregistry
-¤òµ¯Æ°¤·¤Þ¤¹¡£¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢SIGINT ¤òÁ÷¿®¤·¤Þ¤¹ (Ctrl-C ¤ò²¡¤¹) ¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-.B jsadebugd
-¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¡¢Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jsadebugd \- サービスアビリティーエージェントデバッグデーモン
.LP
.RS 3
.TP 2
-*
-jinfo
+o
+形式
.TP 2
-*
-jmap
+o
+パラメータ
.TP 2
-*
-jps
+o
+説明
.TP 2
-*
-jstack
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jsadebugd\fP pid [ server\-id ]
+.fl
+\f3jsadebugd\fP executable core [ server\-id ]
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+pid
+デバッグサーバーが接続するプロセスのプロセス ID です。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。単一のプロセスに接続できるデバッグサーバーのインスタンスは、1 つに制限されます。
+.RE
+
+.LP
+.RS 3
+.TP 3
+executable
+.RE
+
+.LP
+.RS 3
+.TP 3
+コアダンプの作成元になる Java 実行可能ファイルです。
+.RE
+
+.LP
+.RS 3
+.TP 3
+core
+デバッグサーバーを接続するコアファイルです。
+.RE
+
+.LP
+.RS 3
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のマシン上で実行している場合に必要になる、オプション固有の ID です。この ID は、リモートクライアントが、接続先のデバッグサーバーを特定するために使用する必要があります。この ID は、単一のマシン内で一意でなければなりません。
+.RE
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jsadebugd\fP は、Java プロセスまたはコアファイルに接続し、デバッグサーバーとして機能します。jstack(1)、jmap(1)、および jinfo(1) などのリモートクライアントは、Java Remote Method Invocation (RMI) を使用しているサーバーに接続できます。\f2jsadebugd\fP を起動する前に、次のように指定して
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi を起動する必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+ここで、\f2$JAVA_HOME\fP は、JDK のインストールディレクトリです。rmiregistry が起動していない場合、jsadebugd は標準 (1099) ポートの rmiregistry を内部で起動します。デバッグサーバーは、SIGINT を送信する (Ctrl+C を押す) ことにより停止できます。
+.LP
+.LP
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。 jsadebugd は、現時点では、Windows プラットフォームでは使用できません。\fP
+.LP
+.SH "関連項目"
+.LP
+.RS 3
.TP 2
-*
-rmiregistry
+o
+jinfo(1)
+.TP 2
+o
+jmap(1)
+.TP 2
+o
+jps(1)
+.TP 2
+o
+jstack(1)
+.TP 2
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1
index 6b74415..12f53b3 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1
@@ -1,73 +1,112 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH jstack 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstack \- ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹
-.\"
-.SH ·Á¼°
-.B jstack
-.BI [ option ] " pid"
-.br
-.B jstack
-.BI [ option ] " executable core"
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstack 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jstack \- スタックトレース
.br
-.B jstack
-.BI [ option ] " [server-id@]remote-hostname-or-IP"
-.SH ¥Ñ¥é¥á¡¼¥¿
-¥ª¥×¥·¥ç¥ó¤ÏÁê¸ß¤ËÇÓ¾Ū¤Ç¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É̾¤Îľ¸å¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I pid
-¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ¹¤ë¥×¥í¥»¥¹ ID¡£¥×¥í¥»¥¹¤Ï Java ¥×¥í¥»¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë Java ¥×¥í¥»¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢
-.B jps
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I executable
-¥³¥¢¥À¥ó¥×¤¬À¸À®¤µ¤ì¤¿ Java ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.I core
-¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ¹¤ë¥³¥¢¥Õ¥¡¥¤¥ë¡£
-.if t .TP 20
-.if n .TP 15
-.BI remote-hostname-or-IP
-¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼ (
-.B jsadebugd
-¤ò»²¾È) ¤Î¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.if t .TP 20
-.if n .TP 15
-.I server-id
-Ʊ¤¸¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤¬Æ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢¥ª¥×¥·¥ç¥ó¤Î°ì°Õ ID¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstack
-¤Ï¡¢»ØÄꤵ¤ì¤¿ Java ¥×¥í¥»¥¹¤Þ¤¿¤Ï¥³¥¢¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Î Java ¥¹¥ì¥Ã¥É¤Î Java ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î Java ¥Õ¥ì¡¼¥à¤Ë¤Ä¤¤¤Æ¡¢´°Á´¤Ê¥¯¥é¥¹Ì¾¡¢¥á¥½¥Ã¥É̾¡¢'bci' (¥Ð¥¤¥È¥³¡¼¥É¥¤¥ó¥Ç¥Ã¥¯¥¹) ¡¢¤ª¤è¤Ó¹ÔÈÖ¹æ (Æþ¼ê²Äǽ¤Ê¾ì¹ç) ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
-.B \-m
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
-.B jstack
-¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤Î Java ¤È¥Í¥¤¥Æ¥£¥Ö¤ÎξÊý¤Î¥Õ¥ì¡¼¥à¤ò 'pc' (¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿) ¤È¤È¤â¤Ë½ÐÎϤ·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Í¥¤¥Æ¥£¥Ö¥Õ¥ì¡¼¥à¤Ë¤Ä¤¤¤Æ¡¢'pc' ¤ËºÇ¤â¶á¤¤¥Í¥¤¥Æ¥£¥Ö¥·¥ó¥Ü¥ë (Æþ¼ê²Äǽ¤Ê¾ì¹ç) ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£C++ ¤ÎÉä¹æ²½¤µ¤ì¤¿ (mangled) ̾Á°¤ÏÉü¹æ²½ (demangled) ¤µ¤ì¤Þ¤»¤ó¡£C++ ̾¤òÉü¹æ²½¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î½ÐÎϤò c++filt ¤Ë¥Ñ¥¤¥×¤ÇÅϤ·¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤¬ 64 ¥Ó¥Ã¥È VM ¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢\f2\-J\-d64\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+パラメータ
+.br
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.TP 2
+o
+既知のバグ
+.br
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstack\fP [ option ] pid
+.fl
+\f3jstack\fP [ option ] executable core
+.fl
+\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.LP
+各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。オプションを参照してください。
+.LP
+.RS 3
+.TP 3
+pid
+印刷するスタックトレースのプロセス ID です。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps(1) を使用します。
+.RE
+
+.LP
+.RS 3
+.TP 3
+executable
+コアダンプの作成元の Java 実行可能ファイルです。
+.br
+.TP 3
+core
+印刷するスタックトレースのコアファイルです。
+.br
+.TP 3
+remote\-hostname\-or\-IP
+リモートデバッグサーバー (jsadebugd(1) を参照) のホスト名または IP アドレスです。
+.br
+.TP 3
+server\-id
+複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。
+.RE
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3jstack\fP は、指定された Java プロセスやコアファイルまたはリモートデバッグサーバーに対する Java スレッドの Java スタックトレースを印刷します。Java フレームごとに、フルクラス名、メソッド名、「bci」(バイトコードインデックス)、および行番号 (利用可能な場合) が印刷されます。\-m オプションを使用すると、jstack は、すべてのスレッドの Java フレームとネイティブフレームの両方を、「pc」(プログラムカウンタ) とともに印刷します。ネイティブフレームごとに、「pc」にもっとも近いネイティブシンボル (利用可能な場合) が印刷されます。C++ 分解名は分解解除されません。C++ 名を分解解除するには、このコマンドの出力を \f3c++filt\fP にパイプします。指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。 次に例を示します。
.br
.LP
@@ -84,57 +123,72 @@
.RE
.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
-Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç»ÈÍѲÄǽ¤ÊÍ£°ì¤Î jstack ·Á¼°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+.LP
+\f3注 \- このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。\fP
.LP
.nf
\f3
.fl
-\fP\f3 jstack pid \fP
+\fP\f3 jstack [\-l] pid \fP
.fl
.fi
.LP
-.SH ¥ª¥×¥·¥ç¥ó
+.SH "オプション"
.LP
.LP
-.TP 3
-\-F
-¡Öjstack pid¡×¤¬±þÅú¤·¤Ê¤¤¾ì¹ç¤Ë¥¹¥¿¥Ã¥¯¥À¥ó¥×¤ò¶¯À©¤·¤Þ¤¹¡£
-.TP 3
-\-m
-º®¹ç¥â¡¼¥É (Java ¤È¥Í¥¤¥Æ¥£¥Ö¤ÎξÊý¤Î C/C++ ¥Õ¥ì¡¼¥à) ¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò½ÐÎϤ·¤Þ¤¹¡£
-.TP 3
-\-h
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.br
-.br
-.TP 3
-\-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-.br
-
-.LP
-.SH ´ØÏ¢¹àÌÜ
-.LP
.RS 3
-.TP 2
-*
-pstack(1)
-.TP 2
-*
-c++filt(1)
-.TP 2
-*
-jps
-.TP 2
-*
-jsadebugd
+.TP 3
+\-F
+「jstack [\-l] pid」が応答しない場合にスタックダンプを強制します。
+.TP 3
+\-l
+長形式のリスト。所有 java.util.concurrent の
+.na
+\f2所有できるシンクロナイザ\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.htmlの一覧など、ロックについての追加情報を印刷します。
+.TP 3
+\-m
+混合モード (Java およびネイティブ C/C++ フレームの両方) のスタックトレースを印刷します。
+.TP 3
+\-h
+ヘルプメッセージを印刷します。
+.br
+.br
+.TP 3
+\-help
+ヘルプメッセージを印刷します。
+.br
.RE
.LP
-.SH ´ûÃΤÎÌäÂê
-º®¹ç¥â¡¼¥É¤Î¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹ (
-.B \-m
-¥ª¥×¥·¥ç¥ó) ¤Ï¡¢¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¥µ¡¼¥Ð¡¼¤Ç¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+pstack(1)
+.TP 2
+o
+c++filt(1)
+.TP 2
+o
+jps(1)
+.TP 2
+o
+jsadebugd(1)
+.RE
+
+.LP
+.SH "既知のバグ"
+.LP
+
+.LP
+.LP
+混合モードのスタックトレース (\-m オプション使用) は、リモートデバッグサーバーでは機能しません。
+.LP
+
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1
index 5aa20f0..1682dd7 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1
@@ -1,665 +1,5467 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH jstat 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
-.\"
-.SH ·Á¼°
-.nf
-\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
-.fl
-.fi
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.I generalOption
-ñ°ì¤ÎÈÆÍÑ¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó (
-.B \-help
-¡¢
-.B \-options
-¡¢¤Þ¤¿¤Ï
-.B \-version
-)
-.if t .TP 20
-.if n .TP 15
-.I outputOptions
-1 ¤Ä°Ê¾å¤Î½ÐÎÏ¥ª¥×¥·¥ç¥ó¡£1 ¤Ä¤Î statOption ¤È
-.B \-t
-¡¢
-.B \-h
-¡¢¤ª¤è¤Ó
-.B \-J
-¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I vmid
-²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ£¥¿¡¼¥²¥Ã¥È¤Î Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ò¼¨¤¹Ê¸»úÎó¡£°ìÈÌŪ¤Ê¹½Ê¸¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
-.ft 3
-.nf
-[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
-.fi
-.ft 1
-.RE
+.SH "名前"
+jstat \- Java 仮想マシン統計データ監視ツール
.LP
-vmid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£vmid ¤Ï¡¢¥í¡¼¥«¥ë JVM ¤òɽ¤¹Ã±½ã¤ÊÀ°¿ô¤«¤é¡¢ÄÌ¿®¥×¥í¥È¥³¥ë¡¢¥Ý¡¼¥ÈÈֹ桢¤ª¤è¤Ó¤½¤Î¾¤Î¼ÂÁõ¸ÇͤÎÃͤò»ØÄꤹ¤ëÊ£»¨¤Ê¹½Â¤¤Þ¤Ç¤µ¤Þ¤¶¤Þ¤Ç¤¹¡£¾Ü¤·¤¯¤Ï¡¢°Ê²¼¤Î¡Ö²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.I interval[s|ms]
-»ØÄꤵ¤ì¤¿Ã±°Ì (Éà (s) ¤Þ¤¿¤Ï¥ß¥êÉà (ms) ) ¤Ç¤Î¥µ¥ó¥×¥ê¥ó¥°´Ö³Ö¡£¥Ç¥Õ¥©¥ë¥È¤Îñ°Ì¤Ï¥ß¥êÉäǤ¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.B jstat
-¤Ï
-.I interval
-¤´¤È¤Ë½ÐÎϤòÀ¸À®¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I count
-ɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¿ô¡£¥Ç¥Õ¥©¥ë¥È¤ÎÃÍ¤Ï infinity ¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢
-.B jstat
-¤Ï¥¿¡¼¥²¥Ã¥È JVM ¤¬½ªÎ»¤¹¤ë¤«
-.B jstat
-¥³¥Þ¥ó¥É¤¬½ªÎ»¤µ¤ì¤ë¤Þ¤ÇÅý·×¤òɽ¼¨¤·¤Þ¤¹¡£Àµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstat
-¥Ä¡¼¥ë¤Ï¡¢·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Åý·×¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È JVM ¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ¢¤¹¤Ê¤ï¤Á¡¢°Ê²¼¤Î
-.I vmid
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½»þÅÀ¤Ç¤Ï¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SS ²¾ÁÛ¥Þ¥·¥ó¼±ÊÌ»Ò
-vmid ʸ»úÎó¤Î¹½Ê¸¤Ï¡¢URI ¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-[protocol:][//]lvmid[@hostname][:port][/servername]
-.fi
-.ft 1
-.RE
-.if t .TP 20
-.if n .TP 15
-.I protocol
-ÄÌ¿®¥×¥í¥È¥³¥ë¡£
-.I protocol
-¤¬¾Ê¤«¤ì¡¢
-.I hostname
-¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¸ÇͤκÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Ç¤¹¡£
-.I protocol
-¤¬¾Ê¤«¤ì¡¢
-.I hostname
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥×¥í¥È¥³¥ë¤Ï rmi ¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I lvmid
-¥¿¡¼¥²¥Ã¥È JVM ¤Î¥í¡¼¥«¥ë²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҡ£
-.I lvmid
-¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇͤÎÃͤǤ¢¤ê¡¢¥·¥¹¥Æ¥à¾å¤Î JVM ¤ò°ì°Õ¤Ë¼±Ê̤·¤Þ¤¹¡£
-.I lvmid
-¤Ï¡¢²¾ÁÛ¥Þ¥·¥ó¼±Ê̻ҤÎÍ£°ì¤Îɬ¿Ü¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç¤¹¡£
-.I lvmid
-¤Ï¡¢°ìÈ̤ˡ¢¥¿¡¼¥²¥Ã¥È JVM ¥×¥í¥»¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥×¥í¥»¥¹¼±Ê̻ҤǤ¹¤¬¡¢É¬¤º¤·¤â¤½¤¦¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
-.B jps
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢
-.I lvmid
-¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢UNIX ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï
-.B ps
-¥³¥Þ¥ó¥É¤Ç¡¢Windows ¤Ç¤Ï¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ç
-.I lvmid
-¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I hostname
-¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤ò¼¨¤¹¥Û¥¹¥È̾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¡£
-.I hostname
-¤¬¾Ê¤«¤ì¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥Û¥¹¥È¤Ï¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B port
-¥ê¥â¡¼¥È¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¡£
-.I hostname
-¤¬¾Ê¤«¤ì¤ë¤«¡¢
-.I protocol
-¤¬ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢
-.B port
-¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢
-.B port
-¥Ñ¥é¥á¡¼¥¿¤Î°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¸ÇͤǤ¹¡£¥Ç¥Õ¥©¥ë¥È¤Î rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢
-.B port
-¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î
-.B rmiregistry
-¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼¨¤·¤Þ¤¹¡£
-.B port
-¤¬¾Ê¤«¤ì¡¢
-.I protocol
-¤¬ rmi ¤ò¼¨¤¹¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î rmiregistry ¥Ý¡¼¥È (1099) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.I servername
-¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Î¼è¤ê°·¤¤¤Ï¡¢¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£ºÇŬ²½¤µ¤ì¤¿¥í¡¼¥«¥ë¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£rmi ¥×¥í¥È¥³¥ë¤Î¾ì¹ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î RMI ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤òɽ¤·¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jstat
-¥³¥Þ¥ó¥É¤Ï¡¢ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤È½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Î 2 ¼ïÎà¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢
-.B jstat
-¤Ï´Êñ¤Ê»ÈÍÑË¡¤È¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢Åý·×½ÐÎϤÎÆâÍƤȷÁ¼°¤¬·è¤Þ¤ê¤Þ¤¹¡£
-.LP
-Ãí - ¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤È¤½¤ì¤é¤Îµ¡Ç½¤Ï¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤ÇÊѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.SS ÈÆÍÑ¥ª¥×¥·¥ç¥ó
-ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-version
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-options
-Åý·×¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£¼¡¤Î¡Ö½ÐÎÏ¥ª¥×¥·¥ç¥ó¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SS ½ÐÎÏ¥ª¥×¥·¥ç¥ó
-ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢½ÐÎÏ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£½ÐÎÏ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-.B jstat
-¤Î½ÐÎϤÎÆâÍƤȷÁ¼°¤ò·è¤á¡¢1 ¤Ä¤Î statOption ¤È¾¤Î¥ª¥×¥·¥ç¥ó (
-.B \-h
-¡¢
-.B \-t
-¡¢¤ª¤è¤Ó
-.B \-J
-) ¤Î¤¤¤º¤ì¤«¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£statOption ¤ÏºÇ½é¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-½ÐÎϤϡ¢Î󤬶õÇòʸ»ú¤Ç¶èÀÚ¤é¤ì¤¿É½¤È¤·¤Æ½ñ¼°²½¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥È¥ë¤ÎÉÕ¤¤¤¿¸«½Ð¤·¹Ô¤¬Îó¤ÎÆâÍƤòɽ¤·¤Þ¤¹¡£
-.B \-h
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸«½Ð¤·¤òɽ¼¨¤¹¤ëÉÑÅÙ¤òÀßÄê¤Ç¤¤Þ¤¹¡£Î󸫽Ф·¤Î̾Á°¤Ï¡¢°ìÈ̤˥ª¥×¥·¥ç¥ó´Ö¤ÇÀ°¹çÀ¤¬¼è¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ÇÎó¤Î̾Á°¤¬Æ±¤¸¤Ë¤Ê¤ë¾ì¹ç¡¢2 ¤Ä¤ÎÎó¤Î¥Ç¡¼¥¿¥½¡¼¥¹¤ÏƱ¤¸¤Ç¤¹¡£
-.LP
-.B \-t
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢½ÐÎϤκǽé¤ÎÎó¤Ë Timestamp ¤È¤¤¤¦¥é¥Ù¥ë¤ÎÉÕ¤¤¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£Timestamp Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°¤«¤é¤Î·Ð²á»þ´Ö¤¬ÉÃñ°Ì¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Îʬ²òǽ¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢¹âÉé²Ù¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Ãٱ䥹¥ì¥Ã¥É¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ë¤è¤Ã¤ÆÊÑÆ°¤¬À¸¤¸¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.I interval
-¤ª¤è¤Ó
-.I count
-¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¤½¤ì¤¾¤ì
-.B jstat
-¤¬½ÐÎϤòɽ¼¨¤¹¤ëÉÑÅ٤Ȳó¿ô¤ò·è¤á¤Þ¤¹¡£
-.LP
-Ãí - ¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç·Á¼°¤¬Êѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
-.B jstat
-¤Î½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤Ï½ñ¤«¤Ê¤¤Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-.B jstat
-½ÐÎϤò²òÀϤ¹¤ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¾ì¹ç¤Ï¡¢¤³¤Î¥Ä¡¼¥ë¤Î¾Íè¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï½¤Àµ¤¬É¬Íפˤʤ뤳¤È¤òÁÛÄꤷ¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-statOption
-.B jstat ¤¬É½¼¨¤¹¤ëÅý·×¾ðÊó¤ò·è¤á¤Þ¤¹¡£¼¡¤Îɽ¤Ë¡¢»ÈÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£\-options ÈÆÍÑ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÆÃÄê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Î¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.sp 1n
-.TS
-box;
-cbp-1 | cbp-1
-l | l .
-¥ª¥×¥·¥ç¥ó ɽ¼¨¤µ¤ì¤ë¾ðÊó
-_
-class ¥¯¥é¥¹¥í¡¼¥À¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-compiler T{
-HotSpot Just-In-Time ¥³¥ó¥Ñ¥¤¥é¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-T}
-gc T{
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÆ°ºî¤Ë´Ø¤¹¤ëÅý·×
-T}
-gccapacity À¤Âå¤ÎÍÆÎ̤Ȥ½¤ì¤é¤ËÂбþ¤¹¤ë¶õ´Ö¤ÎÅý·×
-gccause T{
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó ( \-gcutil ¤ÈƱ¤¸) ¤È¡¢
-Á°²ó¤ª¤è¤Ó¸½ºß (³ºÅö¤¹¤ë¾ì¹ç) ¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó
-¥¤¥Ù¥ó¥È¤Î¸¶°ø
-T}
-gcnew ¿·¤·¤¤À¤Âå¤ÎÆ°ºî¤ÎÅý·×
-gcnewcapacity ¿·¤·¤¤À¤Âå¤È¤½¤ì¤é¤ËÂбþ¤¹¤ë¶õ´Ö¤Î¥µ¥¤¥º¤ÎÅý·×
-gcold T{
-¸Å¤¤±Ê³ŪÀ¤Âå¤ÎÆ°ºî¤ÎÅý·×
-T}
-gcoldcapacity ¸Å¤¤À¤Âå¤Î¥µ¥¤¥º¤ÎÅý·×
-gcpermcapacity ±Ê³ŪÀ¤Âå¤Î¥µ¥¤¥º¤ÎÅý·×
-gcutil ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-printcompilation ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-.TE
-.if t .TP 20
-.if n .TP 15
-.BI \-h " n"
-.I n
-¸Ä¤Î¥µ¥ó¥×¥ë (½ÐÎϹÔ
-.I n
-¹Ô) ¤´¤È¤ËÎ󸫽Ф·¤òɽ¼¨¤·¤Þ¤¹¡£
-.I n
-¤ÏÀµ¤ÎÀ°¿ô¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 0 ¤Ç¤¢¤ê¡¢¥Ç¡¼¥¿¤ÎºÇ½é¤Î¹Ô¤Î¾å¤ËÎ󸫽Ф·¤òɽ¼¨¤·¤Þ¤¹¡£
-.if t .TP
-.if n .TP
-.BI \-t " n"
-½ÐÎϤκǽé¤ÎÎó¤È¤·¤Æ¥¿¥¤¥à¥¹¥¿¥ó¥×Îó¤òɽ¼¨¤·¤Þ¤¹¡£¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤¬µ¯Æ°¤·¤Æ¤«¤é¤Î»þ´Ö¤Ç¤¹¡£
-.if t .TP
-.if n .TP
-.BI \-J javaOption
-.I javaOption
-¤ò Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.BI \-J \-Xms48m
-¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê²¼¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.RS 3
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë (Solaris) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html
+o
+形式
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë(Linux) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html
+o
+パラメータ
.TP 2
-*
-.na
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë (Windows) @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html
+o
+説明
+.TP 2
+o
+仮想マシン識別子
+.TP 2
+o
+オプション
+.br
+\ \ \- 一般的なオプション
+.br
+\ \ \- 出力オプション
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
.RE
-.SS statOption ¤È½ÐÎÏ
-¼¡¤Îɽ¤Ë¡¢³Æ
-.I statOption
-¤ËÂФ·¤Æ
-.B jstat
-¤¬½ÐÎϤ¹¤ëÎó¤ÎÍ×Ìó¤ò¼¨¤·¤Þ¤¹¡£
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
+.fl
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+generalOption
+単独で使用する一般的なコマンド行オプションです (\-help、\-options、または \-version)。
+.TP 3
+outputOptions
+単一の \f2statOption\fP と、\-t、\-h、および \-J オプションのいずれかを組み合わせた、1 つまたは複数の出力オプションです。
+.TP 3
+vmid
+ターゲットの Java 仮想マシン (JVM) を示す文字列である仮想マシン識別子です。一般的な構文は次のようになります。
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
+.fl
+.fi
+vmid 文字列の構文の大部分は、URI の構文に対応しています。\f2vmid\fP は、ローカル JVM を表す単純な整数から、通信プロトコル、ポート番号、および他の実装固有の値を示す複雑な構造まで、さまざまに異なります。詳細は、「仮想マシン識別子」を参照してください。
+.TP 3
+interval[s|ms]
+秒 (s) またはミリ秒 (ms) のうち指定した単位でのサンプリング間隔です。デフォルトの単位はミリ秒です。\ 正の整数でなければなりません。\ これが指定された場合、\f3jstat\fP は interval ごとに出力を生成します。
+.TP 3
+count
+表示するサンプル数です。デフォルト値は無限です。 つまり、\f3jstat\fP は、ターゲット JVM が終了するまで、または \f3jstat\fP コマンドが終了するまで、統計データを表示します。 正の整数値を使用する必要があります。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jstat\fP ツールは、設置されている HotSpot Java 仮想マシン (JVM) のパフォーマンス統計データを表示します。ターゲット JVM は、仮想マシン識別子、つまり下記の \f2vmid\fP オプションによって識別されます。
+.LP
+.LP
+\f3注\fP: このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
.br
-.SS
-\-class ¥ª¥×¥·¥ç¥ó
+
+.LP
+.SS
+仮想マシン識別子
+.LP
+.RS 3
+
+.LP
+.LP
+\f2vmid\fP 文字列の構文の大部分は、URI の構文に対応しています。
+.LP
+.nf
+\f3
+.fl
+[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP]
+.fl
+.fi
+
+.LP
+.RS 3
+.TP 3
+protocol
+通信プロトコルです。\f2protocol\fP が省略され、\f2hostname\fP が指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカルプロトコルになります。\f2protocol\fP が省略され、\f2hostname\fP が指定されている場合は、デフォルトプロトコルは \f3rmi\fP になります。
+.TP 3
+lvmid
+ターゲット JVM のローカル仮想マシン識別子です。\f2lvmid\fP は、システム上の JVM を一意に識別するプラットフォーム固有の値です。\f2lvmid\fP は、仮想マシン識別子の唯一の必須要素です。\f2lvmid\fP は、絶対というわけではありませんが、一般的にはターゲット JVM プロセスに対するオペレーティングシステムのプロセス識別子です。jps(1) コマンドを使用して、\f2lvmid\fP を指定できます。また、Unix プラットフォームでは\f3ps\fP コマンドを使用して、Windows では Windows タスクマネージャーを使用して、\f2lvmid\fP を指定できます。
+.TP 3
+hostname
+ターゲットホストを示すホスト名または IP アドレスです。\f2hostname\fP が省略されている場合は、ターゲットホストはローカルホストになります。
+.TP 3
+port
+リモートサーバーと通信するためのデフォルトポートです。\f2hostname\fP が省略されているか、\f2protocol\fP で最適化されたローカルプロトコルが指定されている場合、\f2port\fP は無視されます。そうでなければ、\f2port\fP パラメータの扱いは、実装によって異なります。デフォルトの \f3rmi\fP プロトコルの場合、\f2port\fP は、リモートホスト上の rmiregistry のポート番号を示します。\f2port\fP が省略され、\f2protocol\fP で \f3rmi\fP が指定されている場合、デフォルトの rmiregistry ポート (1099) が使用されます。
+.TP 3
+servername
+このパラメータの扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。\f3rmi\fP プロトコルの場合は、このパラメータは、リモートホスト上の RMI リソースオブジェクトの名前を示します。
+.RE
+
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jstat\fP コマンドは、一般的なオプションと出力オプションの 2 つのタイプのオプションをサポートしています。一般的なオプションを使用した場合、\f3jstat\fP は簡単な使用率およびバージョン情報を表示します。出力オプションでは、統計データ出力の内容と形式を指定します。
.br
-¥¯¥é¥¹¥í¡¼¥ÀÅý·×
+
+.LP
+.LP
+\f3注\fP: すべてのオプションとその機能は、将来のリリースで変更または廃止される可能性があります。
+.LP
+.SS
+一般的なオプション
+.LP
+.LP
+いずれかの一般的なオプションを指定した場合、他のオプションまたはパラメータは一切指定できません。
+.LP
+.RS 3
+.TP 3
+\-help
+ヘルプメッセージを表示します。
+.TP 3
+\-version
+バージョン情報を表示します。
+.TP 3
+\-options
+統計データオプションを一覧表示します。下記の「出力オプション」の節を参照してください。
+.RE
+
+.LP
+.SS
+出力オプション
+.LP
+.RS 3
+
+.LP
+.LP
+一般的なオプションを指定しない場合に、出力オプションを指定できます。出力オプションは、\f3jstat\fP の出力の内容および形式を指定し、単一の \f2statOption\fP と、他のいずれかの出力オプション (\-h、\-t、および \-J) とで構成されます。\ \f2statOption\fP は最初に記述する必要があります。
+.LP
+.LP
+出力は、各列が空白で区切られたテーブルの形式で構成されます。タイトルを記したヘッダー行に、各列の説明が記されます。 \f3\-h\fP オプションを使用して、ヘッダーを表示する頻度を設定します。\ 通常、列のヘッダー名はオプションが異なっている場合でも一貫しています。一般に、2 つのオプションで同じ名前の列が使用されていれば、2 つの列のデータソースは同じになります。
+.LP
+.LP
+\f3\-t\fP オプションを使用すると、\f2Timestamp\fP というラベルの付いたタイムスタンプの列が、出力の最初の列として表示されます。\f2Timestamp\fP 列には、ターゲット JVM の起動からの経過時間が、秒単位で表示されます。タイムスタンプの精度は、さまざまな要因によって異なり、大量の負荷のかかったシステムでのスレッドスケジュールの遅延により変動します。
+.LP
+.LP
+\f2interval\fP および \f2count\fP パラメータを使用して、\f3jstat\fP がその出力を表示する頻度と回数をそれぞれ指定します。
+.LP
+.LP
+\f3注\fP: 将来のリリースでこの形式は変更される可能性があるため、\f3jstat\fP の出力を解析するスクリプトは作成しないことをお勧めします。\f3jstat\fP 出力を解析するスクリプトを作成する場合は、このツールの将来のリリースで、そのスクリプトを変更しなければならないことに留意してください。
+.LP
+.RS 3
+.TP 3
+\-statOption
+\f3jstat\fP が表示する統計データ情報を指定します。次の表には、利用可能なオプションが一覧表示されています。 特定のプラットフォームのインストールについて、オプションを一覧表示するには、一般的なオプションの \f3\-options\fP を使用します。
+.br
.br
.LP
-.sp 1n
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Loaded ¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô
-Bytes ¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô
-Unloaded ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿¥¯¥é¥¹¤Î¿ô
-Bytes ¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿ K ¥Ð¥¤¥È¿ô
-Time ¥¯¥é¥¹¤Î¥í¡¼¥É¤ª¤è¤Ó¥¢¥ó¥í¡¼¥ÉÁàºî¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+クラスローダーの動作に関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HotSpot Just\-in\-Time コンパイラの動作に関する統計データ
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクトされたヒープの動作に関する統計データ
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+世代ごとの容量と対応する領域に関する統計データ
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション統計データの概要 (\f3\-gcutil\fP と同じ) と、直前および現在 (適用可能な場合) のガベージコレクションイベントの原因
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の動作に関する統計データ
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代のサイズと対応する領域に関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代および Permanent 世代の動作に関する統計データ
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代のサイズに関する統計データ
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代のサイズに関する統計データ
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション統計データの概要
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HotSpot コンパイル方法の統計データ
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wclass
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wcompiler
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgc
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgccapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgccause
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcnew
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcnewcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcold
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcoldcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcpermcapacity
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wgcutil
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wprintcompilation
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3表示内容\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 260 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3表示内容\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'class\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'compiler\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gc\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gccapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gccause\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcnew\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcnewcapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcold\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcoldcapacity\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcpermcapacity\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'gcutil\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'printcompilation\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.l+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-52
+.TP 3
+\-h n
+\f2n\fP サンプル (出力行) ごとに列ヘッダーを表示。 ただし、\f2n\fP は正の整数値。デフォルト値は 0。 このとき、データの最初の行の上に列ヘッダーが表示される
+.TP 3
+\-t n
+タイムスタンプ列を出力の最初の列として表示。タイムスタンプは、ターゲット JVM の起動時からの経過時間
+.TP 3
+\-J javaOption
+\f2javaOption\fP を \f3java\fP アプリケーション起動ツールへ渡す。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。オプションの完全なリストについては、「java(1)」のドキュメントを参照してください。
+.RE
+
+.LP
+.RE
.SS
-\-compiler
-¥ª¥×¥·¥ç¥ó
+statOption と出力
+.LP
+.RS 3
+
+.LP
+.LP
+以降の表では、\f3jstat\fP が \f2statOption\fP ごとに出力する列について概要を示します。
.br
-HotSpot Just-In-Time ¥³¥ó¥Ñ¥¤¥éÅý·×
-.br
-.sp 1n
+
+.LP
+.SS
+\-class オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Compiled ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Failed ¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Invalid ̵¸ú²½¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Time ¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¼Â¹Ô¤ËÍפ·¤¿»þ´Ö
-FailedType Á°²ó¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥×
-FailedMethod Á°²ó¼ºÇÔ¤·¤¿¥³¥ó¥Ñ¥¤¥ë¤Î¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ロードされたクラスの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ロードされた K バイト数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+アンロードされたクラスの数
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+アンロードされた K バイト数
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+クラスのロードやアンロード処理に要した時間
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wクラスローダーの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wLoaded
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBytes
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wUnloaded
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBytes
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTime
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 314 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'クラスローダーの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Loaded\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Bytes\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Unloaded\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Bytes\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Time\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-25
+
+.LP
+.SS
+\-compiler オプション
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+実行されたコンパイルタスクの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+失敗したコンパイルタスクの数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+無効にされたコンパイルタスクの数
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイルタスクの実行に要した時間
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後に失敗したコンパイルのコンパイルタイプ
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後に失敗したコンパイルのクラス名とメソッド
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wHotSpot Just\-In\-Time コンパイラの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wCompiled
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailed
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wInvalid
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTime
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailedType
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFailedMethod
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 350 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'HotSpot Just\-In\-Time コンパイラの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Compiled\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Failed\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Invalid\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Time\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FailedType\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FailedMethod\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.f+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-29
+
+.LP
.SS
-\-gc ¥ª¥×¥·¥ç¥ó
-.br
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È¤µ¤ì¤¿¥Ò¡¼¥×¤ÎÅý·×
-.br
+\-gc オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-SOC ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-S1U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EU ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OU ¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-PC ¸½ºß¤Î±Ê³Ū¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PU ±Ê³Ū¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (KB)
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代のガベージコレクション時間
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wガベージコレクトされたヒープの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 420 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ガベージコレクトされたヒープの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OU\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PU\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.l+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(m|u+\n(.Vu
+.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.n+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.rm n+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
+
+.LP
.SS
-\-gccapacity ¥ª¥×¥·¥ç¥ó
-.br
-¥á¥â¥ê¥×¡¼¥ëÀ¤Âå¤È¥¹¥Ú¡¼¥¹ÍÆÎÌ
-.br
+\-gccapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-NGCMN ¿·À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-NGCMX ¿·À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-NGC ¿·À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMN µìÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMX µìÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-OGC µìÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMN ±Ê³ŪÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMX ±Ê³ŪÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-PGC ±Ê³ŪÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PC ±Ê³Ū¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最大容量 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最小容量 (KB)
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最大容量 (KB)
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の現在の容量 (KB)
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di o+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr o| \n(dn
+.nr o- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wメモリープール世代および領域容量
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(o-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 494 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'メモリープール世代および領域容量\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMX\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.n+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(o|u+\n(.Vu
+.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.o+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.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+
+.rm n+
+.rm o+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-67
-.SS
-\-gccause
-¥ª¥×¥·¥ç¥ó
+
.LP
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¥Ç¡¼¥¿¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤È (ŬÍѲÄǽ¤Ê¾ì¹ç¤Ï) ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¸¶°ø¤¬´Þ¤Þ¤ì¤Þ¤¹¡£\f3\-gcutil\fP ¤Ç°ìÍ÷ɽ¼¨¤µ¤ì¤ëÎó¤Î¾¤Ë¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¼¡¤ÎÎó¤¬Äɲ䵤ì¤Þ¤¹¡£
+.SS
+\-gccause オプション
+.LP
+.LP
+このオプションは、\f3\-gcutil\fP オプションと同じガベージコレクション統計データの概要を表示しますが、最後のガベージコレクションイベントと (適用可能な場合は) 現在のガベージコレクションイベントの原因が含まれます。\f3\-gcutil\fP で一覧表示される列の他に、このオプションでは次の列が追加されます。
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-LGCC Á°²ó¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø
-GCC ¸½ºß¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¸¶°ø
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最後のガベージコレクションの原因
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+現在のガベージコレクションの原因
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wGC イベントを含むガベージコレクション統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wLGCC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCC
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 517 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GC イベントを含むガベージコレクション統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'LGCC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-13
+
+.LP
.SS
-\-gcnew ¥ª¥×¥·¥ç¥ó
-.br
-¿·À¤ÂåÅý·×
-.br
+\-gcnew オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-SOC ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S0U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-S1U ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-TT ÊÝͤ·¤¤¤ÃÍ
-MTT ºÇÂçÊÝͤ·¤¤¤ÃÍ
-DSS ÌÜɸ¥µ¥Ð¥¤¥Ð¡¼¥µ¥¤¥º (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-EU ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô¡£
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö¡£
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+最大殿堂入りしきい値
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+適切な Survivor サイズ (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代のガベージコレクション時間
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wNew 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1U
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wTT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wMTT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wDSS
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.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(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 571 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'New 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1U\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.d+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'TT\h'|\n(41u'殿堂入りしきい値
+.ne \n(e|u+\n(.Vu
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'MTT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'DSS\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EU\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.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(31u
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-47
+
+.LP
.SS
-\-gcnewcapacity ¥ª¥×¥·¥ç¥ó
-.br
-¿·À¤Âå¤Î¥¹¥Ú¡¼¥¹¥µ¥¤¥ºÅý·×
-.br
+\-gcnewcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-NGCMN ¿·À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-NGCMX ¿·À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-NGC ¸½ºß¤Î¿·À¤ÂåÍÆÎÌ (K ¥Ð¥¤¥È)
-S0CMX ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-S0C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-S1CMX ¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-S1C ¸½ºß¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-ECMX ¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-EC ¸½ºß¤Î¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
+.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
+.nr 34 \n(.lu
+.eo
+.am 80
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+NGCMN\ \ \ \ \ \ \ \ \ T}~T{
+New 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+New 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の最大容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の現在の容量 (KB)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の最大容量 (KB)
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の最大容量 (KB)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wNew 世代領域サイズの統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGCMX \ \ \
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wNGC \ \ \
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0CMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1CMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1C
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wECMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.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\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.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(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 627 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'New 世代領域サイズの統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.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(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGCMX \ \ \\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'NGC \ \ \\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0CMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1CMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1C\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ECMX\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.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(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-49
+
+.LP
.SS
-\-gcold ¥ª¥×¥·¥ç¥ó
-.br
-µì¤ª¤è¤Ó±Ê³À¤ÂåÅý·×
-.br
+\-gcold オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-PC ¸½ºß¤Î±Ê³¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PU ±Ê³¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OU ¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wOld および Permanent 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOU
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 669 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Old および Permanent 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OU\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcoldcapacity ¥ª¥×¥·¥ç¥ó
-.br
-µìÀ¤ÂåÅý·×
-.br
+\-gcoldcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-OGCMN µìÀ¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-OGCMV µìÀ¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-OGC µìÀ¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-OC ¸½ºß¤Î¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wOld 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wOC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 711 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Old 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'OC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcpermcapacity ¥ª¥×¥·¥ç¥ó
-.br
-±Ê³À¤ÂåÅý·×
-.br
+\-gcpermcapacity オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-PGCMN ±Ê³À¤Âå¤ÎºÇ¾®ÍÆÎÌ (K ¥Ð¥¤¥È)
-PGCMX ±Ê³À¤Âå¤ÎºÇÂçÍÆÎÌ (K ¥Ð¥¤¥È)
-PGC ±Ê³À¤Âå¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-PC ±Ê³¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎÌ (K ¥Ð¥¤¥È)
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最小容量 (KB)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の最大容量 (KB)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 世代の現在の容量 (KB)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の現在の容量 (KB)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr g| \n(dn
+.nr g- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wPermanent 世代の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMN
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGCMX
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wPC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 753 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Permanent 世代の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMN\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGCMX\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'PC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(f|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
+.rm d+
+.rm e+
+.rm f+
+.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcutil
-¥ª¥×¥·¥ç¥ó
-.br
-¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥óÅý·×¤ÎÍ×Ìó
-.br
+\-gcutil オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-S0 T{
-¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-S1 T{
-¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 1 ¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-E T{
-¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-O T{
-¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-P T{
-±Ê³¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ (¥¹¥Ú¡¼¥¹¤Î¸½ºß¤ÎÍÆÎ̤ËÂФ¹¤ë¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸)
-T}
-YGC ¼ã¤¤À¤Âå¤Î GC ¥¤¥Ù¥ó¥È¤Î¿ô
-YGCT ¼ã¤¤À¤Âå¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-FGC ¥Õ¥ë GC ¥¤¥Ù¥ó¥È¤Î¿ô
-FGCT ¥Õ¥ë¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó»þ´Ö
-GCT ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¹ç·×»þ´Ö
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 0 の使用率 (現在の容量に対するパーセンテージ)
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Survivor 領域 1 の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Eden 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Old 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Permanent 領域の使用率 (現在の容量に対するパーセンテージ)
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+若い世代の GC イベント数
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+フルガベージコレクション時間
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ガベージコレクション総時間
+.br
+.di
+.nr i| \n(dn
+.nr i- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wガベージコレクション統計データの概要
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS0
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wS1
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wE
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wO
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wYGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGC
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wFGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wGCT
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wフル GC イベント数
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 803 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'ガベージコレクション統計データの概要\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S0\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'S1\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'E\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'O\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'P\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGC\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'YGCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGC\h'|\n(41u'フル GC イベント数
+.ne \n(h|u+\n(.Vu
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'FGCT\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'GCT\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.i+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-43
+
+.LP
.SS
-\-printcompilation ¥ª¥×¥·¥ç¥ó
-.br
-HotSpot ¥³¥ó¥Ñ¥¤¥é¥á¥½¥Ã¥ÉÅý·×
-.br
+\-printcompilation オプション
+.LP
+.LP
.TS
-box;
-cbp-1 | cbp-1
-l | l .
-Îó ÀâÌÀ
-_
-Compiled ¼Â¹Ô¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ë¥¿¥¹¥¯¤Î¿ô
-Size ¥á¥½¥Ã¥É¤Î¥Ð¥¤¥È¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô
-Type ¥³¥ó¥Ñ¥¤¥ë¥¿¥¤¥×
-Method T{
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥á¥½¥Ã¥É¤ò¼±Ê̤¹¤ë¥¯¥é¥¹Ì¾¤È¥á¥½¥Ã¥É̾¡£¥¯¥é¥¹Ì¾¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¥»¥Ñ¥ì¡¼¥¿¤È¤·¤Æ "." ¤ÎÂå¤ï¤ê¤Ë "/" ¤ò»ÈÍѤ·¤Þ¤¹¡£¥á¥½¥Ã¥É̾¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤Î 2 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î·Á¼°¤Ï¡¢
-"HotSpot \- XX:+PrintComplation"
-¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¡£
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+実行されたコンパイルタスクの数
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+メソッドのバイトコードのバイト数
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイル方法を特定するクラス名とメソッド名。クラス名では、名前空間の区切り文字として、「.」ではなく「/」が使用される。メソッド名は、指定されたクラス内のメソッドである。これらの 2 つのフィールドの形式は、HotSpot \- \f3XX:+PrintComplation\fP オプションと対応している
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \wHotSpot コンパイル方法の統計データ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3列\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wCompiled
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wサイズ
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w型
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wメソッド
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.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(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 829 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'HotSpot コンパイル方法の統計データ\h'|\n(41u'
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3列\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'Compiled\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'サイズ\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'型\h'|\n(41u'コンパイルタイプ
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'メソッド\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.fc
+.nr T. 1
+.T# 1
+.35
+.rm a+
+.rm b+
+.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-19
+
+.LP
.SS
-.SH
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢lvmid ¤¬ 21891 ¤Ç¤¢¤ë¥í¡¼¥«¥ë JVM ¤Î´Æ»ëÎã¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£
-.SS gcutil ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 7 ¤Ä¤Î¥µ¥ó¥×¥ë¤òºÎ¼è¤·¡¢
-.B \-gcutil
-¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£
+
.LP
-.ft 3
-.nf
-jstat -gcutil 21891 250 7
- S0 S1 E O P YGC YGCT FGC FGCT GCT
- 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
- 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
- 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
- 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
- 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
-.fi
-.ft 1
+.SH ""
.LP
-¤³¤ÎÎã¤Î½ÐÎϤϡ¢3 ÈÖÌÜ¤È 4 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¼ã¤¤À¤Âå¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬È¯À¸¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤Î½êÍ×»þ´Ö¤Ï 0.001 ÉäǤ¢¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¨¥Ç¥ó¥¹¥Ú¡¼¥¹ (E) ¤«¤é¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹ (O) ¤Ë¾º³Ê¤µ¤ì¤¿¤¿¤á¡¢¥ª¡¼¥ë¥É¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ¤¬ 9.49% ¤«¤é 9.51% ¤ËÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ì¥¯¥·¥ç¥ó¤ÎÁ°¤Î¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹¤Î»ÈÍÑΨ¤Ï 12.44% ¤Ç¤·¤¿¤¬¡¢¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Î¸å¤Î»ÈÍÑΨ¤Ï¡¢¤ï¤º¤« 7.74% ¤Ç¤¹¡£
-.SS Î󸫽Ф·Ê¸»úÎó¤Î·«¤êÊÖ¤·
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉôֳ֤ǥµ¥ó¥×¥ë¤òºÎ¼è¤·¡¢
-.B \-gcutil
-¥ª¥×¥·¥ç¥ó¤Ç¤Î»ØÄê¤Ë½¾¤Ã¤Æ½ÐÎϤòɽ¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-.B \-h3
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢3 ¹Ô¤Î¥Ç¡¼¥¿¤´¤È¤ËÎ󸫽Ф·¤ò½ÐÎϤ·¤Þ¤¹¡£
.LP
-.ft 3
-.nf
-jstat -gcnew -h3 21891 250
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203
- 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204
- 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204
- 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204
- S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
- 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
-.fi
-.ft 1
+この項では、21891 の \f2lvmid\fP を持つローカル JVM を監視する例を示します。
.LP
-¸«½Ð¤·Ê¸»úÎó¤Î·«¤êÊÖ¤·¤ò¼¨¤·¤Æ¤¤¤ë¤Û¤«¤Ë¡¢¤³¤ÎÎã¤Ï¡¢2 ÈÖÌÜ¤È 3 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¼ã¤¤À¤Âå¤Î GC ¤¬È¯À¸¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î½êÍ×»þ´Ö¤Ï 0.001 ÉäǤ·¤¿¡£¥³¥ì¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢¥µ¥Ð¥¤¥Ð¡¼¥¹¥Ú¡¼¥¹ 0 ¤Î»ÈÍÑÎÌ (S0U) ¤¬ÌÜɸ¥µ¥Ð¥¤¥Ð¡¼¥µ¥¤¥º (DSS) ¤òĶ¤¨¤ë½½Ê¬¤Ê¥é¥¤¥Ö¥Ç¡¼¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿¡£·ë²Ì¤È¤·¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ÏµìÀ¤Âå¤Ë¾º³Ê¤µ¤ì (¤³¤Î½ÐÎϤˤϼ¨¤µ¤ì¤Æ¤¤¤Ê¤¤)¡¢ÊÝͤ·¤¤¤ÃÍ (TT) ¤¬ 31 ¤«¤é 2 ¤Ë²¼¤¬¤Ã¤Æ¤¤¤Þ¤¹¡£
-.LP
-5 ÈÖÌÜ¤È 6 ÈÖÌܤΥµ¥ó¥×¥ë¤Î´Ö¤Ë¤â¤¦ 1 ¤Ä¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬È¯À¸¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¤´¤¯¤ï¤º¤«¤Î¥µ¥Ð¥¤¥Ð¡¼¤¬¸«¤Ä¤«¤ê¡¢ÊÝͤ·¤¤¤Ãͤ¬ 31 ¤ËÌá¤Ã¤Æ¤¤¤Þ¤¹¡£
-.SS ³Æ¥µ¥ó¥×¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Îɽ¼¨
-¤³¤ÎÎã¤Ç¤Ï¡¢lvmid 21891 ¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢250 ¥ß¥êÉÃ´Ö³Ö¤Ç 3 ¤Ä¤Î¥µ¥ó¥×¥ë¤òºÎ¼è¤·¤Þ¤¹¡£
-.B \-t
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢ºÇ½é¤ÎÎó¤Ë³Æ¥µ¥ó¥×¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.ft 3
-.nf
-jstat \-gcoldcapacity \-t 21891 250 3
-Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT
-150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799
-150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
-150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
-.br
-.fi
-.LP
-\f2Timestamp\fP Îó¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤Îµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤¬¡¢ÉÃñ°Ì¤Ç¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f3\-gcoldcapacity\fP ½ÐÎϤǤϡ¢³ä¤êÅö¤ÆÍ×µá¤Þ¤¿¤Ï¾º³ÊÍ׵ᤢ¤ë¤¤¤Ï¤½¤ÎξÊý¤òËþ¤¿¤¹¤¿¤á¤Ë¥Ò¡¼¥×¤¬³ÈÄ¥¤¹¤ë¤´¤È¤Ë¡¢Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤È Old Îΰè¤ÎÍÆÎÌ (OC) ¤È¤¬Áý²Ã¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£Old À¤Âå¤ÎÍÆÎÌ (OGC) ¤Ï¡¢81 ÈÖÌܤΥեë GC (FGC) ¸å¤Ë¡¢11696 KB ¤«¤é 13820 KB ¤ØÁý²Ã¤·¤Æ¤¤¤Þ¤¹¡£Old À¤Âå (¤ª¤è¤ÓÎΰè) ¤ÎºÇÂçÍÆÎ̤ϡ¢60544 KB (OGCMX) ¤Ê¤Î¤Ç¡¢¤Þ¤À³ÈÄ¥¤Ç¤¤ë;͵¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
.SS
-¥ê¥â¡¼¥È JVM ¤Î¥¤¥ó¥¹¥È¥¥¥ë¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î´Æ»ë
+gcutil オプションの使用
.LP
-¤³¤ÎÎã¤Ï¡¢\f3\-gcutil\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢\f2remote.domain\fP ¤È¤¤¤¦¥·¥¹¥Æ¥à¾å¤Î \f2lvmid\fP 40496 ¤ËÀܳ¤·¡¢¥µ¥ó¥×¥ë¤òÉÃñ°Ì¤Ç̵´ü¸Â¤Ë¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
+.LP
+この例は、\f2lvmid\fP 21891 に接続して、250 ミリ秒間隔で 7 つのサンプルを取得し、\f3\-gcutil\fP オプションでの指定に従って出力を表示します。
+.LP
.nf
-\f3jstat \-gcutil 40496@remote.domain 1000\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 21891 250 7\fP
.br
.fl
-... \f2½ÐÎϾÊά\fP
+ S0 S1 E O P YGC YGCT FGC FGCT GCT
.br
+
+.fl
+ 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
+.br
+
+.fl
+ 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
+.br
+
+.fl
+ 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
+.br
+
+.fl
.fi
+
.LP
-\f2lvmid\fP ¤Ï¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤È·ë¹ç¤µ¤ì¤Æ¡¢\f240496@remote.domain\fP ¤Î \f2vmid\fP ¤ò¹½À®¤·¤Æ¤¤¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ¡¢¤³¤Î \f2vmid\fP ¤Ï¡¢\f3rmi\fP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î¥Ç¥Õ¥©¥ë¥È¤Î \f3jstatd\fP ¥µ¡¼¥Ð¤ÈÄÌ¿®¤·¤Þ¤¹¡£\f3jstatd\fP ¥µ¡¼¥Ð¤Ï¡¢\f3rmiregistry\fP ¤ò»ÈÍѤ·¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f3rmiregistry\fP ¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ \f2remote.domain\fP ¤ËÇÛÃÖ¤µ¤ì¤ì¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+.LP
+この例の出力は、若い世代のコレクションが 3 番目と 4 番目のサンプル間で行われたことを示しています。コレクションには 0.001 秒かかっており、オブジェクトが Eden 領域 (E) から Old 領域 (O) に昇格したため、Old 領域の使用率は 9.49% から 9.51% に増加しています。Survivor 領域は、コレクション前は 12.44% が使用されていましたが、コレクション後は 7.74% しか使用されていません。
+.LP
+.SS
+列ヘッダー文字列の繰り返し
+.LP
+.LP
+この例は、\f2lvmid\fP 21891 に接続して、250 ミリ秒間隔でサンプルを取得し、\f3\-gcutil\fP オプションでの指定に従って出力を表示します。さらに、\f3\-h3\fP オプションを使用して、データが 3 行表示されるごとに列ヘッダーを出力します。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcnew \-h3 21891 250\fP
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203
+.br
+
+.fl
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204
+.br
+
+.fl
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204
+.br
+
+.fl
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204
+.br
+
+.fl
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+.br
+
+.fl
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+この例では、ヘッダー文字列の繰り返しが見られるほかにも、2 番目と 3 番目のサンプル間で Young GC が行われたことがわかります。この継続時間は 0.001 秒でした。このコレクションでは、Survivor 領域 0 の使用率 (S0U) が適切な Survivor サイズ (DSS) を超過することになるライブデータが検出されました。この結果、オブジェクトは、Old 世代 (この出力には非表示) へ昇格され、殿堂入りしきい値 (TT) が、31 から 2 へ降格されました。
+.LP
+.LP
+別のコレクションが、5 番目と 6 番目のサンプル間で行われています。このコレクションでは、Survivor がほとんど見られず、殿堂入りしきい値を 31 に戻しました。
+.LP
+.SS
+サンプルごとのタイムスタンプの挿入
+.LP
+.LP
+この例は、\f2lvmid\fP 21891 へ接続し、250 ミリ秒間隔で 3 つのサンプルを取得しています。\f3\-t\fP オプションを使用して、最初の列にサンプルごとのタイムスタンプを表示しています。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
+.br
+
+.fl
+Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT
+.br
+
+.fl
+ 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799
+.br
+
+.fl
+ 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+.br
+
+.fl
+ 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+\f2Timestamp\fP 列には、ターゲット JVM の起動時からの経過時間が、秒単位でレポートされています。さらに、\f3\-gcoldcapacity\fP 出力では、割り当て要求または昇格要求あるいはその両方を満たすためにヒープが拡張するごとに、Old 世代の容量 (OGC) と Old 領域の容量 (OC) とが増加していることがわかります。Old 世代の容量 (OGC) は、81 番目のフル GC (FGC) 後に、11696 KB から 13820 KB へ増加しています。Old 世代 (および領域) の最大容量は、60544 KB (OGCMX) なので、まだ拡張できる余裕が残されています。
+.LP
+.SS
+リモート JVM のインストゥルメンテーションの監視
+.LP
+.LP
+この例は、\f3\-gcutil\fP オプションを使用して、\f2remote.domain\fP というシステム上の \f2lvmid\fP 40496 に接続し、サンプルを秒単位で無期限に取得しています。
+.LP
+.nf
+\f3
+.fl
+\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP
+.br
+
+.fl
+... \f2output omitted\fP
+.br
+
+.fl
+.fi
+
+.LP
+.LP
+\f2lvmid\fP は、リモートホストの名前と結合されて、\f240496@remote.domain\fP の \f2vmid\fP を構成しています。結果として、この \f2vmid\fP は、\f3rmi\fP プロトコルを使用して、リモートホスト上のデフォルトの \f3jstatd\fP サーバーと通信します。\f3jstatd\fP サーバーは、\f3rmiregistry\fP を使用して、デフォルトの \f3rmiregistry\fP ポート (ポート 1099) にバインドされた \f2remote.domain\fP に配置されれます。
+.LP
+.RE
+.SH "関連項目"
+.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë
+o
+「java(1) \- Java アプリケーション起動ツール」
.TP 2
-*
-jps \- Java ¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
+o
+「jps(1) \- Java 仮想マシンプロセスステータスツール」
.TP 2
-*
-jstatd \- jvmstat ¥Ç¡¼¥â¥ó
+o
+「jstatd(1) \- 仮想マシン jstat デーモン」
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+「rmiregistry(1) \- Java リモートオブジェクトレジストリ」
.RE
+
+.LP
+
+.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1
index ff17b9b..87db3ec 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1
@@ -1,246 +1,300 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH jstatd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-jstatd \- ²¾ÁÛ¥Þ¥·¥ó jstat ¥Ç¡¼¥â¥ó
-.\"
-.SH ·Á¼°
-.B jstatd
-.BI [ options ]
-.SH ¥Ñ¥é¥á¡¼¥¿
-.if t .TP 20
-.if n .TP 15
-.BI options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£¾éĹ¤Þ¤¿¤ÏÌ·½â¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢ºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬Í¥À褵¤ì¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.B jstatd
-¥Ä¡¼¥ë¤Ï¡¢·×¬µ¡¹½ÉÕ¤ HotSpot Java ²¾ÁÛ¥Þ¥·¥ó (JVM) ¤ÎºîÀ®¤È½ªÎ»¤ò´Æ»ë¤¹¤ë RMI ¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¢¤ê¡¢¥ê¥â¡¼¥È´Æ»ë¥Ä¡¼¥ë¤¬¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë JVM ¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
-.LP
-jstatd ¥µ¡¼¥Ð¡¼¤¬µ¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤Ë RMI ¥ì¥¸¥¹¥È¥ê¤¬Â¸ºß¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£jstatd ¥µ¡¼¥Ð¡¼¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Þ¤¿¤Ï
-.BI \-p " port"
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤¿¥Ý¡¼¥È¾å¤Î RMI ¥ì¥¸¥¹¥È¥ê¤Ø¤Î¥¢¥¿¥Ã¥Á¤ò»î¤ß¤Þ¤¹¡£RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-.BI \-p " port"
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤¿¥Ý¡¼¥È¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ jstatd ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤ÇºîÀ®¤µ¤ì¡¢
-.BI \-p " port"
-¤¬¾Ê¤«¤ì¤¿¾ì¹ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿ jstatd ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÆâ¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Ï¡¢
-.B \-nr
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶Ø»ß¤Ç¤¤Þ¤¹¡£
-.LP
-Ãí - ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢JDK ¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¸½»þÅÀ¤Ç¤Ï¡¢Windows 98 ¤ª¤è¤Ó Windows ME ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.B jstatd
-¥³¥Þ¥ó¥É¤Ï¡¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-nr
-´û¸¤Î RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤Ë¡¢
-.B jstatd
-¥×¥í¥»¥¹Æâ¤Ç¤ÎÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤ò»î¤ß¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-p " port"
-RMI ¥ì¥¸¥¹¥È¥ê¤òõ¤¹¥Ý¡¼¥ÈÈֹ档¤Þ¤¿¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤º¡¢
-.B \-nr
-¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬ºîÀ®¤µ¤ì¤ë¥Ý¡¼¥ÈÈֹ档
-.if t .TP 20
-.if n .TP 15
-.BI \-n " rminame"
-RMI ¥ì¥¸¥¹¥È¥ê¤Ç¥ê¥â¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤ë̾Á°¡£¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ï¡¢JStatRemoteHost ¤Ç¤¹¡£Æ±¤¸¥Û¥¹¥È¾å¤ÇÊ£¿ô¤Î
-.B jstatd
-¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥µ¡¼¥Ð¡¼¤Î¥¨¥¯¥¹¥Ý¡¼¥È RMI ¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤ò°ì°Õ¤Ë¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤À¤·¡¢¤½¤Î¤¿¤á¤Ë¤Ï¡¢´Æ»ë¥¯¥é¥¤¥¢¥ó¥È¤Î hostid ¤ª¤è¤Ó vmid ʸ»úÎó¤Ë°ì°Õ¤Î¥µ¡¼¥Ð¡¼Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-J option
-.I option
-¤ò
-.B javac
-¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿ java µ¯Æ°¥Ä¡¼¥ë¤ËÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B \-J-Xms48m
-¤Ï¡¢µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£Java ¤ÇºîÀ®¤µ¤ì¤¿²¼ÁؤΠVM ¼Â¹Ô¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤Î¤¬¡¢
-.B \-J
-¤Î°ìÈÌŪµ¬Â§¤Ç¤¹¡£
-.SH ¥»¥¥å¥ê¥Æ¥£
+." Copyright 2003 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jstatd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¡¢Å¬Àڤʥͥ¤¥Æ¥£¥Ö¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤ë JVM ¤À¤±¤ò´Æ»ë¤Ç¤¤Þ¤¹¡£
-¤³¤Î¤¿¤á¡¢jstatd ¥×¥í¥»¥¹¤Ï¡¢¥¿¡¼¥²¥Ã¥È JVM ¤ÈƱ¤¸¥æ¡¼¥¶¡¼»ñ³Ê¤Ç¼Â¹Ô¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-UNIX(TM) ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Î root ¥æ¡¼¥¶¡¼¤Ê¤É¡¢°ìÉô¤Î¥æ¡¼¥¶¡¼»ñ³Ê¤Ë¤Ï¡¢
-¤½¤Î¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿·×¬µ¡¹½¤Ø¤Î
-¥¢¥¯¥»¥¹¸¢¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê»ñ³Ê¤Ç¼Â¹ÔÃæ¤Î jstatd ¥×¥í¥»¥¹¤Ï¡¢¤½¤Î¥·¥¹¥Æ¥à¾å¤ÎǤ°Õ¤Î JVM ¤ò´Æ»ë¤Ç¤¤Þ¤¹¤¬¡¢
-¤³¤ì¤Ëȼ¤¦¥»¥¥å¥ê¥Æ¥£¾å¤ÎÌäÂê¤â¹Íθ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-jstatd ¥µ¡¼¥Ð¡¼¤Ï¡¢¥ê¥â¡¼¥È¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
-¤Ä¤Þ¤ê¡¢jstatd ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤È¡¢
-jstatd ¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤¹¤Ù¤Æ¤Î JVM ¤«¤é
-¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë·×¬µ¡¹½¤¬¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÎǤ°Õ¤Î¥æ¡¼¥¶¡¼¤Ë¸ø³«¤µ¤ì¤Þ¤¹¡£
-·×¬µ¡¹½¤¬¸ø³«¤µ¤ì¤ë¤È¡¢´Ä¶¤Ë¤è¤Ã¤Æ¤Ï˾¤Þ¤·¤¯¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-Æä˱¿ÍѴĶ¤ä°ÂÁ´À¤ÎÄ㤤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¡¢
-jstatd ¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëÁ°¤Ë
-¥í¡¼¥«¥ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¤ò¸¡Æ¤¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¡¢Â¾¤Ë¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢RMISecurityPolicy ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¡¢¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼¼ÂÁõ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¹½Ê¸
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html)
-¤Ë½¾¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¼¡¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Ï¥»¥¥å¥ê¥Æ¥£Îã³°¤òµ¯¤³¤µ¤º¤Ë¼Â¹Ô¤Ç¤¤Þ¤¹¡£¤³¤Î¥Ý¥ê¥·¡¼¤Ï¡¢
-¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥Ù¡¼¥¹¤Ø¤Î¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹¸¢¤òµö²Ä¤¹¤ë¤è¤ê¤Ï¼«Í³ÅÙ¤¬Ä㤤¤Ç¤¹¤¬¡¢
-.B jstatd
-¥µ¡¼¥Ð¡¼¤Î¼Â¹Ô¤ËɬÍפʺǾ®¸ÂÅ٤Υ¢¥¯¥»¥¹¸¢¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¤è¤ê¤Ï¼«Í³ÅÙ¤¬¹â¤¤¤Ç¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-grant codebase "file:${java.home}/../lib/tools.jar" {
- permission java.security.AllPermission;
-};
-.fi
-.ft 1
-.RE
-.LP
-¤³¤Î¥Ý¥ê¥·¡¼¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥Æ¥¥¹¥È¤ò jstatd.all.policy ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤¿¤¢¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ
-.B jstatd
-¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=jstatd.all.policy
-.fi
-.ft 1
-.RE
-.LP
-¤è¤ê¸·³Ê¤Ê¥»¥¥å¥ê¥Æ¥£¤òºÎÍѤ·¤Æ¤¤¤ë¥µ¥¤¥È¤Ç¤Ï¡¢
-¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢ÆÃÄê¤Î¿®Íê¤Ç¤¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ë
-¥¢¥¯¥»¥¹¤òÀ©¸Â¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤ò»ÈÍѤ·¤Æ¤â¡¢
-IP ¥¢¥É¥ì¥¹¤Î¥¹¥×¡¼¥Õ¥£¥ó¥°¹¶·â¤Ë¤µ¤é¤µ¤ì¤Þ¤¹¡£
-¥«¥¹¥¿¥à¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¥»¥¥å¥ê¥Æ¥£¤ÎÌäÂê¤ËÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
-jstatd ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤»¤º¤Ë¡¢
-jstat ¤ª¤è¤Ó jps ¥Ä¡¼¥ë¤ò¥í¡¼¥«¥ë¤Ç»ÈÍѤ¹¤ë¤Î¤¬ºÇ¤â°ÂÁ´¤Ç¤¹¡£
-.SH ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-.B jstatd
-¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ç¤¢¤ê¡¢Êѹ¹¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤ª¤è¤Ó³«È¯¼Ô¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë½ñ¤¹þ¤Þ¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
-.SH »ÈÍÑÎã
-.B jstatd
-¤Îµ¯Æ°Îã¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Î
-.B jstatd
-¥¹¥¯¥ê¥×¥È¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼«Æ°Åª¤Ë¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£
-.SS ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ï¡¢ÆâÉô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Î RMI ¥ì¥¸¥¹¥È¥ê¥Ý¡¼¥È (¥Ý¡¼¥È 1099) ¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy
-.fi
-.ft 1
-.RE
-.SS ³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤Î»ÈÍÑ
-¤³¤ÎÎã¤Ï¡¢³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry&
-jstatd -J-Djava.security.policy=all.policy
-.fi
-.ft 1
-.RE
-.LP
-¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¾å¤Î³°Éô RMI ¥ì¥¸¥¹¥È¥ê¥µ¡¼¥Ð¡¼¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry 2020&
-jstatd -J-Djava.security.policy=all.policy -p 2020
-.fi
-.ft 1
-.RE
-.LP
-¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È 2020 ¾å¤Î¡¢AlternateJstatdServerName ¤È¤¤¤¦Ì¾Á°¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿³°Éô RMI ¥ì¥¸¥¹¥È¥ê¤ò»ÈÍѤ·¤¿
-.B jstatd
-¤Îµ¯Æ°¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-rmiregistry 2020&
-jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName
-.fi
-.ft 1
-.RE
-.SS ¥×¥í¥»¥¹Æâ RMI ¥ì¥¸¥¹¥È¥ê¤ÎºîÀ®¤Î¶Ø»ß
-¤³¤ÎÎã¤Ï¡¢RMI ¥ì¥¸¥¹¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤â RMI ¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·¤Ê¤¤¤è¤¦¤Ë
-.B jstatd
-¤òµ¯Æ°¤¹¤ëÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢RMI ¤¬¤¹¤Ç¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¼Â¹Ô¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢Å¬Àڤʥ¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy -nr
-.fi
-.ft 1
-.RE
-.SS RMI ¥í¥®¥ó¥°µ¡Ç½¤Î͸ú²½
-¤³¤ÎÎã¤Ï¡¢RMI ¥í¥®¥ó¥°µ¡Ç½¤ò͸ú¤Ë¤·¤Æ
-.B jstatd
-¤òµ¯Æ°¤¹¤ëÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¾ã³²ÄÉÀפ䥵¡¼¥Ð¡¼³èÆ°¤Î´Æ»ë¤ËÌòΩ¤Á¤Þ¤¹¡£
-.LP
-.RS
-.ft 3
-.nf
-jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true
-.fi
-.ft 1
-.RE
-.LP
-.SH ´ØÏ¢¹àÌÜ
+.SH "名前"
+jstatd \- 仮想マシン jstat デーモン
.LP
.RS 3
.TP 2
-*
-java \- Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à
+o
+形式
.TP 2
-*
-jps \- Java ²¾ÁÛ¥Þ¥·¥ó¥×¥í¥»¥¹¥¹¥Æ¡¼¥¿¥¹¥Ä¡¼¥ë
+o
+パラメータ
.TP 2
-*
-jstat \- Java ²¾ÁÛ¥Þ¥·¥óÅý·×´Æ»ë¥Ä¡¼¥ë
+o
+説明
.TP 2
-*
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
+o
+オプション
+.TP 2
+o
+セキュリティー
+.TP 2
+o
+リモートインタフェース
+.TP 2
+o
+例
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+jstatd [ \fP\f4options\fP\f3 ]\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.SH "パラメータ"
+.LP
+
+.LP
+.RS 3
+.TP 3
+options
+コマンド行オプション。オプションは任意の順序で指定できます。重複または矛盾するオプションがある場合、最後に指定したオプションが優先されます。
+.RE
+
+.LP
+.SH " 説明"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP ツールは、計測された HotSpot Java 仮想マシン (JVM) の作成と終了を監視し、ローカルシステム上で実行している Java 仮想マシンに、リモート監視ツールが接続できるようにするためのインタフェースを提供する RMI サーバーアプリケーションです。
+.LP
+.LP
+\f3jstatd\fP サーバーでは、ローカルホストに RMI レジストリが存在することが必要になります。\f3jstatd\fP サーバーは、デフォルトポートまたは \f2\-p port\fP オプションで指定されたポート上の RMI レジストリに接続しようとします。RMI レジストリが見つからない場合、\f2\-p port\fP オプションで指定されたポート、または \f2\-p port\fP が省略されている場合は、デフォルト RMI レジストリにバインドされた \f3jstatd\fP アプリケーション内に、1 つの RMI レジストリが作成されます。内部 RMI レジストリの作成は、\f2\-nr\fP オプションを指定することによって禁止することができます。
+.LP
+.LP
+\f3注:\fP このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP コマンドは次のオプションをサポートしています。
+.LP
+.RS 3
+.TP 3
+\-nr
+既存の RMI レジストリが見つからない場合、\f2jstatd\fP プロセス内に内部 RMI レジストリを作成しないようにします。
+.TP 3
+\-p\ port
+RMI レジストリがあると予想されるポート番号です。 見つからない場合は、\f2\-nr\fP が指定されていなければ作成されます。
+.TP 3
+\-n\ rminame
+RMI レジストリにおいて、リモート RMI オブジェクトがバインドされる名前です。デフォルト名は \f2JStatRemoteHost\fP です。複数の \f3jstatd\fP サーバーが同じホスト上で起動している場合、各サーバーのエクスポートした RMI オブジェクトの名前は、このオプションを指定することによって、一意の名前にすることができます。ただし、このオプションを使用する場合、監視クライアントの \f2hostid\fP および \f2vmid\fP 文字列に、その一意のサーバー名を含める必要があります。
+.TP 3
+\-Joption
+\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
+.RE
+
+.LP
+.SH "セキュリティー"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP サーバーは、有効なネイティブアクセス権を持つ JVM だけを監視できます。したがって、\f3jstatd\fP プロセスは、ターゲット JVM と同じユーザー資格で実行している必要があります。一部のユーザー資格は、Unix(TM) ベースのシステムにおける \f2root\fP ユーザーのように、システム上の任意の JVM によってエクスポートされたインストゥルメンテーションへのアクセス権を持っています。このような資格で実行している \f3jstatd\fP プロセスは、システム上のすべての JVM を監視できますが、セキュリティー上の別の問題が起こります。
+.LP
+.LP
+\f3jstatd\fP サーバーは、リモートクライアントの認証を一切与えません。そのため、\f3jstatd\fP サーバープロセスを実行すると、\f3jstatd\fP プロセスがアクセス権を持つすべての JVM によるインストゥルメンテーションのエクスポートを、ネットワーク上のすべてのユーザーに公開することになります。この無防備な状態は、環境的に望ましくない場合があります。 特に実稼働環境または安全でないネットワークでは、\f3jstatd\fP プロセスを起動する前に、ローカルセキュリティーポリシーを検討する必要があります。
+.LP
+.LP
+\f3jstatd\fP サーバーは、他のセキュリティーマネージャーがインストールされていない場合には、RMISecurityPolicy のインスタンスをインストールします。 そのため、セキュリティーポリシーファイルを指定する必要があります。ポリシーファイルは、デフォルトポリシー実装の
+.na
+\f2ポリシーファイルの構文\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.htmlに準拠する必要があります。
+.LP
+.LP
+次のポリシーファイルの場合、\f3jstatd\fP サーバーは一切のセキュリティー例外を使用せずに実行できます。このポリシーは、すべてのコードベースへのあらゆるアクセス権を認めるポリシーよりも自由度は低いですが、\f3jstatd\fP サーバーを実行するために最低限必要なアクセス権しか認めないポリシーよりも自由度は高くなっています。
+.LP
+.nf
+\f3
+.fl
+grant codebase "file:${java.home}/../lib/tools.jar" {\fP
+.br
+\f3
+.fl
+ permission java.security.AllPermission;\fP
+.br
+\f3
+.fl
+};\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+このポリシーを使用するには、このテキストを \f2jstatd.all.policy\fP というファイルにコピーし、次のように \f3jstatd\fP サーバーを実行します。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP
+.br
+\f3
+.fl
+\fP
+.fi
+
+.LP
+.LP
+より厳しいセキュリティーを実施するサイトの場合、カスタムポリシーファイルを使用して、特定の信頼できるホストまたはネットワークにアクセスを制限することができます。 ただし、このような方法は、IP アドレスの盗聴攻撃を受けやすくなります。セキュリティーの問題について、カスタマイズしたポリシーファイルでも対処できない場合は、\f3jstatd\fP サーバーを実行せずに、\f3jstat\fP と \f3jps\fP ツールをローカルで使用することがもっとも安全な方法になります。
+.LP
+.SH "リモートインタフェース"
+.LP
+
+.LP
+.LP
+\f3jstatd\fP プロセスがエクスポートするインタフェースは、独自に開発したものであり変更される予定です。ユーザーおよび開発者は、このインタフェースへの書き込みを行わないでください。
+.LP
+.SH "例"
+.LP
+
+.LP
+.LP
+次に \f3jstatd\fP を起動する例を紹介します。\f3jstatd\fP スクリプトによって、サーバーはバックグラウンドで自動的に起動します。
+.LP
+.SS
+内部 RMI レジストリの使用
+.LP
+.LP
+この例は、内部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。この例では、デフォルトの RMI レジストリポート (ポート 1099) には、他のサーバーはバインドされていないと想定しています。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy
+.fl
+\fP
+.fi
+
+.LP
+.SS
+外部 RMI レジストリの使用
+.LP
+.LP
+この例は、外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この例は、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry 2020&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-p 2020
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この例は、AlternateJstatdServerName の名前にバインドされた、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。
+.LP
+.nf
+\f3
+.fl
+rmiregistry 2020&
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName
+.fl
+\fP
+.fi
+
+.LP
+.SS
+インプロセス RMI レジストリの作成の禁止
+.LP
+.LP
+この例は、RMI レジストリが見つからない場合に RMI レジストリを作成しない \f3jstatd\fP の起動を表しています。この例では、RMI レジストリがすでに実行していると想定しています。実行していない場合は、該当するエラーメッセージが表示されます。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-nr
+.fl
+\fP
+.fi
+
+.LP
+.SS
+RMI ログ機能の有効化
+.LP
+.LP
+この例は、RMI ログ機能を有効にした \f3jstatd\fP の起動を表しています。この方法は、トラブルシューティングまたはサーバー活動の監視に役立ちます。
+.LP
+.nf
+\f3
+.fl
+jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true
+.fl
+\fP
+.fi
+
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+「java(1) \- Java アプリケーション起動ツール」
+.TP 2
+o
+「jps(1) \- Java 仮想マシンプロセスステータスツール」
+.TP 2
+o
+「jstat(1) \- Java 仮想マシン統計データ監視ツール」
+.TP 2
+o
+「
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java リモートオブジェクトレジストリ」
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1
index ec498eb..fd2e085 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,20 +18,20 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH keytool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+."
+.TH keytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-keytool \- ¸°¤È¾ÚÌÀ½ñ¤Î´ÉÍý¥Ä¡¼¥ë
+.SH "名前"
+keytool \- 鍵と証明書の管理ツール
.LP
.RS 3
.LP
-°Å¹æ²½¸°¡¢X.509 ¾ÚÌÀÏ¢º¿¡¢¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò´Þ¤à¥¡¼¥¹¥È¥¢ (¥Ç¡¼¥¿¥Ù¡¼¥¹) ¤ò´ÉÍý¤·¤Þ¤¹¡£
+暗号化鍵、X.509 証明書チェーン、および信頼できる証明書を含むキーストア (データベース) を管理します。
.RE
-.SH "·Á¼°"
+.SH "形式"
.LP
.LP
@@ -45,48 +44,48 @@
.LP
.LP
-Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡ÖÊѹ¹ÅÀ¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£°ÊÁ°¤ËÄêµÁ¤µ¤ì¤¿¥³¥Þ¥ó¥É¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+Java SE 6 で keytool のコマンドインタフェースが変更されました。 詳細については「変更点」の節を参照してください。以前に定義されたコマンドも引き続きサポートされています。
.LP
-.SH "ÀâÌÀ"
+.SH "説明"
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£\f3keytool\fP ¤ò»È¤¦¤È¡¢¼«Ê¬¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ½ñ¤ò´ÉÍý¤·¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò»È¤Ã¤¿¼«¸Êǧ¾Ú (¤Û¤«¤Î¥æ¡¼¥¶¤Þ¤¿¤Ï¥µ¡¼¥Ó¥¹¤ËÂФ·¤Æ¼«Ê¬¼«¿È¤òǧ¾Ú¤¹¤ë¤³¤È) ¤ä¡¢¥Ç¡¼¥¿¤Î´°Á´À¤È¾ÚÌÀ½ñ¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢ÄÌ¿®Áê¼ê¤Î¸ø³«¸°¤ò (¾ÚÌÀ½ñ¤Î·Á¤Ç) ¥¥ã¥Ã¥·¥å¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP は、鍵と証明書を管理するためのユーティリティーです。keytool を使うと、自分の公開鍵と非公開鍵のペア、および関連する証明書を管理し、デジタル署名を使った自己認証 (ほかのユーザーまたはサービスに対して自分自身を認証すること) や、データの整合性と証明書に関するサービスを利用することができます。keytool では、通信相手の公開鍵を (証明書の形で) キャッシュすることもできます。
.LP
-¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¿Íʪ¡¢²ñ¼Ò¤Ê¤É) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹(¡Ö¾ÚÌÀ½ñ¡×¤ò»²¾È)¡£¥Ç¡¼¥¿¤Ë¥Ç¥¸¥¿¥ë½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥¸¥¿¥ë½ð̾¤ò¸¡¾Ú¤¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¤Î´°Á´À¤ª¤è¤Ó¥Ç¡¼¥¿¤¬ËÜʪ¤Ç¤¢¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¡Ö´°Á´À¡×¤È¤Ï¡¢¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤ê¡¢²þÊѤµ¤ì¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ç¡¼¥¿¤¬¡ÖËÜʪ¤Ç¤¢¤ë¡×¤È¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤¬¡¢¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ½ð̾¤·¤¿¤È¾Î¤¹¤ë¿Íʪ¤«¤é¼ÂºÝ¤ËÅϤµ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+「証明書」とは、あるエンティティー (人物、会社など) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティーの公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています(「証明書」を参照)。データにデジタル署名が付いている場合は、デジタル署名を検証することで、データの整合性およびデータが本物であることをチェックできます。データの「整合性」とは、データが変更されたり、改変されたりしていないことを意味します。 また、データが「本物である」とは、そのデータが、データを作成して署名したと称する人物から実際に渡されたデータであることを意味します。
.LP
.LP
-¤Þ¤¿¡¢\f3keytool\fP ¤ò»È¤¨¤Ð¡¢DES ¤Ê¤É¤ÎÂоΰŹ沽/Éü¹æ²½¤Ç»ÈÍѤµ¤ì¤ëÈëÌ©¸°¤ò´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+また、\f3keytool\fP を使えば、DES などの対称暗号化/復号化で使用される秘密鍵を管理することもできます。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¸°¤È¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f3keytool\fP は、鍵と証明書を\f2「キーストア」\fPに格納します。
.LP
-.SH "¥³¥Þ¥ó¥É¤È¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëÃí°Õ"
+.SH "コマンドとオプションに関する注"
.LP
.LP
.LP
-°Ê²¼¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¼¡¤ÎÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+以下では、コマンドとそのオプションについて説明します。注:
.LP
.RS 3
.TP 2
o
-¤É¤Î¥³¥Þ¥ó¥É̾¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó̾¤Ë¤âÀèƬ¤Ë¥Þ¥¤¥Ê¥¹µ¹æ (\-) ¤¬ÉÕ¤¯
+どのコマンド名およびオプション名にも先頭にマイナス記号 (\-) が付く
.TP 2
o
-³Æ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ÏǤ°Õ¤Î½ç½ø¤Ç»ØÄê¤Ç¤¤ë
+各コマンドのオプションは任意の順序で指定できる
.TP 2
o
-¥¤¥¿¥ê¥Ã¥¯ÂΤˤʤäƤ¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¹àÌÜ¡¢¤Þ¤¿¤ÏÃæ³ç¸Ì¤«³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¹àÌܤϡ¢¤½¤Î¤È¤ª¤ê¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ë
+イタリック体になっていないすべての項目、または中括弧か角括弧で囲まれているすべての項目は、そのとおりに指定する必要がある
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ò°Ï¤àÃæ³ç¸Ì¤Ï¡¢°ìÈ̤ˡ¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢´ûÄêÃͤ¬»È¤ï¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£Ãæ³ç¸Ì¤Ï¡¢\f2\-v\fP¡¢\f2\-rfc\fP¡¢¤ª¤è¤Ó \f2\-J\fP ¥ª¥×¥·¥ç¥ó¤ò°Ï¤à¤Î¤Ë¤â»È¤ï¤ì¤ë¤¬¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤ò»ý¤Ä (¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¼«ÂΤò»ØÄꤷ¤Ê¤¤¤³¤È°Ê³°¤Ë¡Ö´ûÄêÃ͡פϸºß¤·¤Ê¤¤)
+オプションを囲む中括弧は、一般に、そのオプションをコマンド行で指定しなかった場合に、デフォルト値が使われることを意味する。中括弧は、\f2\-v\fP、\f2\-rfc\fP、および \f2\-J\fP オプションを囲むのにも使われるが、これらのオプションはコマンド行で指定された場合にのみ意味を持つ (つまり、これらのオプションには、オプション自体を指定しないこと以外に「デフォルト値」は存在しない)
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ò°Ï¤à³Ñ³ç¸Ì¤Ï¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢ÃͤÎÆþÎϤòµá¤á¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£¤¿¤À¤·¡¢\f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f3keytool\fP ¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤«¤éÈó¸ø³«/ÈëÌ©¸°¤ÎÉü¸µ¤ò»î¤ß¤ë¡£¥æ¡¼¥¶¤Ï¡¢¤³¤Î»î¤ß¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ËÈó¸ø³«/ÈëÌ©¸°¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤ë
+オプションを囲む角括弧は、そのオプションをコマンド行で指定しなかった場合に、値の入力を求められることを意味する。ただし、\f2\-keypass\fP オプションをコマンド行で指定しなかった場合は、\f3keytool\fP がキーストアのパスワードから非公開/秘密鍵の復元を試みる。 ユーザーは、この試みが失敗した場合に非公開/秘密鍵の入力を求められる
.TP 2
o
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤμºݤÎÃÍ (¥ª¥×¥·¥ç¥ó¤ÎÃÍ) ¤Ï¡¢¥æ¡¼¥¶¤¬»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢\f2\-printcert\fP ¥³¥Þ¥ó¥É¤Î·Á¼°¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¢¤ë
+イタリック体の項目の実際の値 (オプションの値) は、ユーザーが指定する必要がある。たとえば、\f2\-printcert\fP コマンドの形式は次のとおりである
.nf
\f3
.fl
@@ -95,7 +94,7 @@
\fP
.fi
.LP
-\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢\f2cert_file\fP ¤ÎÂå¤ï¤ê¤Ë¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£ ¼¡¤ËÎã¤ò¼¨¤¹
+\f2\-printcert\fP コマンドを指定するときは、\f2cert_file\fP の代わりに実際のファイル名を指定する。次に例を示す
.nf
\f3
.fl
@@ -105,10 +104,10 @@
.fi
.TP 2
o
-¥ª¥×¥·¥ç¥ó¤ÎÃͤ˶õÇò (¥¹¥Ú¡¼¥¹) ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Ãͤò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë
+オプションの値に空白 (スペース) が含まれている場合は、値を引用符で囲む必要がある
.TP 2
o
-\f2\-help\fP ¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¹Ô¤ò»ØÄꤷ¤¿¤È¤¹¤ë
+\f2\-help\fP コマンドはデフォルトのコマンドである。たとえば、次のようにコマンド行を指定したとする
.nf
\f3
.fl
@@ -116,7 +115,7 @@
.fl
\fP
.fi
-¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¢¤ë
+これは、次のように指定することと同じである
.nf
\f3
.fl
@@ -128,12 +127,12 @@
.LP
.SS
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ
+オプションのデフォルト値
.LP
.RS 3
.LP
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃͤϡ¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+オプションのデフォルト値は、次のとおりです。
.nf
\f3
.fl
@@ -143,19 +142,19 @@
.fl
\-keyalg
.fl
- "DSA" (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ "DSA" (\fP\f3\-genkeypair\fP\f3 を使用している場合)
.fl
- "DES" (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ "DES" (\fP\f3\-genseckey\fP\f3 を使用している場合)
.fl
.fl
\-keysize
.fl
- 1024 (\fP\f3\-genkeypair\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)
+ 1024 (\fP\f3\-genkeypair\fP\f3 を使用している場合)
.fl
- 56 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DES" ¤Î¾ì¹ç)
+ 56 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DES" の場合)
.fl
- 168 (\fP\f3\-genseckey\fP\f3 ¤ò»ÈÍѤ·¤Æ¤¤¤Æ \-keyalg ¤¬ "DESede" ¤Î¾ì¹ç)
+ 168 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DESede" の場合)
.fl
.fl
@@ -163,15 +162,17 @@
.fl
.fl
-\-keystore ¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .keystore ¤È¤¤¤¦¥Õ¥¡¥¤¥ë
+\-keystore \fP\f4ユーザーのホームディレクトリの \fP\f4.keystore\fP\f3 というファイル\fP\f3
.fl
.fl
-\-storetype ¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Î¡Ökeystore.type¡×¥×¥í¥Ñ¥Æ¥£¤ÎÃͤǡ¢ java.security.KeyStore ¤ÎÀÅŪ¤Ê getDefaultType ¥á¥½¥Ã¥É¤«¤éÊÖ¤µ¤ì¤ë
+\-storetype \fP\f4セキュリティープロパティーファイルの「keystore.type」プロパティーの値で、
+.fl
+ \fP\f4java.security.KeyStore\fP\f3 の静的な \fP\f4getDefaultType\fP\f3 メソッドから返される\fP\f3
.fl
.fl
-\-file Æɤ߹þ¤ß¤Î¾ì¹ç¤Ïɸ½àÆþÎÏ¡¢½ñ¤¹þ¤ß¤Î¾ì¹ç¤Ïɸ½à½ÐÎÏ
+\-file \fP\f4読み込みの場合は標準入力、書き込みの場合は標準出力\fP\f3
.fl
.fl
@@ -183,293 +184,265 @@
.fi
.LP
-Èó¸ø³«/ÈëÌ©¸°¥Ú¥¢¤ÎÀ¸À®¤Ë¤ª¤¤¤Æ¡¢½ð̾¥¢¥ë¥´¥ê¥º¥à (\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó) ¤Ï¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤Î¥¢¥ë¥´¥ê¥º¥à¤«¤éÇÉÀ¸¤·¤Þ¤¹¡£´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ DSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ¤Ï SHA1withDSA ¤Ë¤Ê¤ê¡¢´ð¤Ë¤Ê¤ëÈó¸ø³«¸°¤¬ RSA ¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢\f2\-sigalg\fP ¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃÍ¤Ï MD5withRSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ÁªÂò²Äǽ¤Ê \f2\-keyalg\fP ¤ª¤è¤Ó \f2\-sigalg\fP ¤Î´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA
-¤Î
+公開/非公開鍵ペアの生成において、署名アルゴリズム (\f2\-sigalg\fP オプション) は、基になる非公開鍵のアルゴリズムから派生します。基になる非公開鍵が DSA タイプである場合、\f2\-sigalg\fP オプションのデフォルト値は SHA1withDSA になり、基になる非公開鍵が RSA タイプである場合は、\f2\-sigalg\fP オプションのデフォルト値は MD5withRSA になります。選択可能な \f2\-keyalg\fP および \f2\-sigalg\fP の完全な一覧については、
.na
-¡Ö\f2Java Cryptography Architecture API Specification & Reference\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2「Java Cryptography Architecture API Specification & Reference」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。
.RE
.SS
-°ìÈÌ¥ª¥×¥·¥ç¥ó
+一般オプション
.LP
.RS 3
.LP
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-help\fP ¥³¥Þ¥ó¥É¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤Ï¡Ö¾éĹ¡×¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¡¢¾ÜºÙ¤Ê¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-v\fP オプションは、\f2\-help\fP コマンドを除くすべてのコマンドで使用できます。このオプションを指定した場合、コマンドは「冗長」モードで実行され、詳細な証明書情報が出力されます。
.LP
-¤Þ¤¿¡¢\f2\-J\fP\f2javaoption\fP ¥ª¥×¥·¥ç¥ó¤â¡¢Ç¤°Õ¤Î¥³¥Þ¥ó¥É¤Ç»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿ \f2javaoption\fP ʸ»úÎó¤¬ Java ¥¤¥ó¥¿¥×¥ê¥¿¤ËľÀÜÅϤµ¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¶õÇò¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¼Â¹Ô´Ä¶¤Þ¤¿¤Ï¥á¥â¥ê»ÈÍѤòÄ´À°¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£»ØÄê¤Ç¤¤ë¥¤¥ó¥¿¥×¥ê¥¿¥ª¥×¥·¥ç¥ó¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2java \-h\fP ¤Þ¤¿¤Ï \f2java \-X\fP ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
+また、\f2\-J\fP\f2javaoption\fP オプションも、任意のコマンドで使用できます。このオプションを指定した場合、指定された \f2javaoption\fP 文字列が Java インタプリタに直接渡されます。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。
.LP
.LP
-¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£
+次のオプションは、キーストアに対する操作を行うすべてのコマンドで指定できます。
.LP
.RS 3
.TP 3
\-storetype storetype
-¤³¤Î½¤¾þ»Ò¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
+この修飾子は、インスタンスを生成するキーストアのタイプを指定します。
.TP 3
\-keystore keystore
-¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
+キーストアの場所を指定します。
.LP
-ÆÃÄê¤Î \f3keytool\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢JKS ¥¹¥È¥¢¥¿¥¤¥×¤¬»ÈÍѤµ¤ì¡¢¤«¤Ä¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¿·¤·¤¤¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢\f2keytool \-genkeypair\fP ¤Î¼Â¹Ô»þ¤Ë \f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2.keystore\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥Õ¥©¥ë¥È¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤¬¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤½¤³¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢\f2\-keystore \fP\f2ks_file\fP ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤â¤½¤Î \f2ks_file\fP ¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+特定の \f3keytool\fP コマンドを実行する際に、JKS ストアタイプが使用され、かつキーストアファイルがまだ存在していなかった場合、新しいキーストアファイルが作成されます。たとえば、\f2keytool \-genkeypair\fP の実行時に \f2\-keystore\fP オプションが指定されなかった場合、\f2.keystore\fP という名前のデフォルトキーストアファイルがユーザーのホームディレクトリ内にまだ存在していなければ、そこに作成されます。同様に、\f2\-keystore \fP\f2ks_file\fP というオプションが指定されてもその \f2ks_file\fP が存在しなかった場合、そのファイルが作成されます。
.LP
-\f2\-keystore\fP ¥ª¥×¥·¥ç¥ó¤«¤é¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\f2NONE\fP ¤¬ URL ¤È¤·¤Æ»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢null ¥¹¥È¥ê¡¼¥à¤¬ \f2KeyStore.load\fP ¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤Þ¤¹¡£\f2KeyStore\fP ¤¬¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Ç¤Ê¤¤¾ì¹ç (¥Ï¡¼¥É¥¦¥§¥¢¥È¡¼¥¯¥ó¥Ç¥Ð¥¤¥¹¾å¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ê¤É)¡¢\f2NONE\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f2\-keystore\fP オプションからの入力ストリームは、\f2KeyStore.load\fP メソッドに渡されます。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP は、\f2KeyStore\fP がファイルベースではなく、たとえば、ハードウェアトークンデバイスに置かれている場合に指定します。
.TP 3
\-storepass storepass
-¥¡¼¥¹¥È¥¢¤Î´°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£
+キーストアの整合性を保護するために使うパスワードを指定します。
.LP
-\f2storepass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£»ØÄꤷ¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢¥¡¼¥¹¥È¥¢¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ç»È¤ï¤ì¤Þ¤¹¡£¤³¤Î¼ï¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2storepass\fP は、6 文字以上にする必要があります。指定したパスワードは、キーストアの内容にアクセスするすべてのコマンドで使われます。この種のコマンドを実行するときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。
.LP
-¥¡¼¥¹¥È¥¢¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤Ç¤¤Þ¤¹¡£ ¥Ñ¥¹¥ï¡¼¥É¤ò¾Êά¤¹¤ë¤È¡¢¼è¤ê½Ð¤¹¾ðÊó¤Î´°Á´À¤ò¥Á¥§¥Ã¥¯¤Ç¤¤Ê¤¤¤Î¤Ç¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+キーストアから情報を取り出す場合は、パスワードを省略できます。 パスワードを省略すると、取り出す情報の整合性をチェックできないので、警告が表示されます。
.TP 3
\-providerName provider_name
-¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ë´Þ¤Þ¤ì¤ë°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À̾¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
+セキュリティープロパティーファイル内に含まれる暗号化サービスプロバイダ名を特定するために使用されます。
.TP 3
\-providerClass provider_class_name
-°Å¹æ²½¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤¬¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Þ¥¹¥¿¡¼¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¤¤Ë»È¤ï¤ì¤Þ¤¹¡£
+暗号化サービスプロバイダがセキュリティープロパティーファイルに指定されていないときは、そのマスタークラスファイルの名前を指定するときに使われます。
.TP 3
\-providerArg provider_arg
-\f2\-providerClass\fP ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£\f2provider_class_name\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ë¾Êά²Äǽ¤Êʸ»úÎóÆþÎÏ°ú¿ô¤òɽ¤·¤Þ¤¹¡£
+\f2\-providerClass\fP と組み合わせて使用します。\f2provider_class_name\fP のコンストラクタに対する省略可能な文字列入力引数を表します。
.TP 3
\-protected
-\f2true\fP¡¢\f2false\fP ¤Î¤¤¤º¤ì¤«¡£ÀìÍÑ PIN ¥ê¡¼¥À¤Ê¤É¤ÎÊݸ¤ì¤¿Ç§¾Ú¥Ñ¥¹¤ò²ð¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÃÍ¤Ë \f2true\fP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+\f2true\fP または \f2false\fP のいずれか。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
.RE
.LP
.RE
-.SH "¥³¥Þ¥ó¥É"
+.SH "コマンド"
.LP
.LP
.SS
-¥¡¼¥¹¥È¥¢¤Ø¤Î¥Ç¡¼¥¿¤ÎºîÀ®¤ª¤è¤ÓÄɲÃ
+キーストアへのデータの作成または追加
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-genkeypair {\-alias alias}
-{\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¸°¤Î¥Ú¥¢ (¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ëÈó¸ø³«¸°) ¤òÀ¸À®¤·¤Þ¤¹¡£¸ø³«¸°¤Ï X.509 v3 ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¾ÚÌÀ½ñ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤò»ý¤Ä¾ÚÌÀÏ¢º¿¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀÏ¢º¿¤ÈÈó¸ø³«¸°¤Ï¡¢\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+鍵のペア (公開鍵および関連する非公開鍵) を生成します。公開鍵は X.509 v3 自己署名証明書でラップされます。 証明書は、単一の要素を持つ証明書チェーンとして格納されます。この証明書チェーンと非公開鍵は、\f2alias\fP で特定される新しいキーストアエントリに格納されます。
.LP
-\f2keyalg\fP ¤Ë¤Ï¡¢¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ë¤Î¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¡¢\f2keysize\fP ¤Ë¤Ï¡¢À¸À®¤¹¤ë³Æ¸°¤Î¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£\f2sigalg\fP ¤Ë¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢\f2keyalg\fP ¤È¸ß´¹À¤Î¤¢¤ë¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2keyalg\fP には、鍵のペアを生成するのに使うアルゴリズムを指定し、\f2keysize\fP には、生成する各鍵のサイズを指定します。 \f2sigalg\fP には、自己署名証明書に署名を付けるときに使うアルゴリズムを指定します。このアルゴリズムは、\f2keyalg\fP と互換性のあるものでなければなりません。
.LP
-\f2dname\fP ¤Ë¤Ï¡¢\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Î \f2issuer\fP ¥Õ¥£¡¼¥ë¥É¤È \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»È¤¦ X.500 ¼±ÊÌ̾¤ò»ØÄꤷ¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¼±ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2dname\fP には、\f2alias\fP に関連付け、自己署名証明書の \f2issuer\fP フィールドと \f2subject\fP フィールドとして使う X.500 識別名を指定します。コマンド行で識別名を指定しなかった場合は、識別名の入力を求められます。
.LP
-\f2keypass\fP ¤Ë¤Ï¡¢À¸À®¤µ¤ì¤ë¸°¤Î¥Ú¥¢¤Î¤¦¤Á¡¢Èó¸ø³«¸°¤òÊݸ¤ë¤Î¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¤È¤¡¢Return ¥¡¼¤ò²¡¤¹¤È¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2keypass\fP には、生成される鍵のペアのうち、非公開鍵を保護するのに使うパスワードを指定します。パスワードを指定しなかった場合、ユーザーはその入力求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。 \f2keypass\fP は、6 文字以上でなければなりません。
.LP
-\f2valDays\fP ¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î͸úÆü¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2valDays\fP には、証明書の有効日数を指定します。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-genkey\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-genkeypair\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-genkey\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-genkeypair\fP を使用することをお勧めします。
.TP 3
-\-genseckey {\-alias alias}
-{\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-ÈëÌ©¸°¤òÀ¸À®¤·¡¢¤½¤ì¤ò \f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¿·¤·¤¤ \f2KeyStore.SecretKeyEntry\fP Æâ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+秘密鍵を生成し、それを \f2alias\fP で特定される新しい \f2KeyStore.SecretKeyEntry\fP 内に格納します。
.LP
-\f2keyalg\fP ¤ÏÈëÌ©¸°¤ÎÀ¸À®¤Ë»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ò¡¢\f2keysize\fP ¤ÏÀ¸À®¤¹¤ë¸°¤Î¥µ¥¤¥º¤ò¡¢¤½¤ì¤¾¤ì»ØÄꤷ¤Þ¤¹¡£\f2keypass\fP ¤ÏÈëÌ©¸°¤ÎÊݸî¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¤½¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤¬¥×¥í¥ó¥×¥È¤Ç RETURN ¥¡¼¤ò²¡¤·¤¿¾ì¹ç¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥¡¼¥¹¥È¥¢¤ÈƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2keypass\fP ¤ÎŤµ¤Ï 6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
+\f2keyalg\fP は秘密鍵の生成に使用するアルゴリズムを、\f2keysize\fP は生成する鍵のサイズを、それぞれ指定します。\f2keypass\fP は秘密鍵の保護に使用するパスワードです。パスワードを指定しなかった場合、ユーザーはその入力求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。 \f2keypass\fP は、6 文字以上でなければなりません。
.TP 3
-\-importcert {\-alias alias}
-{\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿ (¾ÚÌÀÏ¢º¿¤Î¾ì¹ç¤Ï¡¢PKCS#7 ·Á¼°¤Î±þÅú¤ÇÄ󶡤µ¤ì¤ë¤â¤Î) ¤òÆɤ߹þ¤ß¡¢\f2alias\fP ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Ë³ÊǼ¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤Þ¤¿¤Ï PKCS#7 ±þÅú¤òÆɤ߹þ¤ß¤Þ¤¹¡£
+ファイル \f2cert_file\fP から証明書または証明書チェーン (証明書チェーンの場合は、PKCS#7 形式の応答で提供されるもの) を読み込み、\f2alias\fP によって特定されるキーストアエントリに格納します。ファイルが指定されていない場合は、標準入力から証明書または PKCS#7 応答を読み込みます。
.LP
-\f3keytool\fP ¤Ç¤Ï¡¢X.509 v1¡¢v2¡¢v3 ¤Î¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó¡¢PKCS#7 ·Á¼°¤Î¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë PKCS#7 ·Á¼°¤Î¾ÚÌÀÏ¢º¿¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¡¢¤Þ¤¿¤Ï½ÐÎϲÄǽÉä¹æ²½Êý¼° (Base64 Éä¹æ²½¤È¤â¸Æ¤Ð¤ì¤ë) ¤Î¤É¤Á¤é¤«¤ÇÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉä¹æ²½Êý¼°¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡Ö\-\-\-\-\-BEGIN¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç³«»Ï¤µ¤ì¡¢¡Ö\-\-\-\-\-END¡×¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ç½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f3keytool\fP では、X.509 v1、v2、v3 の証明書、および、PKCS#7 形式の証明書から構成されている PKCS#7 形式の証明書チェーンをインポートできます。インポートするデータは、バイナリ符号化方式、または出力可能符号化方式 (Base64 符号化とも呼ばれる) のどちらかで提供する必要があります。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。この符号化方式の場合、証明書は「\-\-\-\-\-BEGIN」で始まる文字列で開始され、「\-\-\-\-\-END」で始まる文字列で終了しなければなりません。
.LP
-¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£
+証明書のインポートには、次の 2 つの目的があります。
.RS 3
.TP 3
1.
-¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ë
+信頼できる証明書のリストに証明書を追加する
.TP 3
2.
-CA ¤Ë¾ÚÌÀ½ñ½ð̾Í×µá (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È) ¤òÁ÷¿®¤·¤¿·ë²Ì¤È¤·¤Æ¡¢CA ¤«¤é¼õ¤±¼è¤Ã¤¿¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë
+CA に証明書署名要求 (\-certreq コマンドを参照) を送信した結果として、CA から受け取った証明応答をインポートする
.RE
.LP
-¥æ¡¼¥¶¤¬¤É¤Î¥¿¥¤¥×¤Î¥¤¥ó¥Ý¡¼¥È¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¤«¤Ï¡¢¼¡¤Î¤è¤¦¤Ë \f2\-alias\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤˤè¤Ã¤Æ¼¨¤µ¤ì¤Þ¤¹¡£
+どちらの種類のインポートを行うかは、\f2\-alias\fP オプションの値によって指定します。
.RS 3
.TP 3
1.
-\f3ÊÌ̾¤¬ÆÃÄê¤Î¸°¥¨¥ó¥È¥ê¤ò»Ø¤·¤Æ¤¤¤Ê¤¤¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤½¤ÎÊÌ̾¤¬¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¤½¤ÎÊÌ̾¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¤½¤ÎÊÌ̾¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢\f3keytool\fP ¤Ï¥¨¥é¡¼¤ò½ÐÎϤ·¡¢¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+\f3別名がキーエントリをポイントしない場合\fP、\f3keytool\fP はユーザーが信頼できる証明書エントリを追加しようとしているものと見なします。この場合、別名がキーストア内にすでに存在していてはいけません。別名がすでに存在している場合、その別名の信頼できる証明書がすでに存在することになるので、\f3keytool\fP はエラーを出力し、証明書のインポートを行いません。
.TP 3
2.
-\f3ÊÌ̾¤¬ÆÃÄê¤Î¸°¥¨¥ó¥È¥ê¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¾ÚÌÀ½ñ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¸«¤Ê¤·¤Þ¤¹¡£
+\f3別名がキーエントリをポイントしない場合\fP、\f3keytool\fP はユーザーが信頼できる証明書エントリを追加しようとしているものと見なします。
.RE
-.LP
-\f3¿·¤·¤¤¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È\fP
+\f3新しい信頼できる証明書のインポート\fP
.RS 3
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¥¡¼¥¹¥È¥¢¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤ÎÏ¢º¿¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤¹¡£
+\f3keytool\fP は、キーストアに証明書を追加する前に、キーストア内にすでに存在する信頼できる証明書を使って、インポートする証明書から (ルート CA の) 自己署名証明書に至るまでの信頼のチェーンの構築を試みます。
.LP
.LP
-\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ÄɲäξÚÌÀ½ñ¤Ï¿®Íê¤Ç¤¤ë¡¢¤¹¤Ê¤ï¤Á cacerts ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¾ÚÌÀ½ñ¤ÎÏ¢º¿¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
+\f2\-trustcacerts\fP オプションを指定した場合、追加の証明書は信頼できるすなわち cacerts という名前のファイルに含まれる証明書のチェーンと見なされます。
.LP
.LP
-\f3keytool\fP ¤¬¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤«¤é¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥¡¼¥¹¥È¥¢¤Þ¤¿¤Ï cacerts ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ) ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®Íê¤Î¥Ñ¥¹¤Î¹½Ãۤ˼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¥¤¥ó¥Ý¡¼¥È¤¹¤ë¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î²¿¤é¤«¤Î (¿®Íê¤Ç¤¤ë) ¾ðÊó¸» (¾ÚÌÀ½ñ¤Î½êͼÔËܿͤʤÉ) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¾ÚÌÀ½ñ¤¬Í¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+\f3keytool\fP が、インポートする証明書から自己署名証明書 (キーストアまたは cacerts ファイルに含まれている自己署名証明書) に至るまでの信頼のパスの構築に失敗した場合は、インポートする証明書の情報を表示し、ユーザーに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかのなんらかの (信頼できる) 情報源 (証明書の所有者本人など) から入手したフィンガープリントとを比較します。「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。詳細は、「信頼できる証明書のインポートに関する注意事項」を参照してください。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.LP
.RE
-\f3¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È\fP
+\f3証明応答のインポート\fP
.RS 3
.LP
-¡Ö¾ÚÌÀ±þÅú¡×¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡¢¤ª¤è¤Ó (\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ç¹½À®¤µ¤ì¤¿¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¾ÚÌÀ±þÅú¤¬¸¡ºº¤µ¤ì¤Þ¤¹¡£
+「証明応答」をインポートするときは、キーストア内の信頼できる証明書、および (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイルで構成された証明書を使って証明応答が検査されます。
.LP
.LP
-¾ÚÌÀ±þÅú¤¬¿®Íê¤Ç¤¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ëÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+証明応答が信頼できるかどうかを決定する方法は次のとおりです。
.LP
.RS 3
.TP 2
o
-\f3¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î X.509 ¾ÚÌÀ½ñ¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¾ÚÌÀ±þÅú¤«¤é (¥ë¡¼¥È CA ¤Î) ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ë»ê¤ë¤Þ¤Ç¤Î¿®ÍêÏ¢º¿¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£¾ÚÌÀ±þÅú¤È¡¢¾ÚÌÀ±þÅú¤Îǧ¾Ú¤Ë»È¤ï¤ì¤ë¾ÚÌÀ½ñ¤Î³¬Áع½Â¤¤Ï¡¢\f2alias\fP ¤Î¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ò·ÁÀ®¤·¤Þ¤¹¡£¿®ÍêÏ¢º¿¤¬³ÎΩ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¾ÚÌÀ±þÅú¤Ï¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢\f3keytool\fP ¤Ï¾ÚÌÀ½ñ¤ò½ÐÎϤ»¤º¡¢¥æ¡¼¥¶¤Ë¸¡¾Ú¤òµá¤á¤ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¤¬¾ÚÌÀ±þÅú¤Î¿®ÍêÀ¤òȽÃǤ¹¤ë¤Î¤Ï¡¢ÉÔ²Äǽ¤Ç¤Ï¤Ê¤¯¤Æ¤âÈó¾ï¤Ëº¤Æñ¤À¤«¤é¤Ç¤¹¡£
+\f3証明応答が単一の X.509 証明書である場合\fP、\f3keytool\fP は、証明応答から (ルート CA の) 自己署名証明書に至るまでの信頼チェーンの確立を試みます。証明応答と、証明応答の認証に使われる証明書の階層構造は、\f2alias\fP の新しい証明書チェーンを形成します。信頼チェーンが確立されない場合、証明応答はインポートされません。この場合、\f3keytool\fP は証明書を出力せず、ユーザーに検証を求めるプロンプトを表示します。 ユーザーが証明応答の信頼性を判断するのは、不可能ではなくても非常に困難だからです。
.TP 2
o
-\f3¾ÚÌÀ±þÅú¤¬ PKCS#7 ·Á¼°¤Î¾ÚÌÀÏ¢º¿¤Ç¤¢¤ë¾ì¹ç\fP¡¢\f3keytool\fP ¤Ï¡¢¤Þ¤ºÏ¢º¿¤òʤÙÂؤ¨¤Æ¡¢¥æ¡¼¥¶¤Î¾ÚÌÀ½ñ¤¬ºÇ½é¤Ë¡¢¥ë¡¼¥È CA ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤¬ºÇ¸å¤Ë¤¯¤ë¤è¤¦¤Ë¤·¤¿¤¢¤È¡¢¾ÚÌÀ±þÅú¤Ë´Þ¤Þ¤ì¤ë¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤È¡¢¥¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï (\f2\-trustcacerts\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï) cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤ò¤¹¤Ù¤ÆÈæ³Ó¤·¡¢°ìÃפ¹¤ë¤â¤Î¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£°ìÃפ¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤Î¾ðÊó¤òɽ¼¨¤·¡¢¥æ¡¼¥¶¤Ë³Îǧ¤òµá¤á¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¤Û¤«¤Î²¿¤é¤«¤Î (¿®Íê¤Ç¤¤ë) ¾ðÊó¸» (¥ë¡¼¥È CA ¼«¿È¤Ê¤É) ¤«¤éÆþ¼ê¤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¾ÚÌÀ½ñ¤ò³Îǧ¤¹¤ë»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+\f3証明応答が PKCS#7 形式の証明書チェーンである場合\fP、\f3keytool\fP は、まずチェーンを並べ替えて、ユーザーの証明書が最初に、ルート CA の自己署名証明書が最後にくるようにしたあと、証明応答に含まれるルート CA の証明書と、キーストア内または (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイル内の信頼できる証明書とをすべて比較し、一致するものがあるかどうかを調べます。一致するものが見つからなかった場合は、ルート CA の証明書の情報を表示し、ユーザーに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかのなんらかの (信頼できる) 情報源 (ルート CA 自身など) から入手したフィンガープリントとを比較します。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.RE
.LP
.LP
-¾ÚÌÀ½ñ±þÅúÆâ¤Î¸ø³«¸°¤¬ \f2alias\fP ¤Î²¼¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤Î¸ø³«¸°¤Ë°ìÃפ·¤¿¾ì¹ç¡¢¸Å¤¤¾ÚÌÀÏ¢º¿¤¬±þÅúÆâ¤Î¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤¹¡£
-°ÊÁ°¤Î¾ÚÌÀÏ¢º¿¤ò¿·¤·¤¤¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ï¡¢Í¸ú¤Ê \f2keypass\fP¡¢¤Ä¤Þ¤ê³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤ÎÈó¸ø³«¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+証明書応答内の公開鍵が \f2alias\fP の下にすでに格納されているユーザーの公開鍵に一致した場合、古い証明書チェーンが応答内の新しい証明書チェーンで置き換えられます。以前の証明書チェーンを新しい証明書チェーンで置き換えることができるのは、有効な \f2keypass\fP、つまり該当するエントリの非公開鍵を保護するためのパスワードを指定した場合だけです。パスワードを指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。
.LP
.RE
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-import\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-importcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-import\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-importcert\fP を使用することをお勧めします。
.TP 3
-\-importkeystore \-srckeystore srckeystore
-\-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-¥½¡¼¥¹¥¡¼¥¹¥È¥¢¤«¤é¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ø¡¢Ã±°ì¤Î¥¨¥ó¥È¥ê¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
+ソースキーストアからターゲットキーストアへ、単一のエントリまたはすべてのエントリをインポートします。
.LP
-\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤½¤ÎÊÌ̾¤ÇÆÃÄꤵ¤ì¤ëñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£\f2destalias\fP ·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2srcalias\fP ¤¬¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¤Î¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srckeypass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srckeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï \f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤ò²óÉü¤·¤è¤¦¤È¤·¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï \f2destkeypass\fP ¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£\f2destkeypass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+\f2srcalias\fP オプションが指定された場合、このコマンドは、その別名で特定される単一のエントリをターゲットキーストアにインポートします。\f2destalias\fP 経由でターゲット別名が指定されなかった場合、\f2srcalias\fP がターゲット別名として使用されます。ソースのエントリがパスワードで保護されていた場合、\f2srckeypass\fP を使ってそのエントリが回復されます。\f2srckeypass\fP が指定されなかった場合、\f3keytool\fP は \f2srcstorepass\fP を使ってそのエントリを回復しようとします。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザーはパスワードの入力を求められます。ターゲットエントリは \f2destkeypass\fP によって保護されます。\f2destkeypass\fP が指定されなかった場合、ターゲットエントリはソースエントリのパスワードによって保護されます。
.LP
-\f2srcalias\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£³Æ¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤ÏÂбþ¤¹¤ë¥½¡¼¥¹¥¨¥ó¥È¥ê¤ÎÊÌ̾¤Î²¼¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥½¡¼¥¹¥¨¥ó¥È¥ê¤¬¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢\f2srcstorepass\fP ¤ò»È¤Ã¤Æ¤½¤Î¥¨¥ó¥È¥ê¤¬²óÉü¤µ¤ì¤Þ¤¹¡£\f2srcstorepass\fP ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤«Àµ¤·¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¢¤ë¥¨¥ó¥È¥ê¥¿¥¤¥×¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ä¡¢¤¢¤ë¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë³ÊǼ¤¹¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¤½¤Î¥¨¥ó¥È¥ê¤ò¥¹¥¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï½èÍý¤òÃæÃǤ¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥È¥¨¥ó¥È¥ê¤Ï¥½¡¼¥¹¥¨¥ó¥È¥ê¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+\f2srcalias\fP オプションが指定されなかった場合、ソースキーストア内のすべてのエントリがターゲットキーストア内にインポートされます。各ターゲットエントリは対応するソースエントリの別名の下に格納されます。ソースのエントリがパスワードで保護されていた場合、\f2srcstorepass\fP を使ってそのエントリが回復されます。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザーはパスワードの入力を求められます。ソースキーストア内のあるエントリタイプがターゲットキーストアでサポートされていない場合や、あるエントリをターゲットキーストアに格納する際にエラーが発生した場合、ユーザーはそのエントリをスキップして処理を続行するか、あるいは処理を中断するかの選択を求められます。ターゲットエントリはソースエントリのパスワードによって保護されます。
.LP
-¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¡¢¤½¤Î¥¨¥ó¥È¥ê¤ò¾å½ñ¤¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï°Û¤Ê¤ëÊÌ̾¤Î²¼¤Ç¿·¤·¤¤¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¤«¤ÎÁªÂò¤òµá¤á¤é¤ì¤Þ¤¹¡£
+ターゲット別名がターゲットキーストア内にすでに存在していた場合、ユーザーは、そのエントリを上書きするか、あるいは異なる別名の下で新しいエントリを作成するかの選択を求められます。
.LP
-\f2\-noprompt\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥æ¡¼¥¶¤Ï¿·¤·¤¤¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤»¤ó¡£´û¸¤Î¥¨¥ó¥È¥ê¤Ï¤½¤Î¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤Ç¼«Æ°Åª¤Ë¾å½ñ¤¤µ¤ì¤Þ¤¹¡£ºÇ¸å¤Ë¡¢¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¼«Æ°Åª¤Ë¥¹¥¥Ã¥×¤µ¤ì¡¢·Ù¹ð¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-noprompt\fP を指定した場合、ユーザーは新しいターゲット別名の入力を求められません。既存のエントリはそのターゲット別名で自動的に上書きされます。最後に、インポートできないエントリは自動的にスキップされ、警告が出力されます。
.RE
.RE
.SS
-¥Ç¡¼¥¿¤Î¥¨¥¯¥¹¥Ý¡¼¥È
+データのエクスポート
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-certreq {\-alias alias}
-{\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-certreq {\-alias alias} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-PKCS#10 ·Á¼°¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£
+PKCS#10 形式を使って証明書署名要求 (CSR) を生成します。
.LP
-CSR ¤Ï¡¢Ç§¾Ú¶É (CA) ¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¤â¤Î¤Ç¤¹¡£CA ¤Ï¡¢¾ÚÌÀ½ñÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£ ¤³¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î´û¸¤Î¾ÚÌÀÏ¢º¿ (ºÇ½é¤Ï 1 ¤Ä¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤«¤é¹½À®¤µ¤ì¤ë) ¤ËÃÖ¤´¹¤¨¤Æ»È¤¤¤Þ¤¹¡£
+CSR は、証明書発行局 (CA) に送信することを目的としたものです。CA は、証明書要求者を (通常はオフラインで) 認証し、証明書または証明書チェーンを送り返します。 この証明書または証明書チェーンは、キーストア内の既存の証明書チェーン (最初は 1 つの自己署名証明書から構成される) に置き換えて使います。
.LP
-\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤È X.500 ¼±ÊÌ̾¤Ï¡¢PKCS#10 ¾ÚÌÀ½ñÍ×µá¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¥¡¼¥¹¥È¥¢Æâ¤Ç¤Ï¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢Å¬Àڤʥѥ¹¥ï¡¼¥É¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç \f2keypass\fP ¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2alias\fP に関連付けられた非公開鍵と X.500 識別名は、PKCS#10 証明書要求を作成するのに使われます。非公開鍵はキーストア内ではパスワードによって保護されているので、非公開鍵にアクセスするには、適切なパスワードを提供する必要があります。コマンド行で \f2keypass\fP を指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。
.LP
-\f2sigalg\fP ¤Ë¤Ï¡¢CSR ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë»È¤¦¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2sigalg\fP には、CSR に署名を付けるときに使うアルゴリズムを指定します。
.LP
-CSR ¤Ï¡¢¥Õ¥¡¥¤¥ë \f2certreq_file\fP ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎÏ¤Ë CSR ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+CSR は、ファイル \f2certreq_file\fP に格納されます。ファイルが指定されていない場合は、標準出力に CSR が出力されます。
.LP
-CA ¤«¤é¤Î±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢\f2importcert\fP ¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£
+CA からの応答をインポートするには、\f2importcert\fP コマンドを使います。
.TP 3
-\-exportcert {\-alias alias}
-{\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}
+\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption}
.LP
-\f2alias\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀ½ñ¤ò (¥¡¼¥¹¥È¥¢¤«¤é) Æɤ߹þ¤ß¡¢¥Õ¥¡¥¤¥ë \f2cert_file\fP ¤Ë³ÊǼ¤·¤Þ¤¹¡£
+\f2alias\fP に関連付けられた証明書を (キーストアから) 読み込み、ファイル \f2cert_file\fP に格納します。
.LP
-¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½à½ÐÎϤ˾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+ファイルが指定されていない場合は、標準出力に証明書が出力されます。
.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+デフォルトでは、バイナリ符号化方式の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-\f2alias\fP ¤¬¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\f2alias\fP ¤Ï¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀÏ¢º¿¤ò»ý¤Ä¸°¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Ï¢º¿Æâ¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢\f2alias\fP ¤Ë¤è¤Ã¤Æɽ¤µ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£
+\f2alias\fP が、信頼できる証明書を参照している場合は、該当する証明書が出力されます。それ以外の場合、\f2alias\fP は、関連付けられた証明書チェーンを持つ鍵エントリを参照します。この場合は、チェーン内の最初の証明書が返されます。この証明書は、\f2alias\fP によって表されるエンティティーの公開鍵を認証する証明書です。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï \f2\-export\fP ¤È¤¤¤¦Ì¾Á°¤Ç¤·¤¿¡£¤³¤Î¸Å¤¤Ì¾Á°¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£¤¿¤À¤·¡¢º£¸å¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¿·¤·¤¤Ì¾Á° \f2\-exportcert\fP ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
+このコマンドは、以前のリリースでは \f2\-export\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-exportcert\fP を使用することをお勧めします。
.RE
.LP
.RE
.SS
-¥Ç¡¼¥¿¤Îɽ¼¨
+データの表示
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-list {\-alias alias}
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}
+\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption}
.LP
-\f2alias\fP ¤ÇÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÆâÍƤò (ɸ½à½ÐÎϤË) ½ÐÎϤ·¤Þ¤¹¡£ÊÌ̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥¡¼¥¹¥È¥¢Á´ÂΤÎÆâÍƤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+\f2alias\fP で特定されるキーストアエントリの内容を (標準出力に) 出力します。別名が指定されていない場合は、キーストア全体の内容が表示されます。
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾ÚÌÀ½ñ¤Î MD5 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤·¤Þ¤¹¡£
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½êͼԡ¢È¯¹Ô¼Ô¡¢¥·¥ê¥¢¥ëÈֹ桢³ÈÄ¥µ¡Ç½¤Ê¤É¤ÎÉÕ²ÃŪ¤Ê¾ðÊó¤È¤È¤â¤Ë¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
--rfc ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍƤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+このコマンドは、デフォルトでは証明書の MD5 フィンガープリントを表示します。\f2\-v\fP オプションが指定されている場合は、所有者、発行者、シリアル番号、拡張機能などの付加的な情報とともに、人間が読むことのできる形式で証明書が表示されます。\f2\-rfc\fP オプションが指定されている場合は、出力可能符号化方式で証明書の内容が表示されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤È¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+\f2\-v\fP オプションと \f2\-rfc\fP オプションとを同時に指定することはできません。
.TP 3
\-printcert {\-file cert_file} {\-v} {\-Jjavaoption}
.LP
+ファイル
.LP
-\f2cert_file\fP ¥Õ¥¡¥¤¥ë¤«¤é¾ÚÌÀ½ñ¤òÆɤ߹þ¤ß¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¾ÚÌÀ½ñ¤òÆɤ߹þ¤ß¤Þ¤¹¡£
+インターネット RFC 1421 証明書符号化規格で定義されています。
.LP
-¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½Êý¼°¤Þ¤¿¤Ï½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Çɽ¼¨¤Ç¤¤Þ¤¹¡£ ½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.LP
-Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï¥¡¼¥¹¥È¥¢¤È¤Ï´Ø·¸¤Ê¤¯Æ°ºî¤·¤Þ¤¹¡£
+注:このコマンドはキーストアとは関係なく動作します。
.RE
.LP
.RE
.SS
-¥¡¼¥¹¥È¥¢¤Î´ÉÍý
+キーストアの管理
.LP
.RS 3
.LP
.RS 3
.TP 3
-\-storepasswd [\-new new_storepass]
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
+\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
.LP
-¥¡¼¥¹¥È¥¢¤ÎÆâÍƤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤¦¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£\f2new_storepass\fP ¤Ë¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Þ¤¹¡£\f2new_storepass\fP ¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+キーストアの内容の整合性を保護するために使うパスワードを変更します。\f2new_storepass\fP には、新しいパスワードを指定します。 \f2new_storepass\fP は、6 文字以上でなければなりません。
.TP 3
-\-keypasswd {\-alias alias}
-[\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
+\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption}
.LP
-.I
-alias
-¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ëÈó¸ø³«/ÈëÌ©¸°¤òÊݸ¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢
-.I old_keypass
-¤«¤é
-.I new_keypass
-¤ËÊѹ¹¤·¤Þ¤¹¡£
-.I new_keypass
-¤Ï¡¢6 ʸ»ú°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+\f2alias\fP によって特定される非公開/秘密鍵を保護するためのパスワードを、\f2old_keypass\fP から \f2new_keypass\fP に変更します。 \f2new_keypass\fP は、6 文字以上でなければなりません。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+コマンド行で \f2\-keypass\fP オプションを指定しておらず、鍵のパスワードがキーストアのパスワードと異なる場合は、鍵のパスワードの入力を求められます。
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-new\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+コマンド行で \f2\-new\fP オプションを指定しなかった場合は、新しいパスワードの入力を求められます。
.TP 3
-\-delete [\-alias alias]
-{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-.I alias
-¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¡¼¥¹¥È¥¢¤«¤éºï½ü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ÊÌ̾¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f2alias\fP によって特定されるエントリをキーストアから削除します。コマンド行で別名を指定しなかった場合は、別名の入力を求められます。
.TP 3
-\-changealias {\-alias alias}
-[\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-»ØÄꤵ¤ì¤¿ \f2alias\fP ¤«¤é¿·¤·¤¤ÊÌ̾ \f2destalias\fP ¤Ø¡¢´û¸¤Î¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ò°ÜÆ°¤·¤Þ¤¹¡£¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤½¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¸µ¤Î¥¨¥ó¥È¥ê¤¬¥¨¥ó¥È¥ê¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¡Ö-keypass¡×¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¸°¥Ñ¥¹¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2storepass\fP (»ØÄꤵ¤ì¤¿¾ì¹ç) ¤¬¤Þ¤º»î¤ß¤é¤ì¤Þ¤¹¡£¤½¤Î»î¤ß¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+指定された \f2alias\fP から新しい別名 \f2destalias\fP へ、既存のキーストアエントリを移動します。ターゲット別名が指定されなかった場合、このコマンドはその入力を求めます。元のエントリがエントリパスワードで保護されていた場合、「\-keypass」オプション経由でそのパスワードを指定できます。鍵パスワードが指定されなかった場合、\f2storepass\fP (指定された場合) がまず試みられます。その試みが失敗すると、ユーザーはパスワードの入力を求められます。
.RE
.LP
.RE
.SS
-¥Ø¥ë¥×¤Îɽ¼¨
+ヘルプの表示
.LP
.RS 3
@@ -478,26 +451,26 @@
.TP 3
\-help
.LP
-´ðËÜŪ¤Ê¥³¥Þ¥ó¥É¤È¤½¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
+基本的なコマンドとそのオプションの一覧を表示します。
.RE
.LP
.RE
-.SH "Îã"
+.SH "例"
.LP
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢¼«Ê¬¤Î¸°¤Î¥Ú¥¢¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¡¼¥¹¥È¥¢¤òºîÀ®¤¹¤ë¾ì¹ç¤òÎã¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£
+ここでは、自分の鍵のペアおよび信頼できるエンティティーからの証明書を管理するためのキーストアを作成する場合を例として示します。
.LP
.SS
-¸°¤Î¥Ú¥¢¤ÎÀ¸À®
+鍵のペアの生成
.LP
.RS 3
.LP
.LP
-¤Þ¤º¡¢¥¡¼¥¹¥È¥¢¤òºîÀ®¤·¤Æ¸°¤Î¥Ú¥¢¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£
+まず、キーストアを作成して鍵のペアを生成する必要があります。次に示すのは、実行するコマンドの例です。
.LP
.nf
\f3
@@ -513,16 +486,16 @@
.LP
.LP
-Ãí: ¤³¤Î¥³¥Þ¥ó¥É¤Ï 1 ¹Ô¤ËÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Îã¤ÇÊ£¿ô¹Ô¤ËÆþÎϤ·¤Æ¤¤¤ë¤Î¤ÏÆɤߤ䤹¤¯¤¹¤ë¤¿¤á¤Ç¤¹¡£
+注:このコマンドは 1 行に入力しなければなりません。例で複数行に入力しているのは読みやすくするためです。
.LP
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë mykeystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤òºîÀ®¤· (¥¡¼¥¹¥È¥¢¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤È²¾Äꤹ¤ë)¡¢ºîÀ®¤·¤¿¥¡¼¥¹¥È¥¢¤Ë¥Ñ¥¹¥ï¡¼¥É ab987c ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£À¸À®¤¹¤ë¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤ËÂбþ¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¼±ÊÌ̾¡×¤Ï¡¢Ä̾Τ¬¡ÖMark Jones¡×¡¢ÁÈ¿¥Ã±°Ì¤¬¡ÖJavaSoft¡×¡¢ÁÈ¿¥¤¬¡ÖSun¡×¡¢2 ʸ»ú¤Î¹ñÈֹ椬¡ÖUS¡×¤Ç¤¹¡£¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥µ¥¤¥º¤Ï¤É¤Á¤é¤â 1024 ¥Ó¥Ã¥È¤Ç¡¢¸°¤ÎºîÀ®¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î DSA ¸°À¸À®¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£
+この例では、working ディレクトリに mykeystore という名前のキーストアを作成し (キーストアはまだ存在していないと仮定する)、作成したキーストアにパスワード ab987c を割り当てます。生成する公開鍵と非公開鍵のペアに対応するエンティティーの「識別名」は、通称が「Mark Jones」、組織単位が「JavaSoft」、組織が「Sun」、2 文字の国番号が「US」です。公開鍵と非公開鍵のサイズはどちらも 1024 ビットで、鍵の作成にはデフォルトの DSA 鍵生成アルゴリズムを使用します。
.LP
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¸ø³«¸°¤È¼±ÊÌ̾¾ðÊó¤ò´Þ¤à¼«¸Ê½ð̾¾ÚÌÀ½ñ (¥Ç¥Õ¥©¥ë¥È¤Î SHA1withDSA ½ð̾¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍÑ) ¤òºîÀ®¤·¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î͸ú´ü´Ö¤Ï 180 Æü¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ï¡¢ÊÌ̾¡Öbusiness¡×¤ÇÆÃÄꤵ¤ì¤ë¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥êÆâ¤ÎÈó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Þ¤¹¡£Èó¸ø³«¸°¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¡Ökpi135¡×¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
+このコマンドは、公開鍵と識別名情報を含む自己署名証明書 (デフォルトの SHA1withDSA 署名アルゴリズムを使用) を作成します。証明書の有効期間は 180 日です。 証明書は、別名「business」で特定されるキーストアエントリ内の非公開鍵に関連付けられます。非公開鍵にはパスワード「kpi135」が割り当てられます。
.LP
.LP
-¥ª¥×¥·¥ç¥ó¤Î´ûÄêÃͤò»È¤¦¾ì¹ç¤Ï¡¢¾å¤Ë¼¨¤·¤¿¥³¥Þ¥ó¥É¤òÂçÉý¤Ëû¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä¤â»ØÄꤻ¤º¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£´ûÄêÃͤò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð´ûÄêÃͤ¬»È¤ï¤ì¡¢É¬ÍפÊÃͤˤĤ¤¤Æ¤ÏÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±¤Ë¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+オプションのデフォルト値を使う場合は、上に示したコマンドを大幅に短くすることができます。実際には、オプションを 1 つも指定せずにコマンドを実行することも可能です。 デフォルト値を持つオプションでは、オプションを指定しなければデフォルト値が使われ、必要な値については入力を求められます。たとえば、単に次のように入力することもできます。
.LP
.nf
\f3
@@ -533,19 +506,19 @@
.fi
.LP
-¤³¤Î¾ì¹ç¤Ï¡¢mykey ¤È¤¤¤¦ÊÌ̾¤Ç¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¿·¤·¤¯À¸À®¤µ¤ì¤¿¸°¤Î¥Ú¥¢¡¢¤ª¤è¤Ó 90 Æü´Ö͸ú¤Ê¾ÚÌÀ½ñ¤¬¤³¤Î¥¨¥ó¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥¡¼¥¹¥È¥¢¤¬¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ºîÀ®¤µ¤ì¤Þ¤¹¡£¼±ÊÌ̾¾ðÊó¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¡¢¤ª¤è¤ÓÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+この場合は、mykey という別名でキーストアエントリが作成され、新しく生成された鍵のペア、および 90 日間有効な証明書がこのエントリに格納されます。このエントリは、ホームディレクトリ内の .keystore という名前のキーストアに置かれます。このキーストアがまだ存在していない場合は、作成されます。識別名情報、キーストアのパスワード、および非公開鍵のパスワードについては、入力を求められます。
.LP
-°Ê²¼¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ ¾ðÊó¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¾ì¹ç¤Ï¡¢ºÇ½é¤Ë¼¨¤·¤¿ \f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ÎÃͤòÆþÎϤ·¤¿¤â¤Î¤È¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï kpi135 ¤È»ØÄê)¡£
+以下では、オプションを指定しないで \f2\-genkeypair\fP コマンドを実行したものとして例を示します。 情報の入力を求められた場合は、最初に示した \f2\-genkeypair\fP コマンドの値を入力したものとします (たとえば、非公開鍵のパスワードには kpi135 と指定)。
.LP
.RE
.SS
-ǧ¾Ú¶É¤ËÂФ¹¤ë½ð̾ÉÕ¤¾ÚÌÀ½ñ¤ÎÍ×µá
+証明書発行局に対する署名付き証明書の要求
.LP
.RS 3
.LP
.LP
-¸½»þÅÀ¤Ç¼ê¸µ¤Ë¤¢¤ë¤Î¤Ï¡¢1 Ä̤μ«¸Ê½ð̾¾ÚÌÀ½ñ¤À¤±¤Ç¤¹¡£¾ÚÌÀ½ñ¤Ëǧ¾Ú¶É (CA) ¤Î½ð̾¤¬ÉÕ¤¤¤Æ¤¤¤ì¤Ð¡¢¤Û¤«¤Î¥æ¡¼¥¶¤«¤é¾ÚÌÀ½ñ¤¬¿®Íê¤Ç¤¤ë²ÄǽÀ¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£CA ¤Î½ð̾¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤òÀ¸À®¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+現時点で手元にあるのは、1 通の自己署名証明書だけです。証明書に証明書発行局 (CA) の署名が付いていれば、ほかのユーザーから証明書が信頼できる可能性も高くなります。CA の署名を取得するには、まず、証明書署名要求 (CSR) を生成します。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -556,43 +529,41 @@
.fi
.LP
-CSR (¥Ç¥Õ¥©¥ë¥ÈÊÌ̾¡Ömykey¡×¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î CSR) ¤¬ºîÀ®¤µ¤ì¡¢MarkJ.csr ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢VeriSign ¤Ê¤É¤Î CA ¤ËÄó½Ð¤·¤Þ¤¹¡£ CA ¤ÏÍ×µá¼Ô¤ò (Ä̾ï¤Ï¥ª¥Õ¥é¥¤¥ó¤Ç) ǧ¾Ú¤·¡¢Í×µá¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿½ð̾ÉÕ¤¤Î¾ÚÌÀ½ñ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤ÎÏ¢º¿¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¾ÚÌÀ½ñ¤ÎÏ¢º¿¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
-
+CSR (デフォルト別名「mykey」によって特定されるエンティティーの CSR) が作成され、MarkJ.csr という名前のファイルに置かれます。このファイルは、VeriSign などの CA に提出します。 CA は要求者を (通常はオフラインで) 認証し、要求者の公開鍵を認証した署名付きの証明書を送り返します。場合によっては、CA が証明書のチェーンを返すこともあります。 証明書のチェーンでは、各証明書がチェーン内のその前の署名者の公開鍵を認証します。
+.RE
.SS
-CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È
+CA からの証明書のインポート
.LP
.RS 3
.LP
.LP
-ºîÀ®¤·¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¾ÚÌÀÏ¢º¿¤Ç¤Ï¡¢³Æ¾ÚÌÀ½ñ¤¬¡¢¡Ö¥ë¡¼¥È¡×CA ¤òµ¯ÅÀ¤È¤¹¤ëÏ¢º¿Æâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£
+作成した自己署名証明書は、証明書チェーンで置き換える必要があります。 証明書チェーンでは、各証明書が、「ルート」CA を起点とするチェーン内の次の証明書の署名者の公開鍵を認証します。
.LP
.LP
-CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢¤«¡¢(importcert ¥³¥Þ¥ó¥É¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë) \f2cacerts\fP ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+CA からの証明応答をインポートするには、キーストアか、(importcert コマンド で説明しているように) \f2cacerts\fP キーストアファイル内に 1 つ以上の「信頼できる証明書」がある必要があります。
.LP
.RS 3
.TP 2
o
-¾ÚÌÀ±þÅú¤¬¾ÚÌÀÏ¢º¿¤Î¾ì¹ç¤Ï¡¢Ï¢º¿¤Î¥È¥Ã¥×¤Î¾ÚÌÀ½ñ (¤½¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ) ¤À¤±¤òɬÍפȤ¹¤ë
+証明応答が証明書チェーンの場合は、チェーンのトップの証明書 (その CA の公開鍵を認証する「ルート」CA の証明書) だけを必要とする
.TP 2
o
-¾ÚÌÀ±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤·¤¿ CA ¤Îȯ¹ÔÍѤξÚÌÀ½ñ¤¬É¬Íפǡ¢¤½¤Î¾ÚÌÀ½ñ¤¬¼«¸Ê½ð̾¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¤µ¤é¤Ë¤½¤Î¾ÚÌÀ½ñ¤Î½ð̾¼ÔÍѤξÚÌÀ½ñ¤òɬÍפȤ¹¤ë¡£ ¤³¤Î¤è¤¦¤Ë¤·¤Æ¼«¸Ê½ð̾¤µ¤ì¤ë¡Ö¥ë¡¼¥È¡×CA ¤Î¾ÚÌÀ½ñ¤Þ¤Ç¤½¤ì¤¾¤ì¾ÚÌÀ½ñ¤òɬÍפȤ¹¤ë
+証明応答が単一の証明書の場合は、証明書に署名した CA の発行用の証明書が必要で、その証明書が自己署名されない場合は、さらにその証明書の署名者用の証明書を必要とする。 このようにして自己署名される「ルート」CA の証明書までそれぞれ証明書を必要とする
.RE
.LP
.LP
-cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢5 ¤Ä¤Î VeriSign ¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢VeriSign ¤Î¾ÚÌÀ½ñ¤ò¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¤Û¤«¤Î CA ¤ËÂФ·¤Æ½ð̾ÉÕ¤¾ÚÌÀ½ñ¤òÍ׵ᤷ¤Æ¤¤¤Æ¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤¬¡¢cacerts ¤Ë¤Þ¤ÀÄɲ䵤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë CA ¤«¤é¤Î¾ÚÌÀ½ñ¤ò¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+cacerts キーストアファイルは、5 つの VeriSign ルート CA 証明書を含んだ状態で出荷されているので、VeriSign の証明書を、信頼できる証明書としてキーストア内にインポートする必要はないかもしれません。ただし、ほかの CA に対して署名付き証明書を要求していて、この CA の公開鍵を認証する証明書が、cacerts にまだ追加されていない場合は、該当する CA からの証明書を、「信頼できる証明書」としてインポートする必要があります。
.LP
.LP
-Ä̾CA ¤«¤é¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¡¢¤Þ¤¿¤Ï¤Û¤«¤Î CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ç¤¹ (¸å¼Ô¤Î¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ë¤Û¤«¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤âɬÍ×)¡£¤¿¤È¤¨¤Ð¡¢ABC ¤È¤¤¤¦´ë¶È¤¬ CA ¤À¤È¤·¤Þ¤¹¡£ ¤³¤Î¤È¤¡¢¤³¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤È¹Í¤¨¤é¤ì¤ë ABCCA.cer ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ò¡¢ABC ¤«¤éÆþ¼ê¤·¤¿¤È¤·¤Þ¤¹¡£
+通常、CA からの証明書は、自己署名証明書、またはほかの CA によって署名された証明書です (後者の場合は、該当するほかの CA の公開鍵を認証する証明書も必要)。たとえば、ABC という企業が CA だとします。 このとき、この CA の公開鍵を認証する自己署名証明書と考えられる ABCCA.cer という名前のファイルを、ABC から入手したとします。
.LP
.LP
-¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¤¤Ï¡¢¾ÚÌÀ½ñ¤¬Í¸ú¤Ç¤¢¤ë¤³¤È¤ò¿µ½Å¤Ë³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f3keytool\fP \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f3keytool\fP \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
-¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿ (¤Þ¤¿¤Ï°ÂÁ´¤Ê¸ø³«¸°¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¤è¤Ã¤ÆÄ󼨤µ¤ì¤ë) ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂؤ¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。まず、証明書の内容を表示し (\f3keytool\fP \f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f3keytool\fP \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。証明書を送信した人物に連絡し、この人物が提示した (または安全な公開鍵のリポジトリによって提示される) フィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのものを信頼することになります。
.LP
.LP
-ABCCA.cer ¤ò͸ú¤Ê¾ÚÌÀ½ñ¤È¤·¤Æ¿®Íꤹ¤ë¾ì¹ç¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤ËÄɲäǤ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+ABCCA.cer を有効な証明書として信頼する場合は、証明書をキーストアに追加できます。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -603,19 +574,19 @@
.fi
.LP
-ABCCA.cer ¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤ò´Þ¤à¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤Î¥¨¥ó¥È¥ê¤¬¥¡¼¥¹¥È¥¢Æâ¤ËºîÀ®¤µ¤ì¡¢³ºÅö¤¹¤ë¥¨¥ó¥È¥ê¤Ë abc ¤È¤¤¤¦ÊÌ̾¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
+ABCCA.cer ファイルのデータを含む「信頼できる証明書」のエントリがキーストア内に作成され、該当するエントリに abc という別名が割り当てられます。
.RE
.SS
-CA ¤«¤é¤Î¾ÚÌÀ±þÅú¤Î¥¤¥ó¥Ý¡¼¥È
+CA からの証明応答のインポート
.LP
.RS 3
.LP
.LP
-¾ÚÌÀ½ñ½ð̾Í×µá¤ÎÄó½ÐÀè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤·¤¿¤¢¤È¤Ï (¤Þ¤¿¤ÏƱ¼ï¤Î¾ÚÌÀ½ñ¤¬¤¹¤Ç¤Ë cacerts ¥Õ¥¡¥¤¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï)¡¢¾ÚÌÀ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤·¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤ò¾ÚÌÀÏ¢º¿¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀÏ¢º¿¤Ï¡¢CA ¤Î±þÅú¤¬Ï¢º¿¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ËÂФ¹¤ë±þÅú¤È¤·¤Æ CA ¤«¤éÁ÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀÏ¢º¿¤Ç¤¹¡£ ¤Þ¤¿¡¢CA ¤Î±þÅú¤¬Ã±°ì¤Î¾ÚÌÀ½ñ¤Î¾ì¹ç¤Ï¡¢¤³¤Î¾ÚÌÀ±þÅú¤È¡¢¥¤¥ó¥Ý¡¼¥ÈÀè¤Î¥¡¼¥¹¥È¥¢Æâ¤Þ¤¿¤Ï cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ëÆâ¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤ò»È¤Ã¤Æ¹½ÃÛ¤·¤¿¾ÚÌÀÏ¢º¿¤Ç¤¹¡£
+証明書署名要求の提出先の CA の公開鍵を認証する証明書をインポートしたあとは (または同種の証明書がすでに cacerts ファイル内に存在している場合は)、証明応答をインポートし、自己署名証明書を証明書チェーンで置き換えることができます。この証明書チェーンは、CA の応答がチェーンの場合、証明書署名要求に対する応答として CA から送り返された証明書チェーンです。 また、CA の応答が単一の証明書の場合は、この証明応答と、インポート先のキーストア内または cacerts キーストアファイル内にすでに存在する信頼できる証明書とを使って構築した証明書チェーンです。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ½ð̾Í×µá¤ò VeriSign ¤ËÁ÷¿®¤·¤¿¤È¤·¤Þ¤¹¡£Á÷¤êÊÖ¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î̾Á°¤¬ VSMarkJ.cer ¤À¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ±þÅú¤ò¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
+たとえば、証明書署名要求を VeriSign に送信したとします。送り返された証明書の名前が VSMarkJ.cer だとすると、次のようにして応答をインポートできます。
.LP
.nf
\f3
@@ -628,17 +599,14 @@
.LP
.SS
-¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Ý¡¼¥È
+公開鍵を認証する証明書のエクスポート
.LP
.RS 3
.LP
-¤¿¤È¤¨¤Ð¡¢
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html
-¤Î \f2jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ Java ARchive (JAR) ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¤È¤·¤Þ¤¹¡£¤³¤Î JAR ¥Õ¥¡¥¤¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Þ¤¹¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï½ð̾¤òǧ¾Ú¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
+たとえば、jarsigner(1) を使って Java ARchive (JAR) ファイルに署名したとします。この JAR ファイルはクライアントによって使われますが、クライアント側では署名を認証したいと考えています。
.LP
-¥¯¥é¥¤¥¢¥ó¥È¤¬½ð̾¤òǧ¾Ú¤¹¤ëÊýË¡¤Î 1 ¤Ä¤Ë¡¢¤Þ¤º¼«Ê¬¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤ò¡Ö¿®Íê¤Ç¤¤ë¡×¥¨¥ó¥È¥ê¤È¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Î¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤ËÄ󶡤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¾ÚÌÀ½ñ¤ò \f2MJ.cer\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ ¤³¤Î¥¨¥ó¥È¥ê¤Ë¤Ï¡Ömykey¡×¤È¤¤¤¦ÊÌ̾¤¬»È¤ï¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
+クライアントが署名を認証する方法の 1 つに、まず自分の公開鍵の証明書を「信頼できる」エントリとしてクライアントのキーストアにインポートする方法があります。そのためには、証明書をエクスポートして、クライアントに提供します。たとえば、次のようにして、証明書を \f2MJ.cer\fP という名前のファイルにコピーします。 このエントリには「mykey」という別名が使われているとします。
.LP
.nf
\f3
@@ -649,19 +617,19 @@
.fi
.LP
-¾ÚÌÀ½ñ¤È½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤òǧ¾Ú¤Ç¤¤Þ¤¹¡£
+証明書と署名付き JAR ファイルを入手したクライアントは、\f3jarsigner\fP ツールを使って署名を認証できます。
.RE
.SS
-¥¡¼¥¹¥È¥¢¤Î¥¤¥ó¥Ý¡¼¥È
+キーストアのインポート
.LP
.RS 3
.LP
.LP
-¥³¥Þ¥ó¥É¡Öimportkeystore¡×¤ò»È¤¨¤Ð¡¢¤¢¤ë¥¡¼¥¹¥È¥¢¤ÎÁ´ÂΤòÊ̤Υ¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¸°¤ä¾ÚÌÀ½ñ¤È¤¤¤Ã¤¿¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬¡¢Ã±°ì¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢Æâ¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥È»þ¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢Æâ¤Î¿·¤·¤¤¥¨¥ó¥È¥ê¤Ï¤¹¤Ù¤Æ¡¢¸µ¤ÈƱ¤¸ÊÌ̾¤ª¤è¤Ó (ÈëÌ©¸°¤äÈó¸ø³«¸°¤Î¾ì¹ç¤Ï) ÊݸîÍѥѥ¹¥ï¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤äÈëÌ©¸°¤Î²óÉü»þ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢\f3keytool\fP ¤Ï¥æ¡¼¥¶¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ÊÌ̾¤Î½ÅÊ£¤ò¸¡½Ð¤¹¤ë¤È¡¢¥æ¡¼¥¶¤Ë¿·¤·¤¤ÊÌ̾¤ÎÆþÎϤòµá¤á¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¡¢¿·¤·¤¤ÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤â¡¢Ã±½ã¤Ë´û¸¤ÎÊÌ̾¤Î¾å½ñ¤¤ò \f3keytool\fP ¤Ëµö²Ä¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+コマンド「importkeystore」を使えば、あるキーストアの全体を別のキーストア内にインポートできます。 これは、鍵や証明書といったソースキーストア内のすべてのエントリが、単一のコマンドを使ってターゲットキーストア内にインポートされることを意味します。このコマンドを使えば、異なるタイプのキーストア内に含まれるエントリをインポートすることができます。インポート時には、ターゲットキーストア内の新しいエントリはすべて、元と同じ別名および (秘密鍵や非公開鍵の場合は) 保護用パスワードを持ちます。ソースキーストア内の非公開鍵や秘密鍵の回復時に問題が発生した場合、\f3keytool\fP はユーザーにパスワードの入力を求めます。このコマンドは、別名の重複を検出すると、ユーザーに新しい別名の入力を求めます。 ユーザーは、新しい別名を指定することも、単純に既存の別名の上書きを \f3keytool\fP に許可することもできます。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢Ä̾ï¤Î JKS ¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢ key.jks Æâ¤Î¥¨¥ó¥È¥ê¤ò PKCS #11 ¥¿¥¤¥×¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤǤ¤Þ¤¹¡£
+たとえば、通常の JKS タイプのキーストア key.jks 内のエントリを PKCS #11 タイプのハードウェアベースのキーストア内にインポートするには、次のコマンドを使用できます。
.LP
.nf
\f3
@@ -679,7 +647,7 @@
.LP
.LP
-¤Þ¤¿¡¢importkeystore ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢¤¢¤ë¥½¡¼¥¹¥¡¼¥¹¥È¥¢Æâ¤Îñ°ì¤Î¥¨¥ó¥È¥ê¤ò¥¿¡¼¥²¥Ã¥È¥¡¼¥¹¥È¥¢¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¾åµ¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¡¢¥¤¥ó¥Ý¡¼¥ÈÂоݤȤʤëÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£srcalias ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥¿¡¼¥²¥Ã¥ÈÊÌ̾¤â¥³¥Þ¥ó¥É¹Ô¤«¤é»ØÄê¤Ç¤¤ë¤Û¤«¡¢ÈëÌ©/Èó¸ø³«¸°¤ÎÊݸîÍѥѥ¹¥ï¡¼¥É¤ä¥¿¡¼¥²¥Ã¥ÈÊݸîÍѥѥ¹¥ï¡¼¥É¤â»ØÄê¤Ç¤¤Þ¤¹¡£¤½¤¦¤¹¤ì¤Ð¡¢¥×¥í¥ó¥×¥È¤Î¤Þ¤Ã¤¿¤¯É½¼¨¤µ¤ì¤Ê¤¤ \f3keytool\fP ¥³¥Þ¥ó¥É¤òȯ¹Ô¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤ò¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëºÝ¤ËÈó¾ï¤ËÊØÍø¤Ç¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+また、importkeystore コマンドを使えば、あるソースキーストア内の単一のエントリをターゲットキーストアにインポートすることもできます。この場合、上記の例で示したオプションに加え、インポート対象となる別名を指定する必要があります。srcalias オプションを指定する場合には、ターゲット別名もコマンド行から指定できるほか、秘密/非公開鍵の保護用パスワードやターゲット保護用パスワードも指定できます。そうすれば、プロンプトのまったく表示されない \f3keytool\fP コマンドを発行できます。これは、\f3keytool\fP コマンドをスクリプトファイルに含める際に非常に便利です。 次に例を示します。
.LP
.nf
\f3
@@ -703,51 +671,51 @@
.RE
.LP
-.SH "ÍѸì¤È·Ù¹ð"
+.SH "用語と警告"
.LP
.LP
.SS
-¥¡¼¥¹¥È¥¢
+キーストア
.LP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Ï¡¢°Å¹æ²½¤Î¸°¤È¾ÚÌÀ½ñ¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îµ¡¹½¤Ç¤¹¡£
+キーストアは、暗号化の鍵と証明書を格納するための機能です。
.RE
.RS 3
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤Î¥¨¥ó¥È¥ê\fP
+.TP 2
+o
+\f3キーストアのエントリ\fP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤â¤Ã¤È¤âŬÍÑÈϰϤ餤¥¨¥ó¥È¥ê¥¿¥¤¥×¤Ï¡¢¼¡¤Î 2 ¤Ä¤Ç¤¹¡£
+キーストアには異なるタイプのエントリを含めることができます。\f3keytool\fP でもっとも適用範囲の広いエントリタイプは、次の 2 つです。
.RS 3
.TP 3
1.
-\f3¸°¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Èó¾ï¤Ë½ÅÍפʰŹ沽¤Î¸°¤Î¾ðÊó¤òÊÝ»ý¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢µö²Ä¤·¤Æ¤¤¤Ê¤¤¥¢¥¯¥»¥¹¤òËɤ°¤¿¤á¤Ë¡¢Êݸ¤ì¤¿·Á¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¡£°ìÈ̤ˡ¢¤³¤Î¼ï¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¸°¤Ï¡¢ÈëÌ©¸°¤«¡¢Âбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀÏ¢º¿¤òȼ¤¦Èó¸ø³«¸°¤Ç¤¹¡£
-\f3keytool\fP ¤¬¤³¤ÎξÊý¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¤ò½èÍý¤Ç¤¤ë¤Î¤ËÂФ·¡¢\f3jarsigner\fP ¥Ä¡¼¥ë¤Ï¸å¼Ô¤Î¥¿¥¤¥×¤Î¥¨¥ó¥È¥ê¡¢¤Ä¤Þ¤êÈó¸ø³«¸°¤È¤½¤ì¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¾ÚÌÀÏ¢º¿¤Î¤ß¤ò½èÍý¤·¤Þ¤¹¡£
+\f3鍵のエントリ\fP \- 各エントリは、非常に重要な暗号化の鍵の情報を保持します。この情報は、許可していないアクセスを防ぐために、保護された形で格納されます。一般に、この種のエントリとして格納される鍵は、秘密鍵か、対応する公開鍵の証明書チェーンを伴う非公開鍵です。\f3keytool\fP がこの両方のタイプのエントリを処理できるのに対し、\f3jarsigner\fP ツールは後者のタイプのエントリ、つまり非公開鍵とそれに関連付けられた証明書チェーンのみを処理します。
.TP 3
2.
-\f3¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¨¥ó¥È¥ê\fP \- ³Æ¥¨¥ó¥È¥ê¤Ï¡¢Âè»°¼Ô¤«¤é¤Î¸ø³«¸°¾ÚÌÀ½ñ¤ò 1 ¤Ä´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤Ï¡¢¡Ö¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢¾ÚÌÀ½ñÆâ¤Î¸ø³«¸°¤¬¡¢¾ÚÌÀ½ñ¤Î¡ÖSubject¡×(½êͼÔ) ¤Ë¤è¤Ã¤ÆÆÃÄꤵ¤ì¤ë¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò¡¢¥¡¼¥¹¥È¥¢¤Î½êͼԤ¬¿®Íꤹ¤ë¤«¤é¤Ç¤¹¡£¾ÚÌÀ½ñ¤Îȯ¹Ô¼Ô¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤½¤ÎÆâÍƤòÊݾڤ·¤Þ¤¹¡£
+\f3信頼できる証明書のエントリ\fP \- 各エントリは、第三者からの公開鍵証明書を 1 つ含んでいます。この証明書は、「信頼できる証明書」と呼ばれます。 それは、証明書内の公開鍵が、証明書の「Subject」(所有者) によって特定されるアイデンティティーに由来するものであることを、キーストアの所有者が信頼するからです。証明書の発行者は、証明書に署名を付けることによって、その内容を保証します。
.RE
.LP
.RE
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤ÎÊÌ̾\fP
+\f3キーストアの別名\fP
.RS 3
.LP
-¥¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê (¸°¤ª¤è¤Ó¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ) ¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£
+キーストアのすべてのエントリ (鍵および信頼できる証明書) は、一意の「別名」を介してアクセスされます。
.LP
.LP
-ÊÌ̾¤ò»ØÄꤹ¤ë¤Î¤Ï¡¢\-genseckey ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÈëÌ©¸°¤òÀ¸À®¤·¤¿¤ê¡¢\-genkeypair ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¸°¥Ú¥¢ (¸ø³«¸°¤ÈÈó¸ø³«¸°) ¤òÀ¸À®¤·¤¿¤ê¡¢\-importcert ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤ò¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤ËÄɲä·¤¿¤ê¤¹¤ë¤Ê¤É¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ò¥¡¼¥¹¥È¥¢¤ËÄɲ乤ë¾ì¹ç¤Ç¤¹¡£
-¤³¤ì°Ê¸å¡¢\f3keytool\fP ¥³¥Þ¥ó¥É¤Ç¥¨¥ó¥Æ¥£¥Æ¥£¤ò»²¾È¤¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¤È¤¤Ë»ØÄꤷ¤¿ÊÌ̾¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+別名を指定するのは、\-genseckey コマンドを使って秘密鍵を生成したり、\-genkeypair コマンドを使って鍵ペア (公開鍵と非公開鍵) を生成したり、\-importcert コマンドを使って証明書または証明書チェーンを信頼できる証明書のリストに追加したりするなど、特定のエンティティーをキーストアに追加する場合です。これ以後、\f3keytool\fP コマンドでエンティティーを参照する場合は、このときに指定した別名を使用する必要があります。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢\f2duke\fP ¤È¤¤¤¦ÊÌ̾¤ò»È¤Ã¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òÀ¸À®¤·¡¢¸ø³«¸°¤ò¼«¸Ê½ð̾¾ÚÌÀ½ñ (¡Ö¾ÚÌÀÏ¢º¿¡×¤ò»²¾È) ¤Ç¥é¥Ã¥×¤¹¤ë¤È¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+たとえば、\f2duke\fP という別名を使って新しい公開鍵と非公開鍵のペアを生成し、公開鍵を自己署名証明書 (「証明書チェーン」を参照) でラップするとします。 この場合は、次のコマンドを実行します。
.LP
.nf
\f3
@@ -758,7 +726,7 @@
.fi
.LP
-¤³¤³¤Ç¤Ï¡¢½é´ü¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ dukekeypasswd ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ °Ê¸å¡¢ÊÌ̾ \f2duke\fP ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ï¡¢¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£duke ¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤«¤éÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+ここでは、初期パスワードとして dukekeypasswd を指定しています。 以後、別名 \f2duke\fP に関連付けられた非公開鍵にアクセスするコマンドを実行するときは、このパスワードが必要になります。duke の非公開鍵のパスワードをあとから変更するには、次のコマンドを実行します。
.nf
\f3
.fl
@@ -768,44 +736,46 @@
.fi
.LP
-¥Ñ¥¹¥ï¡¼¥É¤¬¡¢dukekeypasswd ¤«¤é newpass ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£
+パスワードが、dukekeypasswd から newpass に変更されます。
.LP
-Ãí - ¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£É¬Íפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+注 \-テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。
.LP
.RE
.TP 2
o
-\f3¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ\fP
+\f3キーストアの実装\fP
.RS 3
-\f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤ë \f2KeyStore\fP ¥¯¥é¥¹¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤ÈÊѹ¹¤ò¹Ô¤¦¤¿¤á¤ÎÌÀ³Î¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Î¸ÇÄê¼ÂÁõ¤È¤·¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤òÂоݤȤ¹¤ëÊ£¿ô¤Î°Û¤Ê¤ë¼ÂÁõ¤¬Â¸ºß²Äǽ¤Ç¤¹¡£
+\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。
.LP
-¸½ºß¡¢\f3keytool\fP ¤È \f3jarsigner\fP ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢\f3Policy Tool\fP ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£\f2KeyStore\fP ¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¤Ï \f2KeyStore\fP ¤ò»È¤Ã¤¿¤Û¤«¤Î¥»¥¥å¥ê¥Æ¥£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤¤Þ¤¹¡£
+現在、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールが、キーストアの実装を使用しています。\f2KeyStore\fP は public として使用可能なので、JDK ユーザーは \f2KeyStore\fP を使ったほかのセキュリティーアプリケーションも作成できます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆȼ«¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥¡¼¥¹¥È¥¢¤ò¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥¡¼¥¹¥È¥¢Á´ÂΤδ°Á´À¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
+キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢\f2KeyStore\fP ¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI) ¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë \f2KeystoreSpi\fP Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â \f2java.security\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬ Service Provider Interface ¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢¡ÖJava(TM) °Å¹æ²½¥¢¡¼¥¥Æ¥¯¥Á¥ãÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡Ö¥×¥í¥Ð¥¤¥À¡×¤ò¼ÂÁõ¤·¡¢KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。 これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、
+.na
+\f2「Java(TM) 暗号化アーキテクチャー用プロバイダの実装方法」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。
.LP
.LP
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢\f2KeyStore\fP ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤Ç¤¤Þ¤¹¡£
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¤òÄêµÁ¤¹¤ë¤È¤È¤â¤Ë¡¢¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«/ÈëÌ©¸°¤È¥¡¼¥¹¥È¥¢¼«ÂΤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£
-°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß´¹À¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開/秘密鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢Ç¤°Õ¤Î¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢¼ÂÁõ¤ÇÆ°ºî¤·¤Þ¤¹¡£\f3keytool\fP ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤«¤éÅϤµ¤ì¤¿¥¡¼¥¹¥È¥¢¤Î¾ì½ê¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢¤³¤ì¤ò FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢FileInputStream ¤«¤é¥¡¼¥¹¥È¥¢¤Î¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢\f3jarsigner\fP ¤È \f3policytool\fP ¥Ä¡¼¥ë¤Ï¡¢URL ¤Ç»ØÄê²Äǽ¤ÊǤ°Õ¤Î¾ì½ê¤«¤é¥¡¼¥¹¥È¥¢¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。keytool は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP ツールと \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。
.LP
.LP
-\f3keytool\fP ¤È \f3jarsigner\fP ¤Î¾ì¹ç¡¢\f2\-storetype\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£\f3Policy Tool\fP ¤Î¾ì¹ç¤Ï¡¢¡Ö¥¡¼¥¹¥È¥¢¡×¥á¥Ë¥å¡¼¤Ë¤è¤Ã¤Æ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP と \f3jarsigner\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fPの場合は、「キーストア」メニューによってキーストアのタイプを指定できます。
.LP
.LP
-¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄꤵ¤ì¤¿ \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ë¤Ï¡¢\f2java.security\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ \f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£
+キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティープロパティーファイル内で指定された \f2keystore.type\fP プロパティーの値に基づいてキーストアの実装を選択します。セキュリティープロパティーファイルは、\f2java.security\fP という名前でセキュリティープロパティーディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。
.LP
.LP
-³Æ¥Ä¡¼¥ë¤Ï¡¢\f2keystore.type\fP ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£
+各ツールは、\f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。
.LP
.LP
-\f2KeyStore\fP ¥¯¥é¥¹¤Ç¤Ï \f2getDefaultType\fP ¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç \f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (\f2keystore.type\fP ¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
+\f2KeyStore\fP クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティーで指定されたタイプ) のインスタンスを生成します。
.LP
.nf
\f3
@@ -817,7 +787,7 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï JKS (Sun ¤¬Ä󶡤¹¤ëÆȼ«¤Î¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。
.LP
.nf
\f3
@@ -829,10 +799,10 @@
.LP
.LP
-³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤ÆÊ̤Υ¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
+各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
+たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。
.LP
.nf
\f3
@@ -843,103 +813,103 @@
.fi
.LP
-Ãí: ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+注:キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。
.RE
.RE
.SS
-¾ÚÌÀ½ñ
+証明書
.LP
.RS 3
.LP
-¾ÚÌÀ½ñ (¸ø³«¸°¾ÚÌÀ½ñ¤È¤â¸Æ¤Ö) ¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¡Öȯ¹Ô¼Ô¡×) ¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (¡Ö½ð̾¼Ô¡×) ¤Î¸ø³«¸° (¤ª¤è¤Ó¤½¤Î¾¤Î¾ðÊó) ¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3証明書\fP (\f3公開鍵証明書\fPとも呼ぶ) とは、あるエンティティー (「発行者」) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティー (「署名者」) の公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています。
.RE
.RS 3
.TP 2
o
-\f3¾ÚÌÀ½ñ¤ÎÍѸì\fP
+.TP 2
+o
+\f3証明書の用語\fP
.RS 3
.LP
.RS 3
.TP 3
-¸ø³«¸°
-¸ø³«¸°¤Ï¡¢ÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¿ô¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢³ºÅö¤¹¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤È¤Î´Ö¤Ë¿®Íê¤Ç¤¤ë´Ø·¸¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤¹¤Ù¤Æ¤Î¿Í¤ËÂФ·¤Æ¸ø³«¤¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤¹¡£¸ø³«¸°¤Ï¡¢½ð̾¤ò¸¡¾Ú¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
+公開鍵
+公開鍵は、特定のエンティティーに関連付けられた数です。 公開鍵は、該当するエンティティーとの間に信頼できる関係を持つ必要があるすべての人に対して公開することを意図したものです。公開鍵は、署名を検証するのに使われます。
.TP 3
-¥Ç¥¸¥¿¥ë½ð̾
-¥Ç¡¼¥¿¤¬¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤µ¤ì¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î¡Ö¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡×¤È¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¥Ç¡¼¥¿¤ÎÆâÍƤˤĤ¤¤ÆÃΤäƤ¤¤ë¤³¤È¤ò¾ÚÌÀ¤¹¤ë½ð̾¤È¤È¤â¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤Ë½ð̾¤òÉÕ¤±¤ë¤È¡¢¥Ç¡¼¥¿¤Îµ¶Â¤¤ÏÉÔ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
+デジタル署名
+データが「\f2デジタル署名\fP」されると、そのデータは、エンティティーの「アイデンティティー」と、そのエンティティーがデータの内容について知っていることを証明する署名とともに格納されます。エンティティーの非公開鍵を使ってデータに署名を付けると、データの偽造は不可能になります。
.TP 3
-¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£
-¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Î´ûÃΤÎÊýË¡¤Ç¤¹¡£¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¸ø³«¸°¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤Ë¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¸ø³«¸°¤Î¤Û¤«¤Ë¤â¡¢Unix UID ¤äÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢X.509 ¼±ÊÌ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+アイデンティティー
+エンティティーを特定するための既知の方法です。システムによっては、公開鍵をアイデンティティーにするものがあります。 公開鍵のほかにも、Unix UID や電子メールアドレス、X.509 識別名など、さまざまなものをアイデンティティーとすることができます。
.TP 3
-½ð̾
-½ð̾¤Ï¡¢²¿¤é¤«¤Î¥Ç¡¼¥¿¤ò´ð¤Ë¥¨¥ó¥Æ¥£¥Æ¥£ (½ð̾¼Ô¡£ ¾ÚÌÀ½ñ¤Ë´Ø¤·¤Æ¤Ïȯ¹Ô¼Ô¤È¤â¸Æ¤Ð¤ì¤ë) ¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£
+署名
+署名は、なんらかのデータを基にエンティティー (署名者。 証明書に関しては発行者とも呼ばれる) の非公開鍵を使って計算されます。
.TP 3
-Èó¸ø³«¸°
-Èó¸ø³«¸°¤ÏÆÃÄê¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤À¤±¤¬ÃΤäƤ¤¤ë¿ô¤Î¤³¤È¤Ç¡¢¤³¤Î¿ô¤Î¤³¤È¤ò¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤È¤¤¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢¤Û¤«¤ËÃΤé¤ì¤Ê¤¤¤è¤¦¤ËÈëÌ©¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Èó¸ø³«¸°¤È¸ø³«¸°¤Ï¡¢¤¹¤Ù¤Æ¤Î¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ÇÂФˤʤäƸºß¤·¤Æ¤¤¤Þ¤¹¡£DSA ¤Ê¤É¤Îŵ·¿Åª¤Ê¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢1 ¤Ä¤ÎÈó¸ø³«¸°¤ÏÀµ³Î¤Ë 1 ¤Ä¤Î¸ø³«¸°¤ËÂбþ¤·¤Þ¤¹¡£Èó¸ø³«¸°¤Ï¡¢½ð̾¤ò·×»»¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
+非公開鍵
+非公開鍵は特定のエンティティーだけが知っている数のことで、この数のことを、そのエンティティーの非公開鍵といいます。非公開鍵は、ほかに知られないように秘密にしておくことが前提になっています。 非公開鍵と公開鍵は、すべての公開鍵暗号化システムで対になって存在しています。DSA などの典型的な公開鍵暗号化システムの場合、1 つの非公開鍵は正確に 1 つの公開鍵に対応します。非公開鍵は、署名を計算するのに使われます。
.TP 3
-¥¨¥ó¥Æ¥£¥Æ¥£
-¥¨¥ó¥Æ¥ó¥Æ¥£¤Ï¡¢¿Í¡¢ÁÈ¿¥¡¢¥×¥í¥°¥é¥à¡¢¥³¥ó¥Ô¥å¡¼¥¿¡¢´ë¶È¡¢¶ä¹Ô¤Ê¤É¡¢°ìÄê¤ÎÅٹ礤¤Ç¿®Íê¤ÎÂоݤȤʤ뤵¤Þ¤¶¤Þ¤Ê¤â¤Î¤ò»Ø¤·¤Þ¤¹¡£
+エンティティー
+エンテンティーは、人、組織、プログラム、コンピュータ、企業、銀行など、一定の度合いで信頼の対象となるさまざまなものを指します。
.RE
.LP
.LP
-¸ø³«¸°°Å¹æ²½¤Ç¤Ï¡¢¤½¤ÎÀ¼Á¾å¡¢¥æ¡¼¥¶¤Î¸ø³«¸°¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Â絬ÌϤʥͥåȥ¥¯´Ä¶¤Ç¤Ï¡¢¸ß¤¤¤ËÄÌ¿®¤·¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£´Ö¤Ç°ÊÁ°¤Î´Ø·¸¤¬°ú¤Â³¤³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¡¢»È¤ï¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸ø³«¸°¤ò¼ý¤á¤¿¿®Íê¤Ç¤¤ë¥ê¥Ý¥¸¥È¥ê¤¬Â¸ºß¤¹¤ë¤È²¾Äꤷ¤¿¤ê¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¸ø³«¸°¤ÎÇÛÉۤ˴ؤ¹¤ëÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¾ÚÌÀ½ñ¤¬¹Í°Æ¤µ¤ì¤Þ¤·¤¿¡£¸½ºß¤Ç¤Ï¡¢¡Öǧ¾Ú¶É (CA)¡×¤¬¿®Íê¤Ç¤¤ëÂè»°¼Ô¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£CA ¤Ï¡¢¤Û¤«¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤¹¤ë (ȯ¹Ô¤¹¤ë) ¹Ô°Ù¤ò¡¢¿®Íꤷ¤ÆǤ¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£ (´ë¶È¤Ê¤É) ¤Ç¤¹¡£CA ¤ÏˡΧ¾å¤Î·ÀÌó¤Ë¹´Â«¤µ¤ì¤ë¤Î¤Ç¡¢Í¸ú¤«¤Ä¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤À¤±¤òºîÀ®¤¹¤ë¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+公開鍵暗号化では、その性質上、ユーザーの公開鍵にアクセスする必要があります。大規模なネットワーク環境では、互いに通信しているエンティティー間で以前の関係が引き続き確立されていると仮定したり、使われているすべての公開鍵を収めた信頼できるリポジトリが存在すると仮定したりすることは不可能です。このような公開鍵の配布に関する問題を解決するために証明書が考案されました。現在では、「証明書発行局 (CA)」が信頼できる第三者として機能します。CA は、ほかのエンティティーの証明書に署名する (発行する) 行為を、信頼して任されているエンティティー (企業など) です。CA は法律上の契約に拘束されるので、有効かつ信頼できる証明書だけを作成するものとして扱われます。
.na
-\f2VeriSign\fP
+\f2VeriSign\fP @
.fi
-(http://www.verisign.com/)¡¢
+http://www.verisign.com/、
.na
-\f2Thawte\fP
+\f2Thawte\fP @
.fi
-(http://www.thawte.com/)¡¢
+http://www.thawte.com/、
.na
-\f2Entrust\fP
+\f2Entrust\fP @
.fi
-(http://www.entrust.com/) ¤ò¤Ï¤¸¤á¡¢Â¿¤¯¤Î CA ¤¬Â¸ºß¤·¤Þ¤¹¡£
-Netscape ¤ä Microsoft ¤Îǧ¾Ú¥µ¡¼¥Ð¡¢Entrust ¤Î CA À½Éʤʤɤò½ê°ÁÈ¿¥Æâ¤ÇÍøÍѤ¹¤ì¤Ð¡¢Æȼ«¤Îǧ¾Ú¶É¤ò±¿±Ä¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+http://www.entrust.com/ をはじめ、多くの CA が存在します。Netscape や Microsoft の認証サーバー、Entrust の CA 製品などを所属組織内で利用すれば、独自の証明書発行局を運営することも可能です。
.LP
.LP
-\f3keytool\fP ¤ò»È¤¦¤È¡¢¾ÚÌÀ½ñ¤Îɽ¼¨¡¢¥¤¥ó¥Ý¡¼¥È¡¢¤ª¤è¤Ó¥¨¥¯¥¹¥Ý¡¼¥È¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+\f3keytool\fP を使うと、証明書の表示、インポート、およびエクスポートを行うことができます。また、自己署名証明書を生成することもできます。
.LP
.LP
-¸½ºß¡¢\f3keytool\fP ¤Ï X.509 ¾ÚÌÀ½ñ¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£
+現在、\f3keytool\fP は X.509 証明書を対象にしています。
.LP
.RE
.TP 2
o
-\f3X.509 ¾ÚÌÀ½ñ\fP
+\f3X.509 証明書\fP
.RS 3
-X.509 µ¬³Ê¤Ç¤Ï¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¾ðÊó¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¾ðÊó¤ò¾ÚÌÀ½ñ¤Ë½ñ¤¹þ¤àÊýË¡ (¥Ç¡¼¥¿·Á¼°) ¤Ë¤Ä¤¤¤Æ¤âµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï¡¢ASN.1/DER ¤È¸Æ¤Ð¤ì¤ë 2 ¤Ä¤Î´ØÏ¢µ¬³Ê¤ò»È¤Ã¤ÆÉä¹æ²½¤µ¤ì¤Þ¤¹¡£\f2Abstract Syntax Notation 1\fP ¤Ï¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£\f2Definite Encoding Rules\fP ¤Ï¡¢¥Ç¡¼¥¿¤ÎÊݸ¤ª¤è¤ÓžÁ÷¤ÎÊýË¡¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
+X.509 規格では、証明書に含める情報が定義されており、この情報を証明書に書き込む方法 (データ形式) についても記述されています。証明書のすべてのデータは、ASN.1/DER と呼ばれる 2 つの関連規格を使って符号化されます。\f2Abstract Syntax Notation 1\fP はデータについて記述しています。\f2Definite Encoding Rules\fP は、データの保存および転送の方法について記述しています。
.LP
-¤¹¤Ù¤Æ¤Î X.509 ¾ÚÌÀ½ñ¤Ï¡¢½ð̾¤Î¤Û¤«¤Ë¼¡¤Î¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
+すべての X.509 証明書は、署名のほかに次のデータを含んでいます。
.LP
.RS 3
.TP 3
-¥Ð¡¼¥¸¥ç¥ó
-¾ÚÌÀ½ñ¤ËŬÍѤµ¤ì¤ë X.509 µ¬³Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆÃÄꤷ¤Þ¤¹¡£¾ÚÌÀ½ñ¤Ë»ØÄê¤Ç¤¤ë¾ðÊó¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Þ¤Ç¤Ë¡¢3 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢v1¡¢v2¡¢¤ª¤è¤Ó v3 ¤Î¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤È¥¨¥¯¥¹¥Ý¡¼¥È¤¬²Äǽ¤Ç¤¹¡£
-\f3keytool\fP ¤¬À¸À®¤¹¤ë¤Î¤Ï¡¢v3 ¤Î¾ÚÌÀ½ñ¤Ç¤¹¡£
+バージョン
+証明書に適用される X.509 規格のバージョンを特定します。 証明書に指定できる情報は、バージョンによって異なります。これまでに、3 つのバージョンが定義されています。\f3keytool\fP では、v1、v2、および v3 の証明書のインポートとエクスポートが可能です。keytool が生成するのは、v3 の証明書です。
.LP
-¡Ö\f2X.509 Version 1\fP¡×¤Ï¡¢1988 ǯ¤«¤éÍøÍѤµ¤ì¤Æ¹¤¯ÉáµÚ¤·¤Æ¤ª¤ê¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ç¤¹¡£
+「X.509 Version 1」は、1988 年から利用されて広く普及しており、もっとも一般的です。
.LP
-¡Ö\f2X.509 Version 2\fP¡×¤Ç¤Ï¡¢Subject ¤äȯ¹Ô¼Ô¤Î̾Á°¤ò¤¢¤È¤ÇºÆÍøÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Subject ¤Èȯ¹Ô¼Ô¤Î°ì°Õ¼±Ê̻ҤγµÇ°¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤Û¤È¤ó¤É¤Î¾ÚÌÀ½ñ¥×¥í¥Õ¥¡¥¤¥ëʸ½ñ¤Ç¤Ï¡¢Ì¾Á°¤òºÆ»ÈÍѤ·¤Ê¤¤¤³¤È¤È¡¢¾ÚÌÀ½ñ¤Ç°ì°Õ¤Ê¼±Ê̻Ҥò»È¤ï¤Ê¤¤¤³¤È¤¬¡¢¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Version 2 ¤Î¾ÚÌÀ½ñ¤Ï¡¢¹¤¯¤Ï»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+「X.509 Version 2」では、Subject や発行者の名前をあとで再利用できるようにするために、Subject と発行者の一意識別子の概念が導入されました。ほとんどの証明書プロファイル文書では、名前を再使用しないことと、証明書で一意な識別子を使わないことが、強く推奨されています。Version 2 の証明書は、広くは使われていません。
.LP
-¡Ö\f2X.509 Version 3\fP¡×¤Ï¤â¤Ã¤È¤â¿·¤·¤¤ (1996 ǯ) µ¬³Ê¤Ç¡¢¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î³µÇ°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ïï¤Ç¤âÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¡¢¾ÚÌÀ½ñ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¸½ºß»È¤ï¤ì¤Æ¤¤¤ë°ìÈÌŪ¤Ê¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢\f2KeyUsage\fP (¡Ö½ð̾ÀìÍѡפʤɡ¢¸°¤Î»ÈÍѤòÆÃÄê¤ÎÌÜŪ¤ËÀ©¸Â¤¹¤ë)¡¢\f2AlternativeNames\fP (DNS ̾¡¢ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡¢IP ¥¢¥É¥ì¥¹¤Ê¤É¡¢¤Û¤«¤Î¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¤ò¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤ë) ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤Ï¡¢\f2critical\fP ¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢¤½¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯¤È»ÈÍѤòµÁ̳¤Å¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢critical ¤È¥Þ¡¼¥¯¤µ¤ì¡¢KeyCertSign ¤¬ÀßÄꤵ¤ì¤¿ KeyUsage ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤¬¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¾ÚÌÀ½ñ¤ò SSL ÄÌ¿®Ãæ¤ËÄ󼨤¹¤ë¤È¡¢¾ÚÌÀ½ñ¤¬µñÈݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢´ØÏ¢¤¹¤ëÈó¸ø³«¸°¤¬¾ÚÌÀ½ñ¤Î½ð̾ÀìÍѤȤ·¤Æ»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢SSL ¤Ç¤Ï»ÈÍѤǤ¤Ê¤¤¤¿¤á¤Ç¤¹¡£
+「X.509 Version 3」はもっとも新しい (1996 年) 規格で、エクステンションの概念をサポートしています。エクステンションは誰でも定義することができ、証明書に含めることができます。現在使われている一般的なエクステンションとしては、KeyUsage (「署名専用」など、鍵の使用を特定の目的に制限する)、AlternativeNames (DNS 名、電子メールアドレス、IP アドレスなど、ほかのアイデンティティーを公開鍵に関連付けることができる) などがあります。エクステンションには、critical というマークを付けて、そのエクステンションのチェックと使用を義務づけることができます。たとえば、critical とマークされ、KeyCertSign が設定された KeyUsage エクステンションが証明書に含まれている場合、この証明書を SSL 通信中に提示すると、証明書が拒否されます。 これは、証明書のエクステンションによって、関連する非公開鍵が証明書の署名専用として指定されており、SSL では使用できないためです。
.TP 3
-¥·¥ê¥¢¥ëÈÖ¹æ
-¾ÚÌÀ½ñ¤òºîÀ®¤·¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬È¯¹Ô¤¹¤ë¤Û¤«¤Î¾ÚÌÀ½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¾ÚÌÀ½ñ¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤Ç»È¤ï¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬¼è¤ê¾Ã¤µ¤ì¤ë¤È¡¢¥·¥ê¥¢¥ëÈֹ椬¾ÚÌÀ½ñ¤Î¼è¤ê¾Ã¤·¥ê¥¹¥È (CRL) ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
+シリアル番号
+証明書を作成したエンティティーは、そのエンティティーが発行するほかの証明書と区別するために、証明書にシリアル番号を割り当てます。この情報は、さまざまな方法で使われます。 たとえば、証明書が取り消されると、シリアル番号が証明書の取り消しリスト (CRL) に格納されます。
.TP 3
-½ð̾¥¢¥ë¥´¥ê¥º¥à¼±ÊÌ»Ò
-¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë CA ¤¬»È¤Ã¤¿¥¢¥ë¥´¥ê¥º¥à¤òÆÃÄꤷ¤Þ¤¹¡£
+署名アルゴリズム識別子
+証明書に署名を付けるときに CA が使ったアルゴリズムを特定します。
.TP 3
-ȯ¹Ô¼Ô̾
-¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î X.500 ¼±ÊÌ̾¤Ç¤¹¡£¥¨¥ó¥Æ¥£¥Æ¥£¤Ï¡¢Ä̾ï¤Ï CA ¤Ç¤¹¡£¤³¤Î¾ÚÌÀ½ñ¤ò»È¤¦¤³¤È¤Ï¡¢¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤ò¿®Íꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¡Ö¥ë¡¼¥È¡×¤Ä¤Þ¤ê¡Ö¥È¥Ã¥×¥ì¥Ù¥ë¡×¤Î CA ¤Î¾ÚÌÀ½ñ¤Ê¤É¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ïȯ¹Ô¼Ô¤¬¼«¿È¤Î¾ÚÌÀ½ñ¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤¢¤ëÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+発行者名
+証明書に署名を付けたエンティティーの X.500 識別名です。エンティティーは、通常は CA です。この証明書を使うことは、証明書に署名を付けたエンティティーを信頼することを意味します。「ルート」つまり「トップレベル」の CA の証明書など、場合によっては発行者が自身の証明書に署名を付けることがある点に注意してください。
.TP 3
-͸ú´ü´Ö
-³Æ¾ÚÌÀ½ñ¤Ï¡¢¸Â¤é¤ì¤¿´ü´Ö¤À¤±Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î´ü´Ö¤Ï³«»Ï¤ÎÆü»þ¤È½ªÎ»¤ÎÆü»þ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¡¢¿ôÉäÎû¤¤´ü´Ö¤«¤é 100 ǯ¤È¤¤¤¦Ä¹´ü¤Ë¤ï¤¿¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ÁªÂò¤µ¤ì¤ë͸ú´ü´Ö¤Ï¡¢¾ÚÌÀ½ñ¤Ø¤Î½ð̾¤Ë»È¤ï¤ì¤ëÈó¸ø³«¸°¤Î¶¯ÅÙ¤ä¾ÚÌÀ½ñ¤Ë»Ùʧ¤¦¶â³Û¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ç°Û¤Ê¤ê¤Þ¤¹¡£Í¸ú´ü´Ö¤Ï¡¢»ÈÍѤ¹¤ëÈó¸ø³«¸°¤¬Â»¤Ê¤ï¤ì¤Ê¤¤¾ì¹ç¤Ë¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤ò¿®Íê¤Ç¤¤ë¤È´üÂÔ¤µ¤ì¤ë´ü´Ö¤Ç¤¹¡£
+有効期間
+各証明書は、限られた期間だけ有効になります。この期間は開始の日時と終了の日時によって指定され、数秒の短い期間から 100 年という長期にわたることもあります。選択される有効期間は、証明書への署名に使われる非公開鍵の強度や証明書に支払う金額など、さまざまな要因で異なります。有効期間は、使用する非公開鍵が損なわれない場合に、エンティティーが公開鍵を信頼できると期待される期間です。
.TP 3
-Subject ̾
-¾ÚÌÀ½ñ¤Ç¸ø³«¸°¤¬¼±Ê̤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î̾Á°¤Ç¤¹¡£¤³¤Î̾Á°¤Ï X.500 ɸ½à¤ò»È¤¦¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÁ´ÂΤǰì°Õ¤Ê¤â¤Î¤ÈÁÛÄꤵ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤Î X.500 ¼±ÊÌ̾ (DN) ¤Ç¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+Subject 名
+証明書で公開鍵が識別されているエンティティーの名前です。この名前は X.500 標準を使うので、インターネット全体で一意なものと想定されます。これは、エンティティーの X.500 識別名 (DN) です。 次に例を示します。
.nf
\f3
.fl
@@ -947,56 +917,56 @@
.fl
\fP
.fi
-¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¼çÂΤÎÄ̾Ρ¢ÁÈ¿¥Ã±°Ì¡¢ÁÈ¿¥¡¢¹ñ¤òɽ¤·¤Þ¤¹¡£
+これらはそれぞれ主体の通称、組織単位、組織、国を表します。
.TP 3
-Subject ¤Î¸ø³«¸°¾ðÊó
-̾Á°¤òÉÕ¤±¤é¤ì¤¿¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤È¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤ¹¡£¥¢¥ë¥´¥ê¥º¥à¼±Ê̻ҤǤϡ¢¸ø³«¸°¤ËÂФ·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¸ø³«¸°°Å¹æ²½¥·¥¹¥Æ¥à¤ª¤è¤Ó´ØÏ¢¤¹¤ë¸°¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+Subject の公開鍵情報
+名前を付けられたエンティティーの公開鍵とアルゴリズム識別子です。 アルゴリズム識別子では、公開鍵に対して使われている公開鍵暗号化システムおよび関連する鍵パラメータが指定されています。
.RE
.LP
.RE
.TP 2
o
-\f3¾ÚÌÀÏ¢º¿\fP
+\f3証明書チェーン\fP
.RS 3
.LP
-\f3keytool\fP ¤Ç¤Ï¡¢Èó¸ø³«¸°¤ª¤è¤Ó´ØÏ¢¤¹¤ë¾ÚÌÀ¡ÖÏ¢º¿¡×¤ò´Þ¤à¥¡¼¥¹¥È¥¢¤Î¡Ö¸°¡×¥¨¥ó¥È¥ê¤òºîÀ®¤·¡¢´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤Ç¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Ï¡¢Ï¢º¿¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
+\f3keytool\fP では、非公開鍵および関連する証明書「チェーン」を含むキーストアの「鍵」エントリを作成し、管理することができます。このようなエントリでは、非公開鍵に対応する公開鍵は、チェーンの最初の証明書に含まれています。
.LP
.LP
-¸°¤ò½é¤á¤ÆºîÀ®¤¹¤ë¤È (\-genkeypair ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¡Ö¼«¸Ê½ð̾¾ÚÌÀ½ñ¡×¤È¤¤¤¦ 1 ¤Ä¤ÎÍ×ÁǤÀ¤±¤ò´Þ¤àÏ¢º¿¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¡¢È¯¹Ô¼Ô (½ð̾¼Ô) ¤¬¼çÂÎ (¾ÚÌÀ½ñ¤Çǧ¾Ú¤µ¤ì¤Æ¤¤¤ë¸ø³«¸°¤Î»ý¤Á¼ç) ¤ÈƱ¤¸¤Ç¤¢¤ë¾ÚÌÀ½ñ¤Î¤³¤È¤Ç¤¹¡£\f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¿·¤·¤¤¸ø³«¸°¤ÈÈó¸ø³«¸°¤Î¥Ú¥¢¤òºîÀ®¤¹¤ë¤È¡¢¸ø³«¸°¤Ï¾ï¤Ë¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£
+鍵を初めて作成すると (\-genkeypair コマンドを参照)、「自己署名証明書」という 1 つの要素だけを含むチェーンが開始されます。自己署名証明書は、発行者 (署名者) が主体 (証明書で認証されている公開鍵の持ち主) と同じである証明書のことです。\f2\-genkeypair\fP コマンドを呼び出して新しい公開鍵と非公開鍵のペアを作成すると、公開鍵は常に自己署名証明書でラップされます。
.LP
.LP
-¤³¤Î¤¢¤È¡¢¾ÚÌÀ½ñ½ð̾Í×µá (CSR) ¤¬À¸À®¤µ¤ì¤Æ (\-certreq ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢CSR ¤¬Ç§¾Ú¶É (CA) ¤ËÁ÷¿®¤µ¤ì¤ë¤È¡¢CA ¤«¤é¤Î±þÅú¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì (\-importcert ¥³¥Þ¥ó¥É¤ò»²¾È)¡¢¸µ¤Î¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ï¾ÚÌÀÏ¢º¿¤Ë¤è¤Ã¤ÆÃÖ¤´¹¤¨¤é¤ì¤Þ¤¹¡£Ï¢º¿¤ÎºÇ¸å¤Ë¤¢¤ë¤Î¤Ï¡¢Subject ¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿ CA ¤¬È¯¹Ô¤·¤¿¾ÚÌÀ½ñ (±þÅú) ¤Ç¤¹¡£Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¡ÖCA¡×¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ç¤¹¡£
+このあと、証明書署名要求 (CSR) が生成されて (\-certreq コマンドを参照)、CSR が証明書発行局 (CA) に送信されると、CA からの応答がインポートされ (\-importcert コマンドを参照)、元の自己署名証明書は証明書チェーンによって置き換えられます。チェーンの最後にあるのは、Subject の公開鍵を認証した CA が発行した証明書 (応答) です。チェーン内のその前の証明書は、「CA」の公開鍵を認証する証明書です。
.LP
.LP
-CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ï¡¢Â¿¤¯¤Î¾ì¹ç¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ (¤Ä¤Þ¤ê CA ¤¬¼«¿È¤Î¸ø³«¸°¤òǧ¾Ú¤·¤¿¾ÚÌÀ½ñ) ¤Ç¤¢¤ê¡¢¤³¤ì¤ÏÏ¢º¿¤ÎºÇ½é¤Î¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢CA ¤¬¾ÚÌÀ½ñ¤ÎÏ¢º¿¤òÊÖ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢Ï¢º¿Æâ¤ÎºÇ¸å¤Î¾ÚÌÀ½ñ (CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢¸°¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ) ¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤È¤Ï¡ÖÊ̤Ρ×CA ¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¡¢CSR ¤ÎÁ÷¿®Àè¤Î CA ¤Î¸ø³«¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢Ï¢º¿Æâ¤Î¤½¤ÎÁ°¤Î¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î CA ¤Î¸°¤òǧ¾Ú¤¹¤ë¾ÚÌÀ½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£°Ê²¼Æ±Íͤˡ¢¼«¸Ê½ð̾¤µ¤ì¤¿¡Ö¥ë¡¼¥È¡×¾ÚÌÀ½ñ¤Ë㤹¤ë¤Þ¤ÇÏ¢º¿¤¬Â³¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ï¢º¿Æâ¤Î (ºÇ½é¤Î¾ÚÌÀ½ñ°Ê¸å¤Î) ³Æ¾ÚÌÀ½ñ¤Ç¤Ï¡¢Ï¢º¿Æâ¤Î¼¡¤Î¾ÚÌÀ½ñ¤Î½ð̾¼Ô¤Î¸ø³«¸°¤¬Ç§¾Ú¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+CA の公開鍵を認証する証明書は、多くの場合、自己署名証明書 (つまり CA が自身の公開鍵を認証した証明書) であり、これはチェーンの最初の証明書になります。場合によっては、CA が証明書のチェーンを返すこともあります。この場合、チェーン内の最後の証明書 (CA によって署名され、鍵エントリの公開鍵を認証する証明書) に変わりはありませんが、チェーン内のその前の証明書は、CSR の送信先の CA とは「別の」CA によって署名され、CSR の送信先の CA の公開鍵を認証する証明書になります。さらに、チェーン内のその前の証明書は、次の CA の鍵を認証する証明書になります。 以下同様に、自己署名された「ルート」証明書に達するまでチェーンが続きます。したがって、チェーン内の (最初の証明書以後の) 各証明書では、チェーン内の次の証明書の署名者の公開鍵が認証されていることになります。
.LP
.LP
-¿¤¯¤Î CA ¤Ï¡¢Ï¢º¿¤ò¥µ¥Ý¡¼¥È¤»¤º¤Ëȯ¹ÔºÑ¤ß¤Î¾ÚÌÀ½ñ¤À¤±¤òÊÖ¤·¤Þ¤¹¡£Æäˡ¢Ãæ´Ö¤Î CA ¤¬Â¸ºß¤·¤Ê¤¤¥Õ¥é¥Ã¥È¤Ê³¬Áع½Â¤¤Î¾ì¹ç¤Ï¡¢¤½¤Î·¹¸þ¤¬¸²Ãø¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¥¡¼¥¹¥È¥¢¤Ë¤¹¤Ç¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¾ðÊ󤫤顢¾ÚÌÀÏ¢º¿¤ò³ÎΩ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+多くの CA は、チェーンをサポートせずに発行済みの証明書だけを返します。 特に、中間の CA が存在しないフラットな階層構造の場合は、その傾向が顕著です。このような場合は、キーストアにすでに格納されている信頼できる証明書情報から、証明書チェーンを確立する必要があります。
.LP
.LP
-Ê̤αþÅú·Á¼° (PKCS#7 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·Á¼°) ¤Ç¤â¡¢È¯¹ÔºÑ¤ß¾ÚÌÀ½ñ¤Ë²Ã¤¨¡¢¾ÚÌÀÏ¢º¿¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£\f3keytool\fP ¤Ç¤Ï¡¢¤É¤Á¤é¤Î±þÅú·Á¼°¤â°·¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+別の応答形式 (PKCS#7 で定義されている形式) でも、発行済み証明書に加え、証明書チェーンのサポートが含まれています。\f3keytool\fP では、どちらの応答形式も扱うことができます。
.LP
.LP
-¥È¥Ã¥×¥ì¥Ù¥ë (¥ë¡¼¥È) CA ¤Î¾ÚÌÀ½ñ¤Ï¡¢¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£¤¿¤À¤·¡¢¥ë¡¼¥È¤Î¸ø³«¸°¤ËÂФ¹¤ë¿®Íê¤Ï¡¢¥ë¡¼¥È¤Î¾ÚÌÀ½ñ¼«ÂΤ«¤éƳ¤½Ð¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯ (¤¿¤È¤¨¤Ð¡¢VeriSign ¥ë¡¼¥È CA ¤Î¤è¤¦¤ÊÍ̾¤Ê¼±ÊÌ̾¤ò»È¤Ã¤¿¼«¸Ê½ð̾¾ÚÌÀ½ñ¤òºîÀ®¤¹¤ë¤³¤È¼«ÂΤÏï¤Ç¤â²Äǽ)¡¢¿·Ê¹¤Ê¤É¤Î¤Û¤«¤Î¾ðÊ󸻤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤Ï¹¤¯ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò¾ÚÌÀ½ñ¤Ë³ÊǼ¤¹¤ëÍýͳ¤Ï¡¢¾ÚÌÀ½ñ¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¤³¤È¤Ç¿¤¯¤Î¥Ä¡¼¥ë¤«¤éÍøÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ë¤¹¤®¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢¾ÚÌÀ½ñ¤Ï¡¢¥ë¡¼¥È CA ¤Î¸ø³«¸°¤ò±¿¤Ö¡ÖÇÞÂΡפȤ·¤ÆÍøÍѤµ¤ì¤ë¤À¤±¤Ç¤¹¡£¥ë¡¼¥È CA ¤Î¾ÚÌÀ½ñ¤ò¥¡¼¥¹¥È¥¢¤ËÄɲ乤ë¤È¤¤Ï¡¢¤½¤ÎÁ°¤Ë¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f2\-printcert\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¿·Ê¹¤ä¥ë¡¼¥È CA ¤Î Web ¥Ú¡¼¥¸¤Ê¤É¤«¤éÆþ¼ê¤·¤¿´ûÃΤΥե£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+トップレベル (ルート) CA の証明書は、自己署名証明書です。ただし、ルートの公開鍵に対する信頼は、ルートの証明書自体から導き出されるものではなく (たとえば、VeriSign ルート CA のような有名な識別名を使った自己署名証明書を作成すること自体は誰でも可能)、新聞などのほかの情報源に由来するものです。ルート CA の公開鍵は広く知られています。ルート CA の公開鍵を証明書に格納する理由は、証明書という形式にすることで多くのツールから利用できるようになるからにすぎません。 つまり、証明書は、ルート CA の公開鍵を運ぶ「媒体」として利用されるだけです。ルート CA の証明書をキーストアに追加するときは、その前に証明書の内容を表示し (\f2\-printcert\fP オプションを使用)、表示されたフィンガープリントと、新聞やルート CA の Web ページなどから入手した既知のフィンガープリントとを比較する必要があります。
.LP
.RE
.TP 2
o
-\f3cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë\fP
+\f3cacerts 証明書ファイル\fP
.RS 3
.LP
-cacerts ¾ÚÌÀ½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê \f2java.home\fP/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£\f2java.home\fP ¤Ï¡¢¼Â¹Ô´Ä¶¤Î¥Ç¥£¥ì¥¯¥È¥ê (SDK ¤Î \f2jre\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤¿¤Ï Java 2 Runtime Environment ¤ÎºÇ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¤¹¡£
+\f3cacerts\fP 証明書ファイルは、セキュリティープロパティーディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。
.LP
.LP
-cacerts ¥Õ¥¡¥¤¥ë¤Ï¡¢CA ¤Î¾ÚÌÀ½ñ¤ò´Þ¤à¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ¡¼¥¹¥È¥¢¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ë jks ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢\f3keytool\fP ¤ò»È¤Ã¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹½À®¤È´ÉÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Ï¡¢¼¡¤ÎÊÌ̾¤ª¤è¤Ó X.500 ½êͼԼ±ÊÌ̾¤ò»ý¤Ä¤¤¤¯¤Ä¤«¤Î¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò´Þ¤ó¤À¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+cacerts ファイルは、CA の証明書を含む、システム全体のキーストアです。システム管理者は、キーストアタイプに jks を指定することで、\f3keytool\fP を使ってこのファイルの構成と管理を行うことができます。cacerts キーストアファイルは、次の別名および X.500 所有者識別名を持ついくつかのルート CA 証明書を含んだ状態で出荷されています。
.LP
.RS 3
.TP 2
*
-\f3Alias\fP: thawtepersonalfreemailca
+\f3Alias\fP:thawtepersonalfreemailca
.br
-\f3Owner DN\fP: EmailAddress=personal\-freemail@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-freemail@thawte.com,
.br
CN=Thawte Personal Freemail CA,
.br
@@ -1005,9 +975,9 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawtepersonalbasicca
+\f3Alias\fP:thawtepersonalbasicca
.br
-\f3Owner DN\fP: EmailAddress=personal\-basic@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-basic@thawte.com,
.br
CN=Thawte Personal Basic CA,
.br
@@ -1016,8 +986,9 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
+\f3Alias\fP:thawtepersonalpremiumca
.br
-\f3Owner DN\fP: EmailAddress=personal\-premium@thawte.com,
+\f3Owner DN\fP:EmailAddress=personal\-premium@thawte.com,
.br
CN=Thawte Personal Premium CA,
.br
@@ -1026,18 +997,18 @@
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawteserverca
+\f3Alias\fP:thawteserverca
.br
-\f3Owner DN\fP: EmailAddress=server\-certs@thawte.com,
+\f3Owner DN\fP:EmailAddress=server\-certs@thawte.com,
.br
CN=Thawte Server CA, OU=Certification Services Division,
.br
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: thawtepremiumserverca
+\f3Alias\fP:thawtepremiumserverca
.br
-\f3Owner DN\fP: EmailAddress=premium\-server@thawte.com,
+\f3Owner DN\fP:EmailAddress=premium\-server@thawte.com,
.br
CN=Thawte Premium Server CA,
.br
@@ -1046,37 +1017,37 @@
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
.TP 2
*
-\f3Alias\fP: verisignclass1ca
+\f3Alias\fP:verisignclass1ca
.br
-\f3Owner DN\fP: OU=Class 1 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 1 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2ca
+\f3Alias\fP:verisignclass2ca
.br
-\f3Owner DN\fP: OU=Class 2 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 2 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3ca
+\f3Alias\fP:verisignclass3ca
.br
-\f3Owner DN\fP: OU=Class 3 Public Primary Certification Authority,
+\f3Owner DN\fP:OU=Class 3 Public Primary Certification Authority,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignserverca
+\f3Alias\fP:verisignserverca
.br
-\f3Owner DN\fP: OU=Secure Server Certification Authority,
+\f3Owner DN\fP:OU=Secure Server Certification Authority,
.br
O="RSA Data Security, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass1g2ca
+\f3Alias\fP:verisignclass1g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1085,18 +1056,18 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass1g3ca
+\f3Alias\fP:verisignclass1g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
+\f3Owner DN\fP:CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
OU=VeriSign Trust Network,
.br
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2g2ca
+\f3Alias\fP:verisignclass2g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1105,9 +1076,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass2g3ca
+\f3Alias\fP:verisignclass2g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 2 Public Primary Certification Authority \- G3,
+\f3Owner DN\fP:CN=VeriSign Class 2 Public Primary Certification Authority \- G3,
.br
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
@@ -1116,9 +1087,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3g2ca
+\f3Alias\fP:verisignclass3g2ca
.br
-\f3Owner DN\fP: OU=VeriSign Trust Network,
+\f3Owner DN\fP:OU=VeriSign Trust Network,
.br
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
.br
@@ -1127,9 +1098,9 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: verisignclass3g3ca
+\f3Alias\fP:verisignclass3g3ca
.br
-\f3Owner DN\fP: CN=VeriSign Class 3 Public Primary Certification Authority \- G3,
+\f3Owner DN\fP:CN=VeriSign Class 3 Public Primary Certification Authority \- G3,
.br
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
.br
@@ -1138,44 +1109,37 @@
O="VeriSign, Inc.", C=US
.TP 2
*
-\f3Alias\fP: baltimorecodesigningca
+\f3Alias\fP:baltimorecodesigningca
.br
-\f3Owner DN\fP: CN=Baltimore CyberTrust Code Signing Root,
+\f3Owner DN\fP:CN=Baltimore CyberTrust Code Signing Root,
.br
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustglobalca
+\f3Alias\fP:gtecybertrustglobalca
.br
-\f3Owner DN\fP: CN=GTE CyberTrust Global Root,
+\f3Owner DN\fP:CN=GTE CyberTrust Global Root,
.br
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
.TP 2
*
-\f3Alias\fP: baltimorecybertrustca
+\f3Alias\fP:baltimorecybertrustca
.br
-\f3Owner DN\fP: CN=Baltimore CyberTrust Root,
+\f3Owner DN\fP:CN=Baltimore CyberTrust Root,
.br
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustca
+\f3Alias\fP:gtecybertrust5ca
.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root,
-.br
-O=GTE Corporation, C=US
-.TP 2
-*
-\f3Alias\fP: gtecybertrust5ca
-.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root 5,
+\f3Owner DN\fP:CN=GTE CyberTrust Root 5,
.br
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
.TP 2
*
-\f3Alias\fP: entrustclientca
+\f3Alias\fP:entrustclientca
.br
-\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Client Certification Authority,
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1184,9 +1148,9 @@
O=Entrust.net, C=US
.TP 2
*
-\f3Alias\fP: entrustglobalclientca
+\f3Alias\fP:entrustglobalclientca
.br
-\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Client Certification Authority,
.br
OU=(c) 2000 Entrust.net Limited,
.br
@@ -1195,9 +1159,9 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: entrust2048ca
+\f3Alias\fP:entrust2048ca
.br
-\f3Owner DN\fP: CN=Entrust.net Certification Authority (2048),
+\f3Owner DN\fP:CN=Entrust.net Certification Authority (2048),
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1206,9 +1170,9 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: entrustsslca
+\f3Alias\fP:entrustsslca
.br
-\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority,
.br
OU=(c) 1999 Entrust.net Limited,
.br
@@ -1217,9 +1181,9 @@
O=Entrust.net, C=US
.TP 2
*
-\f3Alias\fP: entrustgsslca
+\f3Alias\fP:entrustgsslca
.br
-\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
+\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority,
.br
OU=(c) 2000 Entrust.net Limited,
.br
@@ -1228,23 +1192,23 @@
O=Entrust.net
.TP 2
*
-\f3Alias\fP: godaddyclass2ca
+\f3Alias\fP:godaddyclass2ca
.br
-\f3Owner DN\fP: OU=Go Daddy Class 2 Certification Authority,
+\f3Owner DN\fP:OU=Go Daddy Class 2 Certification Authority,
.br
O="The Go Daddy Group, Inc.", C=US
.TP 2
*
-\f3Alias\fP: starfieldclass2ca
+\f3Alias\fP:starfieldclass2ca
.br
-\f3Owner DN\fP: OU=Starfield Class 2 Certification Authority,
+\f3Owner DN\fP:OU=Starfield Class 2 Certification Authority,
.br
O="Starfield Technologies, Inc.", C=US
.TP 2
*
-\f3Alias\fP: valicertclass2ca
+\f3Alias\fP:valicertclass2ca
.br
-\f3Owner DN\fP: EMAILADDRESS=info@valicert.com,
+\f3Owner DN\fP:EMAILADDRESS=info@valicert.com,
.br
CN=http://www.valicert.com/,
.br
@@ -1253,109 +1217,109 @@
O="ValiCert, Inc.", L=ValiCert Validation Network
.TP 2
*
-\f3Alias\fP: geotrustglobalca
+\f3Alias\fP:geotrustglobalca
.br
-\f3Owner DN\fP: CN=GeoTrust Global CA,
+\f3Owner DN\fP:CN=GeoTrust Global CA,
.br
O=GeoTrust Inc., C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureca
+\f3Alias\fP:equifaxsecureca
.br
-\f3Owner DN\fP: OU=Equifax Secure Certificate Authority,
+\f3Owner DN\fP:OU=Equifax Secure Certificate Authority,
.br
O=Equifax, C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureebusinessca1
+\f3Alias\fP:equifaxsecureebusinessca1
.br
-\f3Owner DN\fP: CN=Equifax Secure eBusiness CA\-1,
+\f3Owner DN\fP:CN=Equifax Secure eBusiness CA\-1,
.br
O=Equifax Secure Inc., C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureebusinessca2
+\f3Alias\fP:equifaxsecureebusinessca2
.br
-\f3Owner DN\fP: OU=Equifax Secure eBusiness CA\-2,
+\f3Owner DN\fP:OU=Equifax Secure eBusiness CA\-2,
.br
O=Equifax Secure, C=US
.TP 2
*
-\f3Alias\fP: equifaxsecureglobalebusinessca1
+\f3Alias\fP:equifaxsecureglobalebusinessca1
.br
-\f3Owner DN\fP: CN=Equifax Secure Global eBusiness CA\-1,
+\f3Owner DN\fP:CN=Equifax Secure Global eBusiness CA\-1,
.br
O=Equifax Secure Inc., C=US
.TP 2
*
-\f3Alias\fP: soneraclass1ca
+\f3Alias\fP:soneraclass1ca
.br
-\f3Owner DN\fP: CN=Sonera Class1 CA, O=Sonera, C=FI
+\f3Owner DN\fP:CN=Sonera Class1 CA, O=Sonera, C=FI
.TP 2
*
-\f3Alias\fP: soneraclass2ca
+\f3Alias\fP:soneraclass2ca
.br
-\f3Owner DN\fP: CN=Sonera Class2 CA, O=Sonera, C=FI
+\f3Owner DN\fP:CN=Sonera Class2 CA, O=Sonera, C=FI
.TP 2
*
-\f3Alias\fP: comodoaaaca
+\f3Alias\fP:comodoaaaca
.br
-\f3Owner DN\fP: CN=AAA Certificate Services,
+\f3Owner DN\fP:CN=AAA Certificate Services,
.br
O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB
.TP 2
*
-\f3Alias\fP: addtrustclass1ca
+\f3Alias\fP:addtrustclass1ca
.br
-\f3Owner DN\fP: CN=AddTrust Class 1 CA Root,
+\f3Owner DN\fP:CN=AddTrust Class 1 CA Root,
.br
OU=AddTrust TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: addtrustexternalca
+\f3Alias\fP:addtrustexternalca
.br
-\f3Owner DN\fP: CN=AddTrust External CA Root,
+\f3Owner DN\fP:CN=AddTrust External CA Root,
.br
OU=AddTrust External TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: addtrustqualifiedca
+\f3Alias\fP:addtrustqualifiedca
.br
-\f3Owner DN\fP: CN=AddTrust Qualified CA Root,
+\f3Owner DN\fP:CN=AddTrust Qualified CA Root,
.br
OU=AddTrust TTP Network, O=AddTrust AB, C=SE
.TP 2
*
-\f3Alias\fP: utnuserfirsthardwareca
+\f3Alias\fP:utnuserfirsthardwareca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Hardware,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Hardware,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utnuserfirstclientauthemailca
+\f3Alias\fP:utnuserfirstclientauthemailca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Client Authentication and Email,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Client Authentication and Email,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utndatacorpsgcca
+\f3Alias\fP:utndatacorpsgcca
.br
-\f3Owner DN\fP: CN=UTN \- DATACorp SGC,
+\f3Owner DN\fP:CN=UTN \- DATACorp SGC,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
L=Salt Lake City, ST=UT, C=US
.TP 2
*
-\f3Alias\fP: utnuserfirstobjectca
+\f3Alias\fP:utnuserfirstobjectca
.br
-\f3Owner DN\fP: CN=UTN\-USERFirst\-Object,
+\f3Owner DN\fP:CN=UTN\-USERFirst\-Object,
.br
OU=http://www.usertrust.com, O=The USERTRUST Network,
.br
@@ -1364,18 +1328,18 @@
.LP
.LP
-cacerts ¥¡¼¥¹¥È¥¢¥Õ¥¡¥¤¥ë¤Î½é´ü¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢changeit ¤Ç¤¹¡£¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢SDK ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤È¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+cacerts キーストアファイルの初期パスワードは、changeit です。システム管理者は、SDK のインストール後、このファイルのパスワードとデフォルトアクセス権を変更する必要があります。
.LP
.RS 3
.LP
.LP
-\f3½ÅÍ×: \fP\f4cacerts\fP\f3 ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£\fP
+\f3重要:\fP\f4cacerts\fP\f3 ファイルを確認してください。\fP
.br
.LP
-\f2cacerts\fP ¥Õ¥¡¥¤¥ëÆâ¤Î CA ¤Ï¡¢½ð̾¤ª¤è¤Ó¾¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤Ø¤Î¾ÚÌÀ½ñȯ¹Ô¤Î¤¿¤á¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤È¤·¤Æ¿®Íꤵ¤ì¤ë¤¿¤á¡¢\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Î´ÉÍý¤Ï¿µ½Å¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¿®Íꤹ¤ë CA ¤Î¾ÚÌÀ½ñ¤À¤±¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥æ¡¼¥¶¤Ï¡¢¼«¿È¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¡¢\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¿®Íê¤Ç¤¤ë¥ë¡¼¥È CA ¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¡¢¿®ÍêÀ¤Ë´Ø¤¹¤ëÆȼ«¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£¿®Íê¤Ç¤¤Ê¤¤ CA ¾ÚÌÀ½ñ¤ò \f2cacerts\fP ¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë¤Ë¤Ï¡¢\f2keytool\fP ¥³¥Þ¥ó¥É¤Îºï½ü¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£\f2cacerts\fP ¥Õ¥¡¥¤¥ë¤Ï JRE ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¥¢¥¯¥»¥¹¸¢¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
+\f2cacerts\fP ファイル内の CA は、署名および他のエンティティーへの証明書発行のためのエンティティーとして信頼されるため、\f2cacerts\fP ファイルの管理は慎重に行う必要があります。\f2cacerts\fP ファイルには、信頼する CA の証明書だけが含まれていなければなりません。ユーザーは、自身の責任において、\f2cacerts\fP ファイルにバンドルされている信頼できるルート CA 証明書を検証し、信頼性に関する独自の決定を行います。信頼できない CA 証明書を \f2cacerts\fP ファイルから削除するには、\f2keytool\fP コマンドの削除オプションを使用します。\f2cacerts\fP ファイルは JRE のインストールディレクトリにあります。このファイルを編集するアクセス権がない場合は、システム管理者に連絡してください。
.br
.LP
@@ -1385,23 +1349,22 @@
.RE
.TP 2
o
-\f3¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 ¾ÚÌÀ½ñÉä¹æ²½µ¬³Ê\fP
+\f3インターネット RFC 1421 証明書符号化規格\fP
.RS 3
.LP
-¿¤¯¤Î¾ì¹ç¡¢¾ÚÌÀ½ñ¤Ï¡¢¥Ð¥¤¥Ê¥êÉä¹æ²½¤Ç¤Ï¤Ê¤¯¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È RFC 1421 µ¬³Ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë½ÐÎϲÄǽÉä¹æ²½Êý¼°¤ò»È¤Ã¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¡ÖBase 64 Éä¹æ²½¡×¤È¤â¸Æ¤Ð¤ì¤ë¤³¤Î¾ÚÌÀ½ñ·Á¼°¤Ç¤Ï¡¢ÅŻҥ᡼¥ë¤ä¤½¤Î¾¤Îµ¡¹½¤òÄ̤¸¤Æ¡¢¤Û¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ÚÌÀ½ñ¤òÍưפ˥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
+多くの場合、証明書は、バイナリ符号化ではなく、インターネット RFC 1421 規格で定義されている出力可能符号化方式を使って格納されます。「Base 64 符号化」とも呼ばれるこの証明書形式では、電子メールやその他の機構を通じて、ほかのアプリケーションに証明書を容易にエクスポートできます。
.LP
.LP
-\f2\-importcert\fP ¤È \f2\-printcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¤³¤Î·Á¼°¤Î¾ÚÌÀ½ñ¤È¥Ð¥¤¥Ê¥êÉä¹æ²½¤Î¾ÚÌÀ½ñ¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+\f2\-importcert\fP コマンドと \f2\-printcert\fP コマンドでは、この形式の証明書とバイナリ符号化の証明書を読み込むことができます。
.LP
.LP
-\f2\-exportcert\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥¤¥Ê¥êÉä¹æ²½¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
-¤¿¤À¤·¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Î¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-exportcert\fP コマンドでは、デフォルトでバイナリ符号化の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。
.LP
.LP
-\f2\-list\fP ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¾ÚÌÀ½ñ¤Î MD5 ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¿Í´Ö¤¬Æɤळ¤È¤Î¤Ç¤¤ë·Á¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£°ìÊý¡¢\f2\-rfc\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢½ÐÎϲÄǽÉä¹æ²½Êý¼°¤Ç¾ÚÌÀ½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+\f2\-list\fP コマンドでは、デフォルトで証明書の MD5 フィンガープリントが出力されます。\f2\-v\fP オプションを指定すると、人間が読むことのできる形式で証明書が出力されます。 一方、\f2\-rfc\fP オプションを指定すると、出力可能符号化方式で証明書が出力されます。
.LP
.LP
-½ÐÎϲÄǽÉä¹æ²½Êý¼°¤ÇÉä¹æ²½¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¡¢¼¡¤Î¹Ô¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£
+出力可能符号化方式で符号化された証明書は、次の行で始まります。
.LP
.nf
\f3
@@ -1413,7 +1376,7 @@
.LP
.LP
-ºÇ¸å¤Ï¡¢¼¡¤Î¹Ô¤Ç½ª¤ï¤ê¤Þ¤¹¡£
+最後は、次の行で終わります。
.LP
.nf
\f3
@@ -1427,36 +1390,36 @@
.LP
.SS
-X.500 ¼±ÊÌ̾
+X.500 識別名
.LP
.RS 3
.LP
-X.500 ¼±ÊÌ̾¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢X.509 ¾ÚÌÀ½ñ¤Î \f2subject\fP ¥Õ¥£¡¼¥ë¥É¤È \f2issuer\fP (½ð̾¼Ô) ¥Õ¥£¡¼¥ë¥É¤Ç»ØÄꤵ¤ì¤ë̾Á°¤Ï¡¢X.500 ¼±ÊÌ̾¤Ç¤¹¡£\f3keytool\fP ¤Ï¡¢¼¡¤Î¥µ¥Ö¥Ñ¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
+X.500 識別名は、エンティティーを特定するために使われます。 たとえば、X.509 証明書の \f2subject\fP フィールドと \f2issuer\fP (署名者) フィールドで指定される名前は、X.500 識別名です。 \f3keytool\fP は、次のサブパートをサポートしています。
.RS 3
.TP 2
o
-\f2commonName\fP \- ¿Í¤ÎÄ̾Ρ£¡ÖSusan Jones¡×¤Ê¤É
+\f2commonName\fP \- 人の通称。 「Susan Jones」など
.TP 2
o
-\f2organizationUnit\fP \- ¾®¤µ¤ÊÁÈ¿¥ (Éô¡¢²Ý¤Ê¤É) ¤Î̾¾Î¡£¡Ö»ÅÆþÉô¡×¤Ê¤É
+\f2organizationUnit\fP \- 小さな組織 (部、課など) の名称。 「仕入部」など
.TP 2
o
-\f2organizationName\fP \- Â礤ÊÁÈ¿¥¤Î̾¾Î¡£¡ÖABCSystems, Inc.¡×¤Ê¤É
+\f2organizationName\fP \- 大きな組織の名称。 「ABCSystems, Inc.」など
.TP 2
o
-\f2localityName\fP \- ÃÏ°è (ÅÔ»Ô) ̾¡£¡ÖPalo Alto¡×¤Ê¤É
+\f2localityName\fP \- 地域 (都市) 名。 「Palo Alto」など
.TP 2
o
-\f2stateName\fP \- ½£Ì¾¤Þ¤¿¤ÏÃÏÊý̾¡£¡ÖCalifornia¡×¤Ê¤É
+\f2stateName\fP \- 州名または地方名。 「California」など
.TP 2
o
-\f2country\fP \- 2 ʸ»ú¤Î¹ñÈֹ档¡ÖCH¡×¤Ê¤É
+\f2country\fP \- 2 文字の国番号。 「CH」など
.RE
.LP
.LP
-\f2\-genkeypair\fP ¥³¥Þ¥ó¥É¤Î \f2\-dname\fP ¥ª¥×¥·¥ç¥ó¤ÎÃͤȤ·¤Æ¼±ÊÌ̾ʸ»úÎó¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢¼¡¤Î·Á¼°¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2\-genkeypair\fP コマンド の \f2\-dname\fP オプションの値として識別名文字列を指定する場合は、次の形式で指定する必要があります。
.LP
.nf
\f3
@@ -1468,7 +1431,7 @@
.LP
.LP
-¥¤¥¿¥ê¥Ã¥¯ÂΤιàÌܤϡ¢¼ÂºÝ¤Ë»ØÄꤹ¤ëÃͤòɽ¤·¤Þ¤¹¡£Ã»½Ì·Á¤Î¥¡¼¥ï¡¼¥É¤Î°ÕÌ£¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+イタリック体の項目は、実際に指定する値を表します。 短縮形のキーワードの意味は、次のとおりです。
.LP
.nf
\f3
@@ -1490,7 +1453,7 @@
.LP
.LP
-¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¼±ÊÌ̾ʸ»úÎó¤ÎÎã¤Ç¤¹¡£
+次に示すのは、識別名文字列の例です。
.LP
.nf
\f3
@@ -1501,7 +1464,7 @@
.fi
.LP
-¼¡¤Ï¡¢¤³¤Îʸ»úÎó¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¤ÎÎã¤Ç¤¹¡£
+次は、この文字列を使ったコマンドの例です。
.nf
\f3
.fl
@@ -1514,10 +1477,10 @@
.LP
.LP
-¥¡¼¥ï¡¼¥É¤Îû½Ì·Á¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢CN¡¢cn¡¢¤ª¤è¤Ó Cn ¤Ï¡¢¤É¤ì¤âƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
+キーワードの短縮形では、大文字と小文字は区別されません。たとえば、CN、cn、および Cn は、どれも同じものとして扱われます。
.LP
.LP
-°ìÊý¡¢¥¡¼¥ï¡¼¥É¤Î»ØÄê½ç½ø¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¾å¤Ë¼¨¤·¤¿½ç½ø¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤¹¤Ù¤Æ»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë°ìÉô¤Î¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤À¤±¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+一方、キーワードの指定順序には意味があり、各サブコンポーネントは上に示した順序で指定する必要があります。ただし、サブコンポーネントをすべて指定する必要はありません。たとえば、次のように一部のサブコンポーネントだけを指定できます。
.LP
.nf
\f3
@@ -1529,7 +1492,7 @@
.LP
.LP
-¼±ÊÌ̾ʸ»úÎó¤ÎÃͤ˥³¥ó¥Þ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Îʸ»úÎó¤ò»ØÄꤹ¤ë¤È¤¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+識別名文字列の値にコンマが含まれる場合に、コマンド行で文字列を指定するときには、次のようにコンマを文字 \\ でエスケープする必要があります。
.LP
.nf
\f3
@@ -1541,19 +1504,18 @@
.LP
.LP
-¼±ÊÌ̾ʸ»úÎó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼±ÊÌ̾¤òɬÍפȤ¹¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢¥³¥Þ¥ó¥É¹Ô¤Ç¼±ÊÌ̾¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢³Æ¥µ¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¥³¥ó¥Þ¤òʸ»ú \\ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+識別名文字列をコマンド行で指定する必要はありません。識別名を必要とするコマンドを実行するときに、コマンド行で識別名を指定しなかった場合は、各サブコンポーネントの入力を求められます。この場合は、コンマを文字 \\ でエスケープする必要はありません。
.LP
.RE
.SS
-¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à
+信頼できる証明書のインポートに関する注意事項
.LP
.RS 3
.LP
-½ÅÍ×: ¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤È¤·¤Æ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤò¿µ½Å¤ËÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
+重要:信頼できる証明書として証明書をインポートする前に、証明書の内容を慎重に調べてください。
.LP
-¤Þ¤º¡¢¾ÚÌÀ½ñ¤ÎÆâÍƤòɽ¼¨¤· (\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç \f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò»ÈÍÑ)¡¢É½¼¨¤µ¤ì¤¿¾ÚÌÀ½ñ¤Î¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬¡¢´üÂÔ¤µ¤ì¤ë¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È°ìÃפ¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥æ¡¼¥¶¤«¤é¾ÚÌÀ½ñ¤¬Á÷¤é¤ì¤Æ¤¤Æ¡¢¤³¤Î¾ÚÌÀ½ñ¤ò \f2/tmp/cert\fP ¤È¤¤¤¦Ì¾Á°¤Ç¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¤³¤Î¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢\f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤òɽ¼¨¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+まず、証明書の内容を表示し (\f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f2\-import\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。たとえば、あるユーザーから証明書が送られてきて、この証明書を \f2/tmp/cert\fP という名前でファイルに格納しているとします。この場合は、信頼できる証明書のリストにこの証明書を追加する前に、\f2\-printcert\fP コマンドを実行してフィンガープリントを表示できます。 たとえば、次のようにします。
.LP
.nf
\f3
@@ -1578,119 +1540,106 @@
.fi
.LP
-¼¡¤Ë¡¢¾ÚÌÀ½ñ¤òÁ÷¿®¤·¤¿¿Íʪ¤ËÏ¢Íí¤·¡¢¤³¤Î¿Íʪ¤¬Ä󼨤·¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¡¢¾å¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤¿¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤È¤òÈæ³Ó¤·¤Þ¤¹¡£¥Õ¥£¥ó¥¬¡¼¥×¥ê¥ó¥È¤¬°ìÃפ¹¤ì¤Ð¡¢Á÷¿®ÅÓÃæ¤Ç¤Û¤«¤Î²¿¼Ô¤« (¹¶·â¼Ô¤Ê¤É) ¤Ë¤è¤ë¾ÚÌÀ½ñ¤Î¤¹¤êÂؤ¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤Ç¤¤Þ¤¹¡£Á÷¿®ÅÓÃæ¤Ç¤³¤Î¼ï¤Î¹¶·â¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È¡¢¹¶·â¼Ô¤Ë¤è¤Ã¤Æ½ð̾¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¤â¤Î (¹¶·âŪ°Õ¿Þ¤ò»ý¤Ä¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤À JAR ¥Õ¥¡¥¤¥ë¤Ê¤É) ¤ò¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
+次に、証明書を送信した人物に連絡し、この人物が提示したフィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのもの (攻撃的意図を持つクラスファイルを含んだ JAR ファイルなど) を信頼することになります。
.LP
-Ãí: ¾ÚÌÀ½ñ¤ò¥¤¥ó¥Ý¡¼¥È¤¹¤ëÁ°¤Ëɬ¤º \f2\-printcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-\f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥¡¼¥¹¥È¥¢Æâ¤Î¿®Íê¤Ç¤¤ë¾ÚÌÀ½ñ¤Î¥ê¥¹¥È¤Ë¾ÚÌÀ½ñ¤òÄɲ乤ëÁ°¤Ë¡¢¾ÚÌÀ½ñ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢³Îǧ¤òµá¤á¤ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥Ý¡¼¥ÈÁàºî¤Ï¡¢¤³¤Î»þÅÀ¤ÇÃæ»ß¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢³Îǧ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ï¡¢\f2\-importcert\fP ¥³¥Þ¥ó¥É¤ò \f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤻ¤º¤Ë¼Â¹Ô¤·¤¿¾ì¹ç¤À¤±¤Ç¤¹¡£
-\f2\-noprompt\fP ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏäϹԤï¤ì¤Þ¤»¤ó¡£
+注:証明書をインポートする前に必ず \f2\-printcert\fP コマンドを実行しなければならないわけではありません。 キーストア内の信頼できる証明書のリストに証明書を追加する前に \f2\-importcert\fP コマンドを実行すると、証明書の情報が表示され、確認を求めるメッセージが表示されます。インポート操作は、この時点で中止できます。ただし、確認メッセージが表示されるのは、\f2\-importcert\fP コマンドを \f2\-noprompt\fP オプションを指定せずに実行した場合だけです。\f2\-noprompt\fP オプションが指定されている場合、ユーザーとの対話は行われません。
.LP
.RE
.SS
-¥Ñ¥¹¥ï¡¼¥É¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à
+パスワードに関する注意事項
.LP
.RS 3
.LP
.LP
-¥¡¼¥¹¥È¥¢¤ËÂФ¹¤ëÁàºî¤ò¹Ô¤¦¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬ÍפǤ¹¡£
-¤Þ¤¿¡¢°ìÉô¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢Èó¸ø³«/ÈëÌ©¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£
+キーストアに対する操作を行うほとんどのコマンドでは、ストアのパスワードが必要です。また、一部のコマンドでは、非公開/秘密鍵のパスワードが必要になることがあります。
.LP
.LP
-¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄê¤Ç¤¤Þ¤¹ (¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-storepass\fP ¥ª¥×¥·¥ç¥ó¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ë¤Ï \f2\-keypass\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡£¤¿¤À¤·¡¢¥Æ¥¹¥È¤òÌÜŪ¤È¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï°ÂÁ´¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç°Ê³°¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ä¥¹¥¯¥ê¥×¥È¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+パスワードはコマンド行で指定できます (ストアのパスワードには \f2\-storepass\fP オプション、非公開鍵のパスワードには \f2\-keypass\fP オプションを使用)。ただし、テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。
.LP
.LP
-ɬÍפʥѥ¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。
.LP
.RE
-.SH "´ØÏ¢¹àÌÜ"
+.SH "関連項目"
.LP
.LP
.RS 3
.TP 2
o
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html
-¤Î
-.na
-¡Ö\f2jar\fP¡×¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+.LP
+jar(1) ツールのドキュメント
.TP 2
o
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html
-¤Î
-.na
-¡Ö\f2jarsigner\fP¡×¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È
+.LP
+jarsigner(1) ツールのドキュメント
.TP 2
o
-\f3keytool\fP ¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/docs/books/tutorial/security/index.html
-¤Î
+.LP
+\f3keytool\fP の使用例については、
.na
-¡Ö\f4Java Tutorial\fP¡×¤Ë¤¢¤ë
+\f4「Java Tutorial」\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html
-¤Î
+http://java.sun.com/docs/books/tutorialの
.na
-¡Ö\f4Security\fP¡×¥È¥ì¡¼¥ë
+\f4「Security」\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/security/index.htmlを参照
.RE
.LP
-.SH "Êѹ¹ÅÀ"
+.SH "変更点"
.LP
.LP
.LP
-Java SE 6 ¤Ç keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿¡£
+Java SE 6 で keytool のコマンドインタフェースが変更されました。
.LP
.LP
-\f3keytool\fP ¤Ï¡¢¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ëºÝ¤Ë¤½¤ÎÆþÎÏÆâÍƤòɽ¼¨¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¥æ¡¼¥¶¤Ï¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ»þ¤Ë¤½¤ÎÆþÎÏÆâÍƤò³Îǧ¤Ç¤¤Ê¤¯¤Ê¤Ã¤¿¤¿¤á¡¢½é´ü¥¡¼¥¹¥È¥¢¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤ê¸°¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤äÊѹ¹¤ò¹Ô¤¦¤¿¤Ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤ÎºÆÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£
+\f3keytool\fP は、ユーザーがパスワードを入力する際にその入力内容を表示しなくなりました。ユーザーはパスワード入力時にその入力内容を確認できなくなったため、初期キーストアパスワードを設定したり鍵パスワードを変更したりするなど、パスワードの設定や変更を行うたびにパスワードの再入力を求められます。
.LP
.LP
-Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ÎÃæ¤Ë¤Ï¡¢Ì¾Á°¤¬Êѹ¹¤µ¤ì¤¿¤À¤±¤Î¤â¤Î¤â¤¢¤ì¤Ð¡¢Çѻߤµ¤ì¤Æ¤³¤Î¥É¥¥å¥á¥ó¥È¤ËµºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£°ÊÁ°¤Î¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É (̾Á°¤¬Êѹ¹¤µ¤ì¤¿¤â¤Î¤ÈÇѻߤµ¤ì¤¿¤â¤Î¤ÎξÊý) ¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Ç¤â°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤ª¤ê¡¢º£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£keytool ¤Î¥³¥Þ¥ó¥É¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë²Ã¤¨¤é¤ì¤¿¤¹¤Ù¤Æ¤ÎÊѹ¹ÅÀ¤Î³µÍפò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
+変更されたコマンドの中には、名前が変更されただけのものもあれば、廃止されてこのドキュメントに記載されなくなったものもあります。以前のすべてのコマンド (名前が変更されたものと廃止されたものの両方) は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。keytool のコマンドインタフェースに加えられたすべての変更点の概要を、次に示します。
.LP
.LP
-̾Á°¤¬Êѹ¹¤µ¤ì¤¿¥³¥Þ¥ó¥É:
+名前が変更されたコマンド:
.LP
.RS 3
.TP 2
o
-\f2\-export\fP ¤Î̾Á°¤¬ \f2\-exportcert\fP ¤ËÊѹ¹
+\f2\-export\fP の名前が \f2\-exportcert\fP に変更
.TP 2
o
-\f2\-genkey\fP ¤Î̾Á°¤¬ \f2\-genkeypair\fP ¤ËÊѹ¹
+\f2\-genkey\fP の名前が \f2\-genkeypair\fP に変更
.TP 2
o
-\f2\-import\fP ¤Î̾Á°¤¬ \f2\-importcert\fP ¤ËÊѹ¹
+\f2\-import\fP の名前が \f2\-importcert\fP に変更
.RE
.LP
.LP
-Çѻߤµ¤ì¤Æ¥É¥¥å¥á¥ó¥È¤ËµºÜ¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¥³¥Þ¥ó¥É:
+廃止されてドキュメントに記載されなくなったコマンド:
.LP
.RS 3
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#keycloneCmd
-¤Î
.na
-\f2\-keyclone\fP
+\f2\-keyclone\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#keycloneCmd
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#identitydbCmd
-¤Î
.na
-\f2\-identitydb\fP
+\f2\-identitydb\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#identitydbCmd
.TP 2
o
-.fi
-http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#selfcertCmd
-¤Î
.na
-\f2\-selfcert\fP
+\f2\-selfcert\fP @
+.fi
+http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#selfcertCmd
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1
index 7b65175..fbb3af8 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1
@@ -1,101 +1,83 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH native2ascii 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-native2ascii \- ¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤«¤é ASCII ¤Ø¤ÎÊÑ´¹
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B native2ascii
-[
-.B options
-]
-.if n .ti +5n
-[
-.IR inputfile " [" outputfile "]]"
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "native to ASCII converter" "" "native to ASCII converter \(em \fLnative2ascii\fP"
-.IX "native2ascii" "" "\fLnative2ascii\fP \(em native to ASCII converter"
-Java ¥³¥ó¥Ñ¥¤¥é¤Ê¤É¤Î
-Java
-¥Ä¡¼¥ë¤¬½èÍý¤Ç¤¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢
-Latin-1
-ʸ»ú¤â¤·¤¯¤Ï\^
-Unicode
-¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Ê¸»ú
-(\\udddd)
-¤«¤é¤Ê¤ë¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£
-.B native2ascii
-¤Ï¡¢Â¾¤Îʸ»ú¥³¡¼¥É¤Î¥Õ¥¡¥¤¥ë¤ò
-Latin-1
-¤Þ¤¿¤Ï
-Unicode
-¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£
-.LP
-.I outputfile
-°ú¿ô¤ò¾Êά¤¹¤ë¤È¡¢½ÐÎÏÀè¤Ïɸ½à½ÐÎϤȤʤê¤Þ¤¹¡£
-¤Þ¤¿¡¢
-.I inputfile
-°ú¿ô¤ò¾Êά¤¹¤ë¤È¡¢ÆþÎϸµ¤Ïɸ½àÆþÎϤȤʤê¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ¤Þ¤¹¡£
-.TP 5
-.B \-encoding \f2encoding_name\f1
-ÊÑ´¹½èÍý¤ÇÍѤ¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ì¾¤Ï¡¢¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Î
-\f3file.encoding\f1
-¤«¤éÆÀ¤é¤ì¤Þ¤¹¡£
-.I encoding_name
-ʸ»úÎó¤Ï¡¢¥É¥¥å¥á¥ó¥È¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¡×¤Î¡¢
-¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Îɽ¤ÇºÇ½é¤ÎÎó¤Ë¤¢¤ëʸ»úÎó¤Î 1 ¤Ä¤Ç¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
-.br
-http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html
-.\" http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html
-.TP 5
-.B \-reverse
-µÕ¤ÎÊÑ´¹½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê
-Latin-1
-¤Þ¤¿¤Ï
-Unicode
-¤Ç¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤µ¤ì¤Æ¤¤¤ëʸ»ú¤ò¡¢¥Í¥¤¥Æ¥£¥Ö¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à java(1) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-.B \-J
-¤¬´ðËܤȤʤ벾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
+." Copyright 2002-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH native2ascii 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.LP
+.SH "名前"
+native2ascii \- ネイティブ \- ASCII コンバータ
+.LP
+.RS 3
+
+.LP
+.LP
+ネイティブコード (Latin 1 および Unicode 以外) のファイルを Unicode コードに変換します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP
+.fl
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+Java コンパイラおよびその他の Java ツールは、Latin\-1 または Unicode コード (\\udddd 表記) 文字を含んだファイルだけを処理することができます。 \f2native2ascii\fP は、これら以外の文字コードのファイルを Latin\-1 または Unicode コードのファイルに変換します。
+.LP
+.LP
+\f2outputfile\fP を省略した場合、標準出力に出力されます。さらに、\f2inputfile\fP を省略した場合、標準入力から入力されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-reverse
+逆の処理を行います。つまり、Latin\-1 または Unicode コードのファイルをネイティブコードに変換します。
+.br
+.br
+.TP 3
+\-encoding encoding_name
+変換処理で使用するコードの名前を指定します。デフォルトのコードは、システムプロパティーの \f2file.encoding\fP から取得されます。\f2encoding_name\fP 文字列は、
+.na
+\f4「サポートされているエンコーディング」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlドキュメントに示されている、サポートされるエンコーディングの表の最初の列から取得される必要があります。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1
index 5233b61..e85809b 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1
@@ -1,40 +1,46 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH orbd 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-orbd - Object Request Broker ¥Ç¡¼¥â¥ó
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH orbd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B orbd
-¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ CORBA ´Ä¶Æâ¤Î¥µ¡¼¥Ð¡¼¾å¤Ë¸ºß¤¹¤ë
-»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤ËÆÃÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£
+.SH "名前"
+orbd \- The Object Request Broker Daemon
.LP
-\f3´ØÏ¢¹àÌÜ:\fP
+.RS 3
+
+.LP
+.LP
+\f3orbd\fP は、クライアントから CORBA 環境のサーバーにある持続オブジェクトを透過的に検索して呼び出すために使用します。
+.LP
+.LP
+\f3関連項目:\fP
.na
-\f2¡ÖNaming Service¡×\fP
+\f2ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html)
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.LP
-.SH "·Á¼°"
+.RE
+.SH "形式"
.LP
.LP
@@ -47,86 +53,118 @@
.fi
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-\f3orbd\fP ¥Ä¡¼¥ë¤ò´Þ¤à¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ CORBA ´Ä¶Æâ¤Î¥µ¡¼¥Ð¡¼¾å¤Ë¸ºß¤¹¤ë»ý³¥ª¥Ö¥¸¥§¥¯¥È¤òÆ©²áŪ¤ËÆÃÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£»ý³¥µ¡¼¥Ð¡¼¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Î»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òȯ¹Ô¤¹¤ë°ìÊý¤Ç¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾ÈÆâ¤Ë¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤Ï¤Ê¤¯ ORBD ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤òÁȤ߹þ¤ß¤Þ¤¹¡£»ý³¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Î¤¿¤á¤Ë¥ª¥Ö¥¸¥§¥¯¥È»²¾ÈÆâ¤Ë ORBD ¥Ý¡¼¥ÈÈÖ¹æ¤òÁȤ߹þ¤à¤È¡¢°Ê²¼¤ÎÍøÅÀ¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3orbd\fP ツールに含まれるサーバーマネージャーを使うと、クライアントは CORBA 環境でサーバー上にある持続オブジェクトを透過的に検索して呼び出すことができます。持続サーバーは、ネームサービスに持続オブジェクト参照を発行する際、サーバーのポート番号の代わりに OBRD のポート番号をオブジェクト参照に含めます。持続オブジェクト参照のオブジェクト参照に ORBD ポート番号を含めることには、次のような利点があります。
.LP
.RS 3
.TP 2
-*
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤È¤Ï̵´Ø·¸¤Ë°Ý»ý¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï¥µ¡¼¥Ð¡¼¤ÎºÇ½é¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Ç¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æȯ¹Ô¤µ¤ì¡¢¤½¤Î¸å¤Ï²¿ÅÙ¥µ¡¼¥Ð¡¼¤Îµ¯Æ°¤Þ¤¿¤ÏÄä»ß¤¬¹Ô¤ï¤ì¤Æ¤â ORBD ¤Ï¾ï¤Ë¸Æ¤Ó½Ð¤·Â¦¤Î¥¯¥é¥¤¥¢¥ó¥È¤ËÀµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤òÊÖ¤·¤Þ¤¹¡£
+o
+ネームサービスにあるオブジェクト参照が、サーバーのライフタイムと無関係になる。オブジェクト参照は、始めてインストールされたときはネームサービスのサーバーによりネームサービスに発行されますが、その後は、サーバーの開始またはシャットダウンの回数にかかわらず、ORBD がいつでも呼び出したクライアントに正しいオブジェクト参照を返します。
.TP 2
-*
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹Æâ¤Ç¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò 1 ÅÙ³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¡¢¥µ¡¼¥Ð¡¼¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤¬¸¶°ø¤Çµ¯¤¤ëÊѹ¹¤Ë´Ø·¸¤Ê¤¯¤³¤Î»²¾È¤ò·«¤êÊÖ¤·»ÈÍѤǤ¤Þ¤¹¡£
+o
+クライアントは一度だけネーミングサービスのオブジェクト参照をルックアップする必要があるが、その後はサーバーのライフタイムによる変更とは無関係にこの参照を利用することができる
.RE
.LP
.LP
-ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã\fP¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥É¥¥å¥á¥ó¥È¤Î¡Ö¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¡×¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ORBD のサーバーマネージャーにアクセスするには、servertool(1) を使用してサーバーを起動する必要があります。 servertool は、アプリケーションプログラマが、持続サーバーの登録、登録解除、起動、およびシャットダウンを行うためのコマンド行インタフェースです。サーバーマネージャーの詳細については、このドキュメントの\f2「サーバーマネージャー」\fPを参照してください。
.LP
.LP
-\f2orbd\fP ¤Îµ¯Æ°»þ¤Ë¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤âµ¯Æ°¤µ¤ì¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+\f2orbd\fP を起動すると、ネームサービスも起動されます。ネームサービスについては、
.na
-¡Ö\f2Naming Service\fP¡×
+\f2「ネームサービス」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlを参照してください。
.LP
-.SH ɬ¿Ü¥ª¥×¥·¥ç¥ó
+.SH "オプション"
+.LP
+.SS
+必須オプション
+.LP
+.RS 3
+.TP 3
+\-ORBInitialPort nameserverport
+ネームサーバーを起動するポートの番号を指定します。\f2orbd\fP は、起動されると、このポート上で着信要求を待機します。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。 (必須)
+.RE
+
+.LP
.LP
.LP
+.SS
+その他のオプション
+.LP
+.RS 3
.TP 3
-\-ORBInitialPort nameserverport
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¸å¤Ë \f2orbd\fP ¤Ï¤³¤Î¥Ý¡¼¥È¤ÇÃå¿®Í×µá¤òÂÔµ¡¤·¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£ (ɬ¿Ü)
-.LP
-.SH ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó
-.LP
+\-port port
+ORBD を起動するポートを指定します。 ORBD は、このポートで、持続オブジェクトに対する要求を受け取ります。このポートのデフォルト値は 1049 です。 このポート番号は持続 Interoperable Object References (IOR) のポートフィールドに追加されます。(省略可)
+.RE
.LP
+.RS 3
.TP 3
-\-port port
-ORBD ¤ò³«»Ï¤¹¤ëµ¯Æ°¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£ORBD ¤Ï¤³¤Î¥Ý¡¼¥È¤Ç¡¢»ý³¥ª¥Ö¥¸¥§¥¯¥È¤ÎÍ×µá¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¤³¤Î¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1049 ¤Ç¤¹¡£¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ï¡¢»ý³ Interoperable Object References (IOR) ¤Î¥Ý¡¼¥È¥Õ¥£¡¼¥ë¥É¤ËÄɲ䵤ì¤Þ¤¹¡£(¾Êά²Äǽ)
+\-defaultdb directory
+ORBD 持続格納ディレクトリ \f2orb.db\fP が作成されるベースディレクトリを指定します。このオプションが指定されていない場合、デフォルト値は「./orb.db」となります。(省略可)
+.RE
+
+.LP
+.RS 3
.TP 3
-\-defaultdb directory
-ORBD »ý³¥¹¥È¥ì¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë \f2orb.db\fP ¤¬ºîÀ®¤µ¤ì¤ë¥Ù¡¼¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï "./orb.db" ¤Ç¤¹¡£(¾Êά²Äǽ)
-.TP 3
-\-serverPollingTime milliseconds
-\f2servertool\fP ·Ðͳ¤ÇÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤Î·òÁ´À¤ò ORBD ¤¬¸¡ºº¤¹¤ëÉÑÅÙ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉà (1 ÉÃ) ¤Ç¤¹¡£\f2milliseconds\fP ¤Ë»ØÄꤵ¤ì¤ëÃͤϡ¢Í¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¾Êά²Äǽ)¡£
+\-serverPollingTime milliseconds
+\f2servertool\fP を使用して登録された持続サーバーが正常に動作していることを ORBD が確認する回数を指定します。デフォルト値は 1,000 ミリ秒です。 「ミリ秒」の指定値は有効な整数値である必要があります。(省略可)
+.RE
+
+.LP
+.RS 3
.TP 3
\-serverStartupDelay milliseconds
-\f2servertool\fP ·Ðͳ¤ÇÅÐÏ¿¤µ¤ì¤¿»ý³¥µ¡¼¥Ð¡¼¤¬ºÆµ¯Æ°¤µ¤ì¤Æ¤«¤é ORBD ¤¬¥í¥±¡¼¥·¥ç¥óžÁ÷Îã³°¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î¡¢ORBD ¤ÎÂÔµ¡»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1,000 ¥ß¥êÉà (1 ÉÃ) ¤Ç¤¹¡£\f2milliseconds\fP ¤Ë»ØÄꤵ¤ì¤ëÃͤϡ¢Í¸ú¤ÊÀµ¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¾Êά²Äǽ)¡£
-.TP 3
-\-Joption
-\f2option\fP ¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2option\fP ¤Ï¡¢¡Ö\f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£\f3\-J\fP ¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.LP
-.SH ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß
-.LP
-.LP
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Ì¾Á°¤ò¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¡Ö\f2CORBA objects\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object) ¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë CORBA ¥µ¡¼¥Ó¥¹¤Ç¤¹¡£¡Ö\f2name binding\fP¡×
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding) ¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ËÊݸ¤Ç¤¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï̾Á°¤ò»ØÄꤷ¤Æ¡¢ÌÜŪ¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç¤¤Þ¤¹¡£
-.LP
-.LP
-¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ORBD ¤ò³«»Ï¤·¤Þ¤¹¡£ORBD ¤Ë¤Ï¡¢»ý³¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤È°ì»þ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÏξÊý¤È¤â COS ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ç¤¹¡£
-.LP
-.RS 3
-.TP 2
-*
-\f4»ý³\fP\f3¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹\fP¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ë»ý³À¤òÄ󶡤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¤³¤Î¾ðÊó¤Ï¥µ¡¼¥Ó¥¹¤ÎÄä»ß¤Èµ¯Æ°¤Î´Ö¤Ç»ý³¤·¡¢¥µ¡¼¥Ó¥¹¤Ë¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë²óÉü²Äǽ¤Ç¤¹¡£ORBD ¤¬ºÆµ¯Æ°¤µ¤ì¤ë¤È¡¢»ý³¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Ï¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¥°¥é¥Õ¤òÉü¸µ¤¹¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î̾Á°¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï»½ý¤ò¼õ¤±¤Þ¤»¤ó (»ý³¤¹¤ë)¡£
-.TP 2
-*
-°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹À¤Î¤¿¤á¡¢\f2tnameserv\fP (°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î JDK ¤È°ì½ï¤Ë½Ð²Ù¤µ¤ì¤¿\f4°ì»þ\fP\f3¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹\fP) ¤â¤³¤Î¥ê¥ê¡¼¥¹¤Î J2SE ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£°ì»þ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¸Â¤ê¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ÏÊÝ»ý¤µ¤ì¤Þ¤¹¡£¥µ¡¼¥Ó¥¹¤¬ÃæÃǤµ¤ì¤¿¾ì¹ç¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¥°¥é¥Õ¤Ï¼º¤ï¤ì¤Þ¤¹¡£
+\f2servertool\fP を使用して登録された持続サーバーを再起動してから、位置転送の例外を送信するまでの ORBD の待機時間を指定します。デフォルト値は 1,000 ミリ秒です。 「ミリ秒」の指定値は有効な整数値である必要があります。(省略可)
.RE
.LP
+.RS 3
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.TP 3
+
+.RE
+
.LP
-\f2\-ORBInitialPort\fP °ú¿ô¤Ï¡¢\f2orbd\fP ¤Ëɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤ÎÀßÄê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£°Ê²¼¤ÎÀâÌÀ¤Ï¡¢Java\ IDL Object Request Broker Daemon ¤Ë¥Ý¡¼¥È 1050 ¤ò»ÈÍѤǤ¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£É¬Íפʾì¹ç¤Ï¡¢Ê̤Υݡ¼¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+.SH "ネームサービスの起動と停止"
.LP
.LP
-UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤é \f2orbd\fP ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+ネームサービスは、
+.na
+\f2CORBA オブジェクト\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20objectにネーミングを可能にする CORBA サービスです。 ネーミングは名前をオブジェクト参照にバインドすることにより可能になります。
+.na
+\f2「ネームバインディング」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20bindingはネームサービスに格納され、クライアントは名前を与えて目的のオブジェクト参照を取得できます。
+.LP
+.LP
+ORBD は、クライアントまたはサーバーを実行する前に起動します。ORBD には、持続ネームサービスおよび一時ネームサービスが組み込まれています。 これらはどちらも COS ネームサービスの実装です。
+.LP
+.LP
+\f3「持続」ネームサービス\fPは、ネーミングコンテキストに対して持続性を提供します。つまり、この情報は、サービスの停止や起動後にも維持され、サービスに障害が発生した場合でも回復できます。ORBD を再起動すると、持続ネームサービスはネーミングコンテキストのグラフを復元し、すべてのクライアントとサーバーの名前のバインディングが保持されます。
+.LP
+.LP
+\
+.LP
+.LP
+下位互換性のため、旧バージョンの JDK に同梱されていた\f3一時ネームサービス\fPが、今回のリリースの J2SE にも同梱されています。一時ネームサービスでは、ネームサービスの実行中にのみネーミングコンテキストが保持されます。サービスが中断されると、ネーミングコンテキストは失われます。
+.LP
+.LP
+\f2\-ORBInitialPort\fP 引数は、\f2orbd\fP の必須のコマンド行引数で、ネームサービスが実行されるポートの番号を設定するために使われます。以下の説明では、Java\ IDL Object Request Broker Daemon 用にポート 1050 を使用できることを前提としています。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.LP
+UNIX コマンドシェルで \f2orbd\fP を起動するには、次のように入力します。
.LP
.nf
\f3
@@ -138,7 +176,7 @@
.LP
.LP
-MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È (Windows) ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
.LP
.nf
\f3
@@ -150,7 +188,7 @@
.LP
.LP
-ORBD ¤Î¼Â¹Ô¸å¤Ë¡¢¥µ¡¼¥Ð¡¼¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈÈÖ¹æ (¤ª¤è¤Ó³ºÅö¤¹¤ë¾ì¹ç¤Ï¡¢¥Þ¥·¥ó̾) ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ëǧ¼±¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ëÊýË¡¤Î 1 ¤Ä¤È¤·¤Æ¡¢¼¡¤Î¥³¡¼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
+これで ORBD が実行され、サーバーとクライアントのアプリケーションを実行できるようになります。クライアントとサーバーのアプリケーションは、実行時に、ネームサービスが実行されているポートの番号 (必要な場合はさらにマシン名) を認識している必要があります。これを実現する 1 つの方法は、次のコードをアプリケーションに追加することです。
.LP
.nf
\f3
@@ -168,7 +206,7 @@
.LP
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Ï¥Û¥¹¥È¡ÖMyHost¡×¤Î¥Ý¡¼¥È 1050 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥µ¡¼¥Ð¡¼¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô»þ¤Ë¥³¥Þ¥ó¥É¹Ô¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Þ¤¿¤Ï¥Þ¥·¥ó̾¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¡ÖHelloApplication¡×¤ò¼¡¤Î¥³¥Þ¥ó¥É¹Ô¤Çµ¯Æ°¤·¤Þ¤¹¡£
+この例では、ネームサービスは、ホスト MyHost のポート 1050 上で実行されます。別の方法として、コマンド行からサーバーまたはクライアントのアプリケーションを実行するときに、ポート番号またはマシン名あるいはその両方を指定する方法もあります。たとえば、次のコマンド行オプションを使用して、「HelloApplication」を起動できます。
.LP
.nf
\f3
@@ -180,31 +218,39 @@
.LP
.LP
-¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢³ºÅö¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹ (Solaris ¤Ç¤Î \f2pkill orbd\fP¡¢¤Þ¤¿¤Ï \f2orbd\fP ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë DOS ¥¦¥£¥ó¥É¥¦¤Ç¤Î \f2Ctrl+C\fP ¤Ê¤É)¡£°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¾ì¹ç¡¢¥µ¡¼¥Ó¥¹¤¬½ªÎ»¤¹¤ë¤È¡¢¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤¬¾Ã¼º¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£Java IDL ¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤ÏÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
+ネームサービスを停止するには、適切なオペレーティングシステムコマンドを使用します。 たとえば、Solaris では \f2pkill orbd\fP を使用し、\f2orbd\fP が実行されている DOS ウィンドウでは \f2Ctrl+C\fP キーを使用します。一時ネームサービスの場合は、サービスが終了されると、ネームサービスに登録された名前が消去される場合があります。Java IDL ネームサービスは、明示的に停止されるまで実行されます。
.LP
-ORBD ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Í¡¼¥ß¥ó¥°¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö\f2Naming Service\fP¡×
+.LP
+ORDB に含まれるネームサービスの詳細については、
+.na
+\f2「ネームサービス」\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlを参照してください。
.LP
-.SH ¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã
+.SH "サーバーマネージャー"
.LP
.LP
-ORBD ¤Î¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Ë¥¢¥¯¥»¥¹¤·¤Æ»ý³¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f2servertool\fP ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¡¼¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£\f2servertool\fP ¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¾ì¹ç¡¢\f2orbd\fP ¤ÈƱ¤¸¥Û¥¹¥È¤ª¤è¤Ó¥Ý¡¼¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°Û¤Ê¤ë¥Ý¡¼¥È¤Ç¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤µ¤ì¤¿¾ì¹ç¡¢¥í¡¼¥«¥ë¥³¥ó¥Æ¥¥¹¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤Ï̵¸ú¤Ë¤Ê¤ê¡¢¥µ¡¼¥Ó¥¹¤ÏÀµ¾ï¤Ëµ¡Ç½¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
+ORBD のサーバーマネージャーにアクセスして持続サーバーを実行するには、servertool(1) を使用してサーバーを起動する必要があります。 servertool は、アプリケーションプログラマが、持続サーバーの登録、登録解除、起動、およびシャットダウンを行うためのコマンド行インタフェースです。servertool を使用してサーバーを起動する場合は、\f2orbd\fP が実行されている場所と同じポートとホストで起動する必要があります。サーバーを異なるポートで実行すると、ローカルコンテキスト用にデータベースに保存されている情報が無効になり、サービスが正しく動作しません。
.LP
-.SS
-¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã: Îã
+.SS
+サーバーマネージャー:例
.LP
.LP
-¥Ç¥âÍѤΥµ¥ó¥×¥ë¥Á¥å¡¼¥È¥ê¥¢¥ë
+デモ用の
+.na
+\f2サンプルチュートリアル\fP @
.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html) ¤ò»È¤Ã¤Æ¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤È \f2javac\fP ¥³¥ó¥Ñ¥¤¥é¤ò¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.htmlを使用し、チュートリアルの手順に従って、\f2idlj\fP コンパイラと \f2javac\fP コンパイラを実行します。サーバーマネージャーを実行するには、次の手順に従ってアプリケーションを実行します。
.LP
-.RS 3
-.TP 3
-1.
-orbd ¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-\f2orbd\fP ¤ò UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+\f2orbd\fP を起動します。
+.LP
+.LP
+UNIX コマンドシェルで \f2orbd\fP を起動するには、次のように入力します。
+.LP
+.LP
+\
+.LP
.nf
\f3
.fl
@@ -212,8 +258,11 @@
.fl
\fP
.fi
+
.LP
-MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È (Windows) ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+.LP
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
+.LP
.nf
\f3
.fl
@@ -221,13 +270,17 @@
.fl
\fP
.fi
+
.LP
-\f21050\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£\f2\-ORBInitialPort\fP ¤Ïɬ¿Ü¤Î¥³¥Þ¥ó¥É¹Ô°ú¿ô¤Ç¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥ë¡¼¥È¤«¤é 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£
-.TP 3
-2.
-\f2servertool\fP ¤òµ¯Æ°¤·¤Þ¤¹¡£
.LP
-Hello ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+\f21050\fP はネームサーバーを実行するポートです。\f2\-ORBInitialPort\fP は必要なコマンド行の引数です。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.LP
+\f2servertool\fP を起動します。
+.LP
+.LP
+Hello サーバーを起動するには、次のように入力します。
+.LP
.nf
\f3
.fl
@@ -235,26 +288,43 @@
.fl
\fP
.fi
+
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È¤¬Á°¤Î¼ê½ç¤Ç»ÈÍѤ·¤¿¥Ý¡¼¥È (¤¿¤È¤¨¤Ð¡¢\f2\-ORBInitialPort 1050\fP) ¤ÈƱ¤¸¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£\f2servertool\fP ¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
-\f2servertool\fP ¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP 3
-3.
-Hello ¥µ¡¼¥Ð¡¼¤ò \f2servertool\fP ¥×¥í¥ó¥×¥È¤«¤éµ¯Æ°¤·¤Þ¤¹¡£
+前回の手順と同様にネームサーバー (\f2orbd\fP) のポートを指定します。 たとえば \f2\-ORBInitialPort 1050\fP のようになります。\f2servertool\fP は、ネームサーバーと同じポート上で起動する必要があります。
+.LP
+.LP
+\f2servertool\fP コマンド行インタフェースが表示されます。
+.LP
+.LP
+
+.LP
+.LP
+\f2servertool\fP プロンプトから Hello サーバーを起動します。
+.LP
.nf
\f3
.fl
- servertool > register \-server HelloServer \-classpath .
- \-applicationName HelloServerApName
+ servertool > register \-server HelloServer \-classpath . \-applicationName
+.fl
+ HelloServerApName
.fl
\fP
.fi
+
.LP
-\f2servertool\fP ¤Ï¡¢¤³¤Î¥µ¡¼¥Ð¡¼¤òÅÐÏ¿¤·¡¢¤½¤ì¤Ë¡ÖHelloServerApName¡×¤È¤¤¤¦Ì¾Á°¤ò³ä¤êÅö¤Æ¡¢¤½¤Î¥µ¡¼¥Ð¡¼ ID ¤ÈÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¡¼¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-4.
-¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÊ̤Υ¿¡¼¥ß¥Ê¥ë¥¦¥£¥ó¥É¥¦¤Þ¤¿¤Ï¥×¥í¥ó¥×¥È¤«¤é¼Â¹Ô¤·¤Þ¤¹¡£
+.LP
+\f2servertool\fP によってサーバーが登録されて、「HelloServerApName」という名前がサーバーに割り当てられ、サーバー ID が表示されます。
+.LP
+.LP
+
+.LP
+.LP
+別の端末ウィンドウまたはプロンプトからクライアントアプリケーションを実行します。
+.LP
+.LP
+\
+.LP
.nf
\f3
.fl
@@ -262,32 +332,42 @@
.fl
\fP
.fi
-.LP
-¤³¤ÎÎã¤Î¾ì¹ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï Hello ¥¯¥é¥¤¥¢¥ó¥È¤ÈƱ¤¸¥Û¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢\f2\-ORBInitialHost localhost\fP ¤ò¾Ê¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬Ê̤Υۥ¹¥È¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2\-ORBInitialHost\fP \f2nameserverhost\fP ¤ò»ÈÍѤ·¤Æ IDL ¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-.LP
-Á°¤Î¼ê½ç¤ÈƱÍͤˡ¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤Î¥Ý¡¼¥È (¤¿¤È¤¨¤Ð¡¢\f2\-ORBInitialPort 1050\fP) ¤ò»ØÄꤷ¤Þ¤¹¡£
-.TP 3
-5.
-¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¼Â¸³¤¬½ªÎ»¤·¤¿¤é¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼ (\f2orbd\fP) ¤È \f2servertool\fP ¤òɬ¤ºÄä»ß (½ªÎ») ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-\f2orbd\fP ¤ò DOS ¥×¥í¥ó¥×¥È¤«¤éÄä»ß¤¹¤ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¡¢\f2Ctrl+C\fP ¤ò²¡¤·¤ÆÄä»ß¤·¤Þ¤¹¡£\f2orbd\fP ¤ò UNIX ¥·¥§¥ë¤«¤éÄä»ß¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥»¥¹¤ò¸¡º÷¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£¥µ¡¼¥Ð¡¼¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Çµ¯Æ°¤ò°ú¤Â³¤ÂÔµ¡¤·¤Þ¤¹¡£
-.LP
-\f2servertool\fP ¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢\f2quit\fP ¤ÈÆþÎϤ·¡¢¥¡¼¥Ü¡¼¥É¤Î \f2Enter\fP ¥¡¼¤ò²¡¤·¤Þ¤¹¡£
-.RE
.LP
-.SH ´ØÏ¢¹àÌÜ
+.LP
+この例の \f2\-ORBInitialHost localhost\fP は省略することができます。 ネームサーバーが Hello クライアントとして同一ホスト上で動作しているからです。ネームサーバーが別のホストで動作している場合は、IDL ネームサーバーが動作しているホストを \f2\-ORBInitialHost\fP \f2nameserverhost\fP で指定します。
+.LP
+.LP
+前回の手順と同様にネームサーバー (\f2orbd\fP) のポートを指定します。 たとえば \f2\-ORBInitialPort 1050\fP のようになります。
+.LP
+.LP
+\
+.LP
+.LP
+\
+.LP
+.LP
+サーバーマネージャーの操作が終了したら、ネームサーバー (\f2orbd\fP) と \f2servertool\fP を停止するか終了してください。
+.LP
+.LP
+DOS プロンプトで \f2orbd\fP をシャットダウンするには、サーバーを実行しているウィンドウを選択して \f2Ctrl+C\fP と入力します。UNIX シェルで \f2orbd\fP をシャットダウンするには、プロセスを検出して終了 (kill) します。サーバーを明示的に停止するまでは、呼び出し待機状態が続きます。
+.LP
+.LP
+\f2servertool\fP をシャットダウンするには、\f2quit\fP と入力し、キーボードの \f2Enter\fP キーを押します。
+.LP
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-¡Ö\f2Naming Service\fP¡×
+o
+.na
+\f2ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html)
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.br
.TP 2
-*
-servertool
+o
+servertool(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1
index 4d106f9..69d71f0 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1
@@ -1,90 +1,121 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH pack200 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë
-.SH ·Á¼°
-.B pack200
-[
-.I options
-]
-.I output\-file
-.I JAR\-file
-.SH
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Þ¤¿¤Ï properties ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH pack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+pack200 \- JAR パックツール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+終了ステータス
+.TP 2
+o
+関連項目
+.TP 2
+o
+説明
+.RE
+
+.LP
+.SH "形式"
+.LP
+
+.LP
+.LP
+\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP
+.LP
+.LP
+オプションの指定順序に決まりはありません。コマンド行または properties ファイルに指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。
.LP
.RS 3
-.JP
+.LP
+.RS 3
.TP 3
options
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
+コマンド行オプション。
.TP 3
-output\-file
-½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£
+output\-file
+出力ファイルの名前。
.TP 3
-JAR\-file
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£
+JAR\-file
+入力ファイルの名前。
+.RE
+
.LP
.RE
-.SH µ¡Ç½ÀâÌÀ
+.SH " 説明"
.LP
.LP
.LP
-\f2pack200\fP ¥Ä¡¼¥ë¤Ï¡¢Java \f2gzip\fP °µ½Ì¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì \f2pack200\fP ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£\f2pack200\fP ¥Õ¥¡¥¤¥ë¤Ï¹â°µ½Ì¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢ÂÓ°èÉý¤ÎÀáÌó¤ä¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤Îû½Ì¤äľÀÜÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
+\f2pack200\fP ツールは、Java \f2gzip\fP 圧縮プログラムを使用して、JAR ファイルを \f2pack200\fP 圧縮ファイルに変換する Java アプリケーションです。\f2pack200\fP ファイルは高圧縮のファイルで、帯域幅の節約やダウンロード時間の短縮や直接配備することができます。
.LP
-\f2pack200\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢°µ½Ì¥¨¥ó¥¸¥ó¤ÎÀßÄê¤äÈùÄ´À°¤ò¹Ô¤¦¥ª¥×¥·¥ç¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.TP
-°ìÈÌŪ¤Ê»ÈÍÑÊýË¡:
.LP
-.ft 3
-.nf
+\f2pack200\fP ツールには、圧縮エンジンの設定や微調整を行うオプションが用意されています。
+.LP
+.SS
+一般的な使用方法:
+.LP
+.RS 3
+
+.LP
+.LP
\f2% pack200 myarchive.pack.gz myarchive.jar\fP
-.fi
-.ft 1
.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î \f2pack200\fP ÀßÄê¤Ç¡¢\f2myarchive.pack.gz\fP ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
+.RE
.LP
-.SH ¥ª¥×¥·¥ç¥ó
+この例では、デフォルトの \f2pack200\fP 設定で、\f2myarchive.pack.gz\fP が作成されます。
+.LP
+.SH "オプション"
.LP
.LP
-.LP
+.LP
\f4\-r \-\-repack\fP
.LP
.RS 3
.LP
.LP
-\f2myarchive.jar\fP ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥¯¤Þ¤¿¤Ï¥¢¥ó¥Ñ¥Ã¥¯¤Ë¤è¤ê¡¢JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¡¢\f2jarsigner(1)\fP ¥Ä¡¼¥ë¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£
+\f2myarchive.jar\fP ファイルをパックした後にアンパックすることにより、JAR ファイルを生成します。生成されたファイルは、\f2jarsigner(1)\fP ツールの入力ファイルとして使用できます。
.LP
.RS 3
.LP
.LP
-\f2% pack200 \-\-repack myarchive\-packed.jar myarchive.jar\fP
+\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP
.LP
.LP
\f2% pack200 \-\-repack myarchive.jar\fP
@@ -98,7 +129,7 @@
.LP
.LP
-\f2pack200\fP ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢Å¬Àڤʰµ½Ì¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Âбþ¤¹¤ë°µ½Ì²ò½ü¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+\f2pack200\fP ファイルを生成します。このオプションを指定するときは、適切な圧縮ツールを使用する必要があります。 また、ターゲットシステムでは、対応する圧縮解除ツールを使用する必要があります。
.LP
.RS 3
@@ -109,13 +140,13 @@
.RE
.RE
.LP
-\f4\-G \-\-strip-debug\fP
+\f4\-G \-\-strip\-debug\fP
.LP
.RS 3
.LP
.LP
-½ÐÎϤ«¤é¥Ç¥Ð¥Ã¥°ÍѤΰÀ¤òºï½ü¤·¤Þ¤¹¡£ÂоݤȤʤë°À¤Ë¤Ï¡¢\f2SourceFile\fP¡¢\f2LineNumberTable\fP¡¢\f2LocalVariableTable\fP¡¢¤ª¤è¤Ó \f2LocalVariableTypeTable\fP ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î°À¤òºï½ü¤¹¤ì¤Ð¡¢¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤Îµ¡Ç½¤ÏÀ©¸Â¤µ¤ì¤Þ¤¹¡£
+出力からデバッグ用の属性を削除します。対象となる属性には、\f2SourceFile\fP、\f2LineNumberTable\fP、\f2LocalVariableTable\fP、および \f2LocalVariableTypeTable\fP などがあります。これらの属性を削除すれば、ダウンロードとインストールのサイズは小さくなりますが、デバッガの機能は制限されます。
.LP
.RE
.LP
@@ -125,7 +156,7 @@
.LP
.LP
-¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍ×ÁǤòʤÙÂؤ¨¤ÆžÁ÷¤·¤Þ¤¹¡£¤Þ¤¿¡¢JAR ¥Ç¥£¥ì¥¯¥È¥ê̾¤òºï½ü¤·¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥À¥¦¥ó¥í¡¼¥É¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤Ï¤¸¤á¤È¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤ÎºÇŬ²½µ¡Ç½¤ÏÀµ¾ï¤ËÆ°ºî¤·¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+パックツールは、すべての要素を並べ替えて転送します。また、JAR ディレクトリ名を削除します。このため、ダウンロードのサイズは小さくなりますが、インデックスをはじめとする JAR ファイルの最適化機能は正常に動作しなくなることがあります。
.LP
.RE
.LP
@@ -135,16 +166,18 @@
.LP
.LP
-³Æ¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤Îͽ¬¥¿¡¼¥²¥Ã¥È¥µ¥¤¥º N (¥Ð¥¤¥È) ¤ò»ØÄꤷ¤Þ¤¹¡£N ¥Ð¥¤¥È°Ê¾å¤òɬÍפȤ¹¤ëñ°ì¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ÆÈΩ¤·¤¿¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤ì¤ÏÆüì¤ÊÎã¤Ç¤¹¤¬¡¢Ãͤ¬ \f2-1\fP ¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤ò´Þ¤àñ°ì¤ÎµðÂç¤Ê¥»¥°¥á¥ó¥È¤¬À¸À®¤µ¤ì¤Þ¤¹¡£°ìÊý¡¢Ãͤ¬ \f20\fP ¤Î¾ì¹ç¡¢¥¯¥é¥¹¤´¤È¤Ë¥»¥°¥á¥ó¥È¤¬ 1 ¤Ä¤º¤ÄÀ¸À®¤µ¤ì¤Þ¤¹¡£¥¢¡¼¥«¥¤¥Ö¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤¬Â礤±¤ì¤ÐÂ礤¤¤Û¤ÉÃÇÊÒ²½¤Ïµ¯¤³¤ê¤Ë¤¯¤¯¡¢°µ½ÌΨ¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤¦¤·¤¿¥»¥°¥á¥ó¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ÂçÎ̤Υá¥â¥ê¤¬É¬Íפˤʤê¤Þ¤¹¡£
+この値は、各アーカイブセグメントの予想ターゲットサイズ N (バイト単位) です。N バイト以上を必要とする単一の入力ファイルには、
+.br
+独立したアーカイブセグメントが割り当てられます。たとえば、これは特殊な例ですが、値が \f2\-1\fP の場合、すべての入力ファイルを含む単一の巨大なセグメントが生成されます。 一方、値が \f20\fP の場合、クラスごとにセグメントが 1 つずつ生成されます。アーカイブセグメントのサイズが大きければ大きいほど断片化は起こりにくく、圧縮率も高くなります。しかし、こうしたセグメントを処理するためには、大量のメモリーが必要になります。
.LP
.LP
-³Æ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤Ï¡¢¥»¥°¥á¥ó¥ÈÆâ¤ÇžÁ÷¤µ¤ì¤ëÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤È¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤Î¥µ¥¤¥º¡¢¤ª¤è¤Ó¤½¤Î¾¤ÎžÁ÷¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æͽ¬¤µ¤ì¤Þ¤¹¡£
+各セグメントのサイズは、セグメント内で転送される入力ファイルのサイズと、このファイルの名前のサイズ、およびその他の転送プロパティーによって予測されます。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï \f21000000\fP (É´Ëü¥Ð¥¤¥È) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢É¸½à¥µ¥¤¥º¤ÎÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤òñ°ì¥»¥°¥á¥ó¥ÈÆâ¤ÇžÁ÷¤Ç¤¤ë¥µ¥¤¥º¤Ç¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ª¤è¤Ó¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Î¥á¥â¥êÍ×·ï¤Ë¤ÏÀ©¸Â¤¬²Ý¤µ¤ì¤Þ¤¹¡£
+デフォルトのサイズは \f21000000\fP (100 万バイト) です。これは、標準サイズの入力 JAR ファイルを単一セグメント内で転送できるサイズです。パックツールおよびアンパックツールのメモリー要件には制限が課されます。
.LP
.LP
-¤³¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤Æ¤¤¤Ê¤¤ 10M ¥Ð¥¤¥È¤Î JAR ¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ÏÄ̾¸µ¤Î 10% ÄøÅ٤Υµ¥¤¥º¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ç¤è¤êÂç¤¤Ê Java ¥Ò¡¼¥× (¥»¥°¥á¥ó¥È¤ÎÀ©¸Â¤ÎÌó 10 ÇÜ) ¤òɬÍפȤ¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
+この制限が課されていない 10M バイトの JAR パックファイルは通常、元の 10% 程度のサイズにパックされます。 しかし、パックツールでより大きな Java ヒープ (セグメントの制限の約 10 倍) を必要とする場合もあります。
.LP
.RE
.LP
@@ -154,11 +187,10 @@
.LP
.LP
-ñ°ì¤Î 10 ¿Ê¿ôÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿°µ½ÌΨ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò°µ½Ì¤·¤Þ¤¹¡£¥ì¥Ù¥ë \f21\fP ¤Î¾ì¹ç¡¢°µ½Ì®Å٤Ϯ¤¯¤Æ¤â°µ½ÌΨ¤Ï¤½¤ì¤Û¤É¹â¤¯¤¢¤ê¤Þ¤»¤ó¡£¥ì¥Ù¥ë \f29\fP ¤Î¾ì¹ç¡¢°µ½Ì®ÅÙ¤ÏÃÙ¤¯¤Æ¤â°µ½ÌΨ¤Ï¹â¤¯¤Ê¤ê¤Þ¤¹¡£
-Æüì¤ÊÃÍ \f20\fP ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¸µ¤Î JAR ¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤Ê¤·¤ÇľÀÜ¥³¥Ô¡¼¤·¤Þ¤¹¡£JSR 200 ɸ½à¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¤³¤ÎÆüì¤Ê½èÍý¤ò¥¢¡¼¥«¥¤¥ÖÁ´ÂΤΥѥ¹¥¹¥ë¡¼¤È¤·¤ÆÍý²ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+単一の 10 進数値を指定した場合、パックツールは、指定された圧縮率でアーカイブを圧縮します。レベル \f21\fP の場合、圧縮速度は速くても圧縮率はそれほど高くありません。 レベル \f29\fP の場合、圧縮速度は遅くても圧縮率は高くなります。特殊な値 \f20\fP を指定した場合は、元の JAR ファイルを圧縮なしで直接コピーします。JSR 200 標準では、すべてのアンパックツールはこの特殊な処理をアーカイブ全体のパススルーとして理解する必要があります。
.LP
.LP
-¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï \f25\fP ¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢É¸½àŪ¤Ê»þ´Ö¤Ç¡¢Å¬Å٤ʰµ½Ì¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+デフォルト値は \f25\fP です。 この場合、標準的な時間で、適度な圧縮が行われます。
.LP
.RE
.LP
@@ -168,33 +200,43 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥ÈÃͤò¾å½ñ¤¤·¡¢ÆþÎϾðÊó¤òÊݸ¤·¤Þ¤¹¡£Å¾Á÷¤µ¤ì¤ë¥¢¡¼¥«¥¤¥Ö¤Î¥µ¥¤¥º¤ÏÂ礤¯¤Ê¤ê¤Þ¤¹¡£²Äǽ¤ÊÃÍ:
+デフォルト値を上書きし、入力情報を保持します。 転送されるアーカイブのサイズは大きくなります。可能な値:
.LP
+.RS 3
.TP 3
-true
+true
.TP 3
-false
-¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ò½ÐÎÏ¥¢¡¼¥«¥¤¥Ö¤ËÀßÄꤷ¤Þ¤¹¡£¥¢¡¼¥«¥¤¥ÖÍ×ÁǤθġ¹¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤ÏžÁ÷¤·¤Þ¤»¤ó¡£
+false
+どちらの場合でも、パックツールはデフレーションヒントを出力アーカイブに設定します。 アーカイブ要素の個々のデフレーションヒントは転送しません。
+.RE
+
.LP
+.RS 3
.TP 3
-keep
-ÆþÎÏ JAR Æâ¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥Ò¥ó¥È¤òÊݸ¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£
-.in
-.TP
+keep
+入力 JAR 内のデフレーションヒントを保持します (デフォルト)。
+.RE
+
+.LP
+.RE
+.LP
\f4\-mvalue \-\-modification\-time=\fP\f2value\fP
.LP
.RS 3
.LP
.LP
-²Äǽ¤ÊÃÍ:
+可能な値:
.LP
+.RS 3
.TP 3
-latest
-¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¸µ¤Î¥¢¡¼¥«¥¤¥Ö¤ÎÁ´¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤«¡¢¤½¤Î¥»¥°¥á¥ó¥È¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤òÆÃÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£¤³¤Îñ°ì¤ÎÃͤϥ»¥°¥á¥ó¥È¤Î°ìÉô¤È¤·¤ÆžÁ÷¤µ¤ì¡¢³Æ¥»¥°¥á¥ó¥È¤ÎÁ´¥¨¥ó¥È¥ê¤ËŬÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Ëñ°ì¤ÎÆüÉÕ¤¬ÀßÄꤵ¤ì¤ë¤È¤¤¤¦ÌäÂê¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¥¢¡¼¥«¥¤¥Ö¤ÎžÁ÷¥µ¥¤¥º¤ò¾¯¤·¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+latest
+パックツールは、元のアーカイブの全エントリの最終更新時刻か、そのセグメントのすべてのエントリの最終更新時刻を特定しようとします。この単一の値はセグメントの一部として転送され、各セグメントの全エントリに適用されます。この場合、すべてのインストールファイルに単一の日付が設定されるという問題はありますが、アーカイブの転送サイズを少し小さくすることができます。
.TP 3
-keep
-ÆþÎÏ JAR Æâ¤Î¹¹¿·»þ¹ï¤òÊݸ¤·¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È)¡£
+keep
+入力 JAR 内の更新時刻を保持します (デフォルト)。
+.RE
+
.LP
.RE
.LP
@@ -204,7 +246,7 @@
.LP
.LP
-¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤»¤º¡¢¥Ð¥¤¥Èñ°Ì¤ÇžÁ÷¤¹¤ë¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò·«¤êÊÖ¤·»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ÎÊÑ´¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤Î¶èÀÚ¤êʸ»ú¤¬ JAR ¥Õ¥¡¥¤¥ë¤Î¶èÀÚ¤êʸ»ú "\f2/\fP" ¤ÇÃÖ¤´¹¤¨¤é¤ì¤ë¤À¤±¤Ç¤¹¡£¥Õ¥¡¥¤¥ë̾¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Îʸ»úÎó¤È´°Á´¤Ë°ìÃפ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£file ¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤Þ¤¹¡£
+ファイルを圧縮せず、バイト単位で転送するように指定します。このオプションを繰り返し使用して、複数のファイルを指定できます。パス名の変換は行われません。 システムファイルの区切り文字が JAR ファイルの区切り文字「\f2/\fP」で置き換えられるだけです。ファイル名は、JAR ファイル内の文字列と完全に一致していなければなりません。file にディレクトリ名を指定した場合、そのディレクトリ内のすべてのファイルが転送されます。
.LP
.RE
.LP
@@ -214,48 +256,54 @@
.LP
.LP
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉÔÌÀ¤Ê°À¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¥¢¥¯¥·¥ç¥ó¤ÇžÁ÷¤·¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ:
+デフォルトの動作を無効にします。 たとえば、不明な属性を含むクラスファイルを指定したアクションで転送します。アクションとして指定可能な値:
.LP
+.RS 3
.TP 3
-error
-\f2pack200\fP ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+error
+\f2pack200\fP の操作に失敗し、適切な解説が表示されます。
.TP 3
-strip
-°À¤Ï¥É¥í¥Ã¥×¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+strip
+属性はドロップされます。注: VM 必須属性を削除すると、クラスローダーの障害が発生することがあります。
.TP 3
-pass
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¹Á´ÂΤ¬ 1 ¤Ä¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆžÁ÷¤µ¤ì¤Þ¤¹¡£
+pass
+この属性が検出された場合、クラス全体が 1 つのリソースとして転送されます。
+.RE
+
.LP
.RE
.LP
\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
.LP
.RS 3
.LP
.LP
-¤³¤ì¤é 4 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥¯¥é¥¹¥¨¥ó¥Æ¥£¥Æ¥£¤Ë Class °À¡¢Field °À¡¢Method °À¡¢Code °À¤Ê¤É¤Î°À¤Î¥ì¥¤¥¢¥¦¥È¤ò»ØÄê¤Ç¤¤Þ¤¹¡£attribute\-name ¤Ë¤Ï¡¢¤³¤ì¤«¤é¥ì¥¤¥¢¥¦¥È¤Þ¤¿¤Ï¥¢¥¯¥·¥ç¥ó¤òÄêµÁ¤¹¤ë°À¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¤È¤·¤Æ»ØÄê²Äǽ¤ÊÃÍ:
+これら 4 つのオプションでは、クラスエンティティーに Class 属性、Field 属性、Method 属性、Code 属性などの属性のレイアウトを指定できます。attribute\-name には、これからレイアウトまたはアクションを定義する属性の名前を指定します。アクションとして指定可能な値:
.LP
+.RS 3
.TP 3
-(°ìÉô¤Î¥ì¥¤¥¢¥¦¥Èʸ»úÎó)
-¥ì¥¤¥¢¥¦¥È¸À¸ì¤Ï¡¢JSR 200 »ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+(一部のレイアウト文字列)
+レイアウト言語は、JSR 200 仕様に定義されています。
.LP
-Îã: \f2\-\-class\-attribute=SourceFile=RUH\fP
+例: \f2\-\-class\-attribute=SourceFile=RUH\fP
.TP 3
-error
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢pack200 ¤ÎÁàºî¤Ë¼ºÇÔ¤·¡¢Å¬ÀڤʲòÀ⤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£
+error
+この属性が検出された場合、pack200 の操作に失敗し、適切な解説が表示されます。
.TP 3
-strip
-¤³¤Î°À¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¡¢Â°À¤Ï½ÐÎϤ«¤éºï½ü¤µ¤ì¤Þ¤¹¡£Ãí: VM ɬ¿Ü°À¤òºï½ü¤¹¤ë¤È¥¯¥é¥¹¥í¡¼¥À¤Î¾ã³²¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+strip
+この属性が検出された場合、属性は出力から削除されます。注: VM 必須属性を削除すると、クラスローダーの障害が発生することがあります。
+.RE
+
.LP
.LP
-Îã: \f2\-\-class\-attribute=CompilationID=pass\fP ¤È¤¤¤¦¤³¤Î°À¤ò´Þ¤à¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤òžÁ÷¤·¤Þ¤¹¡£¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤Ï¡¢¤½¤Î¾¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤»¤ó¡£
+例: \f2\-\-class\-attribute=CompilationID=pass\fP というこの属性を含むクラスファイルを転送します。 パックツールは、その他のアクションを行いません。
.LP
.RE
.LP
@@ -265,7 +313,7 @@
.LP
.LP
-¥³¥Þ¥ó¥É¹Ô¤Ë¡¢¥Ñ¥Ã¥¯¥Ä¡¼¥ë¤ò½é´ü²½¤¹¤ë¤¿¤á¤Î Java ¥×¥í¥Ñ¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+コマンド行に、パックツールを初期化するための Java プロパティーが含まれている設定ファイルを指定できます。
.LP
.RS 3
@@ -305,7 +353,7 @@
.LP
.LP
-ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。
.LP
.RE
.LP
@@ -315,7 +363,7 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤ËÆ°ºî¤·¤Þ¤¹¡£
+メッセージを表示せずに動作します。
.LP
.RE
.LP
@@ -325,7 +373,7 @@
.LP
.LP
-½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
+出力メッセージのログファイルを指定します。
.LP
.RE
.LP
@@ -335,65 +383,65 @@
.LP
.LP
-\f2pack200\fP ¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë Java µ¯Æ°¥Ä¡¼¥ë¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð \f2\-J\-Xms48m\fP ¤È»ØÄꤷ¤¿¾ì¹ç¡¢µ¯Æ°¥á¥â¥ê¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2\-X\fP ¤Ç»Ï¤Þ¤Ã¤Æ¤Ï¤¤¤Þ¤»¤ó¤¬¡¢\f2pack200\fP ¤Îɸ½à¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´·½¬¤È¤·¤Æ¡¢\f2\-J\fP ¤Ë¤Ï¡¢Java ¤Ç½ñ¤«¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë VM ¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹Æ¯¤¤¬¤¢¤ê¤Þ¤¹¡£
+\f2pack200\fP によって呼び出される Java 起動ツールにオプションを渡します。たとえば、\f2\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。このオプションは \f2\-X\fP で始まっていませんが、\f2pack200\fP の標準オプションではありません。\f2\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
.LP
.RE
.RE
-.SH ½ªÎ»¥¹¥Æ¡¼¥¿¥¹
+.SH "終了ステータス"
.LP
.LP
.LP
-¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+次の終了値が返されます。
.LP
.RS 3
.LP
.LP
-\f2\ 0\fP "À®¸ù"
+\f2\ 0\fP "成功"
.LP
.LP
-\f2>0\fP "¥¨¥é¡¼"
+\f2>0\fP "エラー"
.LP
.RE
-.SH ´ØÏ¢¹àÌÜ
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë
+o
+unpack200(1)
.TP 2
-*
-\f2unpack200(1)\fP¡¢\f2jar(1)\fP¡¢\f2jarsigner(1)\fP¡¢\f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
-.TP 2
-*
-Java SE ¤Î¥É¥¥å¥á¥ó¥È
-.TP 2
-*
+o
.na
-\f2Java Deployment Guide \- Pack200\fP
+\f2Java SE のドキュメント\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html)
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-\f2jar\fP \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
-.TP 2
-*
+o
.na
-\f2jarsigner\fP \- JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë
+\f2「Java 配備ガイド \- Pack200」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html)
+http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
+.TP 2
+o
+jar(1) \- Java Archive ツール」
+.TP 2
+o
+「jarsigner(1) \- JAR 署名および検証ツール」
+.TP 2
+o
+\f2attributes(5)\fP のマニュアルページ
.RE
.LP
-.SH Ãí°Õ»ö¹à
+.SH "注意事項"
.LP
.LP
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤È \f2pack(1)\fP ¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£
+このコマンドと \f2pack(1)\fP を混同しないでください。これらは別製品です。
.LP
.LP
-SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤȤÎÁê°ã¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢»ÅÍͤòÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£
+SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。
.LP
-
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1
index 9b0e72f..c5ba7fc 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,100 +18,91 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH policytool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH policytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH ̾Á°
-policytool \- PolicyTool ´ÉÍý GUI ¥æ¡¼¥Æ¥£¥ê¥Æ¥£
+.SH "名前"
+policytool \- PolicyTool 管理 GUI ユーティリティー
.LP
-\f3policytool\fP ¤Ï¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£ GUI ·Ðͳ¤Ç¼èÆÀ¤·¤¿¥æ¡¼¥¶ÆþÎϤ˴ð¤Å¤¤¤Æ¡¢¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤¤·¤Þ¤¹¡£
-.SH "·Á¼°"
+\f3policytool\fP は、ユーティリティー GUI 経由で取得したユーザー入力に基づいて、プレーンテキストのポリシーファイルを読み書きします。
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+関連項目
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
+.RS 3
.TP 3
\
.TP 3
-policytool ´ÉÍý¼Ô¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò¼Â¹Ô¤·¤Þ¤¹
+policytool 管理者ユーティリティーを実行します
\f4policytool\fP
.TP 3
-policytool ¤ò¼Â¹Ô¤·¡¢»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹
-\f4policytool\fP\f2[\-file][\fP\f2filename\fP\f2]\fP
+policytool を実行し、指定されたポリシーファイルを読み込みます
+\f4policytool\fP\f2 [\-file\ \fP\f2filename\fP\f2]\fP
.TP 3
\
.TP 3
-³ÆÍ×ÁǤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+各要素は次のとおりです。
+.RS 3
.TP 3
file
-¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤à¤è¤¦¤Ë \f2policytool\fP ¤Ë»Ø¼¨¤·¤Þ¤¹
+ローカルポリシーファイルを読み込むように \f2policytool\fP に指示します
.TP 3
- filename
-¥Õ¥¡¥¤¥ë̾
+filename
+ファイル名
+.RE
+.SH "説明"
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-.LP
-
-.LP
-.LP
-\f3policytool\fP ¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤¬¥í¡¼¥«¥ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò´ÉÍý¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë´ÉÍý¼ÔÍѤΠGUI ¤Ç¤¹¡£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ï \f2.policy\fP ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¥×¥ì¡¼¥ó¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢¥É¥á¥¤¥óÊ̤Υê¥â¡¼¥ÈÍ×µá¼Ô¤ò¥¢¥¯¥»¥¹¸¢¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¥Ã¥Ô¥ó¥°¤·¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
-¤Î
+\f3policytool\fP は、ユーザーがローカルポリシーファイルの内容を管理することを可能にする GUI です。詳細については、
.na
-¡Ö\f2Default Policy Implementation and Syntax\fP¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-
-.LP
+\f2「ポリシーファイル作成および管理ツール」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.htmlを参照してください。
+.SH "オプション"
+.RS 3
.TP 3
file
-\f2filename\fP ¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-.LP
-.SH "´ØÏ¢¹àÌÜ"
-.LP
-
-.LP
+\f2filename\fP を読み込みます。
+.SH "関連項目"
+.na
+\f2「Default Policy Implementation and Syntax」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
-¤Î
-.na
-¡Ö\f2Default Policy Implementation and Syntax\fP¡×
.br
-
-.LP
+.na
+\f2「Policy Tool Users' Guide」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html
-¤Î
-.na
-¡Ö\f2Policy Tool Users' Guide\fP¡×
.br
-
-.LP
+.na
+\f2「Security Permissions」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html
-¤Î
-.na
-¡Ö\f2Security Permissions\fP¡×
.br
-
-.LP
+.na
+\f2「Security Overview」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html
-¤Î
-.na
-¡Ö\f2Security Overview\fP¡×
.br
-
-.LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/arch.html
-¤Î
-.na
-¡Ö\f2Security Architecture\fP¡×
-.br
+.RE
+.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1
index 0cadf3c..0d10b5fa 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1
@@ -1,368 +1,270 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH rmic 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-rmic \- Java RMI ¥¹¥¿¥Ö¥³¥ó¥Ñ¥¤¥é
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B rmic
-[
-.BI options
-]
-.I package-qualified-class-names
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java RMI stub compiler" "" "Java RMI stub compiler \(em \fLrmic\fP"
-.IX "rmic" "" "\fLrmic\fP \(em Java RMI stub compiler"
-.B rmic
-¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¥Õ¥¡¥¤¥ë (JRMP ¥×¥í¥È¥³¥ë) ¤È¥¹¥¿¥Ö
-¤ª¤è¤Ó Tie ¥¯¥é¥¹¥Õ¥¡¥¤¥ë (IIOP ¥×¥í¥È¥³¥ë) ¤òÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¼ÂÁõ¥¯¥é¥¹¤Ç¤¢¤ë¡¢¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
-¥¯¥é¥¹¤«¤éÀ¸À®¤µ¤ì¤Þ¤¹¡£¥ê¥â¡¼¥È¼ÂÁõ¥¯¥é¥¹¤Ï¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹ \f3java.rmi.Remote\f1
-¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
-.B rmic
-¥³¥Þ¥ó¥É¤Ç»ØÄꤵ¤ì¤ë¥¯¥é¥¹¤Ï¡¢
-.BR javac (1)
-¥³¥Þ¥ó¥É¤ÇÀµ¾ï¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¡¢
-´°Á´¤Ë¥Ñ¥Ã¥±¡¼¥¸½¤¾þ¤µ¤ì¤¿¥¯¥é¥¹¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¼¡¤Ë¼¨¤¹Îã¤Ç¤Ï¡¢
-.B HelloImpl
-¤È¤¤¤¦¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
-.B rmic
-¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmic 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.RS
+.SH "名前"
+rmic \- Java RMI コンパイラ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3rmic\fP によって、JRMP または IIOP プロトコルを使用するリモートオブジェクトのスタブ、スケルトン、および Tie クラスが生成されます。また、OMG IDL も生成されます。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmic\fP コンパイラによって、リモートオブジェクトの、スタブ、スケルトンクラスファイル (JRMP プロトコル)、およびスタブと Tie クラスファイルの組み合わせ (IIOP プロトコル) が生成されます。リモートオブジェクトの実装クラスであるこれらのクラスファイルは、Java プログラミング言語のクラスをコンパイルしたときに生成されます。リモート実装クラスは、\f2java.rmi.Remote\fP インタフェースを実装するクラスです。\f3rmic\fP コマンドでのクラス名は、そのクラスが \f3javac\fP コマンドでコンパイルが成功していて、かつ完全なパッケージ名が指定されている必要があります。たとえば、クラスファイル名 \f2HelloImpl\fP で \f3rmic\fP を実行するには、次のようにします。
+.LP
+.nf
+\f3
+.fl
rmic hello.HelloImpl
-.RE
-.LP
-.B HelloImpl_Stub.class
-¥Õ¥¡¥¤¥ë¤ò (¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸¤ËÂФ·¤Æ»ØÄꤵ¤ì¤¿)
-.B hello
-¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤·¤Þ¤¹¡£
-.LP
-JRMP ¥×¥í¥È¥³¥ë¥µ¡¼¥Ð¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¢¤ë
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¹¥±¥ë¥È¥ó¤Ë¤Ï¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤Î¸Æ¤Ó½Ð¤·¤ò
-¥Ç¥£¥¹¥Ñ¥Ã¥Á¤¹¤ë¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
-.LP
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î Tie ¤Ï¡¢¥¹¥±¥ë¥È¥ó¤Ë»÷¤¿
-¥µ¡¼¥Ð¦¥¨¥ó¥Æ¥£¥Æ¥£¤Ç¤¹¤¬¡¢IIOP ¥×¥í¥È¥³¥ë
-¤ò»ÈÍѤ·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤ÈÄÌ¿®¤·¤Þ¤¹¡£
-.LP
-¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥í¥¥·¤Ç¡¢
-¼ÂºÝ¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¼ÂÁõ¤¬Â¸ºß¤¹¤ë¥µ¡¼¥Ð¤Ë¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤òžÁ÷¤·¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ï¡¢
-¼ÂºÝ¤Ë¤Ï¥í¡¼¥«¥ë¥¹¥¿¥Ö¤Ø¤Î»²¾È¤Ç¤¹¡£
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmic
-¤Ï \-v1.2 ¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤¿¾ì¹ç¤ÈƱÍÍ¤Ë 1.2 JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¤ò
-»ÈÍѤ¹¤ë¥¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹ (1.5 ¤è¤êÁ°¤Î
-¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢\-vcompat ¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È)¡£
-IIOP ¥×¥í¥È¥³¥ëÍѤΥ¹¥¿¥Ö¥¯¥é¥¹¤ª¤è¤Ó Tie ¥¯¥é¥¹¤ò
-À¸À®¤¹¤ë¤Ë¤Ï¡¢\-iiop ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¥¹¥¿¥Ö¤Ï¡¢¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤ß¤ò¼ÂÁõ¤·¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤è¤Ã¤Æ¤â¼ÂÁõ¤µ¤ì¤ë¥í¡¼¥«¥ë
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¼ÂÁõ¤·¤Þ¤»¤ó¡£¥¹¥¿¥Ö¤Ï¥ê¥â¡¼¥È
-¥ª¥Ö¥¸¥§¥¯¥È¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î
-¥»¥Ã¥È¤ò¼ÂÁõ¤¹¤ë¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¥ã¥¹¥È¤ª¤è¤Ó
-·¿¥Á¥§¥Ã¥¯¤Ë Java ¸À¸ì¤ÎÁȤ߹þ¤ß±é»»»Ò¤ò»ÈÍѤǤ¤Þ¤¹¡£
-IIOP ¤Î¾ì¹ç¤Ï¡¢
-.B PortableRemoteObject.narrow
-¥á¥½¥Ã¥É¤ò
-»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.if t .TP 20
-.if n .TP 15
-.BI \-bootclasspath " path"
-¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.BI \-classpath " path"
-.B rmic
-¤¬¥¯¥é¥¹¤òõ¤¹¤Î¤ËÍѤ¤¤ë¥Ñ¥¹¤ò
-.I path
-¤Ç»ØÄꤷ¤Þ¤¹¡£¤³¤Î»ØÄêÃͤϡ¢¥Ç¥Õ¥©¥ë¥È¤ª¤è¤Ó
-.B CLASSPATH
-´Ä¶ÊÑ¿ô¤ÎÀßÄêÃͤò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¥³¥í¥ó¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ
-.I path
-¤ÎÄ̾ï¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.BI .:< your_path >
-.sp 1n
-°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B .:/usr/local/java/classes
-.if t .TP 20
-.if n .TP 15
-.BI \-d " directory"
-¥¯¥é¥¹³¬ÁؤΥ롼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¡¢¤ª¤è¤Ó Tie ¥Õ¥¡¥¤¥ë¤Î½ÐÎÏÀè¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£
-.LP
-.RS 5
-rmic \-d /java/classes foo.MyClass
-.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢MyClass ¤«¤éÇÉÀ¸¤·¤¿¥¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ò¥Ç¥£¥ì¥¯¥È¥ê /java/classes/foo
-¤ËÇÛÃÖ¤·¤Þ¤¹¡£\-d ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡Ö\-d .¡×¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ÈƱÍͤǤ¹¡£
-¥¿¡¼¥²¥Ã¥È¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸³¬Áؤϡ¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢¥¹¥¿¥Ö/Tie/¥¹¥±¥ë¥È¥ó
-¥Õ¥¡¥¤¥ë¤Ï¤½¤Î³¬ÁØÆâ¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
-(°ÊÁ°¤Î°ìÉô¤Î¥Ð¡¼¥¸¥ç¥ó¤Î
-.B rmic
-¤Ç¤Ï¡¢
-\-d ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ñ¥Ã¥±¡¼¥¸³¬ÁؤϺîÀ®¤µ¤ì¤º¡¢
-¤¹¤Ù¤Æ¤Î½ÐÎÏ¥Õ¥¡¥¤¥ë
-¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËľÀÜÇÛÃÖ¤µ¤ì¤Þ¤·¤¿¡£)
-.if t .TP 20
-.if n .TP 15
-.BI \-extdirs " path"
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë³ÈÄ¥µ¡Ç½¤Î°ÌÃÖ¤ò¾å½ñ¤¤·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-g
-¥í¡¼¥«¥ëÊÑ¿ô¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤Î
-À¸À®¤ò͸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-¹ÔÈÖ¹æ¾ðÊó¤Î¤ß¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-idl
-.B rmic
-¤Ë¤è¤Ã¤Æ¡¢»ØÄꤷ¤¿¥¯¥é¥¹¤ª¤è¤Ó»²¾È¤µ¤ì¤¿¥¯¥é¥¹¤Î
-.SM OMG IDL
-¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.SM IDL
-¤Ç¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë°Í¸¤»¤º¤Ë¡¢Àë¸À¤¹¤ë¤À¤±¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î
-.SM API
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.SM IDL
-¤Ï¡¢
-.SM CORBA
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄ󶡤¹¤ëǤ°Õ¤Î¸À¸ì (Java¡¢C++ ¤Ê¤É) ¤ò»ÈÍѤ·¤Æ¡¢¥á¥½¥Ã¥É¤ª¤è¤Ó¥Ç¡¼¥¿¤Î
-½ñ¤¹þ¤ß¤ª¤è¤Ó¸Æ¤Ó½Ð¤·¤ò¹Ô¤¦¤È¤¤Î»ÅÍͤȤ·¤Æ»È¤ï¤ì¤Þ¤¹¡£
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¹ç¤ï¤»¤Æ°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤¤Þ¤¹¡£
-.RS
-.TP 5
-.BR \-always " ¤Þ¤¿¤Ï " \-alwaysgenerate
-´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó \s-1IDL\s0 ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤¤Ç¤â¡¢¶¯À©Åª¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£
-.PD 0
-.TP
-.B \-factory
-À¸À®¤µ¤ì¤¿ IDL ¤Ç factory ¥¡¼¥ï¡¼¥É¤ò»È¤¤¤Þ¤¹¡£
-.TP
-.B \-idlModule fromJavaPackage[.class] toIDLModule
-.B IDLEntity
-¥Ñ¥Ã¥±¡¼¥¸¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.in +5n
-.ft 3
-.nf
-\-idlModule foo.bar
-my::real::idlmod.
+.fl
+\fP
.fi
-.ft 1
-.in
-.sp 1n
-.TP
-.B \-idlFile fromJavaPackage[.class] toIDLFile
-.B IDLEntity
-¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B \-idlFile test.pkg.X TEST16.idl
-.RE
-.PD
-.if t .TP 20
-.if n .TP 15
-.B \-iiop
-.B rmic
-¤Ï¡¢
-.SM JRMP
-¤Î¥¹¥¿¥Ö¤È¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤ÎÂå¤ï¤ê¤Ë¡¢
-.SM IIOP
-¤Î¥¹¥¿¥Ö¤È Tie ¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î
-¥í¡¼¥«¥ë¥×¥í¥¥·¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¸Æ¤Ó½Ð¤·¤òÁ÷¿®¤¹¤ë¤È¤¤Ë
-»È¤ï¤ì¤Þ¤¹¡£³Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥¹¥¿¥Ö¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£¥¹¥¿¥Ö¥¯¥é¥¹
-¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¤ò»²¾È¤¹¤ë¤È¡¢¼ÂºÝ¤Ë¤Ï¥¹¥¿¥Ö¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Tie ¥¯¥é¥¹¤Ï¡¢
-¥µ¡¼¥Ð¦¤Ç¼õ¿®¤·¤¿¸Æ¤Ó½Ð¤·¤ò½èÍý¤·¡¢¤½¤Î¸Æ¤Ó½Ð¤·¤òŬÀڤʼÂÁõ¥¯¥é¥¹¤Ë¥Ç¥£¥¹¥Ñ¥Ã¥Á
-¤¹¤ë¤È¤¤Ë»È¤ï¤ì¤Þ¤¹¡£³Æ¼ÂÁõ¥¯¥é¥¹¤Ë¤Ï¡¢Tie ¥¯¥é¥¹¤¬É¬ÍפǤ¹¡£
-.sp 1n
-.B \-iiop
-¤ò»ØÄꤷ¤Æ
-.B rmic
-¤òµ¯Æ°¤¹¤ë¤È¡¢¼¡¤Î̿̾µ¬Ìó¤Ë½àµò¤·¤¿¥¹¥¿¥Ö¤È Tie ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-.sp 1n
-.in +5n
-.ft 3
+
+.LP
+.LP
+\f2HelloImpl_Stub.class\fP ファイルが、クラスのパッケージ名が付いた \f2hello\fP サブディレクトリに作成されます。
+.LP
+.LP
+リモートオブジェクトの「スケルトン」は JRMP プロトコルサーバー側のエンティティーで、実際のリモートオブジェクト実装を呼び出すメソッドを含みます。
+.LP
+.LP
+リモートオブジェクトの「Tie」は、スケルトンと同様にサーバー側のエンティティーですが、IIOP プロトコルを使ってクライアントと通信します。
+.LP
+.LP
+「スタブ」とは、リモートオブジェクトのクライアント側での代理です。 スタブは、リモートオブジェクトのメソッド呼び出しを、実物のリモートオブジェクトが常駐するサーバーと通信する役割を持ちます。したがって、クライアントのリモートオブジェクトへの参照は、実際はローカルスタブへの参照となります。
+.LP
+.LP
+デフォルトで \f3rmic\fP では、1.2 JRMP スタブプロトコルバージョンだけを使用するスタブクラスを生成します。 これは、\f2\-v1.2\fP オプションを指定した場合と同じ動作です。(5.0 以前では \f2\-vcompat\fP オプションがデフォルトであったことに注意。) IIOP プロトコル用のスタブおよび Tie クラスを生成するには \f2\-iiop\fP オプションを使用します。
+.LP
+.LP
+スタブはリモートインタフェースだけを実装し、リモートオブジェクトが実装する局所インタフェースは実装していません。JRMP スタブはリモートオブジェクト自体が実装するリモートインタフェースと同じものを実装しているので、クライアントは、キャストや型チェックに Java プログラミング言語に組み込まれた演算子を使用することができます。IIOP の場合は、\f2PortableRemoteObject.narrow\fP メソッドを使わなければなりません。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-bootclasspath path
+ブートストラップクラスファイルの位置をオーバーライドします。
+.TP 3
+\-classpath path
+\f3rmic\fP がクラスを探すためのパスを指定します。このオプションは、デフォルトや CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
+.RS 3
+
+.LP
.nf
-_<implementationName>_stub.class
-.sp 1n
-_<interfaceName>_tie.class
-.ft 1
+\f3
+.fl
+.:<your_path>
+.fl
+\fP
.fi
-.in
-.sp 1n
-.B \-iiop
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¹ç¤ï¤»¤Æ°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄê¤Ç¤¤Þ¤¹¡£
-.sp 1n
-.ne 1
-.bp
-.RS
-.PD 0
-.TP 5
-.BR \-always " ¤Þ¤¿¤Ï " \-alwaysgenerate
-´û¸¤Î¥¹¥¿¥Ö¡¢Tie¡¢¤ª¤è¤Ó \s-1IDL\s0 ¤¬ÆþÎÏ¥¯¥é¥¹¤è¤ê¿·¤·¤¤¤È¤¤Ç¤â¡¢¶¯À©Åª
-¤ËÀ¸À®¤·Ä¾¤·¤Þ¤¹¡£
-.TP
-.B \-nolocalstubs
-Ʊ¤¸¥×¥í¥»¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ËÂФ·¤ÆºÇŬ²½¤µ¤ì¤¿¥¹¥¿¥Ö¤òºîÀ®¤·¤Þ¤»¤ó¡£
-.TP
-.B \-noValueMethods
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£È¯¹Ô¤µ¤ì¤¿
-.SM IDL\s0
-¤Ë¡¢valuetype ¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò¤òÄɲä·¤Þ¤»¤ó¡£¤³¤Î¥á¥½¥Ã¥É¤ª¤è¤Ó½é´ü²½»Ò
-¤Ï¡¢valuetype ¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
-.B \-idl
-¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤¤Ï¡¢
-.B \-noValueMethods
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¸Â¤êÀ¸À®¤µ¤ì¤Þ¤¹¡£
-.TP
-.B \-poa
+.RE
+例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-d directory
+生成されたクラス階層の出力先ディレクトリのルートを指定します。このオプションを使えば、スタブ、スケルトン、および Tie ファイルを格納するディレクトリを指定できます。たとえば、次のようにして使います。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% rmic \-d /java/classes foo.MyClass
+.fl
+\fP
+.fi
+.RE
+\f2MyClass\fP から取得したスタブとスケルトンクラスを \f2/java/classes/foo\fP ディレクトリに置きます。\f2\-d\fP オプションが指定されていない場合は、\f2「\-d\ .」\fPが指定されていると見なされます。ターゲットクラスのパッケージ階層が現在のディレクトリに作成され、スタブ、Tie、およびスケルトンファイルがそのディレクトリに格納されます。(以前のバージョンの \f3rmic\fP では、\f2\-d\fP が指定されていない場合は、パッケージ階層は作成されず、出力ファイルはすべて現在のディレクトリに直接格納されていた)。
.br
-·Ñ¾µ¤ò
-.BR org.omg.CORBA_2_3.portable.ObjectImpl ¤«¤é
-.BR org.omg.PortableServer.Servant\. ¤ØÊѹ¹¤·¤Þ¤¹¡£
-.RS
+\
+.TP 3
+\-extdirs path
+インストール型拡張機能の位置をオーバーライドします。
+.TP 3
+\-g
+局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号情報だけが生成されます。
.LP
-Portable Object Adapter (POA) ¤Î
-.BR PortableServer
-¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö ¤Î servant ·¿¤òÄêµÁ¤·¤Þ¤¹¡£
-Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢servant ·¿¤Ï¡¢Java ¤Î
-.BR org.omg.PortableServer.Servant
-¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æ
-µ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬¸Æ¤Ó½Ð¤»¤ë¿¿ô¤Î¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£¤Þ¤¿¡¢
-POA ¼«ÂΤ¬Æɤ߽Ф·¤¿¤ê¡¢¥µ¡¼¥Ð¥ó¥ÈÆ°ºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¤¬¾å½ñ¤¤·¤¿
-¤ê¤Ç¤¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£CORBA V 2.3.1 ¤Î¡ÖOMG IDL to Java Language Mapping Specfication (ptc/00-01-08.pdf)¡×¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£
+.TP 3
+\-idl
+\f2rmic\fP によって、指定したクラスおよび参照されたクラスの OMG IDL が生成されます。IDL では、プログラミング言語に依存せずに、宣言するだけでオブジェクトの API を指定することができます。IDL は、メソッドおよびデータの仕様として使用します。 CORBA バインディングを提供する任意の言語で、メソッドおよびデータの作成および呼び出しを行うことができます。これらの言語には、Java および C++ が含まれています。詳細は、
+.na
+\f2Java Language to IDL Mapping\fP @
+.fi
+http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) を参照してください。
+.LP
+\f2\-idl\fP オプションを使うときは、ほかのオプションも指定できます。
+.RS 3
+.TP 3
+\-always または \-alwaysgenerate
+既存のスタブ、Tie、および IDL が入力クラスより新しいときでも、強制的に生成し直します。
+.TP 3
+\-factory
+生成された IDL で factory キーワードを使います。
+.TP 3
+\-idlModule\ fromJavaPackage[.class]\ toIDLModule
+IDLEntity パッケージのマップを指定します。例を示します。 \f2\-idlModule foo.bar my::real::idlmod\fP
+.TP 3
+\-idlFile\ fromJavaPackage[.class]\ toIDLFile
+IDLEntity ファイルのマップを指定します。例を示します。 \f2\-idlFile test.pkg.X TEST16.idl\fP\
.RE
-.PD
+.LP
+.TP 3
+\-iiop
+\f2rmic\fP によって、JRMP のスタブとスケルトンクラスの代わりに、IIOP のスタブと Tie クラスが生成されます。スタブクラスは、リモートオブジェクトのローカルプロキシで、クライアントからサーバーに呼び出しを送信するときに使われます。各リモートインタフェースにはスタブクラスが必要です。 スタブクラスによってリモートインタフェースが実装されます。クライアントでリモートオブジェクトを参照するときは、実際にはスタブを参照することになります。タイクラスは、サーバー側で着呼を処理し、その呼び出しを適切な実装クラスにディスパッチするときに使われます。各実装クラスには、タイクラスが必要です。
+.LP
+\f2\-iiop\fP を使って \f2rmic\fP を呼び出すと、次の命名規約に準拠したスタブと Tie が生成されます。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+_<implementationName>_stub.class
+.fl
+\fP
+.br
+\f3
+.fl
+_<interfaceName>_tie.class
+.fl
+\fP
+.fi
.RE
-.TP 20
-.if t .TP 20
-.if n .TP 15
-.B \-J
-Ǥ°Õ¤Î java ¥ª¥×¥·¥ç¥ó¤È
-Ê»ÍѤ·¤¿¾ì¹ç¡¢
-\-J ¤Î¸å¤Î¥ª¥×¥·¥ç¥ó (
-.B \-J
-¤È¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ï¶õÇòʸ»ú¤ò¤¤¤ì¤Ê¤¤)
-¤ò java ¥¤¥ó¥¿¥×¥ê¥¿¤Ë
-ÅϤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-keepgenerated
-¥¹¥¿¥Ö¡¢¥¹¥±¥ë¥È¥ó¤ª¤è¤Ó tie ¥¯¥é¥¹ÍѤËÀ¸À®¤µ¤ì¤¿ .java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¡¢.class ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-nowarn
-·Ù¹ð¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤ò½ÐÎϤ·¤Þ¤»¤ó¡£
-.if t .TP 20
-.if n .TP 15
-.B \-vcompat
-1.1 ¤È 1.2 ¤ÎξÊý¤Î JRMP ¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À¤¬¤¢¤ë¥¹¥¿¥Ö¤ª¤è¤Ó
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹ (1.5 ¤è¤êÁ°¤Î
-¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È)¡£
-À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤Ï¡¢JDK 1.1 ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë
-Æɤ߹þ¤Þ¤ì¤ë¾ì¹ç¡¢1.1 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò
-»ÈÍѤ·¡¢1.2 °Ê¹ß¤Î²¾ÁÛ¥Þ¥·¥ó¤ËÆɤ߹þ¤Þ¤ì¤ë¾ì¹ç¤Ï¡¢
-1.2 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï¡¢1.1 ¤È 1.2 ¤ÎξÊý¤Î
-¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-À¸À®¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢Î¾Êý¤ÎÁàºî¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È
-¤¹¤ë¤¿¤á¡¢Èæ³ÓŪ¥µ¥¤¥º¤¬Â礤¯¤Ê¤ê¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-verbose
-¥³¥ó¥Ñ¥¤¥é¤È¥ê¥ó¥«¤Ë¾ÜºÙ¾ðÊó¤ò½ÐÎϤµ¤»¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥í¡¼¥É¤µ¤ì¤ë
-¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë¾ðÊ󤬽ÐÎϤµ¤ì¤Þ¤¹¡£
-.TP 15
-.B \-v1.1
-JDK 1.1 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó
-ÀìÍѤΥ¹¥¿¥Ö¤ª¤è¤Ó¥¹¥±¥ë¥È¥ó¤òºîÀ®¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JDK 1.1 ¤«¤é
-.B rmic
-¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤¤Ê¤¤
-(¤ª¤è¤ÓưŪ¥¯¥é¥¹¥í¡¼¥Ç¥£¥ó¥°¤¬»ÈÍÑ
-¤µ¤ì¤Æ¤¤¤Ê¤¤) ´û¸¤ÎÀÅŪ¤ËÇÛÈ÷¤µ¤ì¤¿
-¥¹¥¿¥Ö¥¯¥é¥¹¤ÈľÎ󲽸ߴ¹À¤Î¤¢¤ë¥¹¥¿¥Ö
-¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£
-.if t .TP 20
-.if n .TP 15
-.B \-v1.2
-(¥Ç¥Õ¥©¥ë¥È) 1.2 JRMP ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥óÀìÍѤΥ¹¥¿¥Ö¥¯¥é¥¹¤òÀ¸À®¤·¤Þ¤¹¡£
-¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤Ï 1.2 ¤Î¥¹¥¿¥Ö¥×¥í¥È¥³¥ë
-¥Ð¡¼¥¸¥ç¥ó¤Ç»ÈÍѤµ¤ì¤Ê¤¤¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó
-¤Ç¤Ï¥¹¥±¥ë¥È¥ó¥¯¥é¥¹¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£
-À¸À®¤µ¤ì¤¿¥¹¥¿¥Ö¥¯¥é¥¹¤¬ JDK 1.1 ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë
-Æɤ߹þ¤Þ¤ì¤¿¾ì¹ç¤Ï¡¢µ¡Ç½¤·¤Þ¤»¤ó¡£
-.SH ´Ä¶ÊÑ¿ô
-.if t .TP 20
-.if n .TP 15
-.B CLASSPATH
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç
-¶èÀÚ¤ê¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.sp 1n
-.ti +5n
-.B .:/usr/local/java/classes
-.SH ´ØÏ¢¹àÌÜ
-.BR java (1),
-.BR javac (1),
-.BR CLASSPATH
+.LP
+\f2\-iiop\fP オプションを使うときは、ほかのオプションも指定できます。
+.RS 3
+.TP 3
+\-always または \-alwaysgenerate
+既存のスタブ、Tie、および IDL が入力クラスより新しいときでも、強制的に生成し直します。
+.TP 3
+\-nolocalstubs
+同じプロセスのクライアントとサーバーに対して最適化されたスタブを作成しません。
+.TP 3
+\-noValueMethods
+\f2\-idl\fP オプションとともに使われなければなりません。発行された IDL に、\f2valuetype\fP メソッドおよび初期化子を追加しません。このメソッドおよび初期化子は、\f2valuetype\fP の場合はオプションです。 \f2\-idl\fP オプションを使うときは、 \f2\-noValueMethods\fP オプションを指定しない限り生成されます。
+.TP 3
+\-poa
+継承が \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP から \f2org.omg.PortableServer.Servant\fP に変わります。
+.LP
+.na
+\f2Portable Object Adapter\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) の \f2PortableServer\fP モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は、Java の \f2org.omg.PortableServer.Servant\fP クラスにマッピングされています。これはあらゆる POA サーバント実装の基底クラスとなり多数のメソッドを提供します。 これらのメソッドはアプリケーションプログラマが呼び出すだけではなく、POA 自身からも呼び出され、場合によってはサーバントの動作を制御するためにユーザーがオーバーライドすることもあります。OMG IDL to Java Language Mapping Specification、CORBA V 2.3.1 ptc/00\-01\-08.pdf に準拠しています。
+.RE
+.TP 3
+\-J
+\f2\-J\fP の後ろに続くオプションを \f2java\fP インタプリタに引き渡します。 \f2java\fP オプションと組み合わせて使います (\f2\-J\fP と \f2java\fP オプションの間にスペースは入れない)。
+.TP 3
+\-keep または \-keepgenerated
+スタブ、スケルトン、または Tie クラスのための \f2.java\fP ソースファイルを \f2.class\fP ファイルと同じディレクトリに残します。
+.TP 3
+\-nowarn
+警告をオフにします。このオプションを指定すると、コンパイラは警告を表示しません。
+.LP
+.TP 3
+\-vcompat
+1.1 と 1.2 の両方の JRMP スタブプロトコルバージョンと互換性のあるスタブおよびスケルトンクラスを作成します。(5.0 以前のリリースではこのオプションはデフォルト。)生成されたスタブクラスは、JDK 1.1 仮想マシンにロードされると 1.1 スタブプロトコルバージョンを使用し、JDK 1.2 以降の仮想マシンにロードされると 1.2 スタブプロトコルバージョンを使用します。生成されたスケルトンクラスでは、1.1 と 1.2 の両方のスタブプロトコルバージョンをサポートします。生成されたクラスは両方の操作モードをサポートするために、サイズが大きくなります。
+.TP 3
+\-verbose
+コンパイラやリンカーが、コンパイルされているクラスやロードされているクラスファイルについてのメッセージを表示するようにします。
+.LP
+.TP 3
+\-v1.1
+1.1 JRMP スタブプロトコルバージョンのみのスタブおよびスケルトンクラスを生成します。このオプションが使用できるのは、JDK 1.1 から \f3rmic\fP ツールで生成され、アップグレードできない (さらにダイナミッククラスローディングを使用していない) 、既存の静的配備されたスタブクラスに対し、直列化互換性のあるスタブクラスを生成場合だけです。
+.LP
+.TP 3
+\-v1.2
+(デフォルト) 1.2 JRMP スタブプロトコルバージョンのみのスタブクラスを生成します。スケルトンクラスは 1.2 スタブプロトコルバージョンで使用できないため、このオプションではスケルトンクラスは生成されません。生成されたスタブクラスは、JDK 1.1 仮想マシンにロードされても動作しません。
+.RE
+
+.LP
+.SH "環境変数"
+.LP
+
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。次に例を示します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+.:/usr/local/java/classes
+.fl
+\fP
+.fi
+.RE
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+java(1)、javac(1)、
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath
+.LP
+
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1
index d45175a..3234d93 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1
@@ -1,561 +1,358 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH rmid 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-rmid \- RMI µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó
+." Copyright 2004-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmid 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
+.SH "名前"
+rmid \- Java RMI 起動システムデーモン
+.LP
+.RS 3
.LP
.LP
-\f3rmid\fP ¤Çµ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò²¾ÁÛ¥Þ¥·¥ó (VM) ¤ËÅÐÏ¿¤·¤Æµ¯Æ°¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.SH "·Á¼°"
-.B rmid
-[
-.I options
-]
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid\fP"
-.IX "rmid" "" "\fLrmid\fP \(em RMI activation system daemon"
-.B rmid
-¥Ä¡¼¥ë¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Þ¤¹¡£µ¯Æ°²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯Æ°
-¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤·¤¿¤ê¡¢Java VM ¤Ç¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢¤¢¤é¤«¤¸¤áµ¯Æ°
-¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-µ¯Æ°²Äǽ¤Ê¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢Java RMI ¤Î»ÅÍÍ
-.fi
- (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html)
-¤ª¤è¤Óµ¯Æ°¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë
-.fi
- (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.LP
-µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ
-.B rmid
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ³«»Ï¤Ç¤¤Þ¤¹¡£
-.LP
-.ti +5n
-.B % rmid \-J\-Djava.security.policy=rmid.policy
-.LP
-Ãí: Sun ¤Î
-.BR rmid
-¼ÂÁõ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢µ¯Æ°¥°¥ë¡¼¥×ÍѤΠJVM ¤Îµ¯Æ°¤Ë¡¢³Æ
-.B ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ¤ë¤«¤É¤¦¤«¤ò
-.B rmid
-¤¬³Îǧ¤Ç¤¤Þ¤¹¡£Æäˡ¢
-.B CommandEnvironment
-¤Ë¤è¤ê»ØÄꤵ¤ì¤ë¥³¥Þ¥ó¥É¤ä¥ª¥×¥·¥ç¥ó¡¢¤ª¤è¤Ó
-.B ActivationGroupDesc
-¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÅϤµ¤ì¤ë¤¹¤Ù¤Æ¤Î
-.B ¥×¥í¥Ñ¥Æ¥£
-¤Ï¡¢
-.BR rmid
-ÍѤΥ»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÇÌÀ¼¨Åª¤Ëµö²Ä¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£
-.B sun.rmi.activation.execPolicy
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤϡ¢µ¯Æ°¥°¥ë¡¼¥×¤Î JVM ¤Îµ¯Æ°¤Ë
-.B ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤǤ¤ë¤«¤É¤¦¤«¤ÎȽÃǤË
-.B rmid
-¤¬»ÈÍѤ¹¤ë¥Ý¥ê¥·¡¼¤òÄêµÁ¤·¤Þ¤¹¡£
-.LP
-.B rmid
-¤ò¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢°Ê²¼¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-.LP
-.RS
-.TP 2
-\(bu
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¥¢¥¯¥Æ¥£¥Ù¡¼¥¿¤òµ¯Æ°¤¹¤ë¤È¤È¤â¤Ë¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Î
-.BR 1098
-¤ÇÆâÉô¥ì¥¸¥¹¥È¥ê¤ò
-³«»Ï¤·¡¢
-.LP
-.PD 0
-.TP
-\(bu
-.B ActivationSystem
-¤ò
-.B java.rmi.activation.ActivationSystem
-¤È¤¤¤¦Ì¾Á°¤ËÆâÉô¥ì¥¸¥¹¥È¥ê¾å¤Ç¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£
-
+\f3rmid\fP で起動システムデーモンを開始すると、オブジェクトを仮想マシン (VM) に登録して起動できるようになります。
.LP
.RE
-¥ì¥¸¥¹¥È¥ê¤Ë¤Û¤«¤Î¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
-.BR rmid
-¤Îµ¯Æ°»þ¤Ë
-.B -port
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-.ti +5n
+.SH "形式"
.LP
-.B rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
.LP
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤ò³«»Ï¤·¡¢¥ì¥¸¥¹¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È
-.B 1099
-¤Ç¥ì¥¸¥¹¥È¥ê¤ò³«»Ï¤·¤Þ¤¹¡£
-
-.LP
-.SS inetd/xinetd ¤«¤é¤Î rmid ¤Îµ¯Æ°
-
-¥³¥Þ¥ó¥É¹Ô¤«¤é
-.B rmid
-¤òµ¯Æ°¤·¤Ê¤¤¤Ç¡¢
-inetd (Solaris) ¤Þ¤¿¤Ï xinetd (Linux) ¤òÀßÄꤷ¡¢
-.B rmid
-¤òɬÍפ˱þ¤¸¤Æµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-
-.LP
-µ¯Æ°»þ¤Ë
-.B rmid
-¤Ï¡¢System.inheritedChannel ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ
-·Ñ¾µ¥Á¥ã¥Í¥ë (inetd/xinetd ¤«¤é¤Î·Ñ¾µ) ¤Î
-¼èÆÀ¤ò»î¤ß¤Þ¤¹¡£
-·Ñ¾µ¤µ¤ì¤¿¥Á¥ã¥ó¥Í¥ë¤¬ \f2null\fP ¤Ç¤¢¤ë¤«¡¢\f2java.nio.channels.ServerSocketChannel\fP ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢\f2rmid\fP ¤Ï¤½¤Î¥Á¥ã¥ó¥Í¥ë¤Ï \f2inetd\fP/\f2xinetd\fP ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¤ÈȽÃǤ·¡¢Á°½Ò¤Î¤è¤¦¤Ëµ¯Æ°¤·¤Þ¤¹¡£
-
-.LP
-.LP
-·Ñ¾µ¥Á¥ã¥ó¥Í¥ë¤¬ ServerSocketChannel
-¥¤¥ó¥¹¥¿¥ó¥¹¤Î¾ì¹ç¡¢
-.B rmid
-¤Ï ServerSocketChannel ¤«¤é
-¼èÆÀ¤·¤¿ java.net.ServerSocket ¤ò¡¢
-¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-(java.rmi.activation.ActivationSystem ¤¬
-¥Ð¥¤¥ó¥É¤µ¤ì¤ë¥ì¥¸¥¹¥È¥ê¤È
-java.rmi.activation.Activator
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È) ¤ËÂФ¹¤ëÍ×µá¤ò
-¼õ¤±Æþ¤ì¤ë¥µ¡¼¥Ð¥½¥±¥Ã¥È¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
-.LP
-¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢
-.B rmid
-¤ÎÆ°ºî¤Ï¡¢¼¡¤Î¤³¤È¤ò½ü¤¤¤Æ¡¢
-¥³¥Þ¥ó¥É¹Ô¤«¤éµ¯Æ°¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£
-
-.TP 2
-\(bu System.err ¤Ëɽ¼¨¤µ¤ì¤ë½ÐÎϤϥե¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È
-¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ÀÜƬ¼¡Örmid-err¡×¤ÈÀÜÈø¼¡Ötmp¡×¤ò
-»ÈÍѤ·¤Æ java.io.tmpdir ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£
-(Ä̾ï /var/tmp ¤Þ¤¿¤Ï /tmp) ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-
-.TP 2
-\(bu \-port ¥ª¥×¥·¥ç¥ó¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-.B rmid
-¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ
-½ªÎ»¤·¤Þ¤¹¡£
-
-.TP 2
-\(bu \-log ¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.B rmid
-¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ
-½ªÎ»¤·¤Þ¤¹¡£
-
-.LP
-ɬÍפ˱þ¤¸¤Æ³«»Ï¤¹¤ë¥µ¡¼¥Ó¥¹¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢
-inetd (Solaris) ¤Þ¤¿¤Ï xinetd (Linux) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-.SH "¥ª¥×¥·¥ç¥ó"
-
-.TP
-.BI \-C someCommandLineOption
-.B rmid
-¤Î»Ò¥×¥í¥»¥¹ (µ¯Æ°¥°¥ë¡¼¥×) ¤¬ºîÀ®¤µ¤ì¤¿¤È¤¤Ë¡¢³Æ»Ò¥×¥í¥»¥¹¤Ë¥³¥Þ¥ó¥É¹Ô°ú¿ô
-¤È¤·¤ÆÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢µ¯Æ°¥·¥¹¥Æ¥à
-¥Ç¡¼¥â¥ó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë³Æ Java Virtual Machine ¤Ë¥×¥í¥Ñ¥Æ¥£¤òÅϤ¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-C\-Dsome.property=value
-
-.sp 1n
-¥³¥Þ¥ó¥É¹Ô°ú¿ô¤ò»Ò¥×¥í¥»¥¹¤ËÅϤ¹µ¡Ç½¤Ï¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ºÝ¤ËÊØÍø¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-C\-Djava.rmi.server.logCalls=true
-
-.sp 1n
-¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Î»Ò JVM ¤Ç¥µ¡¼¥Ð¸Æ¤Ó½Ð¤·¤Î¥í¥°¤¬»Ä¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-.TP
-.BI \-J<someCommandLineOption>
-.B rmid
-¤ò¼Â¹ÔÃæ¤Î java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.B rmid
-¤Ç
-.BR rmid.policy
-¤È¤¤¤¦Ì¾Á°¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-.BR rmid
-¤Î¥³¥Þ¥ó¥É¹Ô¤Ç
-.B \-J
-¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ
-.B java.security.policy
-¥×¥í¥Ñ¥Æ¥£¤òÄêµÁ¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-J\-Djava.security.policy=rmid.policy
-
-.TP
-.BI \-J\-Dsun.rmi.activation.execPolicy=<policy>
-µ¯Æ°¥°¥ë¡¼¥×¤Î¼Â¹ÔÂоݤȤʤë JVM ¤Îµ¯Æ°¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò¸¡ºº¤¹¤ë¤¿¤á¤Ë¡¢
-.B rmid
-¤¬ºÎÍѤ¹¤ë¥Ý¥ê¥·¡¼¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Sun ¤Î RMI µ¯Æ°¥Ç¡¼¥â¥ó¼ÂÁõ¤À¤±¤Ë¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥É¹Ô¤Ë¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï
-.B \-J-Dsun.rmi.activation.execPolicy=default
-¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-.IR policy
-¤Ë»ØÄê²Äǽ¤ÊÃͤϡ¢
-.BR default
-¡¢
-.IR policyClassName
-¡¢¤Þ¤¿¤Ï none ¤Ç¤¹¡£
-.BR
-
-.RS
-.TP 2
-\(bu
-.B default
-(¤Þ¤¿¤Ï¡¢¤³¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç)
-
-.LP
-¥Ç¥Õ¥©¥ë¥È¤Î
-.B execPolicy
-¤Ç¤Ï¡¢»ÈÍѤ¹¤ë¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ëÆâ¤Î¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤¬
-.B rmid
-¤ËÍ¿¤¨¤é¤ì¤ë¾ì¹ç¤Ë¤Î¤ß¡¢
-.B rmid
-¤ÏÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤¹¡£
-.BR default
-¤Î¼Â¹Ô¥Ý¥ê¥·¡¼¤ò»ÈÍѤǤ¤ë¤Î¤Ï¡¢
-¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥°¥ë¡¼¥×¼ÂÁõ¤À¤±¤Ç¤¹¡£
-.sp 1n
-
-.B rmid
-¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î JVM ¤òµ¯Æ°¤¹¤ëºÝ¡¢¤½¤ÎÅÐÏ¿¤µ¤ì¤¿µ¯Æ°¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¤¢¤ë
-.BR ActivationGroupDesc
-Æâ¤Î¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Î
-.B ActivationGroupDesc.CommandEnvironment
-¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¡Ö¥³¥Þ¥ó¥É¡×¡¢¤ª¤è¤Ó¥³¥Þ¥ó¥É¹Ô¤ËÄɲ乤ë
-Ǥ°Õ¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmid
-¤Ï
-.BR java.home
-¤Ë¤¢¤ë
-.B java
-¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¥°¥ë¡¼¥×µ½Ò»Ò¤Ë¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥³¥Þ¥ó¥É¹Ô¤Ë
-Äɲ䵤ì¤ë¡Ö¥×¥í¥Ñ¥Æ¥£¡×¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â´Þ¤Þ¤ì¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.BI \-D<property>=<value>
-
-.sp 1n
-¥¢¥¯¥»¥¹¸¢
-.B com.sun.rmi.rmid.ExecPermission
-¤ò»ÈÍѤ¹¤ë¤È¡¢
-.B rmid
-¤ËÂФ·¡¢¥°¥ë¡¼¥×µ½Ò»Ò¤Î
-.B CommandEnvironment
-¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¥¢¥¯¥»¥¹¸¢
-.B com.sun.rmi.rmid.ExecOptionPermission
-¤ò»ÈÍѤ¹¤ë¤È¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤È¤¤Ë¡¢
-¥°¥ë¡¼¥×µ½Ò»Ò¤Ç¥×¥í¥Ñ¥Æ¥£¥ª¡¼¥Ð¡¼¥é¥¤¥É¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô
-¥ª¥×¥·¥ç¥ó¡¢¤Þ¤¿¤Ï
-.BR CommandEnvironment
-¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò
-.B rmid
-¤«¤é»ÈÍѤǤ¤Þ¤¹¡£
-
-.sp 1n
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¾ì¹ç¡¢¥¢¥¯¥»¥¹¸¢
-.B ExecPermission
-¤ª¤è¤Ó
-.B ExecOptionPermission
-¤òÉáÊ×Ū¤Ë (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æ) µö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-.TP
-.BI ExecPermission
-.B ExecPermission
-¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë
-.B rmid
-¤¬ÆÃÄê¤Î¡Ö¥³¥Þ¥ó¥É¡×¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£
-.sp 1n
-.TP
-.B ¹½Ê¸
-.br
-.B ExecPermission
-¤Î¡Ö̾Á°¡×¤Ï¡¢
-.B rmid
-¤Ë¼Â¹Ô¸¢¸Â¤òÍ¿¤¨¤ë¥³¥Þ¥ó¥É¤Î¥Ñ¥¹Ì¾¤Ç¤¹¡£¡Ö/*¡×(¡Ö/¡×¤Ï¥Õ¥¡¥¤¥ë¶èÀÚ¤êʸ»ú¡¢¤Ä¤Þ¤ê
-.BR File.separatorChar
-) ¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¤Þ¤¹¡£¡Ö/-¡×
-¤Ç½ª¤ï¤ë¥Ñ¥¹Ì¾¤Ï¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê
-(ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£¥Ñ¥¹Ì¾¤ËÆÃÊ̤ʥȡ¼¥¯¥ó¡Ö<<ALL FILES>>¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢
-Ǥ°Õ¤Î¥Õ¥¡¥¤¥ë¤Ë°ìÃפ·¤Þ¤¹¡£
-.sp 1n
-
-.B Ãí:
-¡Ö*¡×¤¬ 1 ¤Ä¤À¤±»ØÄꤵ¤ì¤¿¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¤·¡¢
-¡Ö-¡×¤¬ 1 ¤Ä¤À¤±»ØÄꤵ¤ì¤¿¥Ñ¥¹Ì¾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¡¢
-¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê (ºÆµ¢Åª¤Ë) ¤òɽ¤·¤Þ¤¹¡£
-
-.TP
-.BI ExecOptionPermission
-.B ExecOptionPermission
-¥¯¥é¥¹¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï»þ¤Ë
-.B rmid
-¤¬ÆÃÄê¤Î¥³¥Þ¥ó¥É¹Ô¡Ö¥ª¥×¥·¥ç¥ó¡×¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òɽ¤·¤Þ¤¹¡£
-.B ExecOptionPermission
-¤Î¡Ö̾Á°¡×¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ÎÃͤǤ¹¡£
-.sp 1n
-.TP
-.B ¹½Ê¸
-.br
-¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢À©¸ÂÉÕ¤¥ï¥¤¥ë¥É¥«¡¼¥É»ØÄ꤬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Þ¥Ã¥Á¥ó¥°¤ò»ØÄꤷ¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯¤Ï¡¢
-¥ª¥×¥·¥ç¥ó̾¼«ÂΤòɽ¤¹ (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ë°ìÃפ¹¤ë) ¤¿¤á¤Ë
-»ÈÍѤǤ¤Þ¤¹¡£¤Þ¤¿¡¢¡Ö.¡×¤ª¤è¤Ó¡Ö=¡×¤Î¼¡¤Ë»ØÄꤹ¤ë¾ì¹ç¤Ë¤Î¤ß¡¢
-¥ª¥×¥·¥ç¥ó̾¤ÎºÇ¸å¤Ë¥¢¥¹¥¿¥ê¥¹¥¯¤ò»ÈÍѤǤ¤Þ¤¹¡£
-.sp 1n
-
-Îã¤ò¼¨¤·¤Þ¤¹¡£¡Ö*¡×¡¢¡Ö-Dfoo.*¡×¡¢¡Ö-Da.b.c=*¡×¤Ï͸ú¤Ç¤¹¡£¡Ö*foo¡×¡¢¡Ö-Da*b¡×
-¡¢¡Öab*¡×¤Ï̵¸ú¤Ç¤¹¡£
-
-.TP
-.BI rmid ¤Î¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¥³¥Þ¥ó¥É¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤ë¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹¸¢
-.B ExecPermission
-¤ª¤è¤Ó
-.B ExecOptionPermission
-¤òÉáÊ×Ū¤Ë (¤Ä¤Þ¤ê¡¢¤¹¤Ù¤Æ¤Î¥³¡¼¥É¥½¡¼¥¹¤ËÂФ·¤Æ) µö²Ä¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥¢¥¯¥»¥¹¸¢¤ò¸¡ºº¤¹¤ë¤Î¤Ï
-.B rmid
-¤À¤±¤Ç¤¢¤ë¤¿¤á¡¢ÉáÊ×Ū¤Ëµö²Ä¤·¤Æ¤â°ÂÁ´¤Ç¤¹¡£
-
-.sp 1n
-.B rmid
-¤Ë¤µ¤Þ¤¶¤Þ¤Ê¼Â¹Ô¸¢¸Â¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ÎÎã¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ft 3
.nf
+\f3
+.fl
+rmid [options]
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmid\fP ツールは、起動システムデーモンを開始します。起動システムデーモンを開始してからでないと、起動可能オブジェクトを起動システムに登録したり、VM 内で起動したりすることができません。起動可能なリモートオブジェクトを使ったプログラムの作成方法の詳細は、
+.na
+\f2「Java RMI 仕様」\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.htmlおよび
+.na
+\f2「起動のチュートリアル」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.htmlを参照してくだ さい。
+.LP
+.LP
+デーモンを起動するには、次のように、セキュリティーポリシーファイルを指定して \f2rmid\fP コマンドを実行します。
+.LP
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy
+.fl
+\fP
+.fi
+
+.LP
+.LP
+\f3注:\fP\f2rmid\fP の Sun の 実装を実行する場合、デフォルトでは、セキュリティーポリシーファイルを指定する必要があります。 それは、起動グループ用に VM を起動するために各 \f2ActivationGroupDesc\fP 内の情報を使用できるかどうかを \f2rmid\fP が検証できるようにするためです。特に、\f2ActivationGroupDesc\fP のコンストラクタに渡される \f2CommandEnvironment\fP や任意の \f2Properties\fP によって指定されるコマンドおよびオプションは、\f2rmid\fP のセキュリティーポリシーファイルの中で明示的に許可することが必要になりました。\f2sun.rmi.activation.execPolicy\fP プロパティーの値は、起動グループ用に VM を起動するために \f2ActivationGroupDesc\fP 内の情報を使用できるかどうかを判断するときに \f2rmid\fP が使用するポリシーを決定します。
+.LP
+.LP
+\f2rmid\fP をデフォルト設定で実行すると、次のような処理が行われます。
+.LP
+.RS 3
+.TP 2
+o
+アクティベータを起動し、デフォルトポート 1098 で内部レジストリを起動する
+.TP 2
+o
+この内部レジストリの中で、\f2ActivationSystem\fP を \f2java.rmi.activation.ActivationSystem\fP という名前にバインドする
+.RE
+
+.LP
+.LP
+レジストリにほかのポートを指定するには、\f2rmid\fP の起動時に \f2\-port\fP オプションを指定しなければなりません。次に例を示します。
+.LP
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy \-port 1099
+.fl
+\fP
+.fi
+
+.LP
+.LP
+このコマンドは、起動システムデーモンを開始し、レジストリのデフォルトポート 1099 でレジストリを開始します。
+.LP
+.SS
+rmid を inetd/xinetd から開始する
+.LP
+.LP
+\f2rmid\fP をコマンド行から開始するには、\f2inetd\fP (Solaris の場合)、または \f2xinetd\fP (Linux) を構成して \f2rmid\fP を必要に応じて開始する方法もあります。
+.LP
+.LP
+\f2rmid\fP を開始すると、\f2System.inheritedChannel\fP メソッドを呼び出して、継承されたチャンネル (\f2inetd\fP/\f2xinetd\fP から継承) を取得しようとします。継承されたチャンネルが \f2null\fP であるか、\f2java.nio.channels.ServerSocketChannel\fP のインスタンスでなかった場合、\f2rmid\fP はそのチャンネルは \f2inetd\fP/\f2xinetd\fP によって起動されたものではないと判断し、前述のように起動します。
+.LP
+.LP
+継承されたチャンネルが \f2ServerSocketChannel\fP インスタンスである場合は、エクスポートするリモートオブジェクト、つまり \f2java.rmi.activation.ActivationSystem\fP がバインドされているレジストリと \f2java.rmi.activation.Activator\fP リモートオブジェクトに対する要求を受信するサーバーソケットとして、\f2ServerSocketChannel\fP から取得した \f2java.net.ServerSocket\fP を \f2rmid\fP では使用します。このモードでは、\f2rmid\fP の動作は、次のことを除いて、 コマンド行から起動した場合と同じです。
+.LP
+.RS 3
+.TP 2
+o
+\f2System.err\fP に対する出力は、ファイルにリダイレクトされる。このファイルは \f2java.io.tmpdir\fP システムプロパティーで指定されるディレクトリ (通常は \f2/var/tmp\fP または \f2/tmp\fP) にある。 ファイル名の接頭辞は \f2rmid\-err\fP で、接尾辞は \f2"tmp"\fP である
+.TP 2
+o
+\f2\-port\fP オプションは拒否される。このオプションを指定すると、\f2rmid\fP はエラーメッセージを出して終了する
+.TP 2
+o
+\f2\-log\fP オプションは必須。このオプションを指定しないと、\f2rmid\fP はエラーメッセージを出して終了する
+.RE
+
+.LP
+.LP
+必要に応じてサービスを開始するように設定する詳細については、\f2inetd\fP (Solaris) または \f2xinetd\fP (Linux) のマニュアルページを参照してください。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-C<someCommandLineOption>
+\f2rmid\fP の子プロセス (起動グループ) が作成されたときに、それぞれの子プロセスにコマンド行引数として渡されるオプションを指定します。たとえば、次のように指定すると、起動システムデーモ ンによって生成される各仮想マシンにプロパティーを渡すことができます。
+.nf
+\f3
+.fl
+ rmid \-C\-Dsome.property=value
+.fl
+\fP
+.fi
+コマンド行引数を子プロセスに渡す機能は、デバッグを行う場合に便利です。たとえば、次のようなコマンドを実行できます。
+.nf
+\f3
+.fl
+ rmid \-C\-Djava.rmi.server.logCalls=true
+.fl
+\fP
+.fi
+このコマンドにより、すべての子 VM でサーバー呼び出しのログが作成されるようになります。
+.LP
+.TP 3
+\-J<someCommandLineOption>
+\f2rmid\fP を実行している \f2java\fP インタプリタに渡すオプションを指定します。たとえば、\f2rmid\fP が \f2rmid.policy\fP という名前のポリシーファイルを使用するように指定するには、\f2rmid\fP のコマンド行で \f2\-J\fP オプションを使って、\f2java.security.policy\fP プロパティーを定義します。 次に例を示します。
+.nf
+\f3
+.fl
+ rmid \-J\-Djava.security.policy=rmid.policy
+.fl
+\fP
+.fi
+.TP 3
+\-J\-Dsun.rmi.activation.execPolicy=<policy>
+起動グループが実行されることになる VM の起動に使用するコマンドおよびコマンド行オプションをチェックするために、\f2rmid\fP が採用するポリシーを指定します。このオプションは、Java RMI 起動デーモンの Sun の実装だけに存在することに注意してください。コマンド行にこのプロパティーを指定しない場合、結果は \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP を指定した場合と同じになります。\f2<policy>\fP に指定可能な値は、\f2default\fP、\f2<policyClassName>\fP、または \f2none\fP です。 それぞれの値について、このあと説明します。
+.LP
+.RS 3
+.TP 2
+o
+\f3default (または、このプロパティーが「指定されていない」場合)\fP
+.LP
+デフォルトの \f2execPolicy\fP の場合、\f2rmid\fP が実行できるのは、\f2rmid\fP が使用する セキュリティーポリシーファイルの中で、実行する権限が \f2rmid\fP に与えられているコマンドおよびコマンド行オプションだけです。「デフォルト」の実行ポリシーで使用できるのは、デフォルトの起動グループ実装だけです。
+.LP
+\f2rmid\fP は、起動グループ用の VM を起動するときに、そのグループについて登録された起動グループ記述子である \f2ActivationGroupDesc\fP 内の情報を使用します。グループ記述子は、\f2ActivationGroupDesc.CommandEnvironment\fP を指定します (省略可能)。 これには、起動グループを開始する「コマンド」と、そのコマンド行に追加できるコマンド行「オプション」が含まれています。デフォルトでは、\f2rmid\fP は、\f2java.home\fP にある \f2java\fP コマンドを使用します。グループ記述子には、オプションとしてコマンド行に追加される「プロパティー」オーバーライドも含まれています。 このプロパティーは、次のように定義します。
+.nf
+\f3
+.fl
+ \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3
+.fl
+\fP
+.fi
+.LP
+アクセス権 \f2com.sun.rmi.rmid.ExecPermission\fP を使用すると、グループ記述子の \f2CommandEnvironment\fP で指定されたコマンドを実行して起動グループを開始する権限を、\f2rmid\fP に対して許可することができます。アクセス権 \f2com.sun.rmi.rmid.ExecOptionPermission\fP を使用すると、グループ記述子でプロパティーオーバーライドとして指定されたコマンド行オプション、または \f2CommandEnvironment\fP でオプションとして指定されたコマンド行オプションを、起動グループを開始するときに \f2rmid\fP が使用できるようになります。
+.LP
+\f2rmid\fP にさまざまなコマンドおよびオプションを実行する権限を許可する場合は、アクセス権 \f2ExecPermission\fP および \f2ExecOptionPermission\fP を汎用的に許可する必要があります。 つまり、すべてのコードソースに対して許可します。
+.RS 3
+.TP 3
+ExecPermission
+\f2ExecPermission\fP クラスは、起動グループを開始するために \f2rmid\fP が特定の「コマンド」を実行する権限を表します。
+.LP
+\f3構文\fP
+.br
+\f2ExecPermission\fP の「名前」は、\f2rmid\fP に実行を許可するコマンドのパス名です。「/*」 (「/」はファイル区切り文字 \f2File.separatorChar\fP) で終わるパス名は、そのディレクトリに含まれるすべてのファイルを示します。「/\-」で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を示します。パス名に特別なトークン「<<ALL FILES>>」を指定した場合は、\f3任意の\fPファイルを示します。
+.LP
+\f3注:\fP「*」を 1 つ指定しただけのパス名は、現在のディレクトリ内のすべてのファイルを表します。 また、「\-」を 1 つ指定しただけのパス名は、現在のディレクトリ内のすべてのファイルと、現在のディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を表します。
+.TP 3
+ExecOptionPermission
+\f2ExecOptionPermission\fP クラスは、起動グループを開始するときに \f2rmid\fP が特定のコマンド行「オプション」を使用できる権限を表します。\f2ExecOptionPermission\fP の「名前」は、コマンド行オプションの値です。
+.LP
+\f3構文\fP
+.br
+オプションでは、ワイルドカードが限定的にサポートされます。アスタリスクは、ワイルドカードマッチを表します。 アスタリスクは、オプション名そのものとして使用できます。 つまり、任意のオプションを表すことができます。 また、オプション名の末尾に使用することもできます。 ただし、「.」か「=」の直後にアスタリスクを指定する必要があります。
+.LP
+例を示します。「*」、「\-Dfoo.*」、「\-Da.b.c=*」は有効ですが、「*foo」、「\-Da*b」、「ab*」は無効です。
+.TP 3
+rmid のポリシーファイル
+\f2rmid\fP にさまざまなコマンドおよびオプションを実行する権限を許可する場合は、アクセス権 \f2ExecPermission\fP および \f2ExecOptionPermission\fP を汎用的に許可する必要があります。 つまり、すべてのコードソースに対して許可します。これらのアクセス権をチェックするのは \f2rmid\fP だけなので、これらのアクセス権を汎用的に許可しても安全です。
+.LP
+\f2rmid\fP に各種の実行権限を許可するポリシーファイルの例を、次に示します。
+.nf
+\f3
+.fl
grant {
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/java/jdk1.2.2/solaris/bin/java";
+.fl
+ "/files/apps/java/jdk1.2.2/solaris/bin/java";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+.fl
+ "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecPermission
- "/files/apps/rmidcmds/*";
+.fl
+ "/files/apps/rmidcmds/*";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Djava.security.policy=/files/policies/group.policy";
+.fl
+ "\-Djava.security.policy=/files/policies/group.policy";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Djava.security.debug=*";
+.fl
+ "\-Djava.security.debug=*";
+.fl
+.fl
permission com.sun.rmi.rmid.ExecOptionPermission
- "-Dsun.rmi.*";
+.fl
+ "\-Dsun.rmi.*";
+.fl
};
-
+.fl
+\fP
.fi
-.ft 1
-
-.sp 1n
-ºÇ½é¤Î 2 ¤Ä¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥Ñ¥¹Ì¾¤Ë¤è¤êÌÀ¼¨¤µ¤ì¤¿ 1.2.2 ¥Ð¡¼¥¸¥ç¥ó¤Î
-.B java
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëµö²Ä¤òÍ¿¤¨¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B java.home
-¤Ë¤¢¤ë
-.B java
-¥³¥Þ¥ó¥É¤Î¥Ð¡¼¥¸¥ç¥ó (
-.B rmid
-¤¬»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¤â¤Î) ¤¬»ÈÍѤµ¤ì¤ë¤¿¤á¡¢¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-3 ÈÖÌܤΥ¢¥¯¥»¥¹¸¢¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥Ç¥£¥ì¥¯¥È¥ê
-.BR /files/apps/rmidcmds
-Æâ¤ÎǤ°Õ¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£
-
-.sp 1n
-4 ÈÖÌܤ˵ö²Ä¤µ¤ì¤¿¥¢¥¯¥»¥¹¸¢
-.BR ExecOptionPermission
-¤Ï¡¢
-.B rmid
-¤ËÂФ·¡¢¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò
-.BR /files/policies/group.policy
-¤ËÄêµÁ¤¹¤ëµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£¼¡¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤¬
-.B java.security.debug
-¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£ºÇ¸å¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢
-µ¯Æ°¥°¥ë¡¼¥×¤¬
-.B sun.rmi
-¥×¥í¥Ñ¥Æ¥£Ì¾³¬ÁØÆâ¤ÎǤ°Õ¤Î¥×¥í¥Ñ¥Æ¥£¤ò»ÈÍѤ¹¤ë¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£
-
-.sp 1n
-¥Ý¥ê¥·¡¼¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ
-.B rmid
-¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢
-.BR rmid
-¤Î¥³¥Þ¥ó¥É¹Ô¤Ç
-.B java.security.policy
-¥×¥í¥Ñ¥Æ¥£¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-
-.sp 1n
-.ti +5n
-.B rmid \-J\-Djava.security.policy=rmid.policy
-
-.TP 2
-\(bu
-.I <policyClassName>
-
-.sp 1n
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤Ï½½Ê¬¤Ê½ÀÆðÀ¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢´ÉÍý¼Ô¤Ï
-.BR rmid
-¤Îµ¯Æ°»þ¤Ë¡¢
-.B checkExecCommand
-¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¥¯¥é¥¹¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢
-.BR rmid
-¤¬¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò¸¡ºº¤Ç¤¤Þ¤¹¡£
-.sp 1n
-
-.IR policyClassName
-¤Ë¤Ï¡¢public ¤Ç°ú¿ô¤òɬÍפȤ·¤Ê¤¤¥³¥ó¥¹¥È¥é¥¯¥¿¤È¤È¤â¤Ë public ¥¯¥é¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¤Þ¤¿¡¢¼¡¤Î
-.B checkExecCommand
-¥á¥½¥Ã¥É¼ÂÁõ¤â»ØÄꤷ¤Þ¤¹¡£
-
-.sp 1n
-.ft 3
-.nf
-.in +5n
-public void checkExecCommand(ActivationGroupDesc desc,
- String[] command)
- throws SecurityException;
-.in
-.fi
-.ft 1
-
-.sp 1n
-µ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ëÁ°¤Ë¡¢
-.B rmid
-¤Ï¡¢¥Ý¥ê¥·¡¼¤Î
-.BR checkExecCommand
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢µ¯Æ°¥°¥ë¡¼¥×¤Îµ½Ò»Ò¤ª¤è¤Óµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤¹¤ë´°Á´¤Ê
-¥³¥Þ¥ó¥É¤ò´Þ¤àÇÛÎó¤òÅϤ·¤Þ¤¹¡£
-.B checkExecCommand
-¤¬
-.BR SecurityException
-¤ò¥¹¥í¡¼¤¹¤ë¾ì¹ç¡¢
-.B rmid
-¤Ïµ¯Æ°¥°¥ë¡¼¥×¤ò³«»Ï¤»¤º¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¯Æ°¤ò»î¤ß¤Æ¤¤¤ë¸Æ¤Ó½Ð¤·Â¦¤Ë
-.B ActivationException
-¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£
-
-.TP
-\(bu
-.B none
-
-.sp 1n
-.B sun.rmi.activation.execPolicy
-¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬¡Önone¡×¤Î¾ì¹ç¡¢
-.B rmid
-¤Ï¡¢µ¯Æ°¥°¥ë¡¼¥×¤Î³«»Ï¥³¥Þ¥ó¥É¤Î¸¡¾Ú¤ò°ìÀÚ¹Ô¤¤¤Þ¤»¤ó¡£
-
-.TP
-
-.BI \-log " dir"
-µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ª¤è¤Ó´ØÏ¢¾ðÊó¤ò½ñ¤¹þ¤à¤Î¤Ë»È¤¦¡¢
-¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-.B rmid
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë
-.B log
-¤È¤¤¤¦¥í¥°¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-
-.TP
-.BI \-port " port"
-.BR rmid
-¤Î¥ì¥¸¥¹¥È¥ê¤¬»È¤¦¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£µ¯Æ°¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤Ï¡¢
-.BR java.rmi.activation.ActivationSystem
-¤È¤¤¤¦Ì¾Á°¤Ç
-.BR ActivationSystem
-¤ò¥ì¥¸¥¹¥È¥ê¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¤Î
-.B ActivationSystem
-¤Ï¡¢¼¡¤Î¤è¤¦¤Ë
-.B Naming.lookup
-¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤¤Þ¤¹¡£
+最初の 2 つの付与されているアクセス権は、\f2rmid\fP に対し、パス名により明示的に指定される \f2java\fP コマンドおよび \f2java_g\fP コマンドの 1.2.2 バージョンの実行を許可します。デフォルトでは、\f2java.home\fP にあるバージョンの \f2java\fP コマンド (\f2rmid\fP が使用するのと同じバージョン) が使用されるため、そのコマンドは、ポリシーファイルで指定する必要はありません。3 番目のアクセス権は、\f2rmid\fP に対して、ディレクトリ \f2/files/apps/rmidcmds\fP 内の任意のコマンドの実行権限を許可します。
+.LP
+4 番目のアクセス権 \f2ExecOptionPermission\fP は、\f2rmid\fP に対して、セキュリティーポリシーファイルを \f2/files/policies/group.policy\fP として定義している起動グループの開始を許可します。5 番目のアクセス権は、起動グループが \f2java.security.debug\fP プロパティーを使用することを許可しています。最後のアクセス権は、起動グループが \f2sun.rmi\fP というプロパティー名の階層内の任意のプロパティーを使用することを許可しています。
+.LP
+ポリシーファイルを指定して \f2rmid\fP を起動するには、\f2rmid\fP のコマンド行で \f2java.security.policy\fP プロパティーを指定する必要があります。 次に例を示します。
+.RS 3
.LP
-.RS
-.ft 3
+.LP
+\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
+.LP
+.RE
+.RE
+.TP 2
+o
+.LP
+.TP 2
+o
+\f4<policyClassName>\fP
+.LP
+デフォルトの動作では十分な柔軟性が得られない場合、管理者は、\f2rmid\fP の起動時に、\f2checkExecCommand\fP メソッドが所属するクラスの名前を指定して、rmid が実行するコマンドをチェックすることができます。
+.LP
+\f2policyClassName\fP には、引数なしのコンストラクタを持ち、次のような \f2checkExecCommand\fP メソッドを実装している public クラスを指定します。
.nf
-import java.rmi.*;
-import java.rmi.activation.*;
+\f3
+.fl
+ public void checkExecCommand(ActivationGroupDesc desc,
+.fl
+ String[] command)
+.fl
+ throws SecurityException;
+.fl
+\fP
+.fi
+起動グループを開始する前に、\f2rmid\fP は、ポリシーの \f2checkExecCommand\fP メソッドを呼び出します。このとき、起動グループの記述子と、起動グループを開始するための完全なコマンドを含む配列をそのメソッドに渡します。\f2checkExecCommand\fP が \f2SecurityException\fP をスローすると、\f2rmid\fP はその起動グループを開始せず、オブジェクトの起動を試行している呼び出し側には \f2ActivationException\fP がスローされます。
+.LP
+.TP 2
+o
+\f3none\fP
+.LP
+\f2sun.rmi.activation.execPolicy\fP プロパティーの値が「none」の場合、\f2rmid\fP は、起動グループを開始するコマンドをまったく検証しません。
+.RE
+.LP
+.TP 3
+\-log dir
+起動システムデーモンがデータベースおよび関連情報を書き込むのに使うディレクトリの名前を指定します。デフォルトでは、\f2rmid\fP コマンドを実行したディレクトリに、\f2log\fP というログディレクトリが作成されます。
+.LP
+.TP 3
+\-port port
+\f2rmid\fP のレジストリが使うポートを指定します。起動システムデーモンは、このレジストリの中で、\f2java.rmi.activation.ActivationSystem\fP という名前で\f2ActivationSystem\fP をバインドします。したがって、ローカルマシン上の \f2ActivationSystem\fP は、次のように \f2Naming.lookup\fP メソッドを呼び出すことによって取得できます。
+.nf
+\f3
+.fl
+ import java.rmi.*;
+.fl
+ import java.rmi.activation.*;
+.fl
-ActivationSystem system;
-system = (ActivationSystem)
-Naming.lookup("//:port/java.rmi.activation.ActivationSystem");
+.fl
+ ActivationSystem system; system = (ActivationSystem)
+.fl
+ Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem");
.fl
.fi
-
+.TP 3
+\-stop
+\f2\-port\fP オプションによって指定されたポートの、現在の \f2rmid\fP 呼び出しを停止します。ポートが指定されていない場合は、ポート 1098 で実行されている \f2rmid\fP を停止します。
.RE
-.TP
-.BI \-stop
-.B -port
-¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Î¡¢¸½ºß¤Î
-.B rmid
-¤Î¸Æ¤Ó½Ð¤·¤òÄä»ß¤·¤Þ¤¹¡£¥Ý¡¼¥È¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ý¡¼¥È 1098 ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë
-.B rmid
-¤òÄä»ß¤·¤Þ¤¹¡£
-.SH "´Ä¶ÊÑ¿ô"
-.TP 20
-.SB "CLASSPATH"
-¥æ¡¼¥¶ÄêµÁ¥¯¥é¥¹¤Ø¤Î¥Ñ¥¹¤ò¥·¥¹¥Æ¥à¤ËÄÌÃΤ¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥³¥í¥ó¤Ç
-¶èÀÚ¤ê¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
-.RS
+.SH "環境変数"
.LP
-.ft 3
+.LP
+.RS 3
+.TP 3
+CLASSPATH
+ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。例を示します。
.nf
-% .:/usr/local/java/classes
-
+\f3
+.fl
+ .:/usr/local/java/classes
+.fl
+\fP
.fi
-.ft 1
.RE
-.SH "´ØÏ¢¹àÌÜ"
+
+.LP
+.SH "関連項目"
.LP
.LP
.LP
-rmic¡¢CLASSPATH¡¢java
+rmic(1)、
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath、java(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1
index d00eedb..ec0a52e 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1
@@ -1,106 +1,99 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH rmiregistry 1 "2004 ǯ 6 ·î 22 Æü"
-.SH "̾Á°"
-rmiregistry \- Java ¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
-.SH "·Á¼°"
-.B rmiregistry
-[
-.I port
-]
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "Java remote object registry" "" "Java remote object registry \(em \fLrmiregistry\fP"
-.IX "rmiregistry" "" "\fLrmiregistry\fP \(em Java remote object registry"
-.B rmiregistry
-¥³¥Þ¥ó¥É¤Ï¡¢¸½ºß¤Î¥Û¥¹¥È¾å¤Î»ØÄꤵ¤ì¤¿¥Ý¡¼¥È¤Ë¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È
-¥ì¥¸¥¹¥È¥ê¤òºîÀ®¤·µ¯Æ°¤·¤Þ¤¹¡£
-¥Ý¡¼¥ÈÈֹ椬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ý¡¼¥È
-1099
-¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-.B rmiregistry
-¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¡¢²¿¤â½ÐÎϤ·¤Þ¤»¤ó¡£
-°Ê²¼¤Ë»ØÄêÎã¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.RS
-.B example% rmiregistry &
-.RE
-.LP
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¥ì¥¸¥¹¥È¥ê¤Ï¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¡¢
-¥Û¥¹¥È¾å¤Î
-RMI
-¥µ¡¼¥Ð¤¬¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ë̾Á°¤ò¥Ð¥¤¥ó¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-̾Á°¤¬¤Ä¤¤¤¿¤¢¤È¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤·¤Æ
-¥ê¥â¡¼¥È¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.LP
-¥ì¥¸¥¹¥È¥ê¤ÏÄ̾¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ë
-ºÇ½é¤Î¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤½¤Î¤¢¤È¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»È¤Ã¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¸ÇͤÎ
-ÊýË¡¤Ç¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òõ¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.LP
-.B java.rmi.registry.LocateRegistry
-¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ï¡¢ÆÃÄê¤Î¥Û¥¹¥È¤Þ¤¿¤ÏÆÃÄê¤Î¥Û¥¹¥È¤È¥Ý¡¼¥È¾å¤Ç
-Æ°ºî¤·¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê¤òÆÀ¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£
-.LP
-.B java.rmi.Naming
-¥¯¥é¥¹¤Î
-URL
-ÍѤΥ᥽¥Ã¥É¤Ï¥ì¥¸¥¹¥È¥ê¤òÁàºî¤¹¤ë¤â¤Î¤Ç¡¢
-¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Îõº÷¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î
-̾Á°
-(ʸ»úÎó)
-¤Î¥Ð¥¤¥ó¥É¡¢¿·¤¿¤Ê̾Á°¤Î¥Ð¥¤¥ó¥É
-(°ÊÁ°¤Î¥Ð¥¤¥ó¥É¤ò¾å½ñ¤)¡¢
-¥Ð¥¤¥ó¥É¤Î¼è¤ê¾Ã¤·¡¢¤ª¤è¤Ó¥ì¥¸¥¹¥È¥êÃæ¤Ç¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë
-URL
-¤Î°ìÍ÷ɽ¼¨¤¬²Äǽ¤Ç¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ¤Þ¤¹¡£
-.TP 15
-.BI \-J option
-java ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¤¤Þ¤¹
-(
-.B \-J
-¤È java ¥ª¥×¥·¥ç¥ó¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤ÏɬÍפ¢¤ê¤Þ¤»¤ó)¡£
-.B \-J
-¤Î¸å¤í¤Ë³¤¯¥ª¥×¥·¥ç¥ó¤ò java ¥¤¥ó¥¿¥×¥ê¥¿¤ËÅϤ·¤Þ¤¹¡£
-.SH "´ØÏ¢¹àÌÜ"
-¼¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR java.sun.com
-¤ò»²¾È¤Þ¤¿¤Ï¸¡º÷¤·¤Æ¤¯¤À¤µ¤¤¡£
-.TP 5
-.B java.rmi.Naming @
-http://java.sun.com/j2se/1.5/docs/api/java/rmi/Naming.html
-.TP 5
-.B java.rmi.registry.LocateRegistry @
-http://java.sun.com/j2se/1.5/docs/api/java/rmi/registry/LocateRegistry.html
+." Copyright 2003-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH rmiregistry 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.LP
+.SH "名前"
+rmiregistry \- Java リモートオブジェクトレジストリ
+.LP
+.RS 3
+
+.LP
+.LP
+\f3rmiregistry\fP コマンドは、現在のホストの指定したポート上にリモートオブジェクトレジストリを開始します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+rmiregistry [\fP\f4port\fP\f3]
+.fl
+\fP
+.fi
+
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f3rmiregistry\fP コマンドは、現在のホストの指定 \f2port\fP 上にリモートオブジェクトレジストリを作成し、開始します。\f2port\fP の指定を省略した場合、レジストリはポート 1099 で開始します。\f3rmiregistry\fP コマンドに、出力機能はありません。通常、これはバックグラウンドで実行されます。例を示します。
+.LP
+.LP
+\f2rmiregistry&\fP
+.LP
+.LP
+リモートオブジェクトレジストリは、ブートストラップのネームサービスです。 同一ホストの RMI サーバーが、リモートオブジェクトを名前にバインドするために使用されます。次に、ローカルおよびリモートホストのクライアントはリモートオブジェクトを検索し、リモートメソッドの呼び出しを行います。
+.LP
+.LP
+レジストリは、一般的に、最初のリモートオブジェクトの位置を指定します。 そこで、アプリケーションはメソッドを呼び出す必要があります。代わって、そのオブジェクトはアプリケーション指定のサポートを提供し、他のオブジェクトを探します。
+.LP
+.LP
+\f2java.rmi.registry.LocateRegistry\fP クラスのメソッドは、ローカルホスト、またはローカルホストとポートで動作するレジストリを取得するために使用されます。
+.LP
+.LP
+\f2java.rmi.Naming\fP クラスの URL ベースのメソッドは、レジストリで動作し、任意のホストおよびローカルホスト上のリモートオブジェクトの検索に使用されます。リモートオブジェクトに単純な (文字列) 名前をバインドしたり、新しい名前をリバインド (古いバインドにオーバーライド) します。 またリモートオブジェクトをアンバインドしたり、レジストリにバインドされた URL を出力します。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-J
+\f2\-J\fP の後ろに続くオプションを \f2java\fP インタプリタに引き渡します。 \f2java\fP オプションと組み合わせて使います (\f2\-J\fP と \f2java\fP オプションの間にスペースは入れない)。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+java(1)、
+.na
+\f2java.rmi.registry.LocateRegistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html、および
+.na
+\f2java.rmi.Naming\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html
+.LP
+
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1
index 764f888..2a3b6e7 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -19,61 +18,44 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH schemagen 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH schemagen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.ad c
-.SH ̾Á°
-XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥¥Æ¥¯¥Á¥ã
+.SH "名前"
+schemagen \- XML バインドのための Java(TM) アーキテクチャースキーマジェネレータ
+.LP
+.LP
+\f3仕様バージョン:\fP 2.1
.br
-¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿\f3»ÅÍͤΥС¼¥¸¥ç¥ó:\fP 2.0
-.br
-\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (Reference Implementation¡¢RI) ¤Î¥Ð¡¼¥¸¥ç¥ó:\fP 2.0 ea3
-.br
-.ad l
+\f3実装バージョン:\fP 2.1.3
.LP
.SS
-schemagen ¤Îµ¯Æ°
+schemagen の起動
.LP
.LP
-¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢¥æ¡¼¥¶¡¼¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î \f2bin\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë \f2schemagen\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æµ¯Æ°¤Ç¤¤Þ¤¹¡£
+スキーマジェネレータは、ユーザーのプラットフォームの \f2bin\fP ディレクトリにある \f2schemagen\fP シェルスクリプトを使って起動できます。
.LP
.LP
-¸½ºß¤Î¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤â½èÍý¤Ç¤¤Þ¤¹¡£
+現在のスキーマジェネレータは、Java ソースファイルとクラスファイルのいずれも処理できます。
.LP
.LP
-¤Þ¤¿¡¢¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£schemagen ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+また、スキーマジェネレータを実行するための Ant タスクも用意されています。
+.na
+\f2schemagen を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlための手順を参照してください。
.LP
.RS 3
.LP
-\f3Solaris/Linux ¤Î¾ì¹ç\fP
-.LP
.nf
\f3
.fl
- % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ...
+% schemagen.sh Foo.java Bar.java ...
.fl
- Note: Writing schema1.xsd
-.fl
-
-.fl
-\fP
-.fi
-
-.LP
-\f3WindowsNT/2000/XP ¤Î¾ì¹ç\fP
-.LP
-.nf
-\f3
-.fl
- > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ...
-.fl
- Note: Writing schema1.xsd
-.fl
-
+注: Writing schema1.xsd
.fl
\fP
.fi
@@ -81,43 +63,70 @@
.LP
.LP
-¥æ¡¼¥¶¤Î Java ¥½¡¼¥¹/¥¯¥é¥¹¤¬¤Û¤«¤Î¥¯¥é¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Î CLASSPATH ´Ä¶ÊÑ¿ô·Ðͳ¤Ç¤½¤ì¤é¤Î¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï \f2\-classpath\fP/\f2\-cp\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤½¤ì¤é¤Î¥¯¥é¥¹¤ò¥Ä¡¼¥ë¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥¹¥¡¼¥Þ¤ÎÀ¸À®»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
+ユーザーの Java ソース/クラスがほかのクラスを参照している場合、システムの CLASSPATH 環境変数経由でそれらのクラスにアクセスできるようになっているか、あるいは \f2\-classpath\fP/\f2\-cp\fP オプションを使ってそれらのクラスをツールに指定する必要があります。そうしないと、スキーマの生成時にエラーが発生します。
.LP
.RS 3
.LP
-\f3¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó\fP
+\f3コマンド行オプション\fP
.LP
+.RS 3
.LP
.nf
\f3
.fl
-»ÈÍÑË¡: schemagen [\-options ...] <java files>
+使用方法: schemagen [\-options ...] <java files>
.fl
.fl
-¥ª¥×¥·¥ç¥ó:
+オプション:
.fl
- \-d <path> : ¥×¥í¥»¥Ã¥µ¤ª¤è¤Ó javac ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-d <path> : プロセッサと javac 生成のクラスファイルを置く場所を指定します。
.fl
- \-cp <path> : ¥æ¡¼¥¶»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-cp <path> : ユーザー指定ファイルの検索場所を指定します。
.fl
- \-classpath <path> : ¥æ¡¼¥¶»ØÄê¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
+ \-classpath <path> : ユーザー指定ファイルの検索場所を指定します。
.fl
- \-help : ¤³¤Î»ÈÍÑÊýË¡¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹
-.fl
-
+ \-help : この使用方法に関するメッセージを表示します。
.fl
\fP
.fi
+.RE
.LP
.RE
.SS
-À¸À®¤µ¤ì¤ë¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë
+生成されるリソースファイル
.LP
.LP
-¸½ºß¤Î¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Ïñ½ã¤Ë¡¢Java ¥¯¥é¥¹Æâ¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë̾Á°¶õ´Ö¤´¤È¤Ë 1 ¤Ä¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÀ©¸æ¤¹¤ëÊýË¡¤Ï¡¢¸½»þÅÀ¤Ç¤Ï¸ºß¤·¤Þ¤»¤ó¡£¤½¤¦¤·¤¿ÌÜŪ¤Ë¤Ï¡¢¥¹¥¡¼¥Þ¥¸¥§¥Í¥ì¡¼¥¿¤Î ant ¥¿¥¹¥¯¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+現在のスキーマジェネレータは単純に、Java クラス内で参照されている名前空間ごとに 1 つのスキーマファイルを作成します。生成されるスキーマファイルの名前を制御する方法は、現時点では存在しません。そうした目的には、
+.na
+\f2スキーマジェネレータの Ant タスク\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlを使用してください。
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+スキーマジェネレータの実行 (schemagen):[
+.na
+\f2コマンド行の命令\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html、
+.na
+\f2SchemaGen を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html]
+.TP 2
+o
+.na
+\f2XML バインドのための JavaTM アーキテクチャー (JAXB)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
+.RE
+
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1
index 08169bb..6c60b72 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1
@@ -1,98 +1,98 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH serialver 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-serialver \- ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó¥³¥Þ¥ó¥É
-.\"
-.\" This document was created by saving an HTML file as text
-.\" from the JavaSoft web site:
-.\"
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\"
-.\" and adding appropriate troff macros. Because the JavaSoft web site
-.\" man pages can change without notice, it may be helpful to diff
-.\" files to identify changes other than new functionality.
-.\"
+." Copyright 2005-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH serialver 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+serialver \- シリアルバージョンコマンド
+.LP
+.RS 3
+
+.LP
+.LP
+\f3serialver\fP コマンドは \f2serialVersionUID\fP を返します。
+.LP
+.RE
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+\fP\f3serialver\fP [ options ] [ classnames ]
+.fl
+.fi
+
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options
+このドキュメントで説明されているコマンド行オプションです。
+.TP 3
+classnames
+1 つ以上のクラス名です。
+.RE
+
+.LP
+.RE
+.SH "説明"
.LP
.LP
.LP
-\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï \f2serialVersionUID\fP ¤òÊÖ¤·¤Þ¤¹¡£
+\f3serialver\fP は、1 つ以上のクラスの \f2serialVersionUID\fP を、展開しているクラスへコピーするのに適した形式で返します。引数を指定しないで呼び出すと、使用方法が表示されます。
.LP
-.SH "·Á¼°"
-.B serialver
-[
-.B options
-] [
-.I classnames
-]
-.TP
-.BI options
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¡£
-.TP
-.BI classnames
-1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¯¥é¥¹Ì¾¡£
-.SH "µ¡Ç½ÀâÌÀ"
-.IX "serial version command" "" "serial version command \(em \fLserialver\fP"
-.IX "serialver" "" "\fLserialver\fP \(em serial version command"
-.B serialver
-¤Ï¡¢»ØÄꤵ¤ì¤¿ 1 ¸Ä
-¤Þ¤¿¤ÏÊ£¿ô¸Ä¤Î¥¯¥é¥¹¤Î
-.B ¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó UID
-¤ò¡¢Å¸³«¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ø¥³¥Ô¡¼¤¹¤ë¤Î¤ËŬ¤·¤¿·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£
-°ú¿ô¤Ê¤·¤Ç¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢
-.B serialver
-¤Ï»ÈÍÑÊýË¡¤òÀâÌÀ¤¹¤ë¹Ô¤òɽ¼¨¤·¤Þ¤¹¡£
-.SH "¥ª¥×¥·¥ç¥ó"
-.TP 15
-.B \-classpath " <directories and zip/jar files separated by:>"
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤ª¤è¤Ó¥ê¥½¡¼¥¹¤Î¸¡º÷¥Ñ¥¹¤òÀßÄꤷ¤Þ¤¹¡£
-.TP 15
-.B \-show
-ñ¤Ê¤ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òɽ¼¨¤·¤Þ¤¹¡£
-¤³¤³¤Ç´°Á´¥¯¥é¥¹Ì¾¤òÆþÎϤ·¡¢
-Enter
-¥¡¼¤Þ¤¿¤Ï
-Show
-¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢¥·¥ê¥¢¥ë¥Ð¡¼¥¸¥ç¥ó
-UID
-¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-.TP 15
-.BI \-J "option"
-.I option
-¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢
-.I option
-¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î»²¾È¥Ú¡¼¥¸¤Ç
-ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢
-.I \-J-Xms48m
-¤Ï¡¢µ¯Æ°»þ¤Ë»ÈÍѤ¹¤ë¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
+.SH "オプション"
.LP
-.SH "Ãí°Õ"
+
+.LP
+.RS 3
+.TP 3
+\-classpath <: で区切られたディレクトリと zip や jar ファイル>
+アプリケーションのクラスおよびリソースの検索パスを設定します。
+.RE
+
+.LP
+.RS 3
+.TP 3
+\-show
+簡単なユーザーインタフェースを表示します。完全指定のクラス名を入力して、Enter キーか [Show] ボタンを押し、シリアルバージョン UID を表示します。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。
+.RE
+
+.LP
+.SH "注"
.LP
.LP
.LP
-\f3serialver\fP ¥³¥Þ¥ó¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ò¤½¤Î²¾ÁÛ¥Þ¥·¥óÆâ¤ËÆɤ߹þ¤ó¤Ç½é´ü²½¤·¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤ÎÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¿®Íê¤Ç¤¤Ê¤¤¥¯¥é¥¹¤È¤È¤â¤Ë \f3serialver\fP ¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥¥å¥ê¥Æ¥£¥Þ¥Í¡¼¥¸¥ã¤òÀßÄê¤Ç¤¤Þ¤¹¡£
+\f3serialver\fP コマンドは、指定されたクラスをその仮想マシン内に読み込んで初期化しますが、デフォルトではセキュリティーマネージャーの設定は行いません。信頼できないクラスとともに \f3serialver\fP を実行する場合には、次のオプションを使ってセキュリティーマネージャーを設定できます。
.LP
.RS 3
@@ -102,7 +102,7 @@
.LP
.RE
.LP
-¤Þ¤¿¡¢É¬ÍפǤ¢¤ì¤Ð¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥»¥¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+また、必要であれば、次のオプションを使ってセキュリティーポリシーを指定できます。
.LP
.RS 3
@@ -110,16 +110,16 @@
.LP
\f2\-J\-Djava.security.policy=<policy file>\fP
.LP
-.SH "´ØÏ¢¹àÌÜ"
+.RE
+.SH "関連項目"
.LP
.LP
.LP
-.fi
-http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html
-¤Î
.na
-¡Ö\f2java.io.ObjectStreamClass\fP¡×
+\f2java.io.ObjectStreamClass\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1
index 6519928..a0cf7f3 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1
@@ -1,224 +1,130 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH servertool 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-servertool - Java(TM) IDL ¥µ¡¼¥Ð¥Ä¡¼¥ë
+." Copyright 2001-2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH servertool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.B servertool
-¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤¬»ý³¥µ¡¼¥Ð¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£
-.SH "·Á¼°"
-.B servertool
-\-ORBInitialPort nameserverport options [ commands ]
+.SH "名前"
+servertool \- Java(TM) IDL サーバーツール
.LP
-.B servertool
-¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤ò
-ÆþÎϤ·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤¬
-.B servertool >
-¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£
-.B servertool >
-¥×¥í¥ó¥×¥È¤Ç
-¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Þ¤¹¡£
+.RS 3
+
.LP
-.B servertool
-¤Îµ¯Æ°»þ¤Ë¥³¥Þ¥ó¥É¤òÆþÎϤ·¤¿¾ì¹ç¤Ï¡¢
-Java IDL ¥µ¡¼¥Ð¥Ä¡¼¥ë¤¬µ¯Æ°¤·¡¢
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
-.LP
-\-ORBInitialPort nameserverport ¥ª¥×¥·¥ç¥ó¤Ï¡¢É¬¿Ü¤Ç¤¹¡£
-nameserverport ¤ÎÃͤϡ¢orbd ¤ò¼Â¹Ô¤·¡¢
-Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤Ê¤Ã¤Æ 1024 ̤Ëþ¤Î¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 °Ê¾å¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Î
-»ÈÍѤò¿ä¾©¤·¤Þ¤¹¡£
-.SH µ¡Ç½ÀâÌÀ
-.BR servertool
-¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¥×¥í¥°¥é¥Þ¤¬¡¢»ý³¥µ¡¼¥Ð¤ÎÅÐÏ¿¡¢ÅÐÏ¿²ò½ü¡¢µ¯Æ°¡¢Ää»ß¤ò
-¹Ô¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¹Ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
-¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤ÊÅý·×¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë
-¤½¤Î¾¤Î¥³¥Þ¥ó¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.TP
-.BI \-ORBInitialHost " nameserverhost"
-¥Í¡¼¥à¥µ¡¼¥Ð¤ò¼Â¹Ô¤·¡¢Ãå¿®Í×µá¤òÂÔµ¡¤·¤Æ¤¤¤ë
-¥Û¥¹¥È¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò
-»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢nameserverhost ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î
-localhost ¤Ë¤Ê¤ê¤Þ¤¹¡£
-.B orbd
-¤È
-.B servertool
-¤¬°Û¤Ê¤ë¥Þ¥·¥ó¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢orbd ¤¬
-¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤ò
-»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-.TP
-.BI \-J option
-¥ª¥×¥·¥ç¥ó¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£
-¤³¤³¤Ç option ¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-µ¯Æ°¥×¥í¥°¥é¥à
-.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html)
-¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë
-¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡¢\-J-Xms48m ¤Ï¡¢
-µ¯Æ°¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
-\-J ¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤ò
-ÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
-.SH ¥³¥Þ¥ó¥É
-.TP
-.B register \-server <server class name>
-.B \-classpath <classpath to server>
-[
-.B \-applicationName <application\ name>
-.B \-args <args to server>
-.B \-vmargs <flags to be passed
-.B to Java VM>
-]
-.RS
-.LP
-¿·¤·¤¤»ý³¥µ¡¼¥Ð¤ò Object Request Broker Daemon (ORBD) ¤ËÅÐÏ¿¤·¤Þ¤¹¡£
-¤Þ¤ÀÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥µ¡¼¥Ð¤¬ÅÐÏ¿¤µ¤ì¡¢Í¸ú²½¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢
-\-server ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ
-¼±Ê̤µ¤ì¤ë¥µ¡¼¥Ð¤Î¥á¥¤¥ó¥¯¥é¥¹¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤¬
-¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢
-public static void install (org.omg.CORBA.ORB) ¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ò
-¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤È¡¢³«È¯¼Ô¤ÏÆȼ«¤Î
-¥µ¡¼¥Ð¥¤¥ó¥¹¥È¡¼¥ëÆ°ºî (¥Ç¡¼¥¿¥Ù¡¼¥¹¥¹¥¡¼¥Þ¤ÎºîÀ®¤Ê¤É)
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
+\f3servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、および停止を行うためのコマンド行インタフェースを提供します。
.RE
-.TP
-.B unregister \-serverid <server id >
-.B | \-applicationName <application\ name>
-.RS
-.LP
-¥µ¡¼¥Ð ID ¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò»ÈÍѤ·¤Æ¡¢
-ORBD ¤«¤é¥µ¡¼¥Ð¤òÅÐÏ¿²ò½ü¤·¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢\-server ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ
-¼±Ê̤µ¤ì¤¿¥µ¡¼¥Ð¤Î¥á¥¤¥ó¥¯¥é¥¹¤Ç¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
-¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤Ï¡¢
-public static void uninstall(org.omg.CORBA.ORB)
-¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ò
-¥ª¥×¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤È¡¢
-³«È¯¼Ô¤ÏÆȼ«¤Î¥µ¡¼¥Ð¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ëÆ°ºî
-(¥¤¥ó¥¹¥È¡¼¥ë¥á¥½¥Ã¥É¤ÎÆ°ºî¤Î¼è¤ê¾Ã¤·¤Ê¤É)
-¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-.RE
-.TP
-.B getserverid \-applicationName <application name>
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂбþ¤¹¤ë¥µ¡¼¥Ð ID ¤òÊÖ¤·¤Þ¤¹¡£
-.TP
-.B list
-.br
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î»ý³¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¾ðÊó¤ò
-°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B listappnames
-ORBD ¤Ë¸½ºßÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ò
-°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B listactive
-ORBD ¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¡¢²ÔÆ°¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
-»ý³¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë¾ðÊó¤ò
-¤¹¤Ù¤Æ°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP 3
-locate \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-endpointType\ <endpointType>\ ]
-.RS
-.LP
-ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î ORB ¤ÎÆÃÄê¤Î¥¿¥¤¥×
-¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È (¥Ý¡¼¥È) ¤òÆÃÄꤷ¤Þ¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤À²ÔÆ°¤·¤Æ¤¤¤Ê
-¤¤¾ì¹ç¤Ï¡¢µ¯Æ°¤µ¤ì¤Þ¤¹¡£¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¿¥¤¥×¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢¥µ
-¡¼¥ÐÆâ¤Î³Æ ORB ¤Ë´ØÏ¢¤·¤¿¥×¥ì¡¼¥ó/ÈóÊݸî¤Î
-¥¨¥ó¥É¥Ý¥¤¥ó¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP 3
-locateperorb
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-orbid\ <ORB\ name>\ ]
-ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤ÎÆÃÄê¤Î ORB ¤Ë¤è¤Ã¤ÆÅÐÏ¿¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¨¥ó¥É
-¥Ý¥¤¥ó¥È (¥Ý¡¼¥È) ¤òÆÃÄꤷ¤Þ¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤ÀÆ°ºî¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
-µ¯Æ°¤µ¤ì¤Þ¤¹¡£
-.BR orbid
-¤¬»ØÄꤵ¤ì¤Ê¤¤¤È¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë "" ¤¬
-.BR orbid
-¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¶õ¤Îʸ»úÎó¤Î
-.BR orbid
-¤ò»ÈÍѤ·¤Æ ORB ¤¬ºîÀ®¤µ¤ì¤ë¤È¡¢¤½¤ì¤Ë¤è¤Ã¤ÆÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹
-¤Ù¤Æ¤Î¥Ý¡¼¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B orblist \-serverid <server id> |
-.B \-applicationName <application name> ]
-.RS
-.LP
-¥µ¡¼¥Ð¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë ORB ¤Î ORBId ¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-ORBId ¤Ï¡¢¥µ¡¼¥Ð¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ ORB ¤Î
-ʸ»úÎó̾¤Ç¤¹¡£¥µ¡¼¥Ð¤¬¤Þ¤À²ÔÆ°¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
-¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£
-.RE
-.TP
-.B shutdown \-serverid <server id> |
-.B \-applicationName <application name> ]
-.RS
-.LP
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥Æ¥£¥Ö¤Ê¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤¹¡£
-¤³¤Î¥³¥Þ¥ó¥É¤Î
-¼Â¹ÔÃæ¤Ë¡¢
-¥µ¡¼¥Ð¥×¥í¥»¥¹¤òŬÀÚ¤ËÄä»ß¤¹¤ë¤¿¤á¤Ë¡¢
-\-serverid ¤Þ¤¿¤Ï \-applicationName ¥Ñ¥é¥á¡¼¥¿¤Ç
-»ØÄꤵ¤ì¤¿¥¯¥é¥¹¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë
-.BR shutdown()
-¥á¥½¥Ã¥É¤â¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B startup \-serverid <server id> |
-.B \-applicationName <application name>
-.RS
-.LP
-ORBD ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¤¬²ÔÆ°¤·¤Æ¤¤¤Ê
-¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£¥µ¡¼¥Ð¤¬´û¤Ë²ÔÆ°¤·¤Æ
-¤¤¤ë¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¥æ¡¼¥¶¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
-.RE
-.TP
-.B help
-.br
-¤³¤Î¥µ¡¼¥Ð¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¤ËÂФ·¤Æ¼Â¹Ô¤Ç¤¤ë¤¹¤Ù¤Æ¤Î
-¥³¥Þ¥ó¥É¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-.TP
-.B quit
-.br
-¤³¤Î¥µ¡¼¥Ð¥Ä¡¼¥ë¤ò½ªÎ»¤·¤Þ¤¹¡£
-.RE
-.SS "´ØÏ¢¹àÌÜ"
+.SH "形式"
.LP
.LP
-orbd
+.nf
+\f3
+.fl
+servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ]
+.fl
+\fP
+.fi
+
+.LP
+.LP
+コマンドを入力しないで \f2servertool\fP を起動すると、コマンド行ツールとして \f2servertool >\fP プロンプトが表示されます。\f2servertool >\fP プロンプトにコマンドを入力します。
+.LP
+.LP
+コマンドを入力して \f2servertool\fP を起動すると、Java IDL サーバーツールが起動し、コマンドを実行して終了します。
+.LP
+.LP
+\f2\-ORBInitialPort\fP \f2nameserverport\fP オプションは\f3必須\fPです。\f2nameserverport\fP の値には、\f2orbd\fP が実行され、着信要求を待機しているポートを指定する必要があります。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。 このため、\f2nameserverport\fP として 1024 または 1024 より大きいポートを使用することをお勧めします。
+.LP
+.SH "説明"
+.LP
+
+.LP
+.LP
+\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、および停止を行うためのコマンド行インタフェースを提供します。そのほかに、サーバーに関するさまざまな統計情報を取得するためのコマンドも提供します。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-ORBInitialHost nameserverhost
+ネームサーバーが、実行され、着信要求を待機しているホストマシンを指定します。このオプションを指定しない場合、\f2nameserverhost\fP はデフォルトで \f2localhost\fP に設定されます。\f2orbd\fP と \f2servertool\fP が異なるマシン上で実行されている場合は、\f2orbd\fP が実行されているホストの名前と IP アドレスを指定する必要があります。
+.TP 3
+\-Joption
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
+.LP
+.SH "コマンド"
+.LP
+
+.LP
+.RS 3
+.TP 3
+register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ]
+Object Request Broker Daemon (ORBD) に新規持続サーバーを登録します。サーバーが未登録の場合、登録して起動します。このコマンドによって、\f2\-server\fP オプションで識別されるサーバーのメインクラス内でインストールメソッドが呼び出されます。このインストールメソッドは、\f2public static void install(org.omg.CORBA.ORB)\fP になっている必要があります。インストールメソッドは、オプションであり、データベーススキーマの作成などの独自のサーバーインストール動作を開発者が指定できます。
+.TP 3
+unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+サーバー ID またはアプリケーション名を使用して、ORBD のサーバーの登録を解除します。このコマンドによって、\f2\-server\fP オプションで識別されるサーバーのメインクラス内でアンインストールメソッドが呼び出されます。このアンインストールメソッドは、\f2public static void uninstall(org.omg.CORBA.ORB)\fP になっている必要があります。アンインストールメソッドは、オプションであり、インストールメソッドの動作の取り消しなどの独自のサーバーアンインストール動作を開発者が指定できます。
+.TP 3
+getserverid \-applicationName\ <application\ name>
+アプリケーションに関連付けられているサーバー ID を返します。
+.TP 3
+list
+ORBD に登録されているすべての持続サーバーに関する情報を一覧表示します。
+.TP 3
+listappnames
+現在 ORBD に登録されているすべてのサーバーのアプリケーション名を一覧表示します。
+.TP 3
+listactive
+ORDB によって起動され、現在実行されているすべての持続サーバーに関する情報を一覧表示します。
+.TP 3
+locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ]
+登録されたサーバーで作成したすべての ORB の特定の型について端点 (ポート) を検出します。サーバーが実行されていない場合、起動されます。端点の型が指定されていない場合、サーバーの ORB ごとに関連付けられている plain 型 または non\-protected 型の端点が返されます。
+.TP 3
+locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ]
+登録されたサーバーの特定の ORB で登録された端点 (ポート) を検出します。サーバーが実行されていない場合、起動されます。\f2orbid\fP が指定されていない場合は、デフォルト値の「""」が\f2orbid\fPに割り当てられます。ORB が空文字列の \f2orbid\fP で作成されている場合、登録したポートがすべて返されます。
+.TP 3
+orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+サーバー上に定義された ORB の ORBId を一覧表示します。ORBId はサーバーで作成された ORB の文字列名です。サーバーが実行されていない場合、起動されます。
+.TP 3
+shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+ORBD に登録されたアクティブなサーバーを停止します。このコマンドの実行中に、\f2\-serverid\fP パラメータまたは \f2\-applicationName\fP パラメータで指定されたクラス内に定義された \f2shutdown()\fP メソッドも呼び出されてサーバープロセスを正しく停止します。
+.TP 3
+startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
+ORBD に登録されたサーバーを起動します。サーバーが実行されていない場合は、このコマンドでサーバーを起動します。サーバーがすでに実行されている場合は、ユーザーにエラーメッセージが返されます。
+.TP 3
+help
+サーバーがサーバーツールで使用できるすべてのコマンドを表示します。
+.TP 3
+quit
+サーバーツールを終了します。
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+orbd(1)
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1
index 964c9dd..b0728d2 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1
@@ -1,119 +1,80 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH tnameserv 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH "̾Á°"
-Java IDL: °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \- \f2tnameserv\fP
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH tnameserv 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+Java IDL:一時ネームサービス \- \f2tnameserv\fP
.LP
.LP
.LP
-¤³¤Î¥É¥¥å¥á¥ó¥È¤Ç¤Ï¡¢Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£Java IDL ¤Ë¤Ï ORBD (Object Request Broker Daemon) ¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ORBD ¤Ï¡¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥µ¡¼¥Ó¥¹¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f3»ý³\fP¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Þ¥Í¡¼¥¸¥ã¤ò´Þ¤à¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤Ç¤¹¡£Java IDL ¤Î¤¹¤Ù¤Æ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï ORBD ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ëÎã¤Î \f2orbd\fP ¤Ï¤É¤ì¤â¡¢\f2tnameserv\fP ¤ÇÃÖ¤´¹¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£\f2orbd\fP ¥Ä¡¼¥ë¤Î¥É¥¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤«¡¢
+このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には、Object Request Broker Daemon (ORBD) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャーを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD を使用していますが、一時ネームサービスを使用する例では、\f2orbd\fP の代わりに \f2tnameserv\fP を使用できます。\f2orbd\fP ツールの詳細については、\f2orbd\fP の orbd(1)または
.na
-\f2Java IDL Naming Service Included with ORBD\fP
+\f2ORBD に含まれる Java IDL ネームサービス\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) ¤Î¥È¥Ô¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlに関するトピックを参照してください。
.LP
.LP
-¤³¤³¤Ç¤Ï¡¢¼¡¤Î¹àÌܤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
+ここでは、以下の項目について説明します。
.LP
.RS 3
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹
+Java\ IDL 一時ネームサービス
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°
+Java\ IDL 一時ネームサービスの起動
.TP 2
o
-Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß
+Java\ IDL 一時ネームサービスの停止
.TP 2
o
-¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ
+サンプルクライアント:名前空間へのオブジェクトの追加
.TP 2
o
-¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º
+サンプルクライアント:名前空間のブラウズ
.RE
.LP
-.SH "Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹"
-.IX "Java IDL name server starter script" "" "Java IDL name server starter script \(em \fLtnameserv\fP"
-.IX "tnameserv" "" "\fLtnameserv\fP \(em Java IDL name server starter script"
-.SM CORBA
-¤Î
-.SM COS
-(Common Object Services) ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥ì¥¯¥È¥ê
-¹½Â¤¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ËÂФ·¤Æ¥Ä¥ê¡¼¹½Â¤¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄ󶡤·
-¤Þ¤¹¡£
-Java
-.SM IDL
-¤Î°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢\f2tnameserv\fP ¤Ï¡¢
-.SM COS
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î»ÅÍͤòñ½ã¤Ê·Á¤Ç¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡£
-.LP
-¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ï̾Á°¶õ´Ö¤Ë̾Á°¤Ç³ÊǼ¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤È̾Á°¤ÎÁȤϡ¢
-¤½¤ì¤¾¤ì¡Ö¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö¥Í¡¼¥ß
-¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡×¤ËÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ï¤½¤ì¼«ÂÎ
-¤¬¥Í¡¼¥à¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¤¢¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸ÊÔÀ®µ¡
-ǽ¤ò»ý¤Á¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡Ö½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡×¤Ë³ÊǼ¤µ
-¤ì¤Þ¤¹¡£Ì¾Á°¶õ´Ö¤Ë¤ª¤¤¤Æ¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ÏÍ£°ì¤Î»ý³Ū¥Ð¥¤¥ó
-¥Ç¥£¥ó¥°¤Ç¤¹¡£¤½¤ì°Ê³°¤Î¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ï¡¢Java
-.SM IDL
-¤Î¥Í¡¼¥à¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤¬Ää»ß¤·¡¢ºÆµ¯Æ°¤µ¤ì¤ë¤È¼º¤ï¤ì¤Þ¤¹¡£
-.LP
-¥¢¥×¥ì¥Ã¥È¤Þ¤¿¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é
-.SM COS
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤Î
-.SM ORB
-¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥Ý¡¼¥È¤òÃΤäƤ¤¤ë¤«¡¢¤½¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î
-ʸ»úÎ󲽤µ¤ì¤¿½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢Java
-.SM IDL
-¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤½¤Î¾¤Î
-.SM COS
-½àµò¤Î¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-.LP
-.SH "Java\ IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°"
+.SH "Java\ IDL 一時ネームサービス"
.LP
.LP
-.IX "tnameserv" "Starting the Java IDL Name Server" "\fLtnameserv\fP \(em Java IDL name server starter script"
-Java
-.SM IDL
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤è¤êÁ°¤Ë
-µ¯Æ°¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Java\ IDL À½Éʤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È (Solaris: \f2tnameserv\fP) ¤Þ¤¿¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë (Windows NT: \f2tnameserv.exe\fP) ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç
-Æ°ºî¤¹¤ë¤è¤¦¤Ë¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
+CORBA の COS (Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供します。Java IDL の一時ネームサービスである \f2tnameserv\fP は、COS ネームサービスの仕様を単純な形で実装したものです。
.LP
-Æä˻ØÄꤷ¤Ê¤¤¾ì¹ç¡¢Java
-.SM IDL
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï¡¢
-.SM ORB
-¤Î
-.I resolve_initial_references(\|)
-¥á¥½¥Ã¥É¤È
-.I list_initial_references(\|)
-¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë»ÈÍѤ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥Ý¡¼¥È 900 ¤ÇÂÔµ¡¤·¤Þ¤¹¡£
-¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
+.LP
+オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前のペアは、それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納されます。名前空間において、初期ネーミングコンテキストは唯一の持続的バインディングです。 それ以外のネーミングコンテキストは、Java IDL のネーミングサービスプロセスが停止し、再起動されると失われます。
+.LP
+.LP
+アプレットまたはアプリケーションから COS ネームサービスを使用するためには、その ORB はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの文字列化された初期ネーミングコンテキストにアクセスできなければなりません。ネームサービスは、Java\ IDL のネームサービスでもその他の COS 準拠のネームサービスでもかまいません。
+.LP
+.SH "Java\ IDL 一時ネームサービスの起動"
+.LP
+.LP
+Java\ IDL ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に起動しておかなければなりません。Java\ IDL 製品をインストールすると、Java IDL ネームサービスを起動するスクリプト (Solaris: \f2tnameserv\fP) か、実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。バックグラウンドで動作するように、ネームサービスを起動してください。
+.LP
+.LP
+特に指定しない場合、Java IDL ネームサービスは、ORB の \f2resolve_initial_references()\fP メソッドと \f2list_initial_references()\fP メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。
.LP
.nf
\f3
@@ -125,7 +86,7 @@
.LP
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥È¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Ý¡¼¥È 900 ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£Solaris ¥½¥Õ¥È¥¦¥§¥¢¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢1024 ¤è¤ê¤â¾®¤µ¤¤¥Ý¡¼¥È¤Ç¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ë¤Ë¤Ï root ¤Ë¤Ê¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢1024 ¤«¤½¤ì¤è¤ê¤âÂ礤¤¥Ý¡¼¥ÈÈÖ¹æ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£1050 ¤Ê¤É¤Î°Û¤Ê¤ë¥Ý¡¼¥È¤ò»ØÄꤷ¡¢¤«¤Ä¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢UNIX ¥³¥Þ¥ó¥É¥·¥§¥ë¤«¤é¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+ネームサーバーポートを指定しない場合、デフォルトでポート 900 が使用されます。Solaris ソフトウェアの実行時は、1024 より小さいポートでプロセスを開始する場合、root ユーザーになる必要があります。 このため、1024 または 1024 より大きいポートを使用することをお勧めします。 1050 のように別のポートを指定し、ネームサービスをバックグラウンドで実行するには、UNIX コマンドシェルで次のように入力します。
.LP
.nf
\f3
@@ -137,7 +98,7 @@
.LP
.LP
-Windows ¤Î¾ì¹ç¤Ï¡¢MS\-DOS ¥·¥¹¥Æ¥à¥×¥í¥ó¥×¥È¤«¤é¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£
+Windows の MS\-DOS システムプロンプトでは、次のように入力します。
.LP
.nf
\f3
@@ -149,32 +110,32 @@
.LP
.LP
-¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¡¢¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ORB ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë \f2org.omg.CORBA.ORBInitialPort\fP ¥×¥í¥Ñ¥Æ¥£¤Ë¿·¤·¤¤¥Ý¡¼¥ÈÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£
+ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティーに新しいポート番号を設定します。
.LP
.SS
-°Û¤Ê¤ë¥Û¥¹¥È¾å¤Ç¤Î¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¼Â¹Ô
+異なるマシン上でのクライアントとサーバーの実行
.LP
.LP
-Java IDL ¤ª¤è¤Ó RMI\-IIOP ¤Ë´Ø¤¹¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎÂçÉôʬ¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¡¢¥µ¡¼¥Ð¡¼¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤¹¤Ù¤Æ¤¬³«È¯¥Þ¥·¥ó¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼ÂºÝ¤ÎÇÛÈ÷¤Ç¤ÏÄ̾¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤È¤Ï°Û¤Ê¤ë¥Û¥¹¥È¥Þ¥·¥ó¾å¤Ç¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
+Java IDL と RMI\-IIOP のほとんどのチュートリアルでは、ネームサービス、サーバー、およびクライアントはすべて開発用のマシン上で実行されます。実際に配備する場合には、クライアントとサーバーを、ネームサービスとは異なるホスト上で実行することが多くなります。
.LP
.LP
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Ç¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈÈÖ¹æ¤È¥Û¥¹¥È¤ò¤½¤ì¤é¤¬ÃΤäƤ¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ëÆâ¤Î \f2org.omg.CORBA.ORBInitialPort\fP ¤È \f2org.omg.CORBA.ORBInitialHost\fP ¥×¥í¥Ñ¥Æ¥£¤ò¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥Þ¥·¥ó̾¤È¥Ý¡¼¥ÈÈÖ¹æ¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+クライアントとサーバーがネームサービスを見つけるには、クライアントとサーバーが、ネームサービスが実行されているポートの番号とホストを認識している必要があります。そのためには、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP プロパティーと \f2org.omg.CORBA.ORBInitialHost\fP プロパティーをネームサービスが実行されているポートの番号とマシンの名前に設定します。この例は、
.na
-¡Ö\f2The Hello World Example Using RMI\-IIOP\fP¡×
+\f2「RMI\-IIOP を使った Hello World の例」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó \f2\-ORBInitialPort\fP \f2nameserverport#\fP ¤È \f2\-ORBInitialHost\fP \f2nameserverhostname\fP ¤ò»È¤Ã¤Æ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Î¸¡º÷¾ì½ê¤ò¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ËÃΤ餻¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlに示されています。コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使用して、クライアントとサーバーに対してネームサービスを探す場所を指定することもできます。
.na
-¡Ö\f2Java IDL: Running the Hello World Example on TWO Machines\fP¡×
+\f2「Java IDL: 2 台のマシン上で実行する Hello World プログラム」\fP @
.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html) ¤Ç¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤¦ÊýË¡¤Î 1 ¤Ä¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html には、コマンド行オプションを使用して指定する方法が示されています。
.LP
.LP
-¤¿¤È¤¨¤Ð¡¢°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹ \f2tnameserv\fP ¤¬¥Û¥¹¥È \f2nameserverhost\fP ¤Î¥Ý¡¼¥È 1050 ¾å¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È \f2clienthost\fP ¾å¤Ç¡¢¥µ¡¼¥Ð¡¼¤¬¥Û¥¹¥È \f2serverhost\fP ¾å¤Ç¡¢¤½¤ì¤¾¤ì¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
+たとえば、一時ネームサービス \f2tnameserv\fP が、ホスト \f2nameserverhost\fP のポート 1050 上で実行されているとします。さらに、クライアントがホスト \f2clienthost\fP 上で実行され、サーバーはホスト \f2serverhost\fP 上で実行されているとします。
.LP
.RS 3
.TP 2
o
-¥Û¥¹¥È \f2nameserverhost\fP ¾å¤Î \f2tnameserv\fP ¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+次のように、ホスト \f2nameserverhost\fP 上で \f2tnameserv\fP を起動します。
.nf
\f3
.fl
@@ -186,7 +147,7 @@
.fi
.TP 2
o
-\f2serverhost\fP ¾å¤Î¥µ¡¼¥Ð¡¼¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+\f2serverhost\fP 上でサーバーを起動します。
.nf
\f3
.fl
@@ -196,7 +157,7 @@
.fi
.TP 2
o
-\f2clienthost\fP ¾å¤Î¥¯¥é¥¤¥¢¥ó¥È¤ò¼¡¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡£
+\f2clienthost\fP 上でクライアントを起動します。
.nf
\f3
.fl
@@ -208,48 +169,48 @@
.LP
.SS
-\-J ¥ª¥×¥·¥ç¥ó
+\-J オプション
.LP
-\f2tnameserv\fP ¤Ç»ÈÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
+このコマンド行オプションは、\f2tnameserve\fP とともに使用できます。
.RS 3
.LP
+.RS 3
.TP 3
\-Joption
-\f2option\fP ¤ò Java ²¾ÁÛ¥Þ¥·¥ó¤ËÅϤ·¤Þ¤¹¡£¤³¤³¤Ç¡¢\f2option\fP ¤Ï¡¢
-.na
-\f2Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë\fP
-.fi
-(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢\f3\-J\-Xms48m\fP ¤È¤¹¤ë¤È¡¢µ¯Æ°»þ¤Î¥á¥â¥ê¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f3\-J\fP ¤ò»È¤Ã¤Æ¼Â¹Ô¸µ¤Î²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
+.RE
+
.LP
-.SH "Java IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÎÄä»ß"
+.RE
+.SH "Java\ IDL 一時ネームサービスの停止"
.LP
.LP
-Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢Âбþ¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Unix ¥×¥í¥»¥¹¤Î¾ì¹ç¤Ï \f2kill\fP ¤ò¡¢Windows ¥×¥í¥»¥¹¤Î¾ì¹ç¤Ï \f2Ctrl\-C\fP ¤ò¡¢¤½¤ì¤¾¤ì»ÈÍѤ·¤Þ¤¹¡£¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ÏÌÀ¼¨Åª¤Ë¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤ë¤Þ¤Ç¡¢¸Æ¤Ó½Ð¤·¤òÂÔ¤Á³¤±¤Þ¤¹¡£¤Ê¤ª¡¢¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ò½ªÎ»¤µ¤»¤ë¤È¡¢Java\ IDL ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë̾Á°¤Ï¼º¤ï¤ì¤Þ¤¹¡£
+Java IDL ネームサービスを停止するには、Unix の場合は、\f2kill\fP などのオペレーティングシステムのコマンドを使い、Windows の場合は、\f2Ctrl\-C\fP を使います。ネームサービスを明示的に停止するまでは、呼び出し待機状態が続きます。なお、サービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。
.LP
-.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Ø¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄɲÃ"
+.SH "サンプルクライアント:名前空間へのオブジェクトの追加"
.LP
.LP
-°Ê²¼¤Ë¼¨¤¹¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢Ì¾Á°¤ò̾Á°¶õ´Ö¤ËÄɲ乤ëÊýË¡¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢¤³¤Î¤Þ¤Þ¤Î¾õÂ֤Ǵ°Á´¤ËÆ°ºî¤¹¤ë°ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥Ä¥ê¡¼¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¹¡£
+次に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。
.LP
.nf
\f3
.fl
\fP\f3
.fl
- \fP\f4½é´ü\fP\f3
+ \fP\f4初期\fP\f3
.fl
- \fP\f4¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È\fP\f3
+ \fP\f4ネーミングコンテキスト\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
plans \fP\f4Personal\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
calendar schedule\fP
.fl
@@ -257,7 +218,7 @@
.LP
.LP
-¤³¤ÎÎã¤Ç¡¢\f3plans\fP ¤Ï¥ª¥Ö¥¸¥§¥¯¥È»²¾È¡¢\f3Personal\fP ¤Ï \f3calendar\fP ¤È \f3schedule\fP ¤Î 2 ¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤¬´Þ¤Þ¤ì¤ë¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Ç¤¹¡£
+この例で、\f3plans\fP はオブジェクト参照、\f3Personal\fP は \f3calendar\fP と \f3schedule\fP の 2 つのオブジェクト参照を含むネーミングコンテキストです。
.LP
.nf
\f3
@@ -284,7 +245,7 @@
.fi
.LP
-Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ËÃΤ餻¤Þ¤¹¡£
+前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。
.nf
\f3
.fl
@@ -300,7 +261,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò \f3ctx\fP ¤ËÂåÆþ¤·¤Þ¤¹¡£2 ¹ÔÌܤǤϡ¢\f3ctx\fP ¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3objref\fP ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤Î \f3objref\fP ¤Ë¤Ï¡¢¤¢¤È¤Ç¤µ¤Þ¤¶¤Þ¤Ê̾Á°¤ò³ä¤êÅö¤Æ¤Æ̾Á°¶õ´Ö¤ËÄɲä·¤Þ¤¹¡£
+次のコードでは、初期ネーミングコンテキストを取得し、それを \f3ctx\fP に代入します。2 行目では、\f3ctx\fP をダミーのオブジェクト参照 \f3objref\fP にコピーします。 この \f3objref\fP には、あとでさまざまな名前を割り当てて名前空間に追加します。
.nf
\f3
.fl
@@ -316,7 +277,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢text ·¿¤Î̾Á°¡Öplans¡×¤òºîÀ®¤·¡¢¤½¤ì¤ò¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£¤½¤Î¸å¡¢\f2rebind\fP ¤ò»ÈÍѤ·¤Æ½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤Î²¼¤Ë¡Öplans¡×¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£\f2rebind\fP ¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢\f2bind\fP ¤ò»ÈÍѤ·¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ëÎã³°¤òȯÀ¸¤µ¤»¤º¤Ë¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò²¿Å٤ⷫ¤êÊÖ¤·¼Â¹Ô¤Ç¤¤Þ¤¹¡£
+次のコードでは、text 型の名前 plans を作成し、それをダミーのオブジェクト参照にバインドします。その後、\f2rebind\fP を使用して初期ネーミングコンテキストの下に "plans" を追加しています。\f2rebind\fP メソッドを使用すれば、\f2bind\fP を使用した場合に発生する例外を発生させずに、このプログラムを何度も繰り返し実行できます。
.nf
\f3
.fl
@@ -334,7 +295,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢directory ·¿¤Î¡ÖPersonal¡×¤È¤¤¤¦¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î·ë²ÌÆÀ¤é¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È»²¾È \f3ctx2\fP ¤ò¤³¤Î̾Á°¤Ë¥Ð¥¤¥ó¥É¤·¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ËÄɲä·¤Þ¤¹¡£
+次のコードでは、directory 型の Personal というネーミングコンテキストを作成します。その結果得られるオブジェクト参照 \f3ctx2\fP をこの名前にバインドし、初期ネーミングコンテキストに追加します。
.nf
\f3
.fl
@@ -352,7 +313,7 @@
.fi
.LP
-»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥À¥ß¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¡Öschedule¡×¤È¡Öcalendar¡×¤È¤¤¤¦Ì¾Á°¤Ç¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¡ÖPersonal¡×(\f3ctx2\fP) ¤Ë¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£
+残りのコードでは、ダミーのオブジェクト参照を schedule と calendar という名前でネーミングコンテキスト "Personal" (\f3ctx2\fP) にバインドします。
.nf
\f3
.fl
@@ -392,10 +353,10 @@
.fi
.LP
-.SH "¥µ¥ó¥×¥ë¥¯¥é¥¤¥¢¥ó¥È: ̾Á°¶õ´Ö¤Î¥Ö¥é¥¦¥º"
+.SH "サンプルクライアント:名前空間のブラウズ"
.LP
.LP
-¼¡¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ì¾Á°¶õ´Ö¤ò¥Ö¥é¥¦¥º¤¹¤ëÊýË¡¤ò¼¨¤·¤Þ¤¹¡£
+次のサンプルプログラムでは、名前空間をブラウズする方法を示します。
.LP
.nf
\f3
@@ -422,7 +383,7 @@
.fi
.LP
-Á°½Ò¤Î¡ÖJava IDL °ì»þ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¡×¤Ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ï¥Ý¡¼¥È 1050 ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Þ¤·¤¿¡£¼¡¤Î¥³¡¼¥É¤Ç¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ËÃΤ餻¤Þ¤¹¡£
+前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。 次のコードで、このポート番号をクライアントプログラムに知らせます。
.nf
\f3
.fl
@@ -442,7 +403,7 @@
.fi
.LP
-¼¡¤Î¥³¡¼¥É¤Ç¤Ï¡¢½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
+次のコードでは、初期ネーミングコンテキストを取得しています。
.nf
\f3
.fl
@@ -456,7 +417,7 @@
.fi
.LP
-\f2list\fP ¥á¥½¥Ã¥É¤Ï¡¢¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤ËÄɲ䵤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂç 1000 ¸Ä¤Þ¤Ç¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬½é´ü¥Í¡¼¥ß¥ó¥°¥³¥ó¥Æ¥¥¹¥È¤«¤é BindingListHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£»Ä¤ê¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢BindingIteratorHolder ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
+\f2list\fP メソッドは、ネーミングコンテキストに追加されているバインディングをリストします。この場合、最大 1000 個までのバインディングが初期ネーミングコンテキストから BindingListHolder に返されます。 残りのバインディングは、BindingIteratorHolder に返されます。
.nf
\f3
.fl
@@ -472,7 +433,7 @@
.fi
.LP
-¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿ BindingListHolder ¤«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÇÛÎó¤ò¼èÆÀ¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥°¥é¥à¤Ï½ªÎ»¤·¤Þ¤¹¡£
+次のコードでは、返された BindingListHolder からバインディングの配列を取得します。バインディングがない場合は、プログラムは終了します。
.nf
\f3
.fl
@@ -486,7 +447,7 @@
.fi
.LP
-»Ä¤ê¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ËÂФ·¤Æ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¡¢Ì¾Á°¤ò½ÐÎϤ·¤Þ¤¹¡£
+残りのコードでは、バインディングに対してループ処理を行い、名前を出力します。
.nf
\f3
.fl
@@ -540,4 +501,4 @@
.LP
.LP
-
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1
index 16b50d7..e7a1b9d 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1
@@ -1,29 +1,54 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.TH unpack200 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-.SH ̾Á°
-unpack200 \- JAR ¥¢¥ó¥Ñ¥Ã¥¯¥Ä¡¼¥ë
-.SH ·Á¼°
+." Copyright 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH unpack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+unpack200 \- JAR アンパックツール
+.LP
+.RS 3
+.TP 2
+o
+形式
+.TP 2
+o
+説明
+.TP 2
+o
+オプション
+.TP 2
+o
+終了ステータス
+.TP 2
+o
+関連項目
+.TP 2
+o
+説明
+.RE
+
+.LP
+.SH "形式"
.LP
.LP
@@ -31,49 +56,72 @@
\f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP
.LP
.LP
-¥ª¥×¥·¥ç¥ó¤Î»ØÄê½ç½ø¤Ë·è¤Þ¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤵ¤ì¤¿ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬¡¢¤½¤ì°ÊÁ°¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤è¤êÍ¥À褵¤ì¤Þ¤¹¡£
-.TP
-.I input\-file
-ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÏÄ̾pack200 gzip ¥Õ¥¡¥¤¥ë¤« pack200 ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤³¤Î¤Û¤«¤Ë¡¢0 ¤òÀßÄꤹ¤ì¤Ð pack200(1) ¤«¤éºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤âÆþÎÏ¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬ Pack200 ¥Þ¡¼¥«¡¼¤È¤È¤â¤Ë½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-.TP
-.I JAR\-file
-½ÐÎÏ JAR ¥Õ¥¡¥¤¥ë̾¡£
-.SH µ¡Ç½ÀâÌÀ
-unpack200 ¥Ä¡¼¥ë¤Ï pack200(1) ¤ÇºîÀ®¤µ¤ì¤¿¥Ñ¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥Í¥¤¥Æ¥£¥Ö¼ÂÁõ¤Ç¤¹¡£
-.TP
-°ìÈÌŪ¤Ê»ÈÍÑÊýË¡:
+オプションの指定順序に決まりはありません。コマンド行に指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。
.LP
-.RS
-.ft 3
-.nf
-% unpack200 myarchive.pack.gz myarchive.jar
-.fi
-.ft 1
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+input\-file
+入力ファイルの名前。 入力ファイルは通常、pack200 gzip ファイルか pack200 ファイルです。このほかに、0 を設定すれば pack200(1) から作成された JAR ファイルも入力ファイルとして使用できます。 この場合、入力ファイルの内容が Pack200 マーカーとともに出力 JAR ファイルにコピーされます。
+.TP 3
+JAR\-file
+出力 JAR ファイル名。
.RE
-.LP
-¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î unpack200 ÀßÄê¤Ç¡¢myarchive.pack.gz ¤«¤é myarchive.jar ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-.SH ¥ª¥×¥·¥ç¥ó
-.LP
-.SS
-ɸ½à¥ª¥×¥·¥ç¥ó
-.TP
-.B \-Hvalue \--deflate-hint=value
-JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë true¡¢false¡¢keep ¤È¤·¤Æ¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É¤Ï keep ¤Ç¤¹¡£true ¤Þ¤¿¤Ï false ¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¡¢½ÐÎÏ JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Î¥Ç¥Õ¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£
+
.LP
.RE
-.SS
-Èóɸ½à¥ª¥×¥·¥ç¥ó
+.SH " 説明"
.LP
.LP
.LP
+\f2unpack200\fP は、\f2pack200\fP(1) で作成されたパックファイルを JAR ファイルに変換するネイティブ実装です。一般的な使用方法:
+.LP
+.RS 3
+
+.LP
+.LP
+\f2% unpack200 myarchive.pack.gz myarchive.jar\fP
+.LP
+.RE
+.LP
+この例では、デフォルトの \f2unpack200\fP 設定で、\f2myarchive.jar\fP から \f2myarchive.pack.gz\fP が作成されます。
+.LP
+.SH "オプション"
+.LP
+.SS
+標準オプション
+.LP
+.RS 3
+
+.LP
+.LP
+\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP
+.LP
+.RS 3
+
+.LP
+.LP
+JAR ファイル内のすべてのエントリに \f2true\fP、\f2false\fP、\f2keep\fP としてデフレーションを設定します。デフォルトモードは \f2keep\fP です。\f2true\fP または \f2false\fP の場合、デフォルトの動作をオーバーライドして、出力 JAR ファイル内のすべてのエントリのデフレーションモードを設定します。
+.LP
+.RE
+.RE
+.SS
+非標準オプション
+.LP
+.RS 3
+
+.LP
+.LP
\f4\-r \-\-remove\-pack\-file\fP
.LP
.RS 3
.LP
.LP
-ÆþÎϥѥ寥ե¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
+入力パックファイルを削除します。
.LP
.RE
.LP
@@ -83,7 +131,7 @@
.LP
.LP
-ºÇ¾®¸Â¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¡¢¤è¤êŤ¤¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
+最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。
.LP
.RE
.LP
@@ -93,7 +141,7 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤ËÆ°ºî¤·¤Þ¤¹¡£
+メッセージを表示せずに動作します。
.LP
.RE
.LP
@@ -103,51 +151,65 @@
.LP
.LP
-¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
+出力メッセージのログファイルを指定します。
.LP
.RE
-.SH ½ªÎ»¥¹¥Æ¡¼¥¿¥¹
-¼¡¤Î½ªÎ»Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-.TP
-.B 0 " À®¸ù"
-.TP
-.B >0 " ¥¨¥é¡¼"
-.SH ´ØÏ¢¹àÌÜ
+.RE
+.SH "終了ステータス"
+.LP
+
+.LP
+.LP
+次の終了値が返されます。
+.LP
+.RS 3
+
+.LP
+.LP
+\f2\ 0\fP " 成功"
+.LP
+.LP
+\f2>0\fP " エラー"
+.LP
+.RE
+.SH "関連項目"
.LP
.RS 3
.TP 2
-*
-pack200 \- JAR ¥Ñ¥Ã¥¯¥Ä¡¼¥ë
+o
+pack200(1)
.TP 2
-*
-\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
+o
+.na
+\f2Java SE のドキュメント\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE ¤Î¥É¥¥å¥á¥ó¥È
-.TP 2
-*
+o
+.na
+\f2「Java 配備ガイド \- Pack200」\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
-¤Î
-.na
-¡Ö\f2Java Deployment Guide¡× \- Pack200\fP
.TP 2
-*
-\f2jar\fP \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
+o
+jar(1) \- Java Archive ツール」
.TP 2
-*
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
-¤Î
-.na
-¡Ö\f2jarsigner\fP¡× \- JAR ½ð̾¥Ä¡¼¥ë
+o
+「jarsigner(1) \- JAR 署名および検証ツール」
+.TP 2
+o
+\f2attributes(5)\fP のマニュアルページ
.RE
.LP
-.SH Ãí°Õ»ö¹à
-¤³¤Î¥³¥Þ¥ó¥É¤È unpack(1) ¥³¥Þ¥ó¥É¤òº®Æ±¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤ì¤é¤ÏÊÌÀ½ÉʤǤ¹¡£
+.SH "注意事項"
+.LP
+
.LP
.LP
-¥É¥¥å¥á¥ó¥È´Ö¤ËÌ·½â¤¬¤¢¤ë¾ì¹ç¡¢SDK ¤ËÉÕ°¤¹¤ë Java SE API »ÅÍͤ¬ºÇÍ¥À褵¤ì¤Þ¤¹¡£
+このコマンドと \f2unpack(1)\fP を混同しないでください。これらは別製品です。
+.LP
+.LP
+SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1
index b23ce53..8e5786d 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1
@@ -1,243 +1,663 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH wsgen 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
-
-.LP
-.SH ̾Á°
-wsgen \- JAX\-WS 2.0 ¥Ù¡¼¥¿
-.LP
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH wsgen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+wsgen \- XML Web Services (JAX\-WS) 2.0 のための Java(TM) API
.RS 3
.LP
.LP
-\f2wsgen\fP ¥Ä¡¼¥ë¤Ï¡¢JAX\-WS Web ¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë JAX\-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥Ä¡¼¥ë¤Ï¡¢¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹ (SEI) ¤òÆɤ߼è¤ê¡¢Web ¥µ¡¼¥Ó¥¹¤ÎÇÛÈ÷¤È¸Æ¤Ó½Ð¤·¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£
+\f3仕様バージョン:\fP 2.1
+.br
+\f3実装バージョン:\fP 2.1.1
+.LP
+.LP
+\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、Web サービスのエンドポイント実装クラス (SEI) を読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。
.LP
.RE
-.SH "·Á¼°"
+.SH "概要"
.LP
+\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、Web サービスのエンドポイントクラスを読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。JAXWS 2.1.1 RI には wsgen Ant タスクも用意されています。詳細は、
+.na
+\f2Wsgen Ant タスク\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.htmlを参照してください。
+.LP
+.SH "wsgen の起動"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP
+.TP 2
+*
+\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP
+.TP 2
+*
+\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP
+.RE
+.RE
.LP
+.SH "構文"
.nf
\f3
.fl
-wsgen [options] <SEI>
+wsgen [options] <SEI>\fP
+.br
+\f3
.fl
\fP
.fi
-
.LP
-.SH "¥ª¥×¥·¥ç¥ó"
+次の表に、\f2wsgen\fP のオプションを示します。
+.br
.LP
-.LP
-¼¡¤Îɽ¤Ë¡¢\f2wsgen\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£
-.LP
-.LP
-ɽ 1\-1 wsgen ¤Î¥ª¥×¥·¥ç¥ó
-.LP
-.LP
-.sp 1n
.TS
-center;
-cbp-1 cbp-1
-li l .
-¥ª¥×¥·¥ç¥ó ¾ÜºÙ
-_
--classpath <path> ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
--cp <path> T{
--classpath <path> ¤ÈƱ¤¸
-T}
--d <directory> À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë
--extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄÀ¤¬¤¢¤ê¤Þ¤¹
-T}
--help T{
-¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹
-T}
--keep T{
-À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹
-T}
--r <directory> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T}
--s <directory> T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤹ¤ë
-T}
--verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T}
--version T{
-¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊ󤬽ÐÎϤµ¤ì¤ë¤À¤±¤Ç¤¹¡£Ä̾ï¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
-T}
--wsdl[:protocol] T{
-wsgen ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤»¤ó¡£¤³¤Î¥Õ¥é¥°¤Ï¾Êά²Äǽ¤Ç¤¹¤¬¡¢»ØÄꤷ¤¿¾ì¹ç¤Ï wsgen ¤¬ WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ÏÄ̾¥¨¥ó¥É¥Ý¥¤¥ó¥È¤ÎÇÛÈ÷Á°¤Ë³«È¯¼Ô¤¬ WSDL ¤ò»²¾È¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤À¤±¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£protocol ¤Ï¾Êά²Äǽ¤Ç¤¢¤ê¡¢wsdl:binding ¤Ç»ÈÍѤ¹¤Ù¤¥×¥í¥È¥³¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Í¸ú¤Ê¥×¥í¥È¥³¥ë¤Ï¼¡¤Î¤È¤ª¤ê¤Ç ¤¹¡£ soap1.1 ¤È Xsoap1.2¡£¥Ç¥Õ¥©¥ë¥È¤Ï soap1.1 ¤Ç¤¹¡£Xsoap1.2 ¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿ ¤á¡¢-extension ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ¤Þ¤»¤ó¡£
-T}
--servicename <name> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤ wsdl:service ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : -servicename "{http://mynamespace/}MyService"
-T}
--portname <name> T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL Æâ¤ÇÀ¸À®¤µ¤ì¤ë¤Ù¤ wsdl:port ¤Î̾ Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : -portname "{http://mynamespace/}MyPort"
-T}
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+入力クラスファイルの検索場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2\-classpath <path>\fP と同じ
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成される出力ファイルを格納する場所を指定する
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可性があります
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ヘルプを表示します
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されたファイルを保持します
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \-wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されるソースファイルを格納する場所を指定する
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイラが実行している処理に関するメッセージを出力します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+バージョン情報を出力します。このオプションを使用した場合、バージョン情報が出力されるだけです。通常の処理は実行されません。
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2wsgen\fP は、デフォルトでは WSDL ファイルを生成しません。このフラグは省略可能ですが、指定した場合は \f2wsgen\fP が WSDL ファイルを生成するようになります。このフラグは通常、エンドポイントの配備前に開発者が WSDL を参照できるようにするためだけに使用されます。\f2protocol\fP は省略可能であり、\f2wsdl:binding\fP で使用すべきプロトコルを指定するために使用されます。有効なプロトコルは次のとおりです。\f2soap1.1\fP と \f2Xsoap1.2\fP。デフォルトは \f2soap1.1\fP です。\f2Xsoap1.2\fP は標準ではないため、\f2\-extension\fP オプションと組み合わせないと使用できません。
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \f2\-wsdl\fP オプションと組み合わせて使用します。WSDL 内で生成されるべき \f2wsdl:service\fP の名前を指定するために使用します。例 : \f2\-servicename "{http://mynamespace/}MyService"\fP
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+常に \f2\-wsdl\fP オプションと組み合わせて使用します。WSDL 内で生成されるべき \f2wsdl:port\fP の名前を指定するために使用します。例 : \f2\-portname "{http://mynamespace/}MyPort"\fP
+.br
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-classpath <path>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-cp <path>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-d <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-extension\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-help\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-keep\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-r <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-s <directory>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-verbose\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-version\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-wsdl[:protocol]\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-servicename <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-portname <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 144 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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.-57
.LP
-.SS
-Ant ¥¿¥¹¥¯
-.LP
-.LP
-\f2wsgen\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢¤³¤Î¥Ä¡¼¥ëÍѤΠAnt ¥¿¥¹¥¯¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î Ant ¥¿¥¹¥¯¤¬¥µ¥Ý¡¼¥È¤¹¤ë°À¤äÍ×ÁǤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.LP
+.SH "例"
.nf
\f3
.fl
-
+\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP
.fl
- <wsgen
-.fl
- sei="..."
-.fl
- destdir="directory for generated class files"
-.fl
- classpath="classpath" | cp="classpath"
-.fl
- resourcedestdir="directory for generated resource files such as WSDLs"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- verbose="true|false"
-.fl
- genwsdl="true|false"
-.fl
- protocol="soap1.1|Xsoap1.2"
-.fl
- servicename="..."
-.fl
- portname="...">
-.fl
- extension="true|false"
-.fl
- <classpath refid="..."/>
-.fl
- </wsgen>
-.fl
-\fP
.fi
-
.LP
-.LP
-.TS
-center;
-lbp-1 lbp-1 lbp-1
-li l l
-li l li .
-°À ÀâÌÀ ¥³¥Þ¥ó¥É¹Ô
-_
-sei ¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¥¯¥é¥¹¤Î̾Á° SEI
-destdir T{
-À¸À®¤µ¤ì¤ë½ÐÎÏ¥¯¥é¥¹¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -d
-classpath ÆþÎÏ¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -classpath
-cp -classpath ¤ÈƱ¤¸ -cp
-resourcedestdir T{
-¾ï¤Ë -wsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£WSDL ¤Ê¤É¤ÎÀ¸À®¤µ¤ì¤¿¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -r
-sourcedestdir T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T} -s
-keep À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹ -keep
-verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T} -verbose
-genwsdl T{
-WSDL ¥Õ¥¡¥¤¥ë¤òÀ¸ À®¤¹¤Ù¤¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹
-T} -wsdl
-protocol T{
-genwsdl ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£wsdl:binding ¤Ç»ÈÍѤ¹¤ë¥×¥í¥È¥³¥ë¤ò»ØÄꤷ¤Þ¤¹¡£Í¸ú¤ÊÃͤϡÖsoap1.1¡×¤È¡ÖXsoap1.2¡×¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ï¡Ösoap1.1¡×¤Ç¤¹¡£¡ÖXsoap1.2¡×¤Ïɸ½à¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢-extensions ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Ê¤¤¤È»ÈÍѤǤ¤Þ¤»¤ó
-T} -wsdl:soap11
-servicename T{
-genwsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë WSDL ¤Î wsdl:service ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : servicename="{http://mynamespace/}MyService"
-T} -servicename
-portname T{
-genwsdl ¥ª¥×¥·¥ç¥ó¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ·¤Þ¤¹¡£À¸À®¤µ¤ì¤ë WSDL ¤Î wsdl:portname ¤Î̾Á°¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£Îã : portname="{http://mynamespace/}MyPort"
-T} -servicename
-extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T} -extension
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-68
-
-.LP
-.LP
-\f2classpath\fP °À¤Ï¡¢
-.na
-\f2Path\-like Structure\fP
-.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ç¤¢¤ê¡¢Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ \f2<classpath>\fP Í×ÁǤò»È¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¼¡¤Î \f2<taskdef>\fP Í×ÁǤò¥×¥í¥¸¥§¥¯¥È¤ËÄɲ䷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
+\f3stock\fP ディレクトリ内に @WebService 注釈が付けられた、StockService に必要なラッパークラスが生成されます。
.nf
\f3
.fl
- <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
+\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP
.fl
- <classpath path="jaxws.classpath"/>
-.fl
- </taskdef>
-.fl
-\fP
.fi
-
.LP
-.LP
-¤³¤³¤Ç¡¢\f2jaxws.classpath\fP ¤Ï¡¢JAX\-WS ¥Ä¡¼¥ë¤¬É¬ÍפȤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò´Þ¤à¡¢¥Ó¥ë¥É´Ä¶Æâ¤ÎÊ̤ξì½ê¤ËÄêµÁ¤µ¤ì¤¿
-.na
-\f2Path\-like Structure\fP
-.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ø¤Î»²¾È¤Ç¤¹¡£
-.LP
-.SH "Îã"
-.LP
-
-.LP
+SOAP 1.1 WSDL と、@WebService 注釈が付けられた Java クラス stock.StockService のスキーマが生成されます。
.nf
\f3
.fl
-<wsgen
+\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP
.fl
- resourcedestdir="${wsdl.dir}"
-.fl
- sei="fromjava.server.AddNumbersImpl">
-.fl
- <classpath refid="compile.classpath"/>
-.fl
-</wsgen>
-.fl
-\fP
.fi
-
.LP
-
+SOAP 1.2 WSDL が生成されます。
.LP
-
+サービスを配備するときに JAXWS ランタイムによって自動的に WSDL が生成されるため、開発時に WSDL を生成する必要はありません。
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1
index d91cc87..01cb4d9 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1
@@ -1,36 +1,84 @@
-'\" t
-.\" Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" `
-.TH wsimport 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2man
+." Copyright 2006 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH wsimport 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "名前"
+wsimport \- XML Web Services (JAX\-WS) 2.0 のための Java(TM) API
+.LP
+\f3仕様バージョン:\fP 2.1
+.br
+\f3実装バージョン:\fP 2.1.1
+.br
+.SH "概要"
+.LP
+\f2wsimport\fP ツールは、次のような JAX\-WS ポータブルアーティファクトを生成します。
+.RS 3
+.TP 2
+o
+サービスエンドポイントインタフェース (SEI)
+.TP 2
+o
+サービス
+.TP 2
+o
+wsdl:fault からマップされる例外クラス (存在する場合)
+.TP 2
+o
+応答 wsdl:message から派生する非同期応答 Bean (存在する場合)
+.TP 2
+o
+JAX\-B が生成する値タイプ (スキーマの型からマップされた Java クラス)
+.RE
+.LP
+これらのアーティファクトは、WSDL ドキュメント、スキーマドキュメント、およびエンドポイント実装とともに WAR ファイル内にパッケージ化して配備することができます。また、wsimport Ant タスクも用意されています。
+.na
+\f2Wsimport Ant タスク\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.htmlを参照してください。
+.br
.LP
-.SH ̾Á°
-wsimport \- JAX\-WS 2.0 ¥Ù¡¼¥¿
-.LP
-.SH "·Á¼°"
-.LP
+.SH "wsimport の起動"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2/bin/wsimport.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2\\bin\\wsimport.bat \-help\fP
+.RE
+.RE
.LP
+.SH "構文"
.nf
\f3
.fl
@@ -38,277 +86,701 @@
.fl
\fP
.fi
-
.LP
-.SH "µ¡Ç½ÀâÌÀ"
-.LP
-.LP
-\f2wsimport\fP ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê JAX-WS ¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£
-.LP
-.RS 3
-.TP 2
-o
-¥µ¡¼¥Ó¥¹¥¨¥ó¥É¥Ý¥¤¥ó¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (SEI)
-.TP 2
-o
-¥µ¡¼¥Ó¥¹
-.TP 2
-o
-wsdl:fault ¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ëÎã³°¥¯¥é¥¹ (¸ºß¤¹¤ë¾ì¹ç)
-.TP 2
-o
-±þÅú wsdl:message ¤«¤éÇÉÀ¸¤¹¤ëÈóƱ´ü±þÅú Bean (¸ºß¤¹¤ë¾ì¹ç)
-.TP 2
-o
-JAX-B ¤¬À¸À®¤¹¤ëÃÍ¥¿¥¤¥× (¥¹¥¡¼¥Þ¤Î·¿¤«¤é¥Þ¥Ã¥×¤µ¤ì¤¿ Java ¥¯¥é¥¹)
-.RE
-
-.LP
-.LP
-¤³¤ì¤é¤Î¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Ï¡¢WSDL ¥É¥¥å¥á¥ó¥È¡¢¥¹¥¡¼¥Þ¥É¥¥å¥á¥ó¥È¡¢¤ª¤è¤Ó¥¨¥ó¥É¥Ý¥¤¥ó¥È¼ÂÁõ¤È¤È¤â¤Ë WAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤·¤ÆÇÛÈ÷¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.br
-
-.LP
-.LP
-wsimport ¥Ä¡¼¥ë¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¥¹¥¯¥ê¥×¥È wsimport.sh (Unix) ¤Þ¤¿¤Ï wsimport.bat (Windows) ¤ò»ÈÍѤ·¤Þ¤¹¡£WSDL ¤ò¥¤¥ó¥Ý¡¼¥È¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¸å½Ò¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.br
-
-.LP
-.SH "¥ª¥×¥·¥ç¥ó"
-.LP
-.LP
-¼¡¤Îɽ¤Ë¡¢\f2wsimport\fP ¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£
-.br
-
-.LP
-.LP
-ɽ 1\-1 wsimport ¤Î¥ª¥×¥·¥ç¥ó
-.LP
+次の表に、\f2wsimport\fP のオプションを示します。
.LP
.TS
-center;
-cbp-1 cbp-1
-li l.
-¥ª¥×¥·¥ç¥ó ÀâÌÀ
-_
--d <directory> À¸À®¤µ¤ì¤ë½ÐÎÏ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
--b <path> T{
-³°Éô¤Î JAX-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹ (<file> ¤´¤È¤Ë -b ¤¬É¬ÍפȤʤë)
-T}
--catalog T{
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¡ÖXML Entity and URI Resolvers¡×¥É¥¥å¥á¥ó¥È¤ò¤ªÆɤߤˤʤ뤫¡¢wsimport_catalog ¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-T}
--extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T}
--help ¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹
--httpproxy:<host>:<port> T{
-HTTP ¥×¥í¥¥·¥µ¡¼¥Ð¡¼¤ò»ØÄꤷ¤Þ¤¹ (¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥È¤Ï 8080)
-T}
--keep À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹
--p T{
-¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍƤϡ¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î WSDL/¥¹¥¡¼¥Þ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢ »ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹
-T}
--s <directory> T{
-À¸À®¤µ¤ì¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹
-T}
--verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T}
--version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹
--wsdllocation <location> T{
-@WebService.wsdlLocation ¤È @WebServiceClient.wsdlLocation ¤ÎÃÍ
-T}
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-54
-
-.LP
-.LP
-\f2\-b\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢Ê£¿ô¤Î JAX-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ä Bean ̾¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£
-JAX-WS ¤ª¤è¤Ó JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.br
-
-.LP
-.SS
-Ant ¥¿¥¹¥¯
-.LP
-.LP
-\f2wsimport\fP ¥Ä¡¼¥ë¤Ë¤Ï¡¢¤³¤Î¥Ä¡¼¥ëÍѤΠAnt ¥¿¥¹¥¯¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î Ant ¥¿¥¹¥¯¤¬¥µ¥Ý¡¼¥È¤¹¤ë°À¤äÍ×ÁǤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
-.br
-
-.LP
+.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
-\f3
-.fl
- <wsimport
-.fl
- wsdl="..."
-.fl
- destdir="directory for generated class files"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- extension="true|false"
-.fl
- verbose="true|false"
-.fl
- version="true|false"
-.fl
- wsdlLocation="..."
-.fl
- catalog="catalog file"
-.fl
- package="package name"
-.fl
- <binding dir="..." includes="..." />
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-.TS
-center;
-cbp-1 cbp-1 cbp-1
-li l l
-li l li.
-°À ÀâÌÀ ¥³¥Þ¥ó¥É¹Ô
-_
-wsdl WSDL file WSDL
-destdir À¸À®¤µ¤ì¤ë½ÐÎÏ¥¯¥é¥¹¤ò³ÊǼ¤¹¤ë¾ì½ê¤ò»ØÄꤷ¤Þ¤¹ -d
-sourcedestdir T{
-À¸À®¤µ¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î³ÊǼ¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ØÄê»þ¤Ë¤Ï keep ¤â¥ª¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£
-T} -s
-keep T{
-À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤·¤Þ¤¹¡£sourcedestdir ¥ª¥×¥·¥ç¥ó»ØÄê»þ¤Ë¥ª¥ó¤Ë¤Ê¤ê¤Þ¤¹
-T} -keep
-verbose T{
-¥³¥ó¥Ñ¥¤¥é¤¬¼Â¹Ô¤·¤Æ¤¤¤ë½èÍý¤Ë´Ø¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹
-T} -verbose
-binding T{
-³°Éô¤Î JAX-WS ¤Þ¤¿¤Ï JAXB ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹
-T} -b
-extension T{
-¥Ù¥ó¥À¡¼³ÈÄ¥ (»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½) ¤òµö²Ä¤·¤Þ¤¹¡£³ÈÄ¥¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢À¤¬¼º¤ï¤ì¤¿¤ê¡¢¤Û¤«¤Î¼ÂÁõ¤È¤ÎÁê¸ß±¿ÍѤ¬¹Ô¤¨¤Ê¤¯¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹
-T} -extension
-wsdllocation T{
-¤³¤Î¥ª¥×¥·¥ç¥ó·Ðͳ ¤Ç ÅÏ ¤µ ¤ì¤¿WSDL ¤Î URI ¤Ï¡¢À¸ À® ¤µ¤ì¤¿ SEI¤ª¤è¤Ó¥µ¡¼¥Ó¥¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î@WebService.wsdlLocation¤ª ¤è ¤Ó@WebServiceClient.wsdlLocationÃí¼áÍ×ÁǤÎÃͤòÀßÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-T} -wsdllocation
-catalog T{
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£»²¾È¤ò²ò·è¤¹¤ë¤¿¤á¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£TR9401¡¢XCatalog¡¢OASIS XML Catalog ¤Î³Æ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¡¢Ant xmlcatalog ¥¿¥¤¥×¤ò»È¤Ã¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤ò²ò·è¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£wsimport_catalog ¥µ¥ó¥×¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-T} -catalog
-package ¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤Þ¤¹ -p
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
-
-.LP
-.LP
-\f2binding\fP °À¤Ï¡¢
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成される出力ファイルを格納する場所を指定します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+外部の JAX\-WS または JAXB バインディングファイルを指定します (\f2<file>\fP ごとに \f2\-b\fP が必要となる)
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+このオプションを JAXB スキーマコンパイラに渡します
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+外部エンティティー参照を解決するためのカタログファイルを指定します。 TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。
.na
-\f2Path\-like Structures\fP
+\f2カタログ\fP @
.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ç¤¢¤ê¡¢¤½¤ì¤¾¤ìÆþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ \f2<binding>\fP Í×ÁǤò»È¤Ã¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤³¤Î¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¼¡¤Î \f2<taskdef>\fP Í×ÁǤò¥×¥í¥¸¥§¥¯¥È¤ËÄɲ䷤Ƥª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-.LP
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.htmlのドキュメントをお読みになり、\f3カタログ\fPのサンプルを参照してください。
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+ヘルプを表示します
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3\-httpproxy:<host>:<port> \fP
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+HTTP プロキシサーバーを指定します (デフォルトのポートは 8080)
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されたファイルを保持します
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべての WSDL/スキーマバインディングカスタマイズや、 仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di k+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+生成されるソースファイルを格納する場所を指定します
+.br
+.di
+.nr k| \n(dn
+.nr k- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di l+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+コンパイラが実行している処理に関するメッセージを出力します
+.br
+.di
+.nr l| \n(dn
+.nr l- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+バージョン情報を出力します
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+\f3\-wsdllocation <location>\fP
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di o+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@WebServiceClient.wsdlLocation\fP 値
+.br
+.di
+.nr o| \n(dn
+.nr o- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di p+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+指定された JAX\-WS 仕様バージョンに従ってコードを生成します。バージョン 2.0 では、JAX\-WS 2.0 仕様に準拠したコードを生成します。
+.br
+.di
+.nr p| \n(dn
+.nr p- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di q+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+wsimport 出力を抑制します
+.br
+.di
+.nr q| \n(dn
+.nr q- \n(dl
+..
+.ec \
+.35
.nf
-\f3
-.fl
- <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
-.fl
- <classpath path="jaxws.classpath"/>
-.fl
- </taskdef>
-.fl
-\fP
-.fi
-
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3オプション\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-d <directory> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-b <path> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-B <jaxbOption>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-catalog\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-extension \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-help \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-keep \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-p \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-s <directory> \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-verbose \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-version \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-target \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-quiet \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(g-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(n-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f3説明\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(d-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(f-
+.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(j-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(l-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(o-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(p-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(q-
+.if \n(81<\n(38 .nr 81 \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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 164 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3オプション\fP\h'|\n(41u'\f3説明\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.ne \n(h|u+\n(.Vu
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.g+
+.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
+.h+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(i|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u'
+.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(31u
+.ne \n(k|u+\n(.Vu
+.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.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
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.m+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.ne \n(o|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.n+
+.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
+.o+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(p|u+\n(.Vu
+.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.p+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(q|u+\n(.Vu
+.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.q+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.rm n+
+.rm o+
+.rm p+
+.rm q+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-72
.LP
-.LP
-¤³¤³¤Ç¡¢\f2jaxws.classpath\fP ¤Ï¡¢JAX\-WS ¥Ä¡¼¥ë¤¬É¬ÍפȤ¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò´Þ¤à¡¢¥Ó¥ë¥É´Ä¶Æâ¤ÎÊ̤ξì½ê¤ËÄêµÁ¤µ¤ì¤¿
+\f2\-b\fP オプションを使って、複数の JAX\-WS および JAXB バインディングファイルを指定できます。 これらのファイルを使って、パッケージ名や Bean 名など、さまざまなカスタマイズが可能です。 JAX\-WS および JAXB バインディングファイルの詳細は、
.na
-\f2Path\-like Structure\fP
+\f2カスタマイズマニュアル\fP @
.fi
-(http://ant.apache.org/manual/using.html#path) ¤Ø¤Î»²¾È¤Ç¤¹¡£
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.htmlを参照してください。
.LP
-.SH "Îã"
-.LP
+.SH "例"
.nf
\f3
.fl
- <wsimport
+\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP
.fl
- destdir="${build.classes.home}"
-.fl
- debug="true"
-.fl
- wsdl="AddNumbers.wsdl"
-.fl
- binding="custom.xml"/>
-.fl
-\fP
.fi
-
.LP
-.LP
-¾å¤ÎÎã¤Ç¤Ï¡¢\f2AddNumbers.wsdl\fP ¤Î¥¯¥é¥¤¥¢¥ó¥È¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\f2custom.xml\fP ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¤¤Æ \f2${build.classes.home}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.class\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£»ÈÍѤµ¤ì¤ë¥¯¥é¥¹¥Ñ¥¹¤Ï \f2xyz.jar\fP ¤Ç¤¢¤ê¡¢¥Ç¥Ð¥Ã¥°¾ðÊ󤬥ª¥ó¤Î¾õÂ֤ǥ³¥ó¥Ñ¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-.LP
-.nf
-\f3
-.fl
- <wsimport
-.fl
- keep="true"
-.fl
- sourcedestdir="${source.dir}"
-.fl
- destdir="${build.classes.home}"
-.fl
- wsdl="AddNumbers.wsdl">
-.fl
- <binding dir="${basedir}/etc" includes="custom.xml"/>
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-¾å¤ÎÎã¤Ç¤Ï¡¢\f2AddNumbers.wsdl\fP ¤Î¥Ý¡¼¥¿¥Ö¥ë¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤òÀ¸À®¤·¡¢\f2${source.dir}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.java\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¡¢\f2${build.classes.home}\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2.class\fP ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£
-.LP
-.SH "Ãí°Õ"
-.LP
-.LP
-Êѹ¹¤Þ¤¿¤Ïºï½ü¤µ¤ì¤¿ wsimport ¤Î Ant °À¤Î³µÍ×
-.LP
-\f3base\fP ¤¬ \f3destdir\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
+Java アーティファクトを生成し、\f2http://stockquote.xyz/quote?wsdl\fP をインポートすることで、それらのアーティファクトをコンパイルします。
.br
-
-.LP
-.br
-
-.LP
-\f3sourceBase\fP ¤¬ \f3sourcedestdir\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
-.br
-
-.LP
-.br
-
-.LP
-\f3wsdlFile\fP ¤¬ \f3wsdl\fP ¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿
-.br
-.br
-\f3httpProxy\fP ¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£Âå¤ï¤ê¤Ë¡¢Ant ¤Î setproxy ¥¿¥¹¥¯¤ò»È¤Ã¤Æ¥×¥í¥¥·¹½À®¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-.br
-.br
-\f3version\fP ¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿
-.br
-
-.LP
-
-.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1
index 91d33f0..d709b4f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1
+++ b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,67 +18,43 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH xjc 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
-." Generated by html2roff
+."
+.TH xjc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.ad c
-.SH ̾Á°
-XML ¥Ð¥¤¥ó¥É¤Î¤¿¤á¤Î Java(TM) ¥¢¡¼¥¥Æ¥¯¥Á¥ã
+.SH "名前"
+xjc \- XML バインドのための Java(TM) アーキテクチャー
.br
-¥Ð¥¤¥ó¥É¥³¥ó¥Ñ¥¤¥é (xjc) \f3»ÅÍͤΥС¼¥¸¥ç¥ó:\fP 2.0
+バインディングコンパイラ
+.LP
+\f3仕様バージョン:\fP 2.1
.br
-\f3¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ (Reference Implementation¡¢RI) ¤Î¥Ð¡¼¥¸¥ç¥ó:\fP 2.0 ea3
-.br
-JAXB 2.0: ¥ê¥ê¡¼¥¹¥Î¡¼¥È | XJC | XJCTask | SchemaGen | schemagenTask | ¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó | Changelog
-.br
-JAXB 1.0.x: ¥ê¥ê¡¼¥¹¥Î¡¼¥È | Changelog
-.br
-JAXB RI ³ÈÄ¥: ¼Â¹Ô»þ¥×¥í¥Ñ¥Æ¥£ | XJC ¥«¥¹¥¿¥Þ¥¤¥º | ¥×¥é¥°¥¤¥ó³«È¯
-.br
-JAXB RI ¥¹¥¡¼¥Þ¸À¸ì: W3C XML ¥¹¥¡¼¥Þ | RELAX NG | DTD
-.br
-JAXB ¥³¥ß¥å¥Ë¥Æ¥£:
-.na
-\f2Java.net ¥Û¡¼¥à¥Ú¡¼¥¸\fP @
-.fi
-http://jaxb.dev.java.net | Developer interest list | FAQ
-.br
-.ad l
+\f3リファレンス実装 (RI) バージョン:\fP 2.1.3 .ad l
.LP
-.SS
-xjc ¤Îµ¯Æ°
+.SH "xjc の起動"
.LP
.LP
-¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë±þ¤¸¤¿ \f2bin\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î \f2xjc\fP ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤¿¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î Ant ¥¿¥¹¥¯¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£xjc ¤ò Ant ¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¼ê½ç¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+バインディングコンパイラを起動するには、使用するプラットフォームに応じた \f2bin\fP ディレクトリ内の \f2xjc\fP シェルスクリプトを使用します。また、バインディングコンパイラを実行するための Ant タスクも用意されています。
+.na
+\f2xjc を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.htmlための手順を参照してください。
.LP
.RS 3
.LP
-\f3Solaris/Linux ¤Î¾ì¹ç\fP
.LP
-
-.LP
-.LP
- \f2% /path/to/jaxb/bin/xjc.sh \-help\fP
-.LP
-\f3WindowsNT/2000/XP ¤Î¾ì¹ç\fP
-.LP
-
-.LP
-.LP
- \f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP
+\f2% xjc \-help\fP
.LP
.RE
+\f3出力\fP
+.LP
.RS 3
.LP
-\f3½ÐÎÏ\fP
-.LP
-
-.LP
.nf
\f3
.fl
@@ -93,7 +68,9 @@
.fl
Compatibility Rules and App E.2 from the JAXB Spec
.fl
- \-b <file> : specify external bindings files (each <file> must have its own \-b)
+ \-b <file/dir> : specify external bindings files (each <file> must have its own \-b)
+.fl
+ If a directory is given, **/*.xjb is searched
.fl
\-d <dir> : generated files will go into this directory
.fl
@@ -113,6 +90,10 @@
.fl
\-npa : suppress generation of package level annotations (**/package\-info.java)
.fl
+ \-no\-header : suppress generation of a file header with timestamp
+.fl
+ \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features.
+.fl
\-xmlschema : treat input as W3C XML Schema (default)
.fl
\-relaxng : treat input as RELAX NG (experimental,unsupported)
@@ -133,49 +114,23 @@
.fl
\fP
.fi
-
-.LP
.RE
-.RS 3
.LP
-\f3jaxb\-xjc.jar JAR ¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô\fP
+.SH "オプション"
.LP
.LP
-.LP
-¤Û¤«¤ÎÊýË¡¤¬¤¹¤Ù¤Æ¼ºÇÔ¤·¤¿¾ì¹ç¤Ç¤â¡¢\f2jaxb\-xjc.jar\fP ¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤Ï¹Ô¤¨¤ë¤Ï¤º¤Ç¤¹¡£
-.LP
.RS 3
-
-.LP
-.TP 3
-Solaris/Linux ¤Î¾ì¹ç:
-\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP
-.TP 3
-Windows ¤Î¾ì¹ç:
-\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP
-.LP
-.RE
-.LP
-¤³¤ì¤Ï¡Öxjc.sh¡×¤ä¡Öxjc.bat¡×¤ò¼Â¹Ô¤¹¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£¤Þ¤¿¡¢¤³¤Î¾ì¹ç¡¢JVM ¥Ñ¥é¥á¡¼¥¿¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-.LP
-.RE
-.SS
-¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î³µÍ×
-.LP
-
-.LP
.TP 3
\-nv
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥½¡¼¥¹¥¹¥¡¼¥Þ¤ò½èÍý¤¹¤ëÁ°¤Ë¸·Ì©¤Ê¸¡¾Ú¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¸·Ì©¤Ê¥¹¥¡¼¥Þ¸¡¾Ú¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤¬¸¡¾Ú¤ò°ìÀڼ¹Ԥ·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤ê¸·Ì©¤Ç¤Ê¤¤¸¡¾Ú¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、ソーススキーマを処理する前に厳密な検証を実行します。このオプションを使用すると、厳密なスキーマ検証を無効にします。これは、バインディングコンパイラが検証を一切実行しないということではありません。 より厳密でない検証を実行するということです。
.TP 3
\-extension
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢JAXB »ÅÍͤΡÖCompatibility¡×¤Î¾Ï¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤ò¸·Ì©¤Ë¶¯À©¤·¤Þ¤¹¡£ÉÕÏ¿ E.2 ¤Ë¤Ï¡¢JAXB v1.0 ¤Ç´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î W3C XML ¥¹¥¡¼¥Þµ¡Ç½¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤Ç͸ú¤Ë¤Ê¤ë¡Ö\-extension¡×¥â¡¼¥É¤Ç¤½¤ì¤é¤Îµ¡Ç½¤¬»ÈÍѤǤ¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸·Ì©¤Ê¥â¡¼¥É¤Ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ß¤¬»ÈÍѤǤ¤Þ¤¹¡£¡Ö\-extension¡×¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð¡¢JAXB Vendor Extension ¤ò»ÈÍѤǤ¤Þ¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、JAXB 仕様の「Compatibility」の章で説明されている規則を厳密に強制します。付録 E.2 には、JAXB v1.0 で完全にはサポートされていない一連の W3C XML スキーマ機能が定義されています。 場合によっては、このスイッチで有効になる「\-extension」モードでそれらの機能が使用できるかもしれません。また、デフォルトの厳密なモードでは、仕様に定義されているバインディングカスタマイズのみが使用できます。「\-extension」スイッチを指定すれば、JAXB Vendor Extension を使用できます。
.TP 3
\-b <file>
-½èÍý¤¹¤ë³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô»ØÄꤷ¤Þ¤¹¡£(¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤´¤È¤Ë\f2¡Ö\-b¡×\fP¥¹¥¤¥Ã¥Á¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£) ³°Éô¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Î¹½Ê¸¤ÏÈó¾ï¤Ë½ÀÆð¤Ç¤¹¡£Ê£¿ô¤Î¥¹¥¡¼¥Þ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬´Þ¤Þ¤ì¤ë
-1 ¤Ä¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤ê¡¢¤½¤ì¤é¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊ£¿ô¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤ê¤Ç¤¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
+処理する外部バインディングファイルを 1 つまたは複数指定します。(バインディングファイルごとに「\f2\-b\fP」スイッチを指定する必要があります。)外部バインディングファイルの構文は非常に柔軟です。複数のスキーマのカスタマイズが含まれる 1 つのバインディングファイルを使用したり、それらのカスタマイズを複数のバインディングファイルに分割したりできます。 次に例を示します。
.RS 3
.LP
@@ -183,142 +138,151 @@
.br
\f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP
.RE
-¤Þ¤¿¡¢¥³¥Þ¥ó¥É¹Ô¤Ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£
+また、コマンド行にスキーマファイルとバインディングファイルを指定する順番は任意です。
.TP 3
\-d <dir>
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Java ¥³¥ó¥Æ¥ó¥Ä¥¯¥é¥¹¤ò¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢ÂåÂؽÐÎϥǥ£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤¤Þ¤¹¡£½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Ï¤¢¤é¤«¤¸¤á¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤ËºîÀ®¤·¤Þ¤»¤ó¡£
+デフォルトでは、XJC バインディングコンパイラは、Java コンテンツクラスを現在のディレクトリに生成します。このオプションを使用すると、代替出力ディレクトリを指定できます。出力ディレクトリはあらかじめ存在している必要があります。 XJC バインディングコンパイラは、このディレクトリを自動的に作成しません。
.TP 3
\-p <pkg>
-¤³¤Î¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó·Ðͳ¤Ç¥¿¡¼¥²¥Ã¥È¥Ñ¥Ã¥±¡¼¥¸¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î»ØÄêÆâÍƤϡ¢¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂФ¹¤ë¤¹¤Ù¤Æ¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢»ÅÍͤǵ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¥¢¥ë¥´¥ê¥º¥à¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£
+このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべてのバインディングカスタマイズや、仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます。
.TP 3
\-httpproxy <proxy>
-HTTP/HTTPS ¥×¥í¥¥·¤ò»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï [user[:password]@]proxyHost[:proxyPort] ¤Ç¤¹¡£½¾Íè¤Î \f2\-host\fP ¤ª¤è¤Ó \f2\-port\fP ¤Ï¡¢²¼°Ì¸ß´¹À¤Î¤¿¤á¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¼ÂÁõ¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¿ä¾©¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢\f2top\fP ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼¤Ê¤É¡¢¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤Ç¤¤ë°ú¿ô¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥»¥¥å¥ê¥Æ¥£¤ò¹â¤á¤ë¤Ë¤Ï¡¢¼¡¤Î \f2\-httpproxyfile\fP ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+HTTP/HTTPS プロキシを指定します。形式は [user[:password]@]proxyHost[:proxyPort] です。従来の \f2\-host\fP および \f2\-port\fP は、下位互換性のためにリファレンス実装でもサポートされていますが、推奨されなくなりました。このオプションで指定されたパスワードは、\f2top\fP コマンドを使用するユーザーなど、ほかのユーザーが表示できる引数であることに注意してください。セキュリティーを高めるには、次の \f2\-httpproxyfile\fP を使用してください。
.TP 3
\-httpproxyfile <file>
-HTTP/HTTPS ¥×¥í¥¥·¤ò¥Õ¥¡¥¤¥ë·Ðͳ¤Ç»ØÄꤷ¤Þ¤¹¡£·Á¼°¤Ï¾åµ¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ëÆâ¤Ë»ØÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¤Û¤«¤Î¥æ¡¼¥¶¡¼¤¬É½¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+HTTP/HTTPS プロキシをファイル経由で指定します。形式は上記と同じですが、このファイル内に指定されたパスワードをほかのユーザーが表示することはできません。
.TP 3
\-classpath <arg>
-\f2<jxb:javaType>\fP ¤ª¤è¤Ó \f2<xjc:superClass>\fP ¥«¥¹¥¿¥Þ¥¤¥º¤¬»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤Î¸¡º÷¾ì½ê¤ò»ØÄꤷ¤Þ¤¹¡£
+\f2<jxb:javaType>\fP および \f2<xjc:superClass>\fP カスタマイズが使用するクライアントアプリケーションのクラスファイルの検索場所を指定します。
.TP 3
\-catalog <file>
-³°Éô¥¨¥ó¥Æ¥£¥Æ¥£¡¼»²¾È¤ò²ò·è¤¹¤ë¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-TR9401¡¢XCatalog¡¢¤ª¤è¤Ó OASIS XML Catalog ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¾ÜºÙ¤Ï¡¢¡ØXML Entity and URI Resolvers¡Ù¥É¥¥å¥á¥ó¥È¤ò»²¾È¤¹¤ë¤«¡¢
-¥«¥¿¥í¥°¥ê¥¾¥ë¥Ð¤Î¥µ¥ó¥×¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
+外部エンティティー参照を解決するカタログファイルを指定します。TR9401、XCatalog、および OASIS XML Catalog 形式がサポートされます。詳細は、『XML Entity and URI Resolvers』ドキュメントを参照するか、\f2カタログリゾルバ\fPのサンプルアプリケーションを調べてください。
.TP 3
\-readOnly
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤Ï¡¢À¸À®¤¹¤ë Java ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤ß¤«¤éÊݸ¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ÏÀ¸À®¤µ¤ì¤ë Java ¥½¡¼¥¹¤ò¶¯À©Åª¤ËÆɤ߼è¤êÀìÍѤˤ·¤Þ¤¹¡£
+デフォルトでは、XJC バインディングコンパイラは、生成する Java ソースファイルを書き込みから保護しません。このオプションを使用すると、XJC バインディングコンパイラは生成される Java ソースを強制的に読み取り専用にします。
.TP 3
\-npa
-¥Ñ¥Ã¥±¡¼¥¸¥ì¥Ù¥ë¤ÎÃí¼á¤ò
-.B **/package-info.java
-¤ËÀ¸À®¤¹¤ë¤³¤È¤òÍÞÀ©¤·¤Þ¤¹¡£
-¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤ÆÀ¸À®¤¹¤ë¥³¡¼¥É¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÃí¼á¤¬
-¤Û¤«¤ÎÀ¸À®ºÑ¤ß¥¯¥é¥¹¤ËÆâÉô²½¤µ¤ì¤Þ¤¹¡£
+パッケージレベルの注釈を **/package\-info.java に生成することを抑制します。このスイッチを使用して生成するコードでは、これらの注釈がほかの生成済みクラスに内部化されます。
+.TP 3
+\-no\-header
+多少のメモとタイムスタンプを含むファイルヘッダーコメントの生成を抑制します。このオプションを使用すると、生成されたコードがわかりにくくなります。
+.TP 3
+\-target 2.0
+なんらかの JAXB 2.1 機能に依存するコードを生成しないようにします。これにより、生成されたコードを JAXB 2.0 ランタイム (JavaSE 6 など) で実行できます。
.TP 3
\-xmlschema
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò W3C XML ¥¹¥¡¼¥Þ (¥Ç¥Õ¥©¥ë¥È) ¤È¸«¤Ê¤·¤Þ¤¹¡£
-¤³¤Î¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â¡¢ÆþÎÏ¥¹¥¡¼¥Þ¤Ï
-W3C XML ¥¹¥¡¼¥Þ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
+入力スキーマを W3C XML スキーマ (デフォルト) と見なします。このスイッチを指定しなくても、入力スキーマは W3C XML スキーマと見なされます。
.TP 3
\-relaxng
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò RELAX NG ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを RELAX NG として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-relaxng\-compact
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò RELAX NG °µ½Ì¹½Ê¸¤È¤·¤Æ½èÍý¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを RELAX NG 圧縮構文として処理します (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-dtd
-ÆþÎÏ¥¹¥¡¼¥Þ¤ò XML DTD ¤È¤·¤Æ°·¤¤¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£RELAX NG ¥¹¥¡¼¥Þ¤Î¥µ¥Ý¡¼¥È¤Ï JAXB Vendor Extension ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+入力スキーマを XML DTD として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。
.TP 3
\-wsdl
-ÆþÎϤò WSDL ¤È¤·¤Æ°·¤¤¡¢¤½¤ÎÆâÉô¤Î¥¹¥¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ (»î¸³Åª¡¢Ì¤¥µ¥Ý¡¼¥È)¡£
+入力を WSDL として扱い、その内部のスキーマをコンパイルします (試験的、未サポート)。
.TP 3
\-quiet
-¿ÊĽ¤ä·Ù¹ð¤Ê¤É¡¢¥³¥ó¥Ñ¥¤¥é¤Î½ÐÎϤòÍÞÀ©¤·¤Þ¤¹¡£
+進捗情報や警告など、コンパイラの出力を抑制します。
.TP 3
\-verbose
-¾ðÊó¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤¿¤êÆÃÄê¤Î¥¨¥é¡¼È¯À¸»þ¤Ë¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤Ê¤É¡¢¶Ë¤á¤Æ¾éĹ¤Ë¤Ê¤ê¤Þ¤¹¡£
+情報メッセージを出力したり特定のエラー発生時にスタックトレースを表示したりするなど、極めて冗長になります。
.TP 3
\-help
-¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤Î³µÍפòɽ¼¨¤·¤Þ¤¹¡£
+コンパイラスイッチの概要を表示します。
.TP 3
\-version
-¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
+コンパイラのバージョン情報を表示します。
.TP 3
<schema file/URL/dir>
-¥³¥ó¥Ñ¥¤¥ëÂоݤȤʤë 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¡¢xjc ¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÁöºº¤·¡¢¤½¤³¤Ç¸«¤Ä¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
+コンパイル対象となる 1 つまたは複数のスキーマファイルを指定します。ユーザーがディレクトリを指定した場合、xjc はそのディレクトリを走査し、そこで見つかったすべてのスキーマファイルをコンパイルします。
+.RE
.SS
-Èó¿ä¾©¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤ª¤è¤Óºï½ü¤µ¤ì¤¿¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤Î³µÍ×
+非推奨コマンド行オプションおよび削除されたコマンド行オプションの概要
.LP
+.RS 3
.LP
+.RS 3
.TP 3
\-host & \-port
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏÈó¿ä¾©¤È¤Ê¤ê¡¢\f3\-httpproxy\fP ¥ª¥×¥·¥ç¥ó¤ÇÃÖ¤´¹¤¨¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢²¼°Ì¸ß´¹À¤ò³ÎÊݤ¹¤ëÌÜŪ¤Ç°ú¤Â³¤¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤¬¡¢¥É¥¥å¥á¥ó¥È¤Ë¤ÏµºÜ¤µ¤ì¤º¡¢¾Íè¤Î¥ê¥ê¡¼¥¹¤Çºï½ü¤µ¤ì¤ë²ÄǽÀ¤â¤¢¤ê¤Þ¤¹¡£
+これらのオプションは非推奨となり、\f3\-httpproxy\fP オプションで置き換えられました。これらのオプションは、下位互換性を確保する目的で引き続きサポートされますが、ドキュメントには記載されず、将来のリリースで削除される可能性もあります。
.TP 3
\-use\-runtime
-JAXB 2.0 »ÅÍͤǰܿ¢À¤Î¤¢¤ë¥é¥ó¥¿¥¤¥à¤¬µ¬Äꤵ¤ì¤¿¤¿¤á¡¢JAXB RI ¤¬ **/impl/runtime ¥Ñ¥Ã¥±¡¼¥¸¤òÀ¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¤¿¤á¡¢¤³¤Î¥¹¥¤¥Ã¥Á¤ÏÉÔÍפȤʤꡢºï½ü¤µ¤ì¤Þ¤·¤¿¡£
+JAXB 2.0 仕様で移植性のあるランタイムが規定されたため、JAXB RI が **/impl/runtime パッケージを生成する必要がなくなりました。このため、このスイッチは不要となり、削除されました。
.TP 3
\-source
-\-source ¸ß´¹À¥¹¥¤¥Ã¥Á¤Ï¡¢JAXB 2.0 ¤ÎºÇ½é¤Î Early Access ÈǤÇƳÆþ¤µ¤ì¤Þ¤·¤¿¡£²æ¡¹¤Ï¡¢JAXB 2.0 ¤Îº£¸å¤Î¥ê¥ê¡¼¥¹¤«¤é¤³¤Î¥¹¥¤¥Ã¥Á¤òºï½ü¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£1.0.x ¥³¡¼¥É¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢1.0.x ¥³¡¼¥É¥Ù¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+\-source 互換性スイッチは、JAXB 2.0 の最初の Early Access 版で導入されました。このスイッチは、JAXB 2.0 の今後のリリースから削除されることになりました。1.0.x コードを生成する必要がある場合には、1.0.x コードベースのインストールを使用してください。
.TP 3
\-Xlocator & \-Xsync\-methods
-¤³¤ì¤é¤Î¥¹¥¤¥Ã¥Á¤Ï¸½»þÅÀ¤Ç¤Ï̵¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¾Íè¡¢¸ÄÊ̤ΥÀ¥¦¥ó¥í¡¼¥É¤È¤·¤ÆÄ󶡤µ¤ì¤ëͽÄê¤Ç¤¹¡£
+これらのスイッチは現時点では無効化されています。この機能は将来、個別のダウンロードとして提供される予定です。
+.RE
+
.LP
+.RE
.SS
-¥³¥ó¥Ñ¥¤¥é¤ÎÀ©¸Â
+コンパイラの制限
.LP
.LP
-Ä̾ï¤Ï¡¢´ØÏ¢¤¹¤ë¥¹¥¡¼¥Þ¤Ï¡¢Æ±¤¸¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¥¹¥¤¥Ã¥Á¤ò»ØÄꤷ¤Æ 1 ¤Ä¤Îñ°Ì¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤¬¤â¤Ã¤È¤â°ÂÁ´¤Ç¤¹¡£
+通常は、関連するすべてのスキーマを、同じバインディングコンパイラスイッチを指定して 1 つの単位としてコンパイルするのがもっとも安全です。
.LP
.LP
-.B xjc
-¤ò¼Â¹Ô¤¹¤ë¤È¤¤Ï¡¢¼¡¤Ë¼¨¤¹À©¸Â¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤é¤ÎÀ©¸Â¤Î¤Û¤È¤ó¤É¤Ï¡¢
-.B xjc
-¤ò²¿ÅÙ¤«¸Æ¤Ó½Ð¤·¤ÆÊ£¿ô¤Î¥¹¥¡¼¥Þ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£
+xjc を実行するときは、次に示す制限に注意してください。これらの制限のほとんどは、xjc を何度か呼び出して複数のスキーマをコンパイルする場合にのみ適用されます。
.LP
.RS 3
.TP 2
-*
-Ê£¿ô¤Î¥¹¥¡¼¥Þ¤òƱ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢
-¥¿¡¼¥²¥Ã¥È¤Î Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë¼¡¤ÎÍ¥Àè½ç°Ì¤Îµ¬Â§¤¬
-ŬÍѤµ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+o
+複数のスキーマを同時にコンパイルする場合は、ターゲットの Java パッケージ名に次の優先順位の規則が適用されることに注意してください。
.RS 3
.TP 3
1.
-¡Ö\f2\-p\fP¡×¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó¤¬¤â¤Ã¤È¤âÍ¥À褵¤ì¤Þ¤¹¡£
+「\f2\-p\fP」コマンド行オプションがもっとも優先されます。
.TP 3
2.
-<\f2jaxb:package\fP> ¤Î¥«¥¹¥¿¥Þ¥¤¥º
+<\f2jaxb:package\fP> のカスタマイズ
.TP 3
3.
-\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ÅÍͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë \f2targetNamespace\fP \-> Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¥¢¥ë¥´¥ê¥º¥à¤òŬÍѤ·¤Þ¤¹¡£
+\f2targetNamespace\fP が宣言されている場合は、仕様に定義されている \f2targetNamespace\fP \-> Java パッケージ名のアルゴリズムを適用します。
.TP 3
4.
-\f2targetNamespace\fP ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢"generated" ¤È¤¤¤¦Ì¾Á°¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£
+\f2targetNamespace\fP が宣言されていない場合は、"generated" という名前のハードコードされたパッケージを使用します。
.RE
.TP 2
-*
-̾Á°¶õ´Ö¤´¤È¤ËÊ£¿ô¤Î
-.B <jaxb:schemaBindings>
-¤ò»ý¤Ä¤³¤È¤ÏÉÔÀµ¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢1 ¤Ä¤Î¥¿¡¼¥²¥Ã¥È̾Á°¶õ´ÖÆâ¤Î
-2 ¤Ä¤Î¥¹¥¡¼¥Þ¤ò¡¢°Û¤Ê¤ë Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+o
+名前空間ごとに複数の <\f2jaxb:schemaBindings\fP> を持つことは不正です。 このため、1 つのターゲット名前空間内の 2 つのスキーマを、異なる Java パッケージにコンパイルすることはできません。
.TP 2
-*
-1 ¤Ä¤Î Java ¥Ñ¥Ã¥±¡¼¥¸¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥¹¥¡¼¥Þ¤Ï¡¢
-XJC ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥³¥ó¥Ñ¥¤¥é¤ËƱ»þ¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¸ÄÊ̤˥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤¤º¡¢ ͽ´ü¤·¤¿¤È¤ª¤ê¤ËÆ°ºî¤·¤Þ¤»¤ó¡£
+o
+1 つの Java パッケージにコンパイルされるすべてのスキーマは、XJC バインディングコンパイラに同時に送信する必要があります。 個別にコンパイルすることはできず、予期したとおりに動作しません。
.TP 2
-*
-Ê£¿ô¤Î¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ëÍ×ÁÇÃÖ´¹¥°¥ë¡¼¥×¤Ï¡¢Æ±»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+o
+複数のスキーマファイルにまたがる要素置換グループは、同時にコンパイルする必要があります。
.RE
.LP
-
+.SH "関連項目"
.LP
-$Revision: 1.4 $
-.br
-$Date: 2005/10/27 18:53:02 $
+.RS 3
+.TP 2
+o
+コマンド行でのコンバータの実行 (XJC):[
+.na
+\f2コマンド行の命令\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html、
+.na
+\f2xjc を Ant とともに使用する\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html]
+.TP 2
+o
+.na
+\f2XML バインドのための JavaTM アーキテクチャー (JAXB)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
+.RE
+
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jar.1 b/jdk/src/solaris/doc/sun/man/man1/jar.1
index 029cf03..730616a 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jar.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jar.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,15 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jar 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Created by: Susan Keohan 30\-Oct\-1996
-.\\" Updated by: Beth Stearns 18\-Nov\-1996
-.\\" Updated by: Marianne Mueller 11\-Dec\-1996
-.\\" Updated by: Douglas Kramer 01\-Jul\-2003
+."
+.TH jar 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
jar\-The Java Archive Tool
.LP
\f3jar\fP combines multiple files into a single JAR archive file.
@@ -35,6 +31,7 @@
.LP
.LP
+.RS 3
.TP 3
Create jar file
\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
@@ -50,6 +47,8 @@
.TP 3
Add index to jar file
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
+.RE
+
.LP
.LP
where:
@@ -57,21 +56,20 @@
.RS 3
.LP
+.RS 3
.TP 3
cuxtiv0Mmfe
Options that control the \f2jar\fP command.
.TP 3
- jarfile
+jarfile
Jar file to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), or have its table of contents viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if either is present, they must both appear. Note that omitting \f2f\fP and \f2jarfile\fP accepts a "jar file" from standard input (for x and t) or sends the "jar file" to standard output (for c and u).
.TP 3
-
inputfiles
Files or directories, separated by spaces, to be combined into \f2jarfile\fP (for c and u), or to be extracted (for x) or listed (for t) from \f2jarfile\fP. All directories are processed recursively. The files are compressed unless option \f20\fP (zero) is used.
.TP 3
- manifest
+manifest
Pre\-existing manifest file whose \f2name\fP\f2:\fP \f2value\fP pairs are to be included in MANIFEST.MF in the jar file. The \f2\-m\fP option and filename \f2manifest\fP are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear.
.TP 3
-
entrypoint
The name of the class that set as the application entry point for stand\-alone applications bundled into executable jar file. The \f2\-e\fP option and entrypoint are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear.
.TP 3
@@ -80,6 +78,8 @@
.TP 3
\-Joption
Option to be passed into the Java runtime environment. (There must be no space between \f2\-J\fP and \f2option\fP).
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -90,11 +90,7 @@
.na
\f2ZLIB\fP @
.fi
-http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a
-.na
-\f2class path\fP @
-.fi
-http://ccc.sfbay/4291383/attachment/classpath.html entry, whether or not it is compressed.
+http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a class path entry, whether or not it is compressed.
.LP
Typical usage to combine files into a jar file is:
.LP
@@ -115,7 +111,7 @@
.na
\f2JAR file specification\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file.
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file.
.LP
If a jar file should include \f2name\ :\ value\fP pairs contained in an existing manifest file, specify that file using the \f2\-m\fP option:
.LP
@@ -191,7 +187,7 @@
.na
\f2JarIndex\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest.
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest.
.LP
.RS 3
@@ -239,6 +235,7 @@
.LP
.LP
+.RS 3
.TP 3
c
Creates a new archive file named \f2jarfile\fP (if \f2f\fP is specified) or to standard output (if \f2f\fP and \f2jarfile\fP are omitted). Add to it the files and directories specified by \f2inputfiles\fP.
@@ -324,6 +321,7 @@
\f2JAR Files\fP @
.fi
http://java.sun.com/docs/books/tutorial/jar/ trail in the Java Tutorial for examples of using the \f4\-m\fP option.
+.LP
.TP 3
e
Sets \f2entrypoint\fP as the application entry point for stand\-alone applications bundled into executable jar file. The use of this option creates or overrides the \f2Main\-Class\fP attribute value in the manifest file. This option can be used during creation of jar file or while updating the jar file. This option specifies the application entry point without editing or creating the manifest file.
@@ -432,11 +430,9 @@
.LP
.TP 3
\-Joption
-Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java application launcher\fP @
-.fi
-http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment.
+Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment.
+.RE
+
.LP
.SH "COMMAND LINE ARGUMENT FILES"
.LP
@@ -444,7 +440,7 @@
.LP
To shorten or simplify the jar command line, you can specify one or more files that themselves contain arguments to the \f2jar\fP command (except \f2\-J\fP options). This enables you to create jar commands of any length, overcoming command line limits imposed by the operating system.
.LP
-An argument file can include options and filenames. The arguments within a file can be space–separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files.
+An argument file can include options and filenames. The arguments within a file can be space\-separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files.
.LP
.LP
When executing \f2jar\fP, pass in the path and name of each argument file with the \f2@\fP leading character. When \f2jar\fP encounters an argument beginning with the character \f2@\fP, it expands the contents of that file into the argument list.
@@ -674,21 +670,21 @@
.na
\f2The Jar Overview\fP @
.fi
-http://ccc.sfbay/guide/jar/jarGuide.html
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
.br
.LP
.na
\f2The Jar File Specification\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
.br
.LP
.na
\f2The JarIndex Spec\fP @
.fi
-http://ccc.sfbay/guide/jar/jar.html#JAR%20Index
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
.br
.LP
@@ -699,9 +695,6 @@
.br
.LP
-.na
-\f2pack200 Reference Page\fP @
-.fi
-http://ccc.sfbay/4291383/share/pack200.html
+pack200(1)
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jarsigner.1 b/jdk/src/solaris/doc/sun/man/man1/jarsigner.1
index 62a2a3f..81a8d1f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jarsigner.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jarsigner.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jarsigner 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH jarsigner 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jarsigner \- JAR Signing and Verification Tool
.LP
.RS 3
@@ -43,11 +42,14 @@
.fl
\fP\f3jarsigner\fP [ options ] jar\-file alias
.fl
-\f3jarsigner\fP \-verify [ options ] jar\-file
+\f3jarsigner\fP \-verify [ options ] jar\-file [alias...]
.fl
.fi
.LP
+.LP
+The jarsigner \-verify command can take zero or more keystore alias names after the jar filename. When specified, jarsigner will check that the certificate used to verify each signed entry in the jar file matches one of the keystore aliases. The aliases are defined in the keystore specified by \-keystore, or the default keystore.
+.LP
.SH "DESCRIPTION"
.LP
@@ -66,7 +68,7 @@
.LP
.LP
-The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named \f3jar\fP enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.)
+The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named jar(1) enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.)
.LP
.LP
A \f2digital signature\fP is a string of bits that is computed from some data (the data being "signed") and the private key of an entity (a person, company, etc.). Like a handwritten signature, a digital signature has many useful characteristics:
@@ -91,21 +93,969 @@
In order for an entity's signature to be generated for a file, the entity must first have a public/private key pair associated with it, and also one or more certificates authenticating its public key. A \f2certificate\fP is a digitally signed statement from one entity, saying that the public key of some other entity has a particular value.
.LP
.LP
-\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The \f3keytool\fP utility is used to create and administer keystores.
+\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The keytool(1) utility is used to create and administer keystores.
.LP
.LP
\f3jarsigner\fP uses an entity's private key to generate a signature. The signed JAR file contains, among other things, a copy of the certificate from the keystore for the public key corresponding to the private key used to sign the file. \f3jarsigner\fP can verify the digital signature of the signed JAR file using the certificate inside it (in its signature block file).
.LP
.LP
-Starting in J2SE 5.0, \f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs were added in J2SE 5.0 to allow applications to obtain the timestamp information.
+\f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs will allow applications to obtain the timestamp information.
.LP
.LP
-At this time, \f3jarsigner\fP can only sign JAR files created by the SDK \f3jar\fP tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.)
+At this time, \f3jarsigner\fP can only sign JAR files created by the SDK jar(1) tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.)
.LP
.LP
The default \f3jarsigner\fP behavior is to \f2sign\fP a JAR (or zip) file. Use the \f2\-verify\fP option to instead have it \f2verify\fP a signed JAR file.
.LP
.SS
+Keystore Aliases
+.LP
+.RS 3
+
+.LP
+.LP
+All keystore entities are accessed via unique \f2aliases\fP.
+.LP
+.LP
+When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file.
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass dukekeypasswd MyJARFile.jar duke
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password.
+.LP
+.RE
+.SS
+Keystore Location
+.LP
+.RS 3
+
+.LP
+.LP
+\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory.
+.LP
+.LP
+Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device.
+.LP
+.RE
+.SS
+Keystore Implementation
+.LP
+.RS 3
+
+.LP
+.LP
+The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore.
+.LP
+.LP
+Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it.
+.LP
+.LP
+There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
+.LP
+.LP
+Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in
+.na
+\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html.
+.LP
+.LP
+Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
+.LP
+.LP
+\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL.
+.LP
+.LP
+For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu.
+.LP
+.LP
+If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
+.LP
+.LP
+Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.
+.LP
+.LP
+The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property):
+.LP
+.nf
+\f3
+.fl
+ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+.fl
+\fP
+.fi
+
+.LP
+.LP
+The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file:
+.LP
+.nf
+\f3
+.fl
+ keystore.type=jks
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks".
+.LP
+.LP
+To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to
+.LP
+.nf
+\f3
+.fl
+ keystore.type=pkcs12
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that if you us the PKCS#11 provider package, you should refer to the
+.na
+\f2KeyTool and JarSigner\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner section of the Java PKCS#11 Reference Guide for details.
+.LP
+.RE
+.SS
+Supported Algorithms
+.LP
+.RS 3
+
+.LP
+.LP
+By default, \f3jarsigner\fP signs a JAR file using either
+.LP
+.RS 3
+.TP 2
+o
+DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or
+.TP 2
+o
+the RSA algorithm with the SHA\-1 digest algorithm.
+.RE
+
+.LP
+.LP
+That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "SHA1withRSA" algorithm.
+.LP
+.LP
+These default signature algorithms can be overridden using the \f2\-sigalg\fP option.
+.LP
+.RE
+.SS
+The Signed JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory:
+.LP
+.RS 3
+.TP 2
+o
+a signature file, with a .SF extension, and
+.TP 2
+o
+a signature block file, with a .DSA extension.
+.RE
+
+.LP
+.LP
+The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as
+.LP
+.nf
+\f3
+.fl
+ \-sigFile MKSIGN
+.fl
+\fP
+.fi
+
+.LP
+.LP
+the files are named "MKSIGN.SF" and "MKSIGN.DSA".
+.LP
+.LP
+If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not allowed in a signature file name, each such character is converted to an underscore ("_") character in forming the file name. Legal characters include letters, digits, underscores, and hyphens.
+.LP
+\f3The Signature (.SF) File\fP
+.LP
+.RS 3
+
+.LP
+.LP
+A signature file (the .SF file) looks similar to the manifest file that is always included in a JAR file when \f3jarsigner\fP is used to sign the file. That is, for each source file included in the JAR file, the .SF file has three lines, just as in the manifest file, listing the following:
+.LP
+.RS 3
+.TP 2
+o
+the file name,
+.TP 2
+o
+the name of the digest algorithm used (SHA), and
+.TP 2
+o
+a SHA digest value.
+.RE
+
+.LP
+.LP
+In the manifest file, the SHA digest value for each source file is the digest (hash) of the binary data in the source file. In the .SF file, on the other hand, the digest value for a given source file is the hash of the three lines in the manifest file for the source file.
+.LP
+.LP
+The signature file also, by default, includes a header containing a hash of the whole manifest file. The presence of the header enables verification optimization, as described in JAR File Verification.
+.LP
+.RE
+\f3The Signature Block (.DSA) File\fP
+.LP
+.RS 3
+
+.LP
+.LP
+The .SF file is signed and the signature is placed in the .DSA file. The .DSA file also contains, encoded inside it, the certificate or certificate chain from the keystore which authenticates the public key corresponding to the private key used for signing.
+.LP
+.RE
+.RE
+.SS
+Signature Timestamp
+.LP
+.RS 3
+
+.LP
+.LP
+\f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options:
+.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
+.RE
+
+.LP
+.LP
+Each of these options is detailed in the Options section below.
+.LP
+.RE
+.SS
+JAR File Verification
+.LP
+.RS 3
+
+.LP
+.LP
+A successful JAR file verification occurs if the signature(s) are valid, and none of the files that were in the JAR file when the signatures were generated have been changed since then. JAR file verification involves the following steps:
+.LP
+.RS 3
+.TP 3
+1.
+Verify the signature of the .SF file itself.
+.LP
+That is, the verification ensures that the signature stored in each signature block (.DSA) file was in fact generated using the private key corresponding to the public key whose certificate (or certificate chain) also appears in the .DSA file. It also ensures that the signature is a valid signature of the corresponding signature (.SF) file, and thus the .SF file has not been tampered with.
+.TP 3
+2.
+Verify the digest listed in each entry in the .SF file with each corresponding section in the manifest.
+.LP
+The .SF file by default includes a header containing a hash of the entire manifest file. When the header is present, then the verification can check to see whether or not the hash in the header indeed matches the hash of the manifest file. If that is the case, verification proceeds to the next step.
+.LP
+If that is not the case, a less optimized verification is required to ensure that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file (see The Signature (.SF) File).
+.LP
+One reason the hash of the manifest file that is stored in the .SF file header may not equal the hash of the current manifest file would be because one or more files were added to the JAR file (using the \f2jar\fP tool) after the signature (and thus the .SF file) was generated. When the \f2jar\fP tool is used to add files, the manifest file is changed (sections are added to it for the new files), but the .SF file is not. A verification is still considered successful if none of the files that were in the JAR file when the signature was generated have been changed since then, which is the case if the hashes in the non\-header sections of the .SF file equal the hashes of the corresponding sections in the manifest file.
+.TP 3
+3.
+Read each file in the JAR file that has an entry in the .SF file. While reading, compute the file's digest, and then compare the result with the digest for this file in the manifest section. The digests should be the same, or verification fails.
+.RE
+
+.LP
+.LP
+If any serious verification failures occur during the verification process, the process is stopped and a security exception is thrown. It is caught and displayed by \f3jarsigner\fP.
+.LP
+.RE
+.SS
+Multiple Signatures for a JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+A JAR file can be signed by multiple people simply by running the \f3jarsigner\fP tool on the file multiple times, specifying the alias for a different person each time, as in:
+.LP
+.nf
+\f3
+.fl
+ jarsigner myBundle.jar susan
+.fl
+ jarsigner myBundle.jar kevin
+.fl
+\fP
+.fi
+
+.LP
+.LP
+When a JAR file is signed multiple times, there are multiple .SF and .DSA files in the resulting JAR file, one pair for each signature. Thus, in the example above, the output JAR file includes files with the following names:
+.LP
+.nf
+\f3
+.fl
+ SUSAN.SF
+.fl
+ SUSAN.DSA
+.fl
+ KEVIN.SF
+.fl
+ KEVIN.DSA
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note: It is also possible for a JAR file to have mixed signatures, some generated by the JDK 1.1 \f3javakey\fP tool and others by \f3jarsigner\fP. That is, \f3jarsigner\fP can be used to sign JAR files already previously signed using \f3javakey\fP.
+.LP
+.RE
+.SH "OPTIONS"
+.LP
+
+.LP
+.LP
+The various \f3jarsigner\fP options are listed and described below. Note:
+.LP
+.RS 3
+.TP 2
+o
+All option names are preceded by a minus sign (\-).
+.TP 2
+o
+The options may be provided in any order.
+.TP 2
+o
+Items in italics (option values) represent the actual values that must be supplied.
+.TP 2
+o
+The \f2\-keystore\fP, \f2\-storepass\fP, \f2\-keypass\fP, \f2\-sigfile\fP, \f2\-sigalg\fP, \f2\-digestalg\fP, and \f2\-signedjar\fP options are only relevant when signing a JAR file, not when verifying a signed JAR file. Similarly, an alias is only specified on the command line when signing a JAR file.
+.RE
+
+.LP
+.RS 3
+.TP 3
+\-keystore url
+Specifies the URL that tells the keystore location. This defaults to the file \f2.keystore\fP in the user's home directory, as determined by the "user.home" system property.
+.LP
+A keystore is required when signing, so you must explicitly specify one if the default keystore does not exist (or you want to use one other than the default).
+.LP
+A keystore is \f2not\fP required when verifying, but if one is specified, or the default exists, and the \f2\-verbose\fP option was also specified, additional information is output regarding whether or not any of the certificates used to verify the JAR file are contained in that keystore.
+.LP
+Note: the \f2\-keystore\fP argument can actually be a file name (and path) specification rather than a URL, in which case it will be treated the same as a "file:" URL. That is,
+.nf
+\f3
+.fl
+ \-keystore \fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+is treated as equivalent to
+.nf
+\f3
+.fl
+ \-keystore file:\fP\f4filePathAndName\fP\f3
+.fl
+\fP
+.fi
+If the Sun PKCS#11 provider has been configured in the \f2java.security\fP security properties file (located in the JRE's \f2$JAVA_HOME/lib/security\fP directory), then keytool and jarsigner can operate on the PKCS#11 token by specifying these options:
+.RS 3
+.TP 2
+o
+\f2\-keystore NONE\fP
+.TP 2
+o
+\f2\-storetype PKCS11\fP
+.RE
+For example, this command lists the contents of the configured PKCS#11 token:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore NONE \-storetype PKCS11 \-list
+.fl
+
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-storetype storetype
+Specifies the type of keystore to be instantiated. The default keystore type is the one that is specified as the value of the "keystore.type" property in the security properties file, which is returned by the static \f2getDefaultType\fP method in \f2java.security.KeyStore\fP.
+.LP
+The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP option. If none has been specified, keytool and jarsigner will prompt for the token PIN. If the token has a protected authentication path (such as a dedicated PIN\-pad or a biometric reader), then the \f2\-protected\fP option must be specified and no password options can be specified.
+.TP 3
+\-storepass password
+Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password.
+.LP
+Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system.
+.TP 3
+\-keypass password
+Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it.
+.LP
+Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
+.TP 3
+\-sigfile file
+Specifies the base file name to be used for the generated .SF and .DSA files. For example, if \f2file\fP is "DUKESIGN", the generated .SF and .DSA files will be named "DUKESIGN.SF" and "DUKESIGN.DSA", and will be placed in the "META\-INF" directory of the signed JAR file.
+.LP
+The characters in \f2file\fP must come from the set "a\-zA\-Z0\-9_\-". That is, only letters, numbers, underscore, and hyphen characters are allowed. Note: All lowercase characters will be converted to uppercase for the .SF and .DSA file names.
+.LP
+If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not legal in a signature file name, each such character is converted to an underscore ("_") character in forming the file name.
+.TP 3
+\-sigalg algorithm
+.RS 3
+
+.LP
+Specifies the name of the signature algorithm to use to sign the JAR file.
+.LP
+See
+.na
+\f2Appendix A\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or SHA1withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
+.LP
+.RE
+.TP 3
+\-digestalg algorithm
+.RS 3
+Specifies the name of the message digest algorithm to use when digesting the entries of a jar file.
+.LP
+See
+.na
+\f2Appendix A\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
+.LP
+.RE
+.TP 3
+\-signedjar file
+Specifies the name to be used for the signed JAR file.
+.LP
+If no name is specified on the command line, the name used is the same as the input JAR file name (the name of the JAR file to be signed); in other words, that file is overwritten with the signed JAR file.
+.TP 3
+\-verify
+If this appears on the command line, the specified JAR file will be verified, not signed. If the verification is successful, "jar verified" will be displayed. If you try to verify an unsigned JAR file, or a JAR file signed with an unsupported algorithm (e.g., RSA when you don't have an RSA provider installed), the following is displayed: "jar is unsigned. (signatures missing or not parsable)"
+.LP
+It is possible to verify JAR files signed using either \f3jarsigner\fP or the JDK 1.1 \f3javakey\fP tool, or both.
+.LP
+For further information on verification, see JAR File Verification.
+.TP 3
+\-certs
+If this appears on the command line, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file. This information includes
+.RS 3
+.TP 2
+o
+the name of the type of certificate (stored in the .DSA file) that certifies the signer's public key
+.TP 2
+o
+if the certificate is an X.509 certificate (more specifically, an instance of \f2java.security.cert.X509Certificate\fP): the distinguished name of the signer
+.RE
+.LP
+The keystore is also examined. If no keystore value is specified on the command line, the default keystore file (if any) will be checked. If the public key certificate for a signer matches an entry in the keystore, then the following information will also be displayed:
+.RS 3
+.TP 2
+o
+in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses.
+.RE
+.TP 3
+\-certchain file
+Specifies the certificate chain to be used, if the certificate chain associated with the private key of the keystore entry, addressed by the alias specified on the command line, is not complete. This may happen if the keystore is located on a hardware token where there is not enough capacity to hold a complete certificate chain. The file can be a sequence of X.509 certificates concatenated together, or a single PKCS#7 formatted data block, either in binary encoding format or in printable encoding format (also known as BASE64 encoding) as defined by the Internet RFC 1421 standard.
+.TP 3
+\-verbose
+If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification.
+.TP 3
+\-internalsf
+In the past, the .DSA (signature block) file generated when a JAR file was signed used to include a complete encoded copy of the .SF file (signature file) also generated. This behavior has been changed. To reduce the overall size of the output JAR file, the .DSA file by default doesn't contain a copy of the .SF file anymore. But if \f2\-internalsf\fP appears on the command line, the old behavior is utilized. \f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
+.TP 3
+\-sectionsonly
+If this appears on the command line, the .SF file (signature file) generated when a JAR file is signed does \f2not\fP include a header containing a hash of the whole manifest file. It just contains information and hashes related to each individual source file included in the JAR file, as described in The Signature (.SF) File .
+.LP
+By default, this header is added, as an optimization. When the header is present, then whenever the JAR file is verified, the verification can first check to see whether or not the hash in the header indeed matches the hash of the whole manifest file. If so, verification proceeds to the next step. If not, it is necessary to do a less optimized verification that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file.
+.LP
+For further information, see JAR File Verification.
+.LP
+\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
+.TP 3
+\-protected
+Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
+.RE
+.RS 3
+.TP 3
+\-provider provider\-class\-name
+Used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file, \f2java.security\fP.
+.LP
+Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, keytool and jarsigner will install the provider dynamically (where \f2ConfigFilePath\fP is the path to the token configuration file). Here's an example of a command to list a PKCS#11 keystore when the Sun PKCS#11 provider has not been configured in the security properties file.
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+ \-providerClass sun.security.pkcs11.SunPKCS11 \\
+.fl
+ \-providerArg /foo/bar/token.config \\
+.fl
+ \-list
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-providerName providerName
+If more than one provider has been configured in the \f2java.security\fP security properties file, you can use the \f2\-providerName\fP option to target a specific provider instance. The argument to this option is the name of the provider.
+.LP
+For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\fP\f2TokenName\fP, where \f2TokenName\fP is the name suffix that the provider instance has been configured with, as detailed in the
+.na
+\f2configuration attributes table\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP:
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+ \-providerName SunPKCS11\-SmartCard \\
+.fl
+ \-list
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-Jjavaoption
+Passes through the specified \f2javaoption\fP string directly to the Java interpreter. (\f3jarsigner\fP is actually a "wrapper" around the interpreter.) This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
+.LP
+.TP 3
+\-tsa url
+If \f2"\-tsa http://example.tsa.url"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The URL, \f2http://example.tsa.url\fP, identifies the location of the Time Stamping Authority (TSA). It overrides any URL found via the \f2\-tsacert\fP option. The \f2\-tsa\fP option does not require the TSA's public key certificate to be present in the keystore.
+.LP
+To generate the timestamp, \f2jarsigner\fP communicates with the TSA using the Time\-Stamp Protocol (TSP) defined in
+.na
+\f2RFC 3161\fP @
+.fi
+http://www.ietf.org/rfc/rfc3161.txt. If successful, the timestamp token returned by the TSA is stored along with the signature in the signature block file.
+.LP
+.TP 3
+\-tsacert alias
+If \f2"\-tsacert alias"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The \f2alias\fP identifies the TSA's public key certificate in the keystore that is currently in effect. The entry's certificate is examined for a Subject Information Access extension that contains a URL identifying the location of the TSA.
+.LP
+The TSA's public key certificate must be present in the keystore when using \f2\-tsacert\fP.
+.LP
+.TP 3
+\-altsigner class
+Specifies that an alternative signing mechanism be used. The fully\-qualified class name identifies a class file that extends the \f2com.sun.jarsigner.ContentSigner abstract class\fP. The path to this class file is defined by the \f2\-altsignerpath\fP option. If the \f2\-altsigner\fP option is used, \f2jarsigner\fP uses the signing mechanism provided by the specified class. Otherwise, \f2jarsigner\fP uses its default signing mechanism.
+.LP
+For example, to use the signing mechanism provided by a class named \f2com.sun.sun.jarsigner.AuthSigner\fP, use the \f2jarsigner\fP option \f2"\-altsigner com.sun.jarsigner.AuthSigner"\fP
+.LP
+.TP 3
+\-altsignerpath classpathlist
+Specifies the path to the class file (the class file name is specified with the \f2\-altsigner\fP option described above) and any JAR files it depends on. If the class file is in a JAR file, then this specifies the path to that JAR file, as shown in the example below.
+.LP
+An absolute path or a path relative to the current directory may be specified. If \f2classpathlist\fP contains multiple paths or JAR files, they should be separated with a colon (\f2:\fP) on Solaris and a semi\-colon (\f2;\fP) on Windows. This option is not necessary if the class is already in the search path.
+.LP
+Example of specifying the path to a jar file that contains the class file:
+.RS 3
+
+.LP
+.LP
+\f2\-altsignerpath /home/user/lib/authsigner.jar\fP
+.LP
+.RE
+.LP
+Note that the JAR file name is included.
+.LP
+Example of specifying the path to the jar file that contains the class file:
+.RS 3
+.LP
+\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
+.LP
+.RE
+.LP
+Note that the JAR file name is omitted.
+.TP 3
+\-strict
+During the signing or verifying process, some warning messages may be shown. If this option appears on the command line, the exit code of the tool will reflect the warning messages that are found. Read the "WARNINGS" section for details.
+.TP 3
+\-verbose:sub\-options
+For the verifying process, the \f2\-verbose\fP option takes sub\-options to determine how much information will be shown. If \f2\-certs\fP is also specified, the default mode (or sub\-option all) displays each entry as it is being processed and following that, the certificate information for each signer of the JAR file. If \f2\-certs\fP and the \f2\-verbose:grouped\fP sub\-option are specified, entries with the same signer info are grouped and displayed together along with their certificate information. If \f2\-certs\fP and the \f2\-verbose:summary\fP sub\-option are specified, then entries with the same signer info are grouped and displayed together along with their certificate information but details about each entry are summarized and displayed as "one entry (and more)". See the examples section for more information.
+.RE
+.SH "EXAMPLES"
+.LP
+
+.LP
+.SS
+Signing a JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar":
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore \-storepass myspass
+.fl
+ \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP.
+.LP
+.LP
+If you want to be prompted for the store password and the private key password, you could shorten the above command to
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-keystore /working/mystore
+.fl
+ \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in:
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-signedjar sbundle.jar bundle.jar jane
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option:
+.LP
+.nf
+\f3
+.fl
+ jarsigner bundle.jar jane
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.SS
+Verifying a Signed JAR File
+.LP
+.RS 3
+
+.LP
+.LP
+To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following:
+.LP
+.nf
+\f3
+.fl
+ jarsigner \-verify sbundle.jar
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the verification is successful,
+.LP
+.nf
+\f3
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+is displayed. Otherwise, an error message appears.
+.LP
+.LP
+You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output:
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.SS
+Verification with Certificate Information
+.LP
+.LP
+If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example,
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get
+.LP
+.nf
+\f3
+.fl
+ PGP, (bob)
+.fl
+\fP
+.fi
+
+.LP
+.SS
+Verification of a JAR File that Includes Identity Database Signers
+.LP
+.LP
+If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear.
+.LP
+.LP
+When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example:
+.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 = signature was verified
+.fl
+ m = entry is listed in manifest
+.fl
+ k = at least one certificate was found in keystore
+.fl
+ i = at least one certificate was found in identity scope
+.fl
+
+.fl
+ jar verified.
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias.
+.LP
+.RE
+.SH "WARNINGS"
+.LP
+
+.LP
+During the signing/verifying process, jarsigner may display various warnings. These warning codes are defined as follows:
+.nf
+\f3
+.fl
+ hasExpiringCert 2
+.fl
+ This jar contains entries whose signer certificate will expire within six months
+.fl
+
+.fl
+ hasExpiredCert 4
+.fl
+ This jar contains entries whose signer certificate has expired.
+.fl
+
+.fl
+ notYetValidCert 4
+.fl
+ This jar contains entries whose signer certificate is not yet valid.
+.fl
+
+.fl
+ chainNotValidated 4
+.fl
+ This jar contains entries whose certificate chain cannot be correctly validated.
+.fl
+
+.fl
+ badKeyUsage 8
+.fl
+ This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.
+.fl
+
+.fl
+ badExtendedKeyUsage 8
+.fl
+ This jar contains entries whose signer certificate's ExtendedKeyUsage extension
+.fl
+ doesn't allow code signing.
+.fl
+
+.fl
+ badNetscapeCertType 8
+.fl
+ This jar contains entries whose signer certificate's NetscapeCertType extension
+.fl
+ doesn't allow code signing.
+.fl
+
+.fl
+ hasUnsignedEntry 16
+.fl
+ This jar contains unsigned entries which have not been integrity\-checked.
+.fl
+
+.fl
+ notSignedByAlias 32
+.fl
+ This jar contains signed entries which are not signed by the specified alias(es)
+.fl
+
+.fl
+ aliasNotInStore 32
+.fl
+ This jar contains signed entries that are not signed by alias in this keystore
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+When the \f2\-strict\fP option is provided, an OR\-value of warnings detected will be returned as the exit code of the tool. For example, if a certificate used to sign an entry is expired and has a keyUsage extension that does not allow it to sign a file, an exit code 12 (=4+8) will be returned.
+.LP
+.LP
+\f3Note\fP: Exit codes are reused because only 0\-255 is legal for Unix. In any case, if the signing/verifying process fails, the exit code
+.LP
+.nf
+\f3
+.fl
+failure 1
+.fl
+\fP
+.fi
+
+.LP
+will be returned.
+.SS
Compatibility with JDK 1.1
.LP
.RS 3
@@ -441,7 +1391,7 @@
.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 161 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1129 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -640,854 +1590,6 @@
.RE
.LP
-.SS
-Keystore Aliases
-.LP
-.RS 3
-
-.LP
-.LP
-All keystore entities are accessed via unique \f2aliases\fP.
-.LP
-.LP
-When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file.
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore \-storepass myspass
-.fl
- \-keypass dukekeypasswd MyJARFile.jar duke
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password.
-.LP
-.RE
-.SS
-Keystore Location
-.LP
-.RS 3
-
-.LP
-.LP
-\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory.
-.LP
-.LP
-Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device.
-.LP
-.RE
-.SS
-Keystore Implementation
-.LP
-.RS 3
-
-.LP
-.LP
-The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore.
-.LP
-.LP
-Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it.
-.LP
-.LP
-There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
-.LP
-.LP
-Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in
-.na
-\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html.
-.LP
-.LP
-Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
-.LP
-.LP
-\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL.
-.LP
-.LP
-For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu.
-.LP
-.LP
-If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
-.LP
-.LP
-Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.
-.LP
-.LP
-The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property):
-.LP
-.nf
-\f3
-.fl
- KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file:
-.LP
-.nf
-\f3
-.fl
- keystore.type=jks
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks".
-.LP
-.LP
-To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to
-.LP
-.nf
-\f3
-.fl
- keystore.type=pkcs12
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that if you us the PKCS#11 provider package, you should refer to the
-.na
-\f2KeyTool and JarSigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner section of the Java PKCS#11 Reference Guide for details.
-.LP
-.RE
-.RE
-.SS
-Supported Algorithms
-.LP
-.RS 3
-
-.LP
-.LP
-By default, \f3jarsigner\fP signs a JAR file using either
-.LP
-.RS 3
-.TP 2
-o
-DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or
-.TP 2
-o
-the RSA algorithm with the MD5 digest algorithm.
-.RE
-
-.LP
-.LP
-That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "MD5withRSA" algorithm.
-.LP
-.LP
-These default signature algorithms can be overridden using the \f2\-sigalg\fP option.
-.LP
-.RE
-.SS
-The Signed JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory:
-.LP
-.RS 3
-.TP 2
-o
-a signature file, with a .SF extension, and
-.TP 2
-o
-a signature block file, with a .DSA extension.
-.RE
-
-.LP
-.LP
-The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as
-.LP
-.nf
-\f3
-.fl
- \-sigFile MKSIGN
-.fl
-\fP
-.fi
-
-.LP
-.LP
-the files are named "MKSIGN.SF" and "MKSIGN.DSA".
-.LP
-.LP
-If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not allowed in a signature file name, each such character is converted to an underscore ("_") character in forming the file name. Legal characters include letters, digits, underscores, and hyphens.
-.LP
-\f3The Signature (.SF) File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-A signature file (the .SF file) looks similar to the manifest file that is always included in a JAR file when \f3jarsigner\fP is used to sign the file. That is, for each source file included in the JAR file, the .SF file has three lines, just as in the manifest file, listing the following:
-.LP
-.RS 3
-.TP 2
-o
-the file name,
-.TP 2
-o
-the name of the digest algorithm used (SHA), and
-.TP 2
-o
-a SHA digest value.
-.RE
-
-.LP
-.LP
-In the manifest file, the SHA digest value for each source file is the digest (hash) of the binary data in the source file. In the .SF file, on the other hand, the digest value for a given source file is the hash of the three lines in the manifest file for the source file.
-.LP
-.LP
-The signature file also, by default, includes a header containing a hash of the whole manifest file. The presence of the header enables verification optimization, as described in JAR File Verification.
-.LP
-.RE
-\f3The Signature Block (.DSA) File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-The .SF file is signed and the signature is placed in the .DSA file. The .DSA file also contains, encoded inside it, the certificate or certificate chain from the keystore which authenticates the public key corresponding to the private key used for signing.
-.LP
-.RE
-.RE
-.SS
-Signature Timestamp
-.LP
-.RS 3
-
-.LP
-.LP
-As of the J2SE 5.0 release, the \f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options:
-.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
-.RE
-
-.LP
-.LP
-Each of these options is detailed in the Options section below.
-.LP
-.RE
-.SS
-JAR File Verification
-.LP
-.RS 3
-
-.LP
-.LP
-A successful JAR file verification occurs if the signature(s) are valid, and none of the files that were in the JAR file when the signatures were generated have been changed since then. JAR file verification involves the following steps:
-.LP
-.RS 3
-.TP 3
-1.
-Verify the signature of the .SF file itself.
-.LP
-That is, the verification ensures that the signature stored in each signature block (.DSA) file was in fact generated using the private key corresponding to the public key whose certificate (or certificate chain) also appears in the .DSA file. It also ensures that the signature is a valid signature of the corresponding signature (.SF) file, and thus the .SF file has not been tampered with.
-.TP 3
-2.
-Verify the digest listed in each entry in the .SF file with each corresponding section in the manifest.
-.LP
-The .SF file by default includes a header containing a hash of the entire manifest file. When the header is present, then the verification can check to see whether or not the hash in the header indeed matches the hash of the manifest file. If that is the case, verification proceeds to the next step.
-.LP
-If that is not the case, a less optimized verification is required to ensure that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file (see The Signature (.SF) File).
-.LP
-One reason the hash of the manifest file that is stored in the .SF file header may not equal the hash of the current manifest file would be because one or more files were added to the JAR file (using the \f2jar\fP tool) after the signature (and thus the .SF file) was generated. When the \f2jar\fP tool is used to add files, the manifest file is changed (sections are added to it for the new files), but the .SF file is not. A verification is still considered successful if none of the files that were in the JAR file when the signature was generated have been changed since then, which is the case if the hashes in the non\-header sections of the .SF file equal the hashes of the corresponding sections in the manifest file.
-.TP 3
-3.
-Read each file in the JAR file that has an entry in the .SF file. While reading, compute the file's digest, and then compare the result with the digest for this file in the manifest section. The digests should be the same, or verification fails.
-.RE
-
-.LP
-.LP
-If any serious verification failures occur during the verification process, the process is stopped and a security exception is thrown. It is caught and displayed by \f3jarsigner\fP.
-.LP
-.RE
-.SS
-Multiple Signatures for a JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-A JAR file can be signed by multiple people simply by running the \f3jarsigner\fP tool on the file multiple times, specifying the alias for a different person each time, as in:
-.LP
-.nf
-\f3
-.fl
- jarsigner myBundle.jar susan
-.fl
- jarsigner myBundle.jar kevin
-.fl
-\fP
-.fi
-
-.LP
-.LP
-When a JAR file is signed multiple times, there are multiple .SF and .DSA files in the resulting JAR file, one pair for each signature. Thus, in the example above, the output JAR file includes files with the following names:
-.LP
-.nf
-\f3
-.fl
- SUSAN.SF
-.fl
- SUSAN.DSA
-.fl
- KEVIN.SF
-.fl
- KEVIN.DSA
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note: It is also possible for a JAR file to have mixed signatures, some generated by the JDK 1.1 \f3javakey\fP tool and others by \f3jarsigner\fP. That is, \f3jarsigner\fP can be used to sign JAR files already previously signed using \f3javakey\fP.
-.LP
-.RE
-.SH "OPTIONS"
-.LP
-
-.LP
-.LP
-The various \f3jarsigner\fP options are listed and described below. Note:
-.LP
-.RS 3
-.TP 2
-o
-All option names are preceded by a minus sign (\-).
-.TP 2
-o
-The options may be provided in any order.
-.TP 2
-o
-Items in italics (option values) represent the actual values that must be supplied.
-.TP 2
-o
-The \f2\-keystore\fP, \f2\-storepass\fP, \f2\-keypass\fP, \f2\-sigfile\fP, \f2\-sigalg\fP, \f2\-digestalg\fP, and \f2\-signedjar\fP options are only relevant when signing a JAR file, not when verifying a signed JAR file. Similarly, an alias is only specified on the command line when signing a JAR file.
-.RE
-
-.LP
-.RS 3
-.TP 3
-\-keystore url
-Specifies the URL that tells the keystore location. This defaults to the file \f2.keystore\fP in the user's home directory, as determined by the "user.home" system property.
-.LP
-A keystore is required when signing, so you must explicitly specify one if the default keystore does not exist (or you want to use one other than the default).
-.LP
-A keystore is \f2not\fP required when verifying, but if one is specified, or the default exists, and the \f2\-verbose\fP option was also specified, additional information is output regarding whether or not any of the certificates used to verify the JAR file are contained in that keystore.
-.LP
-Note: the \f2\-keystore\fP argument can actually be a file name (and path) specification rather than a URL, in which case it will be treated the same as a "file:" URL. That is,
-.nf
-\f3
-.fl
- \-keystore \fP\f4filePathAndName\fP\f3
-.fl
-\fP
-.fi
-is treated as equivalent to
-.nf
-\f3
-.fl
- \-keystore file:\fP\f4filePathAndName\fP\f3
-.fl
-\fP
-.fi
-If the Sun PKCS#11 provider has been configured in the \f2java.security\fP security properties file (located in the JRE's \f2$JAVA_HOME/lib/security\fP directory), then keytool and jarsigner can operate on the PKCS#11 token by specifying these options:
-.RS 3
-.TP 2
-o
-\f2\-keystore NONE\fP
-.TP 2
-o
-\f2\-storetype PKCS11\fP
-.RE
-For example, this command lists the contents of the configured PKCS#11 token:
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore NONE \-storetype PKCS11 \-list
-.fl
-
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-storetype storetype
-Specifies the type of keystore to be instantiated. The default keystore type is the one that is specified as the value of the "keystore.type" property in the security properties file, which is returned by the static \f2getDefaultType\fP method in \f2java.security.KeyStore\fP.
-.LP
-The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP option. If none has been specified, keytool and jarsigner will prompt for the token PIN. If the token has a protected authentication path (such as a dedicated PIN\-pad or a biometric reader), then the \f2\-protected\fP option must be specified and no password options can be specified.
-.TP 3
-\-storepass password
-Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password.
-.LP
-Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
-.TP 3
-\-keypass password
-Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it.
-.LP
-Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone.
-.TP 3
-\-sigfile file
-Specifies the base file name to be used for the generated .SF and .DSA files. For example, if \f2file\fP is "DUKESIGN", the generated .SF and .DSA files will be named "DUKESIGN.SF" and "DUKESIGN.DSA", and will be placed in the "META\-INF" directory of the signed JAR file.
-.LP
-The characters in \f2file\fP must come from the set "a\-zA\-Z0\-9_\-". That is, only letters, numbers, underscore, and hyphen characters are allowed. Note: All lowercase characters will be converted to uppercase for the .SF and .DSA file names.
-.LP
-If no \f2\-sigfile\fP option appears on the command line, the base file name for the .SF and .DSA files will be the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, the full alias name is used. If the alias name contains any characters that are not legal in a signature file name, each such character is converted to an underscore ("_") character in forming the file name.
-.TP 3
-\-sigalg algorithm
-.RS 3
-
-.LP
-Specifies the name of the signature algorithm to use to sign the JAR file.
-.LP
-See
-.na
-\f2Appendix A\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or MD5withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
-.LP
-.RE
-.TP 3
-\-digestalg algorithm
-.RS 3
-Specifies the name of the message digest algorithm to use when digesting the entries of a jar file.
-.LP
-See
-.na
-\f2Appendix A\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed.
-.LP
-.RE
-.TP 3
-\-signedjar file
-Specifies the name to be used for the signed JAR file.
-.LP
-If no name is specified on the command line, the name used is the same as the input JAR file name (the name of the JAR file to be signed); in other words, that file is overwritten with the signed JAR file.
-.TP 3
-\-verify
-If this appears on the command line, the specified JAR file will be verified, not signed. If the verification is successful, "jar verified" will be displayed. If you try to verify an unsigned JAR file, or a JAR file signed with an unsupported algorithm (e.g., RSA when you don't have an RSA provider installed), the following is displayed: "jar is unsigned. (signatures missing or not parsable)"
-.LP
-It is possible to verify JAR files signed using either \f3jarsigner\fP or the JDK 1.1 \f3javakey\fP tool, or both.
-.LP
-For further information on verification, see JAR File Verification.
-.TP 3
-\-certs
-If this appears on the command line, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file. This information includes
-.RS 3
-.TP 2
-o
-the name of the type of certificate (stored in the .DSA file) that certifies the signer's public key
-.TP 2
-o
-if the certificate is an X.509 certificate (more specifically, an instance of \f2java.security.cert.X509Certificate\fP): the distinguished name of the signer
-.RE
-.LP
-The keystore is also examined. If no keystore value is specified on the command line, the default keystore file (if any) will be checked. If the public key certificate for a signer matches an entry in the keystore, then the following information will also be displayed:
-.RS 3
-.TP 2
-o
-in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses.
-.RE
-.TP 3
-\-verbose
-If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification.
-.TP 3
-\-internalsf
-In the past, the .DSA (signature block) file generated when a JAR file was signed used to include a complete encoded copy of the .SF file (signature file) also generated. This behavior has been changed. To reduce the overall size of the output JAR file, the .DSA file by default doesn't contain a copy of the .SF file anymore. But if \f2\-internalsf\fP appears on the command line, the old behavior is utilized. \f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
-.TP 3
-\-sectionsonly
-If this appears on the command line, the .SF file (signature file) generated when a JAR file is signed does \f2not\fP include a header containing a hash of the whole manifest file. It just contains information and hashes related to each individual source file included in the JAR file, as described in The Signature (.SF) File .
-.LP
-By default, this header is added, as an optimization. When the header is present, then whenever the JAR file is verified, the verification can first check to see whether or not the hash in the header indeed matches the hash of the whole manifest file. If so, verification proceeds to the next step. If not, it is necessary to do a less optimized verification that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file.
-.LP
-For further information, see JAR File Verification.
-.LP
-\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP
-.TP 3
-\-protected
-Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
-.RE
-.RS 3
-.TP 3
-\-provider provider\-class\-name
-Used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file, \f2java.security\fP.
-.LP
-Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, keytool and jarsigner will install the provider dynamically (where \f2ConfigFilePath\fP is the path to the token configuration file). Here's an example of a command to list a PKCS#11 keystore when the Sun PKCS#11 provider has not been configured in the security properties file.
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
-.fl
- \-providerClass sun.security.pkcs11.SunPKCS11 \\
-.fl
- \-providerArg /foo/bar/token.config \\
-.fl
- \-list
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-providerName providerName
-If more than one provider has been configured in the \f2java.security\fP security properties file, you can use the \f2\-providerName\fP option to target a specific provider instance. The argument to this option is the name of the provider.
-.LP
-For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\fP\f2TokenName\fP, where \f2TokenName\fP is the name suffix that the provider instance has been configured with, as detailed in the
-.na
-\f2configuration attributes table\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP:
-.RS 3
-
-.LP
-.nf
-\f3
-.fl
-jarsigner \-keystore NONE \-storetype PKCS11 \\
-.fl
- \-providerName SunPKCS11\-SmartCard \\
-.fl
- \-list
-.fl
-\fP
-.fi
-.RE
-.TP 3
-\-Jjavaoption
-Passes through the specified \f2javaoption\fP string directly to the Java interpreter. (\f3jarsigner\fP is actually a "wrapper" around the interpreter.) This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
-.LP
-.TP 3
-\-tsa url
-If \f2"\-tsa http://example.tsa.url"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The URL, \f2http://example.tsa.url\fP, identifies the location of the Time Stamping Authority (TSA). It overrides any URL found via the \f2\-tsacert\fP option. The \f2\-tsa\fP option does not require the TSA's public key certificate to be present in the keystore.
-.LP
-To generate the timestamp, \f2jarsigner\fP communicates with the TSA using the Time\-Stamp Protocol (TSP) defined in
-.na
-\f2RFC 3161\fP @
-.fi
-http://www.ietf.org/rfc/rfc3161.txt. If successful, the timestamp token returned by the TSA is stored along with the signature in the signature block file.
-.LP
-.TP 3
-\-tsacert alias
-If \f2"\-tsacert alias"\fP appears on the command line when signing a JAR file then a timestamp is generated for the signature. The \f2alias\fP identifies the TSA's public key certificate in the keystore that is currently in effect. The entry's certificate is examined for a Subject Information Access extension that contains a URL identifying the location of the TSA.
-.LP
-The TSA's public key certificate must be present in the keystore when using \f2\-tsacert\fP.
-.LP
-.TP 3
-\-altsigner class
-Specifies that an alternative signing mechanism be used. The fully\-qualified class name identifies a class file that extends the \f2com.sun.jarsigner.ContentSigner abstract class\fP. The path to this class file is defined by the \f2\-altsignerpath\fP option. If the \f2\-altsigner\fP option is used, \f2jarsigner\fP uses the signing mechanism provided by the specified class. Otherwise, \f2jarsigner\fP uses its default signing mechanism.
-.LP
-For example, to use the signing mechanism provided by a class named \f2com.sun.sun.jarsigner.AuthSigner\fP, use the \f2jarsigner\fP option \f2"\-altsigner com.sun.jarsigner.AuthSigner"\fP
-.LP
-.TP 3
-\-altsignerpath classpathlist
-Specifies the path to the class file (the class file name is specified with the \f2\-altsigner\fP option described above) and any JAR files it depends on. If the class file is in a JAR file, then this specifies the path to that JAR file, as shown in the example below.
-.LP
-An absolute path or a path relative to the current directory may be specified. If \f2classpathlist\fP contains multiple paths or JAR files, they should be separated with a colon (\f2:\fP) on Solaris and a semi\-colon (\f2;\fP) on Windows. This option is not necessary if the class is already in the search path.
-.LP
-Example of specifying the path to a jar file that contains the class file:
-.RS 3
-
-.LP
-.LP
-\f2\-altsignerpath /home/user/lib/authsigner.jar\fP
-.LP
-.RE
-.LP
-Note that the JAR file name is included.
-.LP
-Example of specifying the path to the jar file that contains the class file:
-.RS 3
-.LP
-\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
-.LP
-.RE
-.LP
-Note that the JAR file name is omitted.
-.RE
-.SH "EXAMPLES"
-.LP
-
-.LP
-.SS
-Signing a JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar":
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore \-storepass myspass
-.fl
- \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP.
-.LP
-.LP
-If you want to be prompted for the store password and the private key password, you could shorten the above command to
-.LP
-.nf
-\f3
-.fl
- jarsigner \-keystore /working/mystore
-.fl
- \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in:
-.LP
-.nf
-\f3
-.fl
- jarsigner \-signedjar sbundle.jar bundle.jar jane
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option:
-.LP
-.nf
-\f3
-.fl
- jarsigner bundle.jar jane
-.fl
-\fP
-.fi
-.RE
-
-.LP
-.SS
-Verifying a Signed JAR File
-.LP
-.RS 3
-
-.LP
-.LP
-To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following:
-.LP
-.nf
-\f3
-.fl
- jarsigner \-verify sbundle.jar
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the verification is successful,
-.LP
-.nf
-\f3
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-is displayed. Otherwise, an error message appears.
-.LP
-.LP
-You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output:
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.SS
-Verification with Certificate Information
-.LP
-.LP
-If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example,
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get
-.LP
-.nf
-\f3
-.fl
- PGP, (bob)
-.fl
-\fP
-.fi
-
-.LP
-.SS
-Verification of a JAR File that Includes Identity Database Signers
-.LP
-.LP
-If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear.
-.LP
-.LP
-When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example:
-.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 = signature was verified
-.fl
- m = entry is listed in manifest
-.fl
- k = at least one certificate was found in keystore
-.fl
- i = at least one certificate was found in identity scope
-.fl
-
-.fl
- jar verified.
-.fl
-\fP
-.fi
-
-.LP
-.LP
-Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias.
-.LP
-.RE
.SH "SEE ALSO"
.LP
@@ -1495,24 +1597,25 @@
.RS 3
.TP 2
o
-jar tool documentation
+jar(1) tool documentation
.TP 2
o
-keytool tool documentation
+keytool(1) tool documentation
.TP 2
o
the
.na
\f4Security\fP @
.fi
-http://java.sun.com/docs/books/tutorial/security1.2/index.html trail of the
+http://java.sun.com/docs/books/tutorial/security/index.html trail of the
.na
\f4Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of the \f3jarsigner\fP tool
+http://java.sun.com/docs/books/tutorial/index.html for examples of the use of the \f3jarsigner\fP tool
.RE
.LP
.LP
+.RE
diff --git a/jdk/src/solaris/doc/sun/man/man1/java.1 b/jdk/src/solaris/doc/sun/man/man1/java.1
index 76907cf..ffd6820 100644
--- a/jdk/src/solaris/doc/sun/man/man1/java.1
+++ b/jdk/src/solaris/doc/sun/man/man1/java.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH java 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH java 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
java \- the Java application launcher
.LP
.SH "SYNOPSIS"
@@ -104,13 +103,21 @@
.LP
Select the Java HotSpot Client VM. A 64\-bit capable jdk currently ignores this option and instead uses the Java Hotspot Server VM.
.LP
-For default VM selection, see Server\-Class Machine Detection
+For default VM selection, see
+.na
+\f2Server\-Class Machine Detection\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
.TP 3
\-server
.LP
Select the Java HotSpot Server VM. On a 64\-bit capable jdk only the Java Hotspot Server VM is supported so the \-server option is implicit.
.LP
-For default VM selection, see Server\-Class Machine Detection
+For default VM selection, see
+.na
+\f2Server\-Class Machine Detection\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
.TP 3
\-agentlib:libname[=options]
Load native agent library \f2libname\fP, e.g.
@@ -121,10 +128,18 @@
.LP
\-agentlib:hprof=help
.LP
-For more information, see JVMTI Agent Command Line Options.
+For more information, see
+.na
+\f2JVMTI Agent Command Line Options\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting.
.TP 3
\-agentpath:pathname[=options]
-Load a native agent library by full pathname. For more information, see JVMTI Agent Command Line Options.
+Load a native agent library by full pathname. For more information, see
+.na
+\f2JVMTI Agent Command Line Options\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting.
.TP 3
\-classpath classpath
.TP 3
@@ -138,7 +153,11 @@
.br
For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
.LP
-For more information on class paths, see Setting the Class Path.
+For more information on class paths, see
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath.
.TP 3
\-Dproperty=value
Set a system property value.
@@ -200,7 +219,7 @@
.LP
.TP 3
\-jar
-Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the
+Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the jar(1) and the Jar trail of the
.na
\f2Java Tutorial\fP @
.fi
@@ -208,10 +227,18 @@
.LP
When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.
.LP
-Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to Java Archive (JAR) Files.
+Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to
+.na
+\f2Java Archive (JAR) Files\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html.
.TP 3
\-javaagent:jarpath[=options]
-Load a Java programming language agent, see java.lang.instrument.
+Load a Java programming language agent, see
+.na
+\f2java.lang.instrument\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html.
.TP 3
\-verbose
.TP 3
@@ -234,11 +261,11 @@
.nf
\f3
.fl
-\-version:"1.5.0_04 1.5*&1.5.1_02+"
+\-version:"1.6.0_13 1.6*&1.6.0_10+"
.fl
\fP
.fi
-The meaning of the above is that the class or jar file requires either version 1.5.0_02, or a version with 1.5 as a version\-id prefix and that is not less than 1.5.1_02. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56).
+The meaning of the above is that the class or jar file requires either version 1.6.0_13, or a version with 1.6 as a version\-id prefix and that is not less than 1.6.0_10.. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56).
.LP
For jar files, the usual preference is to specify version requirements in the jar file manifest rather than on the command line.
.LP
@@ -344,7 +371,7 @@
On Solaris 7 and Solaris 8 SPARC platforms, the upper limit for this value is approximately 4000m minus overhead amounts. On Solaris 2.6 and x86 platforms, the upper limit is approximately 2000m minus overhead amounts. On Linux platforms, the upper limit is approximately 2000m minus overhead amounts.
.TP 3
\-Xprof
-Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be be used in production systems.
+Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be used in production systems.
.LP
.TP 3
\-Xrs
@@ -392,19 +419,19 @@
.nf
\f3
.fl
-"1.5.0_03+"
+"1.6.0_10+"
.fl
\fP
.fi
.LP
-Would utilize any version greater than 1.5.0_03. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified.
+Would utilize any version greater than 1.6.0_10. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified.
.TP 3
3.
A version greater than an arbitrarily precise version\-id, bounded by the upper bound of that release family. For example:
.nf
\f3
.fl
-"1.5.0_03+&1.5*"
+"1.6.0_10+&1.6*"
.fl
\fP
.fi
@@ -414,11 +441,11 @@
.nf
\f3
.fl
-"1.4.2_05+&1.4* 1.5+"
+"1.6.0_10+&1.6* 1.7+"
.fl
\fP
.fi
-Similar to item 2. this is useful when a change was introduced in a release (1.5) but also made available in updates to previous releases.
+Similar to item 2. this is useful when a change was introduced in a release (1.7) but also made available in updates to previous releases.
.RE
.LP
@@ -429,22 +456,28 @@
.RS 3
.TP 2
o
-javac \- the Java programming language compiler
+javac(1)
.TP 2
o
-jdb \- Java Application Debugger
+jdb(1)
.TP 2
o
-javah \- C Header and Stub File Generator
+javah(1)
.TP 2
o
-jar \- JAR Archive Tool
+jar(1)
.TP 2
o
-The Java Extensions Framework
+.na
+\f2The Java Extensions Framework\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
.TP 2
o
-Security Features.
+.na
+\f2Security Features\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/index.html.
.TP 2
o
.na
diff --git a/jdk/src/solaris/doc/sun/man/man1/javac.1 b/jdk/src/solaris/doc/sun/man/man1/javac.1
index 85cd07a..7019e63 100644
--- a/jdk/src/solaris/doc/sun/man/man1/javac.1
+++ b/jdk/src/solaris/doc/sun/man/man1/javac.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2000-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javac 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH javac 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javac \- Java programming language compiler
.LP
.SH "SYNOPSIS"
@@ -34,7 +33,9 @@
.nf
\f3
.fl
-\fP\f3javac\fP [ options ] [ sourcefiles ] [ @argfiles ]
+ \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ]
+.fl
+
.fl
.fi
@@ -53,6 +54,9 @@
sourcefiles
One or more source files to be compiled (such as MyClass.java).
.TP 3
+classes
+One or more classes to be processed for annotations (such as MyPackage.MyClass).
+.TP 3
@argfiles
One or more files that lists options and source files. The \f2\-J\fP options are not allowed in these files.
.RE
@@ -64,10 +68,10 @@
.LP
.LP
-The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files.
+The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. It can also process annotations in Java source files and classes.
.LP
.LP
-There are two ways to pass source code filenames to \f3javac\fP:
+There are two ways to pass source code file names to \f3javac\fP:
.LP
.RS 3
.TP 2
@@ -91,46 +95,6 @@
.LP
By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with \f3\-d\fP (see Options, below).
.LP
-.SH "SEARCHING FOR TYPES"
-.LP
-
-.LP
-.LP
-When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance.
-.LP
-.LP
-For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP.
-.LP
-.LP
-When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see Setting the Class Path).
-.LP
-.LP
-If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files.
-.LP
-.LP
-You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below.
-.LP
-.LP
-A successful type search may produce a class file, a source file, or both. Here is how \f3javac\fP handles each situation:
-.LP
-.RS 3
-.TP 2
-o
-\f2Search produces a class file but no source file:\fP \f3javac\fP uses the class file.
-.TP 2
-o
-\f2Search produces a source file but no class file:\fP \f3javac\fP compiles the source file and uses the resulting class file.
-.TP 2
-o
-\f2Search produces both a source file and a class file:\fP \f3javac\fP determines whether the class file is out of date. If the class file is out of date, \f3javac\fP recompiles the source file and uses the updated class file. Otherwise, \f3javac\fP just uses the class file.
-.LP
-\f3javac\fP considers a class file out of date only if it is older than the source file.
-.RE
-
-.LP
-.LP
-\f3Note:\fP \ \f3javac\fP can silently compile source files not mentioned on the command line. Use the \f3\-verbose\fP option to trace automatic compilation.
-.LP
.SH "OPTIONS"
.LP
@@ -146,15 +110,24 @@
.LP
.RS 3
.TP 3
-\-classpath classpath
-Set the user class path, overriding the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP or \f3\-classpath\fP is specified, the user class path consists of the current directory. See Setting the Class Path for more details.
+\-Akey[=value]
+Options to pass to annotation processors. These are not interpreted by javac directly, but are made available for use by individual processors. \f2key\fP should be one or more identifiers separated by ".".
+.TP 3
+\-cp path or \-classpath path
+Specify where to find user class files, and (optionally) annotation processors and source files. This classpath overrides the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP, \f3\-cp\fP nor \f3\-classpath\fP is specified, the user class path consists of the current directory. See
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath for more details.
.LP
-If the \f3\-sourcepath\fP option is not specified, the user class path is searched for both source files and class files.
+If the \f3\-sourcepath\fP option is not specified, the user class path is also searched for source files.
.LP
-As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
+If the \f3\-processorpath\fP option is not specified, the classpath is also searched for annotation processors.
+.LP
+As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP.
.br
.br
-For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
+For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. \f3Note:\fP \ Depending of the configuration of your command line environment, you may have to quote the wild card character, for example, \f2javac \-cp "*.jar" MyClass.java\fP.
.TP 3
\-Djava.ext.dirs=directories
Override the location of installed extensions.
@@ -163,17 +136,17 @@
Override the location of endorsed standards path.
.TP 3
\-d directory
-Set the destination directory for class files. The destination directory must already exist; javac will not create the destination directory. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP.
+Set the destination directory for class files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP.
.LP
-If \f3\-d\fP is not specified, \f3javac\fP puts the class file in the same directory as the source file.
+If \f3\-d\fP is not specified, \f3javac\fP puts each class files in the same directory as the source file from which it was generated.
.LP
\f3Note:\fP \ The directory specified by \f3\-d\fP is not automatically added to your user class path.
.TP 3
\-deprecation
-Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows the names of source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP.
+Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows a summary of the source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP.
.TP 3
\-encoding encoding
-Set the source file encoding name, such as \f2EUC\-JP and UTF\-8.\fP. If \f3\-encoding\fP is not specified, the platform default converter is used.
+Set the source file encoding name, such as \f2EUC\-JP and UTF\-8\fP. If \f3\-encoding\fP is not specified, the platform default converter is used.
.TP 3
\-g
Generate all debugging information, including local variables. By default, only line number and source file information is generated.
@@ -198,9 +171,23 @@
\-help
Print a synopsis of standard options.
.TP 3
+\-implicit:{class,none}
+Controls the generation of class files for implicitly loaded source files. To automatically generate class files, use \f3\-implicit:class\fP. To suppress class file generation, use \f3\-implicit:none\fP. If this option is not specified, the default is to automatically generate class files. In this case, the compiler will issue a warning if any such class files are generated when also doing annotation processing. The warning will not be issued if this option is set explicitly. See Searching For Types.
+.TP 3
\-nowarn
Disable warning messages. This has the same meaning as \f3\-Xlint:none\fP.
-.LP
+.TP 3
+\-proc: {none,only}
+Controls whether annotation processing and/or compilation is done. \f3\-proc:none\fP means that compilation takes place without annotation processing. \f3\-proc:only\fP means that only annotation processing is done, without any subsequent compilation.
+.TP 3
+\-processor class1[,class2,class3...]
+Names of the annotation processors to run. This bypasses the default discovery process.
+.TP 3
+\-processorpath path
+Specify where to find annotation processors; if this option is not used, the classpath will be searched for processors.
+.TP 3
+\-s dir
+Specify the directory where to place generated source files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, the compiler puts the source file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-s /home/mysrc\fP and the class is called \f2com.mypackage.MyClass\fP, then the source file will be placed in \f2/home/mysrc/com/mypackage/MyClass.java\fP.
.TP 3
\-source release
Specifies the version of source code accepted. The following values for \f2release\fP are allowed:
@@ -213,20 +200,34 @@
The compiler accepts code containing assertions, which were introduced in JDK 1.4.
.TP 3
1.5
-The compiler accepts code containing generics and other language features introduced in JDK 5. This is the default.
+The compiler accepts code containing generics and other language features introduced in JDK 5.
.TP 3
5
-Synonym for 1.5
+Synonym for 1.5.
+.TP 3
+1.6
+This is the default value. No language changes were introduced in Java SE 6. However, encoding errors in source files are now reported as errors, instead of warnings, as previously.
+.TP 3
+6
+Synonym for 1.6.
+.TP 3
+1.7
+The compiler accepts code with features introduced in JDK 7.
+.TP 3
+7
+Synonym for 1.7.
.RE
-\f3Note:\fP No language changes were introduced in JDK 6, so the values \f31.6\fP and \f36\fP are not valid.
.TP 3
\-sourcepath sourcepath
Specify the source code path to search for class or interface definitions. As with the user class path, source path entries are separated by colons (\f3:\fP) and can be directories, JAR archives, or ZIP archives. If packages are used, the local path name within the directory or archive must reflect the package name.
.LP
-\f3Note:\fP \ Classes found through the classpath are subject to automatic recompilation if their sources are found.
+\f3Note:\fP \ Classes found through the classpath may be subject to automatic recompilation if their sources are also found. See Searching For Types.
.TP 3
\-verbose
-Verbose output. This includes information about each class loaded and each source file compiled.
+Verbose output. This includes information about each class loaded and each source file compiled.
+.TP 3
+\-version
+Print version information.
.TP 3
\-X
Display information about non\-standard options and exit.
@@ -246,7 +247,7 @@
.RS 3
.TP 3
\-target version
-Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) and \f31.6\fP (also \f36\fP).
+Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) \f31.6\fP (also \f36\fP) and \f31.7\fP (also \f37\fP).
.LP
The default for \f3\-target\fP depends on the value of \f3\-source\fP:
.RS 3
@@ -255,7 +256,10 @@
If \-source is \f3not specified\fP, the value of \-target is \f31.6\fP
.TP 2
o
-If \-source is \f31.3\fP, the value of \-target is \f31.1\fP
+If \-source is \f31.2\fP, the value of \-target is \f31.4\fP
+.TP 2
+o
+If \-source is \f31.3\fP, the value of \-target is \f31.4\fP
.TP 2
o
For \f3all other values\fP of \-source, the value of \-target is the value of \f3\-source\fP.
@@ -293,8 +297,8 @@
\-Xlint:none
Disable all warnings not mandated by the Java Language Specification.
.TP 3
-\-Xlint:\-xxx
-Disable warning \f3xxx\fP, where \f3xxx\fP is one of the warning names supported for \f3\-Xlint:xxx\fP, below
+\-Xlint:\-name
+Disable warning \f2name\fP, where \f2name\fP is one of the warning names supported for \f3\-Xlint:\fP\f2name\fP, below.
.TP 3
\-Xlint:unchecked
Give more detail for unchecked conversion warnings that are mandated by the Java Language Specification.
@@ -309,7 +313,7 @@
Warn about \f2finally\fP clauses that cannot complete normally.
.TP 3
\-Xlint:fallthrough
-Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not contain a \f2break\fP statement:
+Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not end with a \f2break\fP statement:
.RS 3
.LP
@@ -330,12 +334,14 @@
.fl
}
.fl
+
+.fl
\fP
.fi
.RE
If the \f2\-Xlint:fallthrough\fP flag were used when compiling this code, the compiler would emit a warning about "possible fall\-through into case," along with the line number of the case in question.
.TP 3
-\-Xmaxerrors number
+\-Xmaxerrs number
Set the maximum number of errors to print.
.TP 3
\-Xmaxwarns number
@@ -343,6 +349,18 @@
.TP 3
\-Xstdout filename
Send compiler messages to the named file. By default, compiler messages go to \f2System.err\fP.
+.TP 3
+\-Xprefer:{newer,source}
+Specify which file to read when both a source file and class file are found for a type. (See Searching For Types). If \f2\-Xprefer:newer\fP is used, it reads the newer of the source or class file for a type (default). If the \f2\-Xprefer:source\fP option is used, it reads source file. Use \f2\-Xprefer:source\fP when you want to be sure that any annotation processors can access annotations declared with a retention policy of \f2SOURCE\fP.
+.TP 3
+\-Xprint
+Print out textual representation of specified types for debugging purposes; perform neither annotation processing nor compilation. The format of the output may change.
+.TP 3
+\-XprintProcessorInfo
+Print information about which annotations a processor is asked to process.
+.TP 3
+\-XprintRounds
+Print information about initial and subsequent annotation processing rounds.
.RE
.LP
@@ -388,7 +406,9 @@
.nf
\f3
.fl
- C:> \fP\f3javac @argfile\fP
+ % \fP\f3javac @argfile\fP
+.fl
+
.fl
.fi
@@ -412,7 +432,9 @@
.fl
\-g
.fl
- \-sourcepath \\java\\pubs\\ws\\1.3\\src\\share\\classes
+ \-sourcepath /java/pubs/ws/1.3/src/share/classes
+.fl
+
.fl
\fP
.fi
@@ -430,18 +452,22 @@
.fl
MyClass3.java
.fl
+
+.fl
\fP
.fi
.LP
.LP
-You would then run javac with:
+You would then run \f3javac\fP with:
.LP
.nf
\f3
.fl
% \fP\f3javac @options @classes\fP
.fl
+
+.fl
.fi
.LP
@@ -456,11 +482,119 @@
.fl
% \fP\f3javac @path1/options @path2/classes\fP
.fl
+
+.fl
.fi
.LP
+.SH "ANNOTATION PROCESSING"
+.LP
+
+.LP
+.LP
+\f3javac\fP provides direct support for annotation processing, superseding the need for the separate annotation processing tool, \f3apt\fP.
+.LP
+.LP
+The API for annotation processors is defined in the \f2javax.annotation.processing\fP and \f2javax.lang.model\fP packages and subpackages.
+.LP
+.SS
+Overview of annotation processing
+.LP
+.LP
+Unless annotation processing is disabled with the \f3\-proc:none\fP option, the compiler searches for any annotation processors that are available. The search path can be specified with the \f3\-processorpath\fP option; if it is not given, the user class path is used. Processors are located by means of service provider\-configuration files named
+.br
+\f2\ META\-INF/services/javax.annotation.processing.Processor\fP
+.br
+on the search path. Such files should contain the names of any annotation processors to be used, listed one per line. Alternatively, processors can be specified explicitly, using the \f3\-processor\fP option.
+.LP
+.LP
+After scanning the source files and classes on the command line to determine what annotations are present, the compiler queries the processors to determine what annotations they process. When a match is found, the processor will be invoked. A processor may "claim" the annotations it processes, in which case no further attempt is made to find any processors for those annotations. Once all annotations have been claimed, the compiler does not look for additional processors.
+.LP
+.LP
+If any processors generate any new source files, another round of annotation processing will occur: any newly generated source files will be scanned, and the annotations processed as before. Any processors invoked on previous rounds will also be invoked on all subsequent rounds. This continues until no new source files are generated.
+.LP
+.LP
+After a round occurs where no new source files are generated, the annotation processors will be invoked one last time, to give them a chance to complete any work they may need to do. Finally, unless the \f3\-proc:only\fP option is used, the compiler will compile the original and all the generated source files.
+.LP
+.SS
+Implicitly loaded source files
+.LP
+.LP
+To compile a set of source files, the compiler may need to implicitly load additional source files. (See Searching For Types). Such files are currently not subject to annotation processing. By default, the compiler will give a warning if annotation processing has occurred and any implicitly loaded source files are compiled. See the \-implicit option for ways to suppress the warning.
+.LP
+.SH "SEARCHING FOR TYPES"
+.LP
+
+.LP
+.LP
+When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance.
+.LP
+.LP
+For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP.
+.LP
+.LP
+When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath).
+.LP
+.LP
+If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files.
+.LP
+.LP
+You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below.
+.LP
+.LP
+A successful type search may produce a class file, a source file, or both. If both are found, you can use the \-Xprefer option to instruct the compiler which to use. If \f3newer\fP is given, the compiler will use the newer of the two files. If \f3source\fP is given, it will use the source file. The default is \f3newer\fP.
+.LP
+.LP
+If a type search finds a source file for a required type, either by itself, or as a result of the setting for \f3\-Xprefer\fP, the compiler will read the source file to get the information it needs. In addition, it will by default compile the source file as well. You can use the \-implicit option to specify the behavior. If \f3none\fP is given, no class files will be generated for the source file. If \f3class\fP is given, class files will be generated for the source file.
+.LP
+.LP
+The compiler may not discover the need for some type information until after annotation processing is complete. If the type information is found in a source file and no \f3\-implicit\fP option is given, the compiler will give a warning that the file is being compiled without being subject to annotation processing. To disable the warning, either specify the file on the command line (so that it will be subject to annotation processing) or use the \f3\-implicit\fP option to specify whether or not class files should be generated for such source files.
+.LP
.SH "PROGRAMMATIC INTERFACE"
.LP
+
+.LP
+.LP
+\f3javac\fP supports the new Java Compiler API defined by the classes and interfaces in the \f2javax.tools\fP package.
+.LP
+.SS
+Example
+.LP
+.LP
+To perform a compilation using arguments as you would give on the command line, you can use the following:
+.LP
+.nf
+\f3
+.fl
+JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
+.fl
+int rc = javac.run(null, null, null, args);
+.fl
+
+.fl
+\fP
+.fi
+
+.LP
+.LP
+This will write any diagnostics to the standard output stream, and return the exit code that \f3javac\fP would give when invoked from the command line.
+.LP
+.LP
+You can use other methods on the \f2javax.tools.JavaCompiler\fP interface to handle diagnostics, control where files are read from and written to, and so on.
+.LP
+.SS
+Old Interface
+.LP
+.RS 3
+
+.LP
+.LP
+\f3Note:\fP \ This API is retained for backwards compatibility only; all new code should use the Java Compiler API, described above.
+.LP
.LP
The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke the compiler from a program:
.LP
@@ -471,6 +605,8 @@
.fl
public static int compile(String[] args, PrintWriter out);
.fl
+
+.fl
\fP
.fi
@@ -482,11 +618,12 @@
The \f2out\fP parameter indicates where the compiler's diagnostic output is directed.
.LP
.LP
-The return value is equivalent to the exit value from javac.
+The return value is equivalent to the exit value from \f3javac\fP.
.LP
.LP
Note that all \f3other\fP classes and methods found in a package whose name starts with \f2com.sun.tools.javac\fP (informally known as sub\-packages of \f2com.sun.tools.javac\fP) are strictly internal and subject to change at any time.
.LP
+.RE
.SH "EXAMPLES"
.LP
.SS
@@ -546,6 +683,8 @@
.fl
Hello Everyone
.fl
+
+.fl
.fi
.RE
@@ -584,6 +723,8 @@
.fl
.fl
+
+.fl
.fi
.RE
@@ -610,6 +751,8 @@
.fl
% \f3javac greetings/Hi.java\fP
.fl
+
+.fl
.fi
.RE
@@ -625,6 +768,8 @@
.fl
% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP
.fl
+
+.fl
.fi
.RE
@@ -638,9 +783,11 @@
.nf
\f3
.fl
-% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\
+% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\
.fl
- /examples/greetings/Hi.java\fP
+ /examples/greetings/Hi.java\fP
+.fl
+
.fl
.fi
.RE
@@ -657,6 +804,8 @@
.fl
% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP
.fl
+
+.fl
.fi
.RE
@@ -695,9 +844,9 @@
.fl
% \f3ls classes\fP
.fl
-% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\
+% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\
.fl
- src/farewells/GoodBye.java \-d classes\fP
+ src/farewells/GoodBye.java \-d classes\fP
.fl
% \f3ls classes\fP
.fl
@@ -709,6 +858,8 @@
.fl
.fl
+
+.fl
.fi
.RE
@@ -724,7 +875,7 @@
.LP
.LP
-Here we use \f3javac\fP to compile code that will run on a 1.4 VM.
+Here we use \f3javac\fP to compile code that will run on a 1.7 VM.
.LP
.RS 3
@@ -732,19 +883,21 @@
.nf
\f3
.fl
-% \fP\f3javac \-target 1.4 \-bootclasspath jdk1.4.2/lib/classes.zip \\
+% \fP\f3javac \-target 1.7 \-bootclasspath jdk1.7.0/lib/rt.jar \\
.fl
- \-extdirs "" OldCode.java\fP
+ \-extdirs "" OldCode.java\fP
+.fl
+
.fl
.fi
.RE
.LP
.LP
-The \f3\-target 1.4\fP option ensures that the generated class files will be compatible with 1.4 VMs. By default, \f3javac\fP compiles for JDK 6.
+The \f3\-target 1.7\fP option ensures that the generated class files will be compatible with 1.7 VMs. By default, \f3javac\fP compiles for JDK 6.
.LP
.LP
-The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.4 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.4 VM and would fail at runtime.
+The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.7 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.7 VM and would fail at runtime.
.LP
.RE
.SH "SEE ALSO"
@@ -754,22 +907,28 @@
.RS 3
.TP 2
o
-java \- the Java Application Launcher
+.na
+\f2The javac Guide\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html
.TP 2
o
-jdb \- Java Application Debugger
+java(1) \- the Java Application Launcher
.TP 2
o
-javah \- C Header and Stub File Generator
+jdb(1) \- Java Application Debugger
.TP 2
o
-javap \- Class File Disassembler
+javah(1) \- C Header and Stub File Generator
.TP 2
o
-javadoc \- API Documentation Generator
+javap(1) \- Class File Disassembler
.TP 2
o
-jar \- JAR Archive Tool
+javadoc(1) \- API Documentation Generator
+.TP 2
+o
+jar(1) \- JAR Archive Tool
.TP 2
o
.na
diff --git a/jdk/src/solaris/doc/sun/man/man1/javadoc.1 b/jdk/src/solaris/doc/sun/man/man1/javadoc.1
index 07a8742..ea6a6dd 100644
--- a/jdk/src/solaris/doc/sun/man/man1/javadoc.1
+++ b/jdk/src/solaris/doc/sun/man/man1/javadoc.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,10 +18,10 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javadoc 1 "07 Aug 2006"
-." Generated by html2man
-.SH NAME
+."
+.TH javadoc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
javadoc \- The Java API Documentation Generator
.RS 3
@@ -151,7 +150,11 @@
In many cases, the Javadoc tool allows you to generate documentation for source files whose code is incomplete or erroneous. This is a benefit that enables you to generate documentation before all debugging and troubleshooting is done. For example, according to the \f2Java Language Specification\fP, a class that contains an abstract method should itself be declared abstract. The Javadoc tool does not check for this, and would proceed without a warning, whereas the javac compiler stops on this error. The Javadoc tool does do some primitive checking of doc comments. Use the DocCheck doclet to check the doc comments more thoroughly.
.LP
.LP
-When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see How Classes Are Found. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path.
+When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path.
.LP
.SS
Javadoc Doclets
@@ -162,7 +165,10 @@
.RS 3
.TP 2
o
-Javadoc Doclets
+.na
+\f2Javadoc Doclets\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html
.TP 2
o
The \f2\-doclet\fP command\-line option
@@ -178,7 +184,10 @@
.RS 3
.TP 2
o
-Javadoc Enhancements for details about improvements added in Javadoc.
+.na
+\f2Javadoc Enhancements\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html for details about improvements added in Javadoc.
.TP 2
o
.na
@@ -196,7 +205,7 @@
.na
\f2Requirements for Writing API Specifications\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java 2 Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions.
+http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java SE Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions.
.TP 2
o
.na
@@ -282,7 +291,7 @@
.RS 3
.TP 2
o
-\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is new in JDK 5.0, and is preferred over package.html.
+\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is generally preferred over package.html.
.TP 2
o
\f2package.html\fP \- Can contain only package comments and Javadoc tags, no package annotations.
@@ -293,7 +302,7 @@
A package may have a single \f2package.html\fP file or a single \f2package\-info.java\fP file but not both. Place either file in the package directory in the source tree along with your \f2.java\fP files.
.LP
.LP
-\f4package\-info.java\fP This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration:
+\f4package\-info.java\fP \- This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration:
.LP
.LP
File: \f2java/applet/package\-info.java\fP
@@ -386,7 +395,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 326 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -520,7 +529,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 379 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -578,10 +587,18 @@
Processes any package tags that are present.
.TP 2
o
-Inserts the processed text at the bottom of the package summary page it generates, as shown in Package Summary.
+Inserts the processed text at the bottom of the package summary page it generates, as shown in
+.na
+\f2Package Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html.
.TP 2
o
-Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in Overview Summary. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions.
+Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in
+.na
+\f2Overview Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions.
.RE
.LP
@@ -612,7 +629,11 @@
Processes any overview tags that are present.
.TP 2
o
-Inserts the processed text at the bottom of the overview page it generates, as shown in Overview Summary.
+Inserts the processed text at the bottom of the overview page it generates, as shown in
+.na
+\f2Overview Summary\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/overview\-summary.html.
.TP 2
o
Copies the first sentence of the overview comment to the top of the overview summary page.
@@ -905,7 +926,7 @@
.LP
.SS
-a name="generatedapideclarations"/> Generated API Declarations
+Generated API Declarations
.LP
.LP
The Javadoc tool generates a declaration at the start of each class, interface, field, constructor, and method description for that API item. For example, the declaration for the \f2Boolean\fP class is:
@@ -1330,7 +1351,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 1084 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1123 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1453,19 +1474,30 @@
.LP
.LP
-Note: Starting with JDK 5.0, you can deprecate a program element using the @Deprecated annotation.
+Note: You can deprecate a program element using the
+.na
+\f2@Deprecated annotation\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html.
.LP
.RE
+.RE
+.RS 3
+
.LP
-Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field.
.LP
-The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API:
+Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field.
+.LP
+.LP
+The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API:
+.LP
.LP
For more details, see
.na
\f2writing @deprecated tags\fP @
.fi
-http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated.
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated.
+.LP
.RS 3
.TP 2
o
@@ -1479,15 +1511,28 @@
.fl
*/
.fl
+
+.fl
\fP
.fi
.TP 2
o
For Javadoc 1.1, the standard format is to create a \f2@see\fP tag (which cannot be in\-line) for each \f2@deprecated\fP tag.
.RE
+
.LP
-For more about deprecation, see The @deprecated tag.
.LP
+For more about deprecation, see
+.na
+\f2The @deprecated tag\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html.
+.LP
+.LP
+
+.LP
+.RE
+.RS 3
.TP 3
{@code\ text}
Equivalent to \f2<code>{@literal}</code>\fP.
@@ -1498,16 +1543,22 @@
.fl
\fP\f4{@code A<B>C}\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
displays in the generated HTML page unchanged, as:
.nf
\f3
.fl
\fP\f4A<B>C\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
The noteworthy point is that the \f2<B>\fP is not interpreted as bold and is in code font.
.LP
If you want the same functionality without the code font, use \f2{@literal}\fP.
@@ -1526,9 +1577,12 @@
.fl
javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
.fl
+
+.fl
\fP
.fi
-NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted).
+.LP
+NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted).
.TP 3
2.
In a doc comment:
@@ -1541,31 +1595,42 @@
.fl
*/
.fl
+
+.fl
\fP
.fi
.RE
+.LP
The reason this tag is needed is because the generated docs are in hierarchical directories, as deep as the number of subpackages. This expression:
.nf
\f3
.fl
<a href="{@docRoot}/copyright.html">
.fl
+
+.fl
\fP
.fi
+.LP
would resolve to:
.nf
\f3
.fl
<a href="../../copyright.html"> for java/lang/Object.java
.fl
+
+.fl
\fP
.fi
+.LP
and
.nf
\f3
.fl
<a href="../../../copyright.html"> for java/lang/ref/Reference.java
.fl
+
+.fl
\fP
.fi
.LP
@@ -1603,24 +1668,33 @@
.fl
Use the {@link #getComponentAt(int, int) getComponentAt} method.
.fl
+
+.fl
\fP
.fi
+.LP
From this, the standard doclet would generate the following HTML (assuming it refers to another class in the same package):
.nf
\f3
.fl
Use the <a href="Component.html#getComponentAt(int, int)">getComponentAt</a> method.
.fl
+
+.fl
\fP
.fi
+.LP
Which appears on the web page as:
.nf
\f3
.fl
Use the getComponentAt method.
.fl
+
+.fl
\fP
.fi
+.LP
You can extend \f2{@link}\fP to link to classes not being documented by using the \f2\-link\fP option.
.LP
For more details, see
@@ -1637,14 +1711,20 @@
.fl
Refer to {@linkplain add() the overridden method}.
.fl
+
+.fl
\fP
.fi
+.LP
This would display as:
.RS 3
+
+.LP
.LP
Refer to the overridden method.
.LP
.RE
+.LP
.TP 3
{@literal\ text}
Displays \f2text\fP without interpreting the text as HTML markup or nested javadoc tags. This enables you to use regular angle brackets (\f2<\fP and \f2>\fP) instead of the HTML entities (\f2<\fP and \f2>\fP) in doc comments, such as in parameter types (\f2<Object>\fP), inequalities (\f23 < 4\fP), or arrows (\f2<\-\fP). For example, the doc comment text:
@@ -1653,11 +1733,16 @@
.fl
\fP\f4{@literal A<B>C}\fP\f3
.fl
+
+.fl
\fP
.fi
+.LP
displays unchanged in the generated HTML page in your browser, as:
.LP
-\f2\ \ \ \ \ \fPA<B>C The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font).
+\f2\ \ \ \ \ \fPA<B>C
+.LP
+The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font).
.LP
If you want the same functionality but with the text in code font, use \f2{@code}\fP.
.LP
@@ -1681,6 +1766,8 @@
.fl
}
.fl
+
+.fl
\fP
.fi
.LP
@@ -1704,8 +1791,11 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+.LP
For more details, see
.na
\f2writing @param tags\fP @
@@ -1734,15 +1824,26 @@
.fl
@see "The Java Programming Language"
.fl
+
+.fl
\fP
.fi
-This generates text such as:
+.LP
+This generates text such as:
+.RE
+.RE
+.RS 3
+.RS 3
+.RS 3
+
+.LP
.RS 3
.RS 3
.TP 3
See Also:
"The Java Programming Language"
.RE
+.RE
.LP
.RE
@@ -1979,7 +2080,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1547 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1666 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2325,7 +2426,7 @@
.nr 42 \n(81+(3*\n(38)
.nr 82 +\n(42
.nr TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 1623 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1742 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2500,6 +2601,14 @@
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see.
.RE
+.RE
+.RS 3
+
+.LP
+.LP
+
+.LP
+.RS 3
.TP 3
@serial\ field\-description | include | exclude
Used in the doc comment for a default serializable field.
@@ -2522,7 +2631,11 @@
.LP
The tag @serial at a class level overrides @serial at a package level.
.LP
-For more information about how to use these tags, along with an example, see "Documenting Serializable Fields and Data for a Class," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the
+For more information about how to use these tags, along with an example, see "
+.na
+\f2Documenting Serializable Fields and Data for a Class\fP @
+.fi
+http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the
.na
\f2Serialization FAQ\fP @
.fi
@@ -2550,8 +2663,11 @@
.fl
@since 1.5
.fl
+
+.fl
\fP
.fi
+.LP
For source code in the Java platform, this tag indicates the version of the Java platform API specification (not necessarily when it was added to the reference implementation). Multiple @since tags are allowed and are treated like multiple @author tags. You could use multiple tags if the prgram element is used by more than one API.
.LP
.TP 3
@@ -2582,8 +2698,11 @@
.fl
public static final String SCRIPT_START = "<script>"
.fl
+
+.fl
\fP
.fi
+.LP
When used with argument \f2package.class#field\fP in any doc comment, it displays the value of the specified constant:
.nf
\f3
@@ -2598,11 +2717,18 @@
.fl
}
.fl
+
+.fl
\fP
.fi
+.LP
The argument \f2package.class#field\fP takes a form identical to that of the @see argument, except that the member must be a static field.
.LP
-These values of these constants are also displayed on the Constant Field Values page.
+These values of these constants are also displayed on the
+.na
+\f2Constant Field Values\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/constant\-values.html page.
.LP
.TP 3
@version\ version\-text
@@ -2616,6 +2742,9 @@
.fi
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version.
.RE
+
+.LP
+.RE
.SS
Where Tags Can Be Used
.LP
@@ -2700,7 +2829,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1816 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1963 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2817,7 +2946,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1848 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 1995 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2936,7 +3065,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1882 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2029 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3096,7 +3225,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 1957 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2104 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3240,7 +3369,7 @@
.nr 40 \n(79+(0*\n(38)
.nr 80 +\n(40
.nr TW \n(80
-.if t .if \n(TW>\n(.li .tm Table at line 2016 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2163 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3323,6 +3452,8 @@
.LP
.SH "OPTIONS"
.LP
+
+.LP
.LP
The javadoc tool uses doclets to determine its output. The Javadoc tool uses the default standard doclet unless a custom doclet is specified with the \-doclet option. The Javadoc tool provides a set of command\-line options that can be used with any doclet \-\- these options are described below under the sub\-heading Javadoc Options. The standard doclet provides an additional set of command\-line options that are described below under the sub\-heading Options Provided by the Standard Doclet. All option names are case\-insensitive, though their arguments can be case\-sensitive.
.LP
@@ -3543,7 +3674,7 @@
.nr 42 \n(81+(3*\n(38)
.nr 82 +\n(42
.nr TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 2192 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2341 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3655,11 +3786,11 @@
\fP
.fi
.LP
-For full, working examples of running a particular doclet, see
+For full, working examples of running a particular doclet, see the
.na
-\f2Running the MIF Doclet\fP @
+\f2MIF Doclet documentation\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.TP 3
\-docletpath\ classpathlist
@@ -3681,11 +3812,11 @@
.fl
\fP
.fi
-For full, working examples of running a particular doclet, see
+For full, working examples of running a particular doclet, see the
.na
-\f2Running the MIF Doclet\fP @
+\f2MIF Doclet documentation\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.TP 3
\-1.1
@@ -3806,7 +3937,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 2302 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 2451 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3913,7 +4044,11 @@
.LP
.TP 3
\-classpath\ classpathlist
-Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in class path documentation for specifying \f2classpathlist\fP.
+Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in
+.na
+\f2class path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general documentation for specifying \f2classpathlist\fP.
.LP
If \f2\-sourcepath\fP is omitted, the Javadoc tool uses \f2\-classpath\fP to find the source files as well as class files (for backward compatibility). Therefore, if you want to search for source and class files in separate paths, use both \f2\-sourcepath\fP and \f2\-classpath\fP.
.LP
@@ -3926,7 +4061,11 @@
.fi
As with other tools, if you do not specify \f2\-classpath\fP, the Javadoc tool uses the CLASSPATH environment variable, if it is set. If both are not set, the Javadoc tool searches for classes from the current directory.
.LP
-For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see How Classes Are Found.
+For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html.
.LP
As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
.br
@@ -3961,7 +4100,11 @@
.LP
.TP 3
\-bootclasspath\ classpathlist
-Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See How Classes Are Found. for more details. Separate directories in \f2classpathlist\fP with colons (:).
+Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See
+.na
+\f2How Classes Are Found\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles. for more details. Separate directories in \f2classpathlist\fP with colons (:).
.LP
.TP 3
\-extdirs\ dirlist
@@ -3977,7 +4120,11 @@
.LP
.TP 3
\-breakiterator\
-Uses the internationalized sentence boundary of \f2java.text.BreakIterator\fP to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index.
+Uses the internationalized sentence boundary of
+.na
+\f2java.text.BreakIterator\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index.
.LP
From JDK 1.2 forward, the BreakIterator class is already used to determine the end of sentence for all languages but English. Therefore, the \f2\-breakiterator\fP option has no effect except for English from 1.2 forward. English has its own default algorithm:
.RS 3
@@ -4055,7 +4202,7 @@
\-use
Includes one "Use" page for each documented class and package. The page describes what packages, classes, methods, constructors and fields use any API of the given class or package. Given class C, things that use class C would include subclasses of C, fields declared as C, methods that return C, and methods and constructors with parameters of type C.
.LP
-For example, let's look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP.
+For example, let us look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP.
.LP
Note that this documents only uses of the API, not the implementation. If a method uses \f2String\fP in its implementation but does not take a string as an argument or return a string, that is not considered a "use" of \f2String\fP.
.LP
@@ -4078,7 +4225,7 @@
.nf
\f3
.fl
- % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP
+ % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP
.fl
.fi
.TP 3
@@ -4087,7 +4234,7 @@
.nf
\f3
.fl
- % \fP\f3javadoc \-doctitle "Java<sup><font size=\\"\-2\\">TM</font></sup>" com.mypackage\fP
+ % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP
.fl
.fi
.TP 3
@@ -4161,18 +4308,18 @@
when using an absolute URL to the external API document, if your shell \f2does not allow\fP a program to open a connection to that URL for reading. This can occur if you are behind a firewall and the document you want to link to is on the other side.
.RE
.LP
-\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at
+\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java Platform packages at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @
+\f2http://java.sun.com/javase/6/docs/api/\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api, The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.)
+http://java.sun.com/javase/6/docs/api. The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.)
.nf
\f3
.fl
- % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
+ % \fP\f3javadoc \-link http://java.sun.com/javase/6/docs/api com.mypackage\fP
.fl
.fi
-\f3Example using relative links to the external docs\fP \- Let's say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running:
+\f3Example using relative links to the external docs\fP \- Let us say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running:
.nf
\f3
.fl
@@ -4212,11 +4359,11 @@
.LP
\f3Package List\fP \- The \f2\-link\fP option requires that a file named \f2package\-list\fP, which is generated by the Javadoc tool, exist at the URL you specify with \f2\-link\fP. The \f2package\-list\fP file is a simple text file that lists the names of packages documented at that location. In the earlier example, the Javadoc tool looks for a file named \f2package\-list\fP at the given URL, reads in the package names and then links to those packages at that URL.
.LP
-For example, the package list for the Java 2 Platform 5.0 API is located at
+For example, the package list for the Java SE 6 API is located at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api/package\-list. and starts out as follows:
+http://java.sun.com/javase/6/docs/api/package\-list. and starts as follows:
.nf
\f3
.fl
@@ -4275,15 +4422,15 @@
.LP
You can specify multiple \f2\-linkoffline\fP options in a given javadoc run. (Prior to 1.2.2, it could be specified only once.)
.LP
-\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at \f2http://java.sun.com/j2se/1.5.0/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at
+\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java SE Platform packages at \f2http://java.sun.com/javase/6/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at
.na
-\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @
+\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @
.fi
-http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.)
+http://java.sun.com/javase/6/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.)
.nf
\f3
.fl
-% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP
+% \fP\f3javadoc \-linkoffline http://java.sun.com/javase/6/docs/api . com.mypackage\fP
.fl
.fi
.LP
@@ -4301,7 +4448,7 @@
.LP
\f3Updating docs\fP \- Another use for \f2\-linkoffline\fP option is useful if your project has dozens or hundreds of packages, if you have already run javadoc on the entire tree, and now, in a separate run, you want to quickly make some small changes and re\-run javadoc on just a small portion of the source tree. This is somewhat of a hack in that it works properly only if your changes are only to doc comments and not to declarations. If you were to add, remove or change any declarations from the source code, then broken links could show up in the index, package tree, inherited member lists, use page, and other places.
.LP
-First, you create a new destination directory (call it \f2update\fP) for this new small run. Let's say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update:
+First, you create a new destination directory (call it \f2update\fP) for this new small run. Let us say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update:
.nf
\f3
.fl
@@ -4525,7 +4672,7 @@
.br
\f4f\fP (fields)
.LP
-\f3Examples of single tags\fP \- An example of a tag option for a tag that that can be used anywhere in the source code is:
+\f3Examples of single tags\fP \- An example of a tag option for a tag that can be used anywhere in the source code is:
.nf
\f3
.fl
@@ -4633,7 +4780,10 @@
.RS 3
.TP 2
o
-Taglet Overview
+.na
+\f2Taglet Overview\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html
.RE
.LP
Taglets are useful for block or inline tags. They can have any number of arguments and implement custom behavior, such as making text bold, formatting bullets, writing out the text to a file, or starting other processes.
@@ -4711,7 +4861,7 @@
.nf
\f3
.fl
- <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\->
+ <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\->
.fl
\fP
.fi
@@ -4722,6 +4872,8 @@
.RE
.SH "COMMAND LINE ARGUMENT FILES"
.LP
+
+.LP
.LP
To shorten or simplify the javadoc command line, you can specify one or more files that themselves contain arguments to the \f2javadoc\fP command (except \f2\-J\fP options). This enables you to create javadoc commands of any length on any operating system.
.LP
@@ -4769,19 +4921,19 @@
.fl
\-splitindex
.fl
- \-windowtitle 'Java 2 Platform v1.3 API Specification'
+ \-windowtitle 'Java(TM) SE 7 API Specification'
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification'
+ \-doctitle 'Java(TM) SE 7 API Specification'
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>'
+ \-header '<b>Java(TM); SE 7'
.fl
- \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.'
+ \-bottom 'Copyright 1993\-2009 Sun Microsystems, Inc. All Rights Reserved.'
.fl
\-group "Core Packages" "java.*"
.fl
- \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html
+ \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html
.fl
- \-sourcepath /java/pubs/ws/1.5/src/share/classes
+ \-sourcepath /java/pubs/ws/1.7.0/src/share/classes
.fl
\fP
.fi
@@ -4871,25 +5023,38 @@
% \fP\f3javadoc @bottom @packages\fP
.fl
.fi
-.SH NAME
+
+.LP
+
+.LP
+.SH "Name"
Running
+.LP
.SH "RUNNING JAVADOC"
.LP
+
+.LP
.LP
\f3Version Numbers\fP \- The version number of javadoc can be determined using \f3javadoc \-J\-version\fP. The version number of the standard doclet appears in its output stream. It can be turned off with \f2\-quiet\fP.
.LP
.LP
-\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see Standard Doclet.
-.LP
-.LP
-\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see
+\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see
.na
-\f2Running the MIF Doclet\fP @
+\f2Standard Doclet\fP @
.fi
-http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet.
+http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically.
+.LP
+.LP
+\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see the
+.na
+\f2MIF Doclet documentation\fP @
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html.
.LP
.SH "SIMPLE EXAMPLES"
.LP
+
+.LP
.LP
You can run javadoc on entire packages or individual source files. Each package name has a corresponding directory name. In the following examples, the source files are located at \f2/home/src/java/awt/*.java\fP. The destination directory is \f2/home/html\fP.
.LP
@@ -5012,8 +5177,10 @@
.LP
.SH "REAL WORLD EXAMPLE"
.LP
+
.LP
-The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java 2 Platform, Standard Edition, v1.2.
+.LP
+The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java SE Platform, Standard Edition, v1.2.
.LP
.LP
The same example is shown twice \-\- first as executed on the command line, then as executed from a makefile. It uses absolute paths in the option arguments, which enables the same \f2javadoc\fP command to be run from any directory.
@@ -5027,21 +5194,21 @@
.nf
\f3
.fl
-% javadoc \-sourcepath /java/jdk/src/share/classes \\
+% javadoc \-sourcepath /java/jdk/src/share/classes \\
.fl
- \-overview /java/jdk/src/share/classes/overview.html \\
+ \-overview /java/jdk/src/share/classes/overview.html \\
.fl
- \-d /java/jdk/build/api \\
+ \-d /java/jdk/build/api \\
.fl
- \-use \\
+ \-use \\
.fl
- \-splitIndex \\
+ \-splitIndex \\
.fl
- \-windowtitle 'Java 2 Platform 5.0 API Specification' \\
+ \-windowtitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\
.fl
- \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\
+ \-doctitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\
.fl
- \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
+ \-header '<b>Java(TM) SE </b><br><font size="\-1">7</font>' \\
.fl
\-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -5051,9 +5218,9 @@
.fl
901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\
.fl
- \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
+ \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
.fl
- \-group "Extension Packages" "javax.*" \\
+ \-group "Extension Packages" "javax.*" \\
.fl
\-J\-Xmx180m \\
.fl
@@ -5105,17 +5272,17 @@
.fl
java.lang java.lang.reflect \\ /* Sets packages to document */
.fl
- java.util java.io java.net \\
+ java.util java.io java.net \\
.fl
java.applet
.fl
.fl
-WINDOWTITLE = 'Java 2 Platform v1.2 API Specification'
+WINDOWTITLE = 'Java(TM) SE 7 API Specification'
.fl
-DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification'
+DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification'
.fl
-HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>'
+HEADER = '<b>Java(TM) SE 7</font>'
.fl
BOTTOM = '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
.fl
@@ -5131,7 +5298,7 @@
.fl
GROUPEXT = '"Extension Packages" "javax.*"'
.fl
-SRCDIR = '/java/jdk/1.2/src/share/classes'
+SRCDIR = '/java/jdk/1.7.0/src/share/classes'
.fl
\fP
.fi
@@ -5158,6 +5325,8 @@
.LP
.SH "TROUBLESHOOTING"
.LP
+
+.LP
.SS
General Troubleshooting
.LP
@@ -5171,11 +5340,7 @@
http://java.sun.com/j2se/javadoc/faq/index.html#B
.TP 2
o
-\f3Bugs and Limitations\fP \- You can also see some bugs listed at
-.na
-\f2Important Bug Fixes and Changes\fP @
-.fi
-http://java.sun.com/j2se/1.5.0/fixedbugs/index.html.
+\f3Bugs and Limitations\fP \- You can also see some bugs listed at Important Bug Fixes and Changes.
.TP 2
o
\f3Version number\fP \- See version numbers.
@@ -5200,6 +5365,8 @@
.LP
.SH "ENVIRONMENT"
.LP
+
+.LP
.RS 3
.TP 3
CLASSPATH
@@ -5210,22 +5377,24 @@
.LP
.SH "SEE ALSO"
.LP
+
+.LP
.RS 3
.TP 2
o
-javac
+javac(1)
.TP 2
o
-java
+java(1)
.TP 2
o
-jdb
+jdb(1)
.TP 2
o
-javah
+javah(1)
.TP 2
o
-javap
+javap(1)
.TP 2
o
.na
@@ -5240,12 +5409,22 @@
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
.TP 2
o
-Setting the Class Path
+.na
+\f2Setting the Class Path\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general
.TP 2
o
-How Javac and Javadoc Find Classes (tools.jar)
+.na
+\f2How Javac and Javadoc Find Classes\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar)
.RE
.LP
+
.LP
-Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.)
+.LP
+Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.)
+.LP
+
diff --git a/jdk/src/solaris/doc/sun/man/man1/javah.1 b/jdk/src/solaris/doc/sun/man/man1/javah.1
index bcffe62..7d3b486 100644
--- a/jdk/src/solaris/doc/sun/man/man1/javah.1
+++ b/jdk/src/solaris/doc/sun/man/man1/javah.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javah 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH javah 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javah \- C Header and Stub File Generator
.LP
+.RS 3
.LP
.LP
\f3javah\fP produces C header files and C source files from a Java class. These files provide the connective glue that allow your Java and C code to interact.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -64,12 +65,13 @@
The new native method interface, Java Native Interface (JNI), does not require header information or stub files. \f3javah\fP can still be used to generate native method function proptotypes needed for JNI\-style native methods. \f3javah\fP produces JNI\-style output by default, and places the result in the .h file.
.LP
.LP
-\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like \f3jdb\fP.
+\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like jdb(1).
.LP
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
\-o outputfile
Concatenates the resulting header or source files for all the classes listed on the command line into \f2outputfile\fP. Only one of \f3\-o\fP or \f3\-d\fP may be used.
@@ -113,7 +115,7 @@
As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations).
.br
.br
-For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
+For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP.
.TP 3
\-bootclasspath path
Specifies path from which to load bootstrap classes. By default, the bootstrap classes are the classes implementing the core Java 2 platform located in \f2jre/lib/rt.jar\fP and several other jar files.
@@ -125,12 +127,15 @@
Specifies that output files should always be written.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example,
@@ -141,6 +146,7 @@
.fl
\fP
.fi
+.RE
.LP
.SH "SEE ALSO"
@@ -148,7 +154,7 @@
.LP
.LP
-javac, java, jdb, javap, javadoc
+javac(1), java(1), jdb(1), javap(1), javadoc(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/javap.1 b/jdk/src/solaris/doc/sun/man/man1/javap.1
index aeca79c..f2fb40f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/javap.1
+++ b/jdk/src/solaris/doc/sun/man/man1/javap.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javap 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH javap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
javap \- The Java Class File Disassembler
.LP
+.RS 3
.LP
.LP
Disassembles class files.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -251,6 +252,7 @@
.LP
.LP
+.RS 3
.TP 3
\-help
Prints out help message for \f3javap\fP.
@@ -258,9 +260,6 @@
\-l
Prints out line and local variable tables.
.TP 3
-\-b
-Ensures backward compatibility with \f3javap\fP in JDK 1.1.
-.TP 3
\-public
Shows only public classes and members.
.TP 3
@@ -325,11 +324,14 @@
.TP 3
\-extdirs dirs
Overrides location at which installed extensions are searched for. The default location for extensions is the value of \f2java.ext.dirs\fP.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, For example:
@@ -344,6 +346,7 @@
\fP
.fi
.RE
+.RE
.LP
.SH "SEE ALSO"
@@ -351,7 +354,7 @@
.LP
.LP
-javac, java, jdb, javah, javadoc
+javac(1), java(1), jdb(1), javah(1), javadoc(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/javaws.1 b/jdk/src/solaris/doc/sun/man/man1/javaws.1
index 9fe0c6f..8f67346 100644
--- a/jdk/src/solaris/doc/sun/man/man1/javaws.1
+++ b/jdk/src/solaris/doc/sun/man/man1/javaws.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003-2006 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
@@ -19,14 +18,14 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH javaws 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH javaws 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.LP
-.SH NAME
+.SH "Name"
\f2javaws\fP Command Line
.LP
@@ -37,104 +36,93 @@
.SS
NAME
.LP
+.RS 3
.LP
.LP
\f2javaws\fP \- Java Web Start launcher command
.LP
+.RE
.SS
SYNOPSIS
.LP
+.RS 3
.LP
.LP
-\f2javaws [ options ] [ URL ]\fP
+\f2javaws [run\-options] <jnlp>\fP
.LP
+.LP
+\f2javaws [control\-options]\fP
+.LP
+.RE
.SS
PARAMETERS
.LP
+.RS 3
.LP
.LP
-\f2options\fP
+\f2[run\-options]\fP
.LP
.RS 3
.LP
.LP
-Command\-line options. Options may be in any order. For a discussion of the various options, see OPTIONS below.
+Command\-line run\-options. run\-options may be in any order. For a discussion of the various run\-options, see RUN\-OPTIONS below.
.LP
.RE
.LP
-\f2URL\fP
+\f2<jnlp>\fP
.LP
.RS 3
.LP
.LP
-Uniform Resource Locator (\f2URL\fP) of the JNLP (Java Net\-work Launching Protocol) file.
+This can be either the path of, or the Uniform Resource Locater (URL) of the JNLP (Java Network Launching Protocol) file.
.LP
.RE
+.LP
+\f2[control\-options]\fP
+.LP
+.RS 3
+
+.LP
+.LP
+Command\-line control\-options. control\-options may be in any order. For a discussion of the various control\-options, see CONTROL\-OPTIONS below.
+.LP
+.RE
+.RE
.SS
DESCRIPTION
.LP
+.RS 3
.LP
.LP
The \f2javaws\fP command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network.
.LP
.LP
-Without any options \f2javaws\fP will launch the Java JNLP Application Manager, from which users can launch applications/applet or configure Java Web Start.
+If a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
.LP
.LP
-If a \f2URL\fP for a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file.
+The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release.
.LP
+.RE
.SS
-OPTIONS
+RUN\-OPTIONS
.LP
+.RS 3
.LP
.LP
-The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. All \f2\-X\fP options are non\-standard and subject to change.
-.LP
-.LP
\f2\-offline\fP
.LP
.RS 3
.LP
.LP
-Runs Java Web Start in offline mode.
-.LP
-.RE
-.LP
-\f2\-uninstall <URL>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Removes a specific application/applet from the user's cache, as indicated by the URL for the JNLP file. If \f2<URL>\fP is not specified, the entire cache is removed. Java Web Start will exit after the command is completed.
-.LP
-.RE
-.LP
-\f2\-updateVersions\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Updates the Java Web Start configuration file based on the current machine's settings. Java Web Start will exit after the command is completed.
-.LP
-.RE
-.LP
-\f2\-Xclearcache\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Clears the user's cache. Java Web Start will exit after the command is completed.
+run Java Web Start in offline mode.
.LP
.RE
.LP
@@ -144,67 +132,7 @@
.LP
.LP
-Disables the display of the initial splash screen.
-.LP
-.RE
-.LP
-\f2\-import\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Imports the application specified by URL into the user's cache but does not run it.
-.LP
-.RE
-.LP
-\f2\-silent\fP
-.LP
-.RS 3
-
-.LP
-.LP
-When used with the \f2\-import\fP option, imports in silent mode; i.e., there will be no UI pop up. The process exit code will be either 0 if successful or 1 if not.
-.LP
-.RE
-.LP
-\f2\-codebase <url>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing the resources. \f2<url>\fP must be a valid \f2URL\fP.
-.LP
-.RE
-.LP
-\f2\-system\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Uses the system cache instead of the user cache.
-.LP
-.RE
-.LP
-\f2\-shortcut\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Allows the creation of shortcuts during silent import.
-.LP
-.RE
-.LP
-\f2\-association\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Allows the creation of associations during silent import.
+disable the display of the initial splash screen.
.LP
.RE
.LP
@@ -234,37 +162,7 @@
.LP
.LP
-Runs in online mode (default behavior).
-.LP
-.RE
-.LP
-\f2\-viewer\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Runs the Java Application Cache Viewer (default if no URL is specified).
-.LP
-.RE
-.LP
-\f2\-userConfig <property name>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Clears the specified deployment property.
-.LP
-.RE
-.LP
-\f2\-userConfig <property name> <property value>\fP
-.LP
-.RS 3
-
-.LP
-.LP
-Sets the specified deployment property to the specified value.
+run in online mode (default behavior).
.LP
.RE
.LP
@@ -278,11 +176,159 @@
.LP
.RE
.LP
-\
+\f2\-verbose\fP
.LP
+.RS 3
+
+.LP
+.LP
+display additional output.
+.LP
+.RE
+.LP
+\f2\-J<option>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+supply options to the vm.
+.LP
+.RE
+.LP
+\f2\-system\fP
+.LP
+.RS 3
+
+.LP
+.LP
+run the application from the system cache only.
+.LP
+.RE
+.RE
+.SS
+CONTROL\-OPTIONS
+.LP
+.RS 3
+
+.LP
+.LP
+\f2\-viewer\fP
+.LP
+.RS 3
+
+.LP
+.LP
+show the Cache Viewer in the java control panel
+.LP
+.RE
+.LP
+\f2\-userConfig <property name>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+clear the specified deployment property.
+.LP
+.RE
+.LP
+\f2\-userConfig <property name> <property value>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+set the specified deployment property to the specified value.
+.LP
+.RE
+.LP
+\f2\-uninstall\fP
+.LP
+.RS 3
+
+.LP
+.LP
+remove all applications from the cache.
+.LP
+.RE
+.LP
+\f2\-uninstall <jnlp>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+remove the application from the cache.
+.LP
+.RE
+.LP
+\f2\-import [import\-options] <jnlp>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import the application to the cache.
+.LP
+.RE
+\f3IMPORT\-OPTIONS\fP
+.LP
+.LP
+\f2\-silent\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import silently (with no user interface).
+.LP
+.RE
+.LP
+\f2\-system\fP
+.LP
+.RS 3
+
+.LP
+.LP
+import application to the system cache.
+.LP
+.RE
+.LP
+\f2\-codebase <url>\fP
+.LP
+.RS 3
+
+.LP
+.LP
+retrieve resources from the given codebase.
+.LP
+.RE
+.LP
+\f2\-shortcut\fP
+.LP
+.RS 3
+
+.LP
+.LP
+install shortcuts as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
+.LP
+.RE
+.LP
+\f2\-association\fP
+.LP
+.RS 3
+
+.LP
+.LP
+install associations as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used.
+.LP
+.RE
+.RE
.SS
FILES
.LP
+.RS 3
.LP
.LP
@@ -292,15 +338,17 @@
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html.
.LP
+.RE
.SS
MORE INFORMATION
.LP
+.RS 3
.LP
.LP
For more information about Java Web Start, see
.na
-\f2Java Web Start version 1.5.0\fP @
+\f2Java Web Start\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html.
.LP
@@ -311,4 +359,7 @@
\
.LP
.RE
+.RE
+
+.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jconsole.1 b/jdk/src/solaris/doc/sun/man/man1/jconsole.1
index aa73150..d927ef8 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jconsole.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jconsole.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jconsole 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH jconsole 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jconsole \- Java Monitoring and Management Console
.LP
.SH "SYNOPSIS"
@@ -53,11 +52,23 @@
.TP 3
connection = pid | host:port | jmxUrl
.RS 3
-\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See JMX Monitoring and Management for details.
+\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See
+.na
+\f2JMX Monitoring and Management\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details.
.br
-\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See JMX Monitoring and Management for details.
+\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See
+.na
+\f2JMX Monitoring and Management\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details.
.br
-\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in JMXServiceURL.
+\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in
+.na
+\f2JMXServiceURL\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html.
.RE
.RE
@@ -95,7 +106,11 @@
\fP
.fi
.LP
-containing one line for each plugin specifying the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class.
+containing one line for each plugin specifying the fully qualified class name of the class implementing the
+.na
+\f2com.sun.tools.jconsole.JConsolePlugin\fP @
+.fi
+http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html class.
.TP 3
\-version\
Output version information and exit.
@@ -113,10 +128,16 @@
.RS 3
.TP 2
o
-Using JConsole
+.na
+\f2Using JConsole\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
.TP 2
o
-Monitoring and Management for Java Platform
+.na
+\f2Monitoring and Management for Java Platform\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/management/index.html
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jdb.1 b/jdk/src/solaris/doc/sun/man/man1/jdb.1
index bdfbf0b..c102619 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jdb.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jdb.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jdb 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jdb 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jdb \- The Java Debugger
.LP
+.RS 3
.LP
.LP
\f3jdb\fP helps you find and fix bugs in Java language programs.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -47,6 +48,7 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options, as specified below.
@@ -56,6 +58,8 @@
.TP 3
arguments
Arguments passed to the \f2main()\fP method of \f2class\fP.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -72,6 +76,7 @@
.SS
Starting a jdb Session
.LP
+.RS 3
.LP
.LP
@@ -133,11 +138,11 @@
.na
\f2documentation\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see
+http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see the
.na
\f21.4.2 documentation\fP @
.fi
-http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html
+http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html
.LP
.SS
Basic jdb Commands
@@ -148,6 +153,7 @@
.RS 3
.LP
+.RS 3
.TP 3
help, or ?
The most important \f3jdb\fP command, \f2help\fP displays the list of recognized commands with a brief description.
@@ -161,24 +167,24 @@
print
Displays Java objects and primitive values. For variables or fields of primitive types, the actual value is printed. For objects, a short description is printed. See the \f2dump\fP command below for getting more information about an object.
.LP
-\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac\fP\f2 \fP\f2\-g\fP option.
+\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP option.
.LP
\f2print\fP supports many simple Java expressions including those with method invocations, for example:
.RS 3
.TP 2
-*
+o
\f2print MyClass.myStaticField\fP
.TP 2
-*
+o
\f2print myObj.myInstanceField\fP
.TP 2
-*
+o
\f2print i + j + k\fP \f2(i, j, k are primities and either fields or local variables)\fP
.TP 2
-*
+o
\f2print myObj.myMethod()\fP \f2(if myMethod returns a non\-null)\fP
.TP 2
-*
+o
\f2print new java.lang.String("Hello").length()\fP
.RE
.TP 3
@@ -209,11 +215,14 @@
\f2where\fP with no arguments dumps the stack of the current thread. \f2where all\fP dumps the stack of all threads in the current thread group. \f2where\fP \f2threadindex\fP dumps the stack of the specified thread.
.LP
If the current thread is suspended (either through an event such as a breakpoint or through the \f2suspend\fP command), local variables and fields can be displayed with the \f2print\fP and \f2dump\fP commands. The \f2up\fP and \f2down\fP commands select which stack frame is current.
+.RE
+
.LP
.RE
.SS
Breakpoints
.LP
+.RS 3
.LP
.LP
@@ -221,16 +230,16 @@
.LP
.RS 3
.TP 2
-*
+o
\f2stop at MyClass:22\fP \f2(sets a breakpoint at the first instruction for line 22 of the source file containing MyClass)\fP
.TP 2
-*
+o
\f2stop in java.lang.String.length\fP \f2(sets a breakpoint at the beginnig of the method \fP\f2java.lang.String.length\fP)
.TP 2
-*
+o
\f2stop in MyClass.<init>\fP \f2(<init> identifies the MyClass constructor)\fP
.TP 2
-*
+o
\f2stop in MyClass.<clinit>\fP \f2(<clinit> identifies the static initialization code for MyClass)\fP
.RE
@@ -241,17 +250,21 @@
.LP
The \f2clear\fP command removes breakpoints using a syntax as in "\f2clear\ MyClass:45\fP". Using the \f2clear\fP or command with no argument displays a list of all breakpoints currently set. The \f2cont\fP command continues execution.
.LP
+.RE
.SS
Stepping
.LP
+.RS 3
.LP
.LP
The \f2step\fP commands advances execution to the next line whether it is in the current stack frame or a called method. The \f2next\fP command advances execution to the next line in the current stack frame.
.LP
+.RE
.SS
Exceptions
.LP
+.RS 3
.LP
.LP
@@ -266,6 +279,8 @@
.LP
\f2NOTE: The \fP\f2ignore\fP command does not cause the debugged VM to ignore specific exceptions, only the debugger.
.LP
+.RE
+.RE
.SH "Command Line Options"
.LP
@@ -276,6 +291,7 @@
.LP
The following additional options are accepted by \f3jdb\fP:
.LP
+.RS 3
.TP 3
\-help
Displays a help message.
@@ -298,8 +314,7 @@
\-listconnectors
List the connectors available in this VM
.TP 3
-\-connect
-<connector\-name>:<name1>=<value1>,...
+\-connect <connector\-name>:<name1>=<value1>,...
Connects to target VM using named connector with listed argument values.
.TP 3
\-dbgtrace [flags]
@@ -313,6 +328,8 @@
.TP 3
\-Joption
Pass \f2option\fP to the Java virtual machine used to run jdb. (Options for the application Java virtual machine are passed to the \f3run\fP command.) For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.LP
Other options are supported for alternate mechanisms for connecting the debugger and the VM it is to debug. The Java Platform Debugger Architecture has additional
@@ -324,6 +341,7 @@
.SS
Options Forwarded to Debuggee Process
.LP
+.RS 3
.TP 3
\-v \-verbose[:class|gc|jni]
Turns on verbose mode.
@@ -331,19 +349,20 @@
\-D<name>=<value>
Sets a system property.
.TP 3
-\-classpath <directories separated by
-":">
+\-classpath <directories separated by ":">
Lists directories in which to look for classes.
.TP 3
\-X<option>
Non\-standard target VM option
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-javac, java, javah, javap, javadoc.
+javac(1), java(1), javah(1), javap(1), javadoc(1).
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jhat.1 b/jdk/src/solaris/doc/sun/man/man1/jhat.1
index df731a1..5ec79e3 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jhat.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jhat.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jhat 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jhat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jhat \- Java Heap Analysis Tool
.LP
.SH "SYNOPSIS"
@@ -45,16 +44,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Options, if used, should follow immediately after the command name.
+.br
.TP 3
heap\-dump\-file
Java binary heap dump file to be browsed. For a dump file that contains multiple heap dumps, you may specify which dump in the file by appending "#<number> to the file name, i.e. "foo.hprof#3".
-.LP
-.SH "DESCRIPTION"
-.LP
-
+.SH "DESCRIPTION"
.LP
.LP
The \f3jhat\fP command parses a java heap dump file and launches a webserver. jhat enables you to browse heap dumps using your favorite webbrowser. jhat supports pre\-designed queries (such as 'show all instances of a known class "Foo"') as well as \f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) \- a SQL\-like query language to query heap dumps. Help on OQL is available from the OQL help page shown by jhat. With the default port, OQL help is available at http://localhost:7000/oqlhelp/
@@ -64,20 +62,20 @@
.LP
.RS 3
.TP 2
-*
-Use jmap \-dump option to obtain a heap dump at runtime;
+o
+Use jmap(1) \-dump option to obtain a heap dump at runtime;
.TP 2
-*
-Use jconsole option to obtain a heap dump via
+o
+Use jconsole(1) option to obtain a heap dump via
.na
\f2HotSpotDiagnosticMXBean\fP @
.fi
-http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html at runtime;
+http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html at runtime;
.TP 2
-*
+o
Heap dump will be generated when OutOfMemoryError is thrown by specifying \-XX:+HeapDumpOnOutOfMemoryError VM option;
.TP 2
-*
+o
Use
.na
\f2hprof\fP @
@@ -89,10 +87,8 @@
.LP
\f3NOTE:\fP This tool is \f3experimental\fP and may \f3not\fP be available in future versions of the JDK.
.LP
-.SH "OPTIONS"
-.LP
-
-.LP
+.SH "OPTIONS"
+.RS 3
.TP 3
\-stack false/true
Turn off tracking object allocation call stack. Note that if allocation site information is not available in the heap dump, you have to set this flag to false. Default is true.
@@ -123,25 +119,23 @@
.TP 3
\-J<flag>\
Pass <flag> to the Java virtual machine on which jhat is run. For example, \-J\-Xmx512m to use a maximum heap size of 512MB.
+.RE
+
.LP
-.SH "SEE ALSO"
-.LP
+.SH "SEE ALSO"
.RS 3
.TP 2
-*
-jmap \- Java Memory Map
+o
+jmap(1)
.TP 2
-*
-jconsole \- Java Monitoring and Management Console
+o
+jconsole(1)
.TP 2
-*
+o
.na
\f2hprof \- Heap and CPU profiling tool\fP @
.fi
http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
.RE
-
-.LP
-
-.LP
+.RE
diff --git a/jdk/src/solaris/doc/sun/man/man1/jinfo.1 b/jdk/src/solaris/doc/sun/man/man1/jinfo.1
index 7153c1f..3b2741f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jinfo.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jinfo.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jinfo 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jinfo 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jinfo \- Configuration Info
.LP
.SH "SYNOPSIS"
@@ -47,24 +46,37 @@
.LP
.LP
+.RS 3
.TP 3
option
Options are mutually exclusive. Option, if used, should follow immediately after the command name.
+.RS 3
.TP 3
pid
-process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
+.RE
+.RS 3
.TP 3
executable
-Java executable from which the core dump was produced.
+Java executable from which the core dump was produced.
+.RE
+.RS 3
.TP 3
core
-core file for which the configuration info is to be printed.
+core file for which the configuration info is to be printed.
+.RE
+.RS 3
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
+.RE
+.RS 3
.TP 3
server\-id
-optional unique id, if multiple debug servers are running on the same remote host.
+optional unique id, if multiple debug servers are running on the same remote host.
+.RE
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -81,12 +93,16 @@
jinfo \-J\-d64 \-sysprops pid
.RE
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. On Windows, jinfo only supports the \-flag option of a running process.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' need to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
<no option>
prints both command line flags as well as System properties name, value pairs.
@@ -117,16 +133,18 @@
.TP 3
\-help
prints a help message
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jmap.1 b/jdk/src/solaris/doc/sun/man/man1/jmap.1
index 609b903..915704b 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jmap.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jmap.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jmap 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jmap 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jmap \- Memory Map
.LP
.SH "SYNOPSIS"
@@ -47,25 +46,31 @@
.LP
.LP
+.RS 3
.TP 3
option
Options are mutually exclusive. Option, if used, should follow immediately after the command name.
.TP 3
pid
-process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
+.br
.TP 3
executable
Java executable from which the core dump was produced.
+.br
.TP 3
core
core file for which the memory map is to be printed.
+.br
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
+.br
.TP 3
server\-id
optional unique id, if multiple debug servers are running on the same remote host.
.br
+.RE
.LP
.SH "DESCRIPTION"
@@ -88,76 +93,78 @@
.RE
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
+.LP
.br
.LP
-The only forms of jmap available on the Windows platform are
-.RS 3
-
-.LP
-jmap \-dump:<\f2dump\-options\fP> pid
-.RE
-and
-.RS 3
-
-.LP
-jmap \-histo[:live] pid
-.RE
.SH "OPTIONS"
.LP
.LP
+.RS 3
.TP 3
-<no
-option>
-When no option is used jmap prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility.
+<no option>
+When no option is used \f3jmap\fP prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility.
+.br
.TP 3
\-dump:[live,]format=b,file=<filename>
-Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat (Java Heap Analysis Tool) to read the generated file.
+Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat(1) (Java Heap Analysis Tool) to read the generated file.
+.br
.TP 3
\-finalizerinfo
Prints information on objects awaiting finalization.
+.br
.TP 3
\-heap
Prints a heap summary. GC algorithm used, heap configuration and generation wise heap usage are printed.
+.br
.TP 3
\-histo[:live]
Prints a histogram of the heap. For each Java class, number of objects, memory size in bytes, and fully qualified class names are printed. VM internal class names are printed with '*' prefix. If the \f2live\fP suboption is specified, only live objects are counted.
+.br
.TP 3
\-permstat
Prints class loader wise statistics of permanent generation of Java heap. For each class loader, its name, liveness, address, parent class loader, and the number and size of classes it has loaded are printed. In addition, the number and size of interned Strings are printed.
+.br
.TP 3
\-F
Force. Use with jmap \-dump or jmap \-histo option if the pid does not respond. The \f2live\fP suboption is not supported in this mode.
+.br
.TP 3
\-h
Prints a help message.
.br
+.br
.TP 3
\-help
Prints a help message.
.br
+.br
.TP 3
\-J<flag>
Passes <flag> to the Java virtual machine on which jmap is run.
+.br
+.RE
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-pmap (1)
+o
+pmap(1)
.TP 2
-*
-jhat
+o
+jhat(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jsadebugd
+o
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jps.1 b/jdk/src/solaris/doc/sun/man/man1/jps.1
index df7a26f..a692265 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jps.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jps.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jps 1 "06 Aug 2006"
-." Generated by html2man
+."
+.TH jps 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jps \- Java Virtual Machine Process Status Tool
.LP
.SH "SYNOPSIS"
@@ -45,12 +44,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Command\-line options.
.TP 3
hostid
The host identifier of the host for which the process report should be generated. The \f2hostid\fP may include optional components that indicate the communications protocol, port number, and other implementation specific data.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -81,6 +83,7 @@
.LP
The \f3jps\fP command supports a number of options that modify the output of the command. These options are subject to change or removal in the future.
.LP
+.RS 3
.TP 3
\-q
Suppress the output of the class name, JAR file name, and arguments passed to the \f2main\fP method, producing only a list of local VM identifiers.
@@ -99,6 +102,8 @@
.TP 3
\-Joption
Pass \f2option\fP to the \f3java\fP launcher called by \f3jps\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java.
+.RE
+
.LP
.SS
HOST IDENTIFIER
@@ -120,6 +125,7 @@
.fi
.LP
+.RS 3
.TP 3
protocol
The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific, optimized, local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
@@ -131,7 +137,9 @@
The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
.TP 3
servername
-The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the \f3jstatd\fP command.
+The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the jstatd(1) command.
+.RE
+
.LP
.RE
.SH "OUTPUT FORMAT"
@@ -205,7 +213,7 @@
.br
.fl
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
.br
.fl
@@ -229,7 +237,7 @@
.br
.fl
-3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
+3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
.br
.fl
@@ -243,16 +251,16 @@
.RS 3
.TP 2
o
-java \- the Java Application Launcher
+java(1) \- the Java Application Launcher
.TP 2
o
-jstat \- the Java virtual machine Statistics Monitoring Tool
+jstat(1) \- the Java virtual machine Statistics Monitoring Tool
.TP 2
o
-jstatd \- the jstat daemon
+jstatd(1) \- the jstat daemon
.TP 2
o
-rmiregistry \- the Java Remote Object Registry
+rmiregistry(1) \- the Java Remote Object Registry
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jrunscript.1 b/jdk/src/solaris/doc/sun/man/man1/jrunscript.1
index cd442d3..5abd126 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jrunscript.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jrunscript.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jrunscript 1 "06 Aug 2006"
-." Generated by html2man
+."
+.TH jrunscript 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jrunscript \- command line script shell
.LP
.SH "SYNOPSIS"
@@ -43,12 +42,15 @@
.LP
.LP
+.RS 3
.TP 3
options
Options, if used, should follow immediately after the command name.
.TP 3
arguments
Arguments, if used, should follow immediately after options or command name.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -64,6 +66,7 @@
.LP
.LP
+.RS 3
.TP 3
\-classpath path
Specify where to find the user's .class files that are accessed by the script.
@@ -100,6 +103,8 @@
.TP 3
\-q\
List all script engines available and exit.
+.RE
+
.LP
.SH "ARGUMENTS"
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 b/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1
index b2514cc..6f99725 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jsadebugd 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jsadebugd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jsadebugd \- Serviceability Agent Debug Daemon
.LP
.SH "SYNOPSIS"
@@ -45,30 +44,49 @@
.LP
.LP
+.RS 3
.TP 3
pid
-process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. At most one instance of the debug server may be attached to a single process.
+process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. At most one instance of the debug server may be attached to a single process.
+.RE
+
.LP
+.RS 3
.TP 3
executable
+.RE
+
.LP
+.RS 3
.TP 3
Java executable from which the core dump was produced
+.RE
+
.LP
+.RS 3
.TP 3
core
Core file to which the debug server should attach.
+.RE
+
.LP
+.RS 3
.TP 3
server\-id
Optional unique id, needed if multiple debug servers are started on the same machine. This ID must be used by remote clients to identify the particular debug server to attach. Within a single machine, this ID must be unique.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
.LP
.LP
-\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack, jmap, and jinfo can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, rmiregistry must be started with:
+\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack(1), jmap(1), and jinfo(1) can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP,
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi must be started with:
.LP
.RS 3
@@ -87,26 +105,32 @@
where \f2$JAVA_HOME\fP is the JDK installation directory. If rmiregistry was not started, jsadebugd will start an rmiregistry in a standard (1099) port internally. Debug server may be stopped by sending SIGINT (pressing Ctrl\-C) to it.
.LP
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. jsadebugd is not currently available on Windows platforms.\fP
+\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP
+.LP
+.LP
+\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
-*
-jinfo
+o
+jinfo(1)
.TP 2
-*
-jmap
+o
+jmap(1)
.TP 2
-*
-jps
+o
+jps(1)
.TP 2
-*
-jstack
+o
+jstack(1)
.TP 2
-*
-rmiregistry
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jstack.1 b/jdk/src/solaris/doc/sun/man/man1/jstack.1
index 6cde925..0486a85 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jstack.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jstack.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jstack 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH jstack 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jstack \- Stack Trace
.br
@@ -55,7 +54,7 @@
.RS 3
.TP 3
pid
-process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used.
+process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used.
.RE
.LP
@@ -70,7 +69,7 @@
.br
.TP 3
remote\-hostname\-or\-IP
-remote debug server's (see jsadebugd) hostname or IP address.
+remote debug server's (see jsadebugd(1)) hostname or IP address.
.br
.TP 3
server\-id
@@ -101,15 +100,10 @@
.LP
.LP
-\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. The only form of jstack that is available on Windows platforms is\fP
+\f3NOTE\fP \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \f2PATH\fP environment variable should contain the location of \f2jvm.dll\fP used by the target process or the location from which the Crash Dump file was produced.
.LP
-.nf
-\f3
-.fl
-\fP\f3 jstack pid \fP
-.fl
-.fi
-
+.LP
+For example, \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP
.LP
.SH "OPTIONS"
.LP
@@ -118,7 +112,14 @@
.RS 3
.TP 3
\-F
-Forces a stack dump when 'jstack pid' does not respond.
+Force a stack dump when 'jstack [\-l] pid' does not respond.
+.TP 3
+\-l
+Long listing. Prints additional information about locks such as list of owned java.util.concurrent
+.na
+\f2ownable synchronizers\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html.
.TP 3
\-m
prints mixed mode (both Java and native C/C++ frames) stack trace.
@@ -145,10 +146,10 @@
c++filt(1)
.TP 2
o
-jps
+jps(1)
.TP 2
o
-jsadebugd
+jsadebugd(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jstat.1 b/jdk/src/solaris/doc/sun/man/man1/jstat.1
index e7a9462..4abcf0f 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jstat.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jstat.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -19,25 +18,39 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jstat 1 "06 Aug 2006"
-." Generated by html2man
-.SH NAME
+."
+.TH jstat 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "Name"
jstat \- Java Virtual Machine Statistics Monitoring Tool
+.LP
.SH "SYNOPSIS"
+.LP
+
+.LP
.nf
-\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
+\f3
+.fl
+\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ]
.fl
.fi
+
+.LP
.SH "PARAMETERS"
+.LP
+
+.LP
+.RS 3
.TP 3
-generalOption
-A single general command\-line option (\-help, \-options, or \-version)
+generalOption
+A single general command\-line option (\-help, \-options, or \-version)
.TP 3
-outputOptions
-One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options.
+outputOptions
+One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options.
.TP 3
-vmid
+vmid
Virtual machine identifier, a string indicating the target Java virtual machine (JVM). The general syntax is
.nf
\f3
@@ -45,82 +58,124 @@
[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP]
.fl
.fi
-The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details.
+The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details.
.TP 3
-interval[s|ms]
-Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval.
+interval[s|ms]
+Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval.
.TP 3
-count
-Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer.
+count
+Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer.
+.RE
+
+.LP
.SH "DESCRIPTION"
.LP
+
+.LP
+.LP
The \f3jstat\fP tool displays performance statistics for an instrumented HotSpot Java virtual machine (JVM). The target JVM is identified by its virtual machine identifier, or \f2vmid\fP option described below.
.LP
+.LP
\f3NOTE\fP: This utility is unsupported and may not be available in future versions of the JDK. It is not currently available on Windows 98 and Windows ME. platforms.
.br
+
+.LP
.SS
VIRTUAL MACHINE IDENTIFIER
.LP
+.RS 3
+
+.LP
+.LP
The syntax of the \f2vmid\fP string largely corresponds to the syntax of a URI:
+.LP
.nf
\f3
.fl
[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP]
.fl
.fi
+
+.LP
+.RS 3
.TP 3
-protocol
-The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
+protocol
+The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP.
.TP 3
-lvmid
-The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the \f3jps\fP command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager.
+lvmid
+The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the jps(1) command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager.
.TP 3
-hostname
-A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host.
+hostname
+A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host.
.TP 3
-port
-The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
+port
+The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used.
.TP 3
-servername
-The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host.
+servername
+The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host.
+.RE
+
+.LP
+.RE
.SH "OPTIONS"
.LP
+
+.LP
+.LP
The \f3jstat\fP command supports two types of options, general options and output options. General options cause \f3jstat\fP to display simple usage and version information. Output options determine the content and format of the statistical output.
.br
+
+.LP
.LP
\f3NOTE\fP: All options, and their functionality are subject to change or removal in future releases.
+.LP
.SS
-GENERAL
-OPTIONS
+GENERAL OPTIONS
+.LP
.LP
If you specify one of the general options, you cannot specify any other option or parameter.
+.LP
+.RS 3
.TP 3
-\-help
-Display help message.
+\-help
+Display help message.
.TP 3
-\-version
-Display version information.
+\-version
+Display version information.
.TP 3
-\-options
-Display list of statistics options. See the Output Options section below.
+\-options
+Display list of statistics options. See the Output Options section below.
+.RE
+
+.LP
.SS
-OUTPUT
-OPTIONS
+OUTPUT OPTIONS
+.LP
+.RS 3
+
+.LP
.LP
If you do not specify a general option, then you can specify output options. Output options determine the content and format of \f3jstat\fP's output, and consist of a single \f2statOption\fP, plus any of the other output options (\-h, \-t, and \-J).\ The \f2statOption\fP must come first.
.LP
+.LP
Output is formatted as a table, with columns are separated by spaces. A header row with titles describes the columns.\ Use the \f3\-h\fP option to set the frequency at which the header is displayed.\ Column header names are generally consistent between the different options. In general, if two options provide a column with the same name, then the data source for the two columns are the same.
.LP
+.LP
Use the \f3\-t\fP option to display a time stamp column, labeled \f2Timestamp\fP as the first column of output. The \f2Timestamp\fP column contains the elapsed time, in seconds, since startup of the target JVM. The resolution of the time stamp is dependent on various factors and is subject to variation due to delayed thread scheduling on heavily loaded systems.
.LP
+.LP
Use the \f2interval\fP and \f2count\fP parameters to determine how frequently and how many times, respectively, \f3jstat\fP displays its output.
.LP
+.LP
\f3NOTE\fP: You are advised not to write scripts to parse \f3jstat's\fP output since the format may change in future releases. If you choose to write scripts that parse \f3jstat\fP output, expect to modify them for future releases of this tool.
+.LP
+.RS 3
.TP 3
-\-statOption
+\-statOption
Determines the statistics information that \f3jstat\fP displays. The following table lists the available options.\ Use the \f3\-options\fP general option to display the list of options for a particular platform installation.
.br
.br
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -403,7 +458,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 231 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -632,39 +687,33 @@
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-52
.TP 3
-\-hn
-Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data.
+\-h n
+Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data.
.TP 3
-\-tn
-Display a timestamp column as the first column of output. The timestamp is the the time since the start time of the target JVM.
+\-t n
+Display a timestamp column as the first column of output. The timestamp is the time since the start time of the target JVM.
.TP 3
-\-JjavaOption
-Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see the following documents:
-.RS 3
-.TP 2
-*
-.na
-\f2java \- the Java application launcher (Solaris)\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html
-.TP 2
-*
-.na
-\f2java \- the Java application launcher (Linux)\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html
-.TP 2
-*
-java \- the Java application launcher (Windows)
+\-JjavaOption
+Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see java(1)
+.RE
+
+.LP
.RE
.SS
-STATOPTIONS AND
-OUTPUT
+STATOPTIONS AND OUTPUT
+.LP
+.RS 3
+
+.LP
.LP
The following tables summarize the columns that \f3jstat\fP outputs for each \f2statOption\fP.
.br
+
+.LP
.SS
\-class Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -777,7 +826,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 214 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 281 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -864,9 +913,12 @@
.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-21
+
+.LP
.SS
-\-compiler
-Option
+\-compiler Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -1031,7 +1083,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 247 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 317 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1161,8 +1213,12 @@
.rm f+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-29
+
+.LP
.SS
\-gc Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -1491,7 +1547,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 313 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 387 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -1761,8 +1817,12 @@
.rm n+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
+
+.LP
.SS
\-gccapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2111,7 +2171,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 383 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 461 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2398,11 +2458,15 @@
.rm o+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-67
+
+.LP
.SS
-\-gccause
-Option
+\-gccause Option
+.LP
.LP
This option displays the same summary of garbage collection statistics as the \f3\-gcutil\fP option, but includes the causes of the last garbage collection event and (if applicable) the current garbage collection event. In addition to the columns listed for \f3\-gcutil\fP, this option adds the following columns:
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2487,7 +2551,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 402 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 484 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -2549,8 +2613,12 @@
.rm b+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-13
+
+.LP
.SS
\-gcnew Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -2799,7 +2867,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 452 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 538 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3001,8 +3069,12 @@
.rm j+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-47
+
+.LP
.SS
\-gcnewcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3250,7 +3322,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 504 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 594 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3452,8 +3524,12 @@
.rm j+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-49
+
+.LP
.SS
\-gcold Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3642,7 +3718,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 542 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 636 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -3793,8 +3869,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
\-gcoldcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -3983,7 +4063,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 580 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 678 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4134,8 +4214,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
\-gcpermcapacity Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -4324,7 +4408,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 618 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 720 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4475,9 +4559,12 @@
.rm g+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-35
+
+.LP
.SS
-\-gcutil
-Option
+\-gcutil Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -4706,7 +4793,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 665 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 770 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -4891,8 +4978,12 @@
.rm i+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-43
+
+.LP
.SS
\-printcompilation Option
+.LP
+.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
@@ -5001,7 +5092,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 687 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 796 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -5084,16 +5175,26 @@
.rm c+
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-19
+
+.LP
.SS
+
+.LP
.SH ""
.LP
+.LP
This section presents some examples of monitoring a local JVM with a \f2lvmid\fP of 21891.
+.LP
.SS
Using the gcutil option
.LP
+.LP
This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the \f3\-gcutil\fP option.
+.LP
.nf
-\f3jstat \-gcutil 21891 250 7\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 21891 250 7\fP
.br
.fl
@@ -5127,16 +5228,24 @@
.fl
0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
.br
+
+.fl
.fi
+
+.LP
.LP
The output of this example shows that a young generation collection occurred between the 3rd and 4th sample. The collection took 0.001 seconds and promoted objects from the eden space (E) to the old space (O), resulting in an increase of old space utilization from 9.49% to 9.51%. Before the collection, the survivor space was 12.44% utilized, but after this collection it is only 7.74% utilized.
+.LP
.SS
-Repeating the column header
-string
+Repeating the column header string
+.LP
.LP
This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond intervals and displays the output as specified by \f3\-gcutil\fP option. In addition, it uses the \f3\-h3\fP option to output the column header after every 3 lines of data.
+.LP
.nf
-\f3jstat \-gcnew \-h3 21891 250\fP
+\f3
+.fl
+\fP\f3jstat \-gcnew \-h3 21891 250\fP
.br
.fl
@@ -5178,18 +5287,27 @@
.fl
64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
.br
+
+.fl
.fi
+
+.LP
.LP
In addition to showing the repeating header string, this example shows that between the 2nd and 3rd samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough live data that the survivor space 0 utilization (S0U) would would have exceeded the desired survivor Size (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the tenuring threshold (TT) was lowered from 31 to 2.
.LP
+.LP
Another collection occurs between the 5th and 6th samples. This collection found very few survivors and returned the tenuring threshold to 31.
+.LP
.SS
-Including a
-time stamp for each sample
+Including a time stamp for each sample
+.LP
.LP
This example attaches to \f2lvmid\fP 21891 and takes 3 samples at 250 millisecond intervals. The \f3\-t\fP option is used to generate a time stamp for each sample in the first column.
+.LP
.nf
-\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
+\f3
+.fl
+\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP
.br
.fl
@@ -5207,37 +5325,56 @@
.fl
150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
.br
+
+.fl
.fi
+
+.LP
.LP
The \f2Timestamp\fP column reports the elapsed time in seconds since the start of the target JVM. In addition, the \f3\-gcoldcapacity\fP output shows the old generation capacity (OGC) and the old space capacity (OC) increasing as the heap expands to meet allocation and/or promotion demands. The old generation capacity (OGC) has grown to from 11696 KB to 13820 KB after the 81st Full GC (FGC). The maximum capacity of the generation (and space) is 60544 KB (OGCMX), so it still has room to expand.
+.LP
.SS
-Monitor
-instrumentation for a remote JVM
+Monitor instrumentation for a remote JVM
+.LP
.LP
This example attaches to \f2lvmid\fP 40496 on the system named \f2remote.domain\fP using the \f3\-gcutil\fP option, with samples taken every second indefinitely.
+.LP
.nf
-\f3jstat \-gcutil 40496@remote.domain 1000\fP
+\f3
+.fl
+\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP
.br
.fl
... \f2output omitted\fP
.br
+
+.fl
.fi
+
+.LP
.LP
The \f2lvmid\fP is combined with the name of the remote host to construct a \f2vmid\fP of \f240496@remote.domain\fP. This \f2vmid\fP results in the use of the \f3rmi\fP protocol to communicate to the default \f3jstatd\fP server on the remote host. The \f3jstatd\fP server is located using the \f3rmiregistry\fP on \f2remote.domain\fP that is bound to the default \f3rmiregistry\fP port (port 1099).
+.LP
+.RE
.SH "SEE ALSO"
+.LP
.RS 3
.TP 2
-*
-java \- the Java Application Launcher
+o
+java(1) \- the Java Application Launcher
.TP 2
-*
-jps \- the Java Process Status Application
+o
+jps(1) \- the Java Process Status Application
.TP 2
-*
-jstatd \- the jvmstat daemon
+o
+jstatd(1) \- the jvmstat daemon
.TP 2
-*
-rmiregistry \- the Java Remote Object Registry
+o
+rmiregistry(1) \- the Java Remote Object Registry
.RE
+
+.LP
+
+.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/jstatd.1 b/jdk/src/solaris/doc/sun/man/man1/jstatd.1
index 1468182..e80e649 100644
--- a/jdk/src/solaris/doc/sun/man/man1/jstatd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/jstatd.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH jstatd 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH jstatd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
jstatd \- Virtual Machine jstat Daemon
.LP
.SH "SYNOPSIS"
@@ -46,9 +45,12 @@
.LP
.LP
+.RS 3
.TP 3
options
Command\-line options. The options may be in any order. If there are redundant or contradictory options, the last option specified will take precedence.
+.RE
+
.LP
.SH "DESCRIPTION"
.LP
@@ -70,6 +72,7 @@
.LP
The \f3jstatd\fP command supports the following options:
.LP
+.RS 3
.TP 3
\-nr
Do not attempt to create an internal RMI registry within the \f2jstatd\fP process when an existing RMI registry is not found.
@@ -78,10 +81,12 @@
Port number where the RMI registry is expected to be found, or, if not found, created if \f2\-nr\fP is not specified.
.TP 3
\-n\ rminame
-Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings.
+Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings.
.TP 3
\-Joption
Pass \f2option\fP to the \f3java\fP launcher called by \f3javac\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java.
+.RE
+
.LP
.SH "SECURITY"
.LP
@@ -139,8 +144,7 @@
.LP
For sites with more restrictive security practices, it is possible to use a custom policy file to limit access to specific trusted hosts or networks, though such techniques are subject to IP addreess spoofing attacks. If your security concerns cannot be addressed with a customized policy file, then the safest action is to not run the \f3jstatd\fP server and use the \f3jstat\fP and \f3jps\fP tools locally.
.LP
-.SH "REMOTE
-INTERFACE"
+.SH "REMOTE INTERFACE"
.LP
.LP
@@ -155,8 +159,7 @@
Here are some examples of starting \f3jstatd\fP. Note that the \f3jstatd\fP scripts automatically start the server in the background.
.LP
.SS
-Using Internal RMI
-Registry
+Using Internal RMI Registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP with an internal RMI registry. This example assumes that no other server is bound to the default RMI Registry port (port 1099).
@@ -171,8 +174,7 @@
.LP
.SS
-Using
-External RMI Registry
+Using External RMI Registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP with a external RMI registry.
@@ -217,8 +219,7 @@
.LP
.SS
-Inhibiting creation of an in\-process RMI
-registry
+Inhibiting creation of an in\-process RMI registry
.LP
.LP
This example demonstrates starting \f3jstatd\fP such that it will not create a RMI registry if one is not found. This example assumes an RMI registry is already running. If it is not, an appropriate error message is emitted.
@@ -233,8 +234,7 @@
.LP
.SS
-Enabling RMI
-logging capabilities.
+Enabling RMI logging capabilities.
.LP
.LP
This example demonstrates starting \f3jstatd\fP with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities.
@@ -252,17 +252,20 @@
.LP
.RS 3
.TP 2
-*
-java \- the Java Application Launcher
+o
+java(1) \- the Java Application Launcher
.TP 2
-*
-jps \- the Java Process Status Application
+o
+jps(1) \- the Java Process Status Application
.TP 2
-*
-jstat \- the Java Virtual Machine Statistics Monitoring Tool
+o
+jstat(1) \- the Java Virtual Machine Statistics Monitoring Tool
.TP 2
-*
-rmiregistry \- the Java Remote Object Registry
+o
+.na
+\f2rmiregistry\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- the Java Remote Object Registry
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/keytool.1 b/jdk/src/solaris/doc/sun/man/man1/keytool.1
index da0a854..12acb2a 100644
--- a/jdk/src/solaris/doc/sun/man/man1/keytool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/keytool.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH keytool 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH keytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
keytool \- Key and Certificate Management Tool
.LP
.RS 3
@@ -163,17 +162,19 @@
.fl
.fl
-\-keystore \fP\f4the file named \fP\f4.keystore\fP\f3 in the user's home directory\fP\f3
+\-keystore the file named \fP\f4.keystore\fP\f3 in the user's home directory
.fl
.fl
-\-storetype \fP\f4the value of the "keystore.type" property in the security properties file,
+\-storetype the value of the "keystore.type" property in the security properties file,
.fl
- which is returned by the static \fP\f4getDefaultType\fP\f3 method in \fP\f4java.security.KeyStore\fP\f3
+ which is returned by the static \fP\f4getDefaultType\fP\f3 method in
+.fl
+ \fP\f4java.security.KeyStore\fP\f3
.fl
.fl
-\-file \fP\f4stdin if reading, stdout if writing\fP\f3
+\-file stdin if reading, stdout if writing
.fl
.fl
@@ -185,7 +186,7 @@
.fi
.LP
-In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "MD5withRSA". Please consult the
+In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "SHA1withRSA". Please consult the
.na
\f2Java Cryptography Architecture API Specification & Reference\fP @
.fi
@@ -197,7 +198,7 @@
.RS 3
.LP
-The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be output.
+The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be provided in the output.
.LP
There is also a \f2\-J\fP\f2javaoption\fP option that may appear for any command. If it appears, the specified \f2javaoption\fP string is passed through directly to the Java interpreter. This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
.LP
@@ -234,9 +235,437 @@
.TP 3
\-protected
Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader.
-.RE
+.LP
+Note: Since there are two keystores involved in \f2\-importkeystore\fP command, two options, namely, \f2\-srcprotected\fP and \f2\-destprotected\fP are provided for the source keystore and the destination keystore respectively.
+.TP 3
+\-ext {name{:critical}{=value}}
+Denotes an X.509 certificate extension. The option can be used in \f2\-genkeypair\fP and \f2\-gencert\fP to embed extensions into the certificate generated, or in \f2\-certreq\fP to show what extensions are requested in the certificate request. The option can appear multiple times. name can be a supported extension name (see below) or an arbitrary OID number. value, if provided, denotes the parameter for the extension; if omitted, denotes the default value (if defined) of the extension or the extension requires no parameter. The \f2":critical"\fP modifier, if provided, means the extension's isCritical attribute is true; otherwise, false.
+.RS 3
.LP
+.LP
+Currently keytool supports these named extensions (case\-insensitive):
+.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
+.nr 34 \n(.lu
+.eo
+.am 81
+.br
+.di a+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+The full form: "ca:{true|false}[,pathlen:<len>]"; or, <len>, a shorthand for "ca:true,pathlen:<len>"; or omitted, means "ca:true"
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentCommitment), keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly. Usage can be abbreviated with the first few letters (say, dig for digitalSignature) or in camel\-case style (say, dS for digitalSignature, cRLS for cRLSign), as long as no ambiguity is found. Usage is case\-insensitive.
+.br
+.di
+.nr b| \n(dn
+.nr b- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di c+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+usage(,usage)*, usage can be one of anyExtendedKeyUsage, serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning, or any OID string. Named usage can be abbreviated with the first few letters or in camel\-case style, as long as no ambiguity is found. Usage is case\-insensitive.
+.br
+.di
+.nr c| \n(dn
+.nr c- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di d+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+SAN or SubjectAlternativeName
+.br
+.di
+.nr d| \n(dn
+.nr d- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di e+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+type:value(,type:value)*, type can be EMAIL, URI, DNS, IP, or OID, value is the string format value for the type.
+.br
+.di
+.nr e| \n(dn
+.nr e- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di f+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+IAN or IssuerAlternativeName
+.br
+.di
+.nr f| \n(dn
+.nr f- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di g+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+same as SubjectAlternativeName
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+method:location\-type:location\-value (,method:location\-type:location\-value)*, method can be "timeStamping", "caRepository" or any OID. location\-type and location\-value can be any type:value supported by the SubjectAlternativeName extension.
+.br
+.di
+.nr h| \n(dn
+.nr h- \n(dl
+..
+.ec \
+.eo
+.am 80
+.br
+.di i+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(80 .ll \n(80u
+.in 0
+AIA or AuthorityInfoAccess
+.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/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+same as SubjectInfoAccess. method can be "ocsp","caIssuers" or any OID.
+.br
+.di
+.nr j| \n(dn
+.nr j- \n(dl
+..
+.ec \
+.35
+.nf
+.ll \n(34u
+.nr 80 0
+.nr 38 \w\f3Name\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wBC or BasicConstraints
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wKU or KeyUsage
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wEKU or ExtendedkeyUsage
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \wSIA or SubjectInfoAccess
+.if \n(80<\n(38 .nr 80 \n(38
+.80
+.rm 80
+.nr 38 \n(d-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(f-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(i-
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 0
+.nr 38 \w\f3Value\fP
+.if \n(81<\n(38 .nr 81 \n(38
+.81
+.rm 81
+.nr 38 \n(a-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(b-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(c-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(e-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(g-
+.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
+.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 TW \n(81
+.if t .if \n(TW>\n(.li .tm Table at line 288 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
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3Name\fP\h'|\n(41u'\f3Value\fP
+.ne \n(a|u+\n(.Vu
+.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'BC or BasicConstraints\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.a+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(b|u+\n(.Vu
+.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'KU or KeyUsage\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.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(31u
+.ne \n(c|u+\n(.Vu
+.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'EKU or ExtendedkeyUsage\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.c+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(d|u+\n(.Vu
+.ne \n(e|u+\n(.Vu
+.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
+.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.d+
+.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
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(f|u+\n(.Vu
+.ne \n(g|u+\n(.Vu
+.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.f+
+.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
+.g+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(h|u+\n(.Vu
+.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'SIA or SubjectInfoAccess\h'|\n(41u'
+.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(31u
+.ne \n(i|u+\n(.Vu
+.ne \n(j|u+\n(.Vu
+.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(40u
+.in +\n(37u
+.i+
+.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
+.j+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.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+
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-38
+
+.LP
+.LP
+For name as OID, value is the HEX dumped DER encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Any extra character other than standard HEX numbers (0\-9, a\-f, A\-F) are ignored in the HEX string. Therefore, both \f2"01:02:03:04"\fP and \f2"01020304"\fP are accepted as identical values. If there's no value, the extension has an empty value field then.
+.LP
+.LP
+A special name \f2"honored"\fP, used in \-gencert only, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma\-seperated list of \f2"all"\fP (all requested extensions are honored), \f2"name{:[critical|non\-critical]}"\fP (the named extension is honored, but using a different isCritical attribute) and \f2"\-name"\fP (used with all, denotes an exception). Requested extensions are not honored by default.
+.LP
+.LP
+If, besides the \-ext honored option, another named or OID \-ext option is provided, this extension will be added to those already honored. However, if this name (or OID) also appears in the honored value, its value and criticality overrides the one in the request.
+.LP
+.LP
+The subjectKeyIdentifier extension is always created. For non self\-signed certificates, the authorityKeyIdentifier is always created.
+.LP
+.RE
+.RE
.RE
.SH "COMMANDS"
.LP
@@ -250,7 +679,15 @@
.LP
.RS 3
.TP 3
-\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+\-gencert {\-infile infile} {\-outfile outfile} {\-ext ext}* {\-rfc} {\-alias alias} {\-sigalg sigalg} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] [\-keypass keypass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
+.LP
+Generates a certificate as a response to a certificate request file (which can be created by the \f2keytool \-certreq\fP command). The command reads the request from infile (if omitted, from the standard input), signs it using alias's private key, and output the X.509 certificate into outfile (if omitted, to the standard output). If \f2\-rfc\fP is specified, output format is BASE64\-encoded PEM; otherwise, a binary DER is created.
+.LP
+\f2sigalg\fP specifies the algorithm that should be used to sign the certificate. valDays tells the number of days for which the certificate should be considered valid.
+.LP
+\f2ext\fP shows what X.509 extensions will be embedded in the certificate. Read Common Options for the grammar of \f2\-ext\fP.
+.TP 3
+\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
Generates a key pair (a public key and associated private key). Wraps the public key into an X.509 v3 self\-signed certificate, which is stored as a single\-element certificate chain. This certificate chain and the private key are stored in a new keystore entry identified by \f2alias\fP.
.LP
@@ -260,9 +697,60 @@
.LP
\f2keypass\fP is a password used to protect the private key of the generated key pair. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long.
.LP
-\f2valDays\fP tells the number of days for which the certificate should be considered valid.
+\f2startdate\fP specifies the issue time of the certificate, also known as the "Not Before" value of the X.509 certificate's Validity field.
+.RS 3
+
.LP
-This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-genkeypair\fP, is preferred going forward.
+.LP
+The option value can be set in one of these two forms:
+.LP
+.RS 3
+.TP 3
+1.
+.LP
+([+\-]\f2nnn\fP[ymdHMS])+
+.TP 3
+2.
+.LP
+[yyyy/mm/dd] [HH:MM:SS]
+.RE
+
+.LP
+.LP
+With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of sub values. Inside each sub value, the plus sign ("+") means shifting forward, and the minus sign ("\-") means shifting backward. The time to be shifted is \f2nnn\fP units of years, months, days, hours, minutes, or seconds (denoted by a single character of "y", "m", "d", "H", "M", or "S" respectively). The exact value of the issue time is calculated using the \f2java.util.GregorianCalendar.add(int field, int amount)\fP method on each sub value, from left to right. For example, by specifying \f2"\-startdate \-1y+1m\-1d"\fP, the issue time will be:
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+ Calendar c = new GregorianCalendar();
+.fl
+ c.add(Calendar.YEAR, \-1);
+.fl
+ c.add(Calendar.MONTH, 1);
+.fl
+ c.add(Calendar.DATE, \-1);
+.fl
+ return c.getTime()
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local timezone). The user may provide only one part, which means the other part is the same as the current date (or time). User must provide the exact number of digits as shown in the format definition (padding with 0 if shorter). When both the date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24 hour format.
+.LP
+.LP
+When the option is not provided, the start date is the current time. The option can be provided at most once.
+.LP
+.RE
+.LP
+\f2valDays\fP specifies the number of days (starting at the date specified by \f2\-startdate\fP, or the current date if \f2\-startdate\fP is not specified) for which the certificate should be considered valid.
+.LP
+This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarity the new name, \f2\-genkeypair\fP, is preferred going forward.
.TP 3
\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
@@ -272,7 +760,7 @@
.TP 3
\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption}
.LP
-Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or PKCS#7 reply is read from stdin.
+Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or a sequence of X.509 certificates) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or certificate chain is read from stdin.
.LP
\f3keytool\fP can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format, or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with "\-\-\-\-\-BEGIN", and bounded at the end by a string that starts with "\-\-\-\-\-END".
.LP
@@ -297,8 +785,6 @@
.RE
\f3Importing a New Trusted Certificate\fP
.RS 3
-
-.LP
.LP
Before adding the certificate to the keystore, \f3keytool\fP tries to verify it by attempting to construct a chain of trust from that certificate to a self\-signed certificate (belonging to a root CA), using trusted certificates that are already available in the keystore.
.LP
@@ -323,7 +809,7 @@
\f3If the reply is a single X.509 certificate\fP, \f3keytool\fP attempts to establish a trust chain, starting at the certificate reply and ending at a self\-signed certificate (belonging to a root CA). The certificate reply and the hierarchy of certificates used to authenticate the certificate reply form the new certificate chain of \f2alias\fP. If a trust chain cannot be established, the certificate reply is not imported. In this case, \f3keytool\fP does not print out the certificate and prompt the user to verify it, because it is very hard (if not impossible) for a user to determine the authenticity of the certificate reply.
.TP 2
o
-\f3If the reply is a PKCS#7 formatted certificate chain\fP, the chain is first ordered (with the user certificate first and the self\-signed root CA certificate last), before \f3keytool\fP attempts to match the root CA certificate provided in the reply with any of the trusted certificates in the keystore or the "cacerts" keystore file (if the \f2\-trustcacerts\fP option was specified). If no match can be found, the information of the root CA certificate is printed out, and the user is prompted to verify it, e.g., by comparing the displayed certificate fingerprints with the fingerprints obtained from some other (trusted) source of information, which might be the root CA itself. The user then has the option of aborting the import operation. If the \f2\-noprompt\fP option is given, however, there will be no interaction with the user.
+\f3If the reply is a PKCS#7 formatted certificate chain or a sequence of X.509 certificates\fP, the chain is ordered with the user certificate first followed by zero or more CA certificates. If the chain ends with a self\-signed root CA certificate and \f2\-trustcacerts\fP option was specified, \f3keytool\fP will attempt to match it with any of the trusted certificates in the keystore or the "cacerts" keystore file. If the chain does not end with a self\-signed root CA certificate and the \f2\-trustcacerts\fP option was specified, \f3keytool\fP will try to find one from the trusted certificates in the keystore or the "cacerts" keystore file and add it to the end of the chain. If the certificate is not found and \f2\-noprompt\fP option is not specified, the information of the last certificate in the chain is printed out, and the user is prompted to verify it.
.RE
.LP
@@ -345,6 +831,10 @@
If the destination alias already exists in the destination keystore, the user is prompted to either overwrite the entry, or to create a new entry under a different alias name.
.LP
Note that if \f2\-noprompt\fP is provided, the user will not be prompted for a new destination alias. Existing entries will automatically be overwritten with the destination alias name. Finally, entries that can not be imported are automatically skipped and a warning is output.
+.TP 3
+\-printcertreq {\-file file}
+.LP
+Prints the content of a PKCS #10 format certificate request, which can be generated by the keytool \-certreq command. The command reads the request from file; if omitted, from the standard input.
.RE
.RE
.SS
@@ -396,16 +886,20 @@
.LP
Prints (to stdout) the contents of the keystore entry identified by \f2alias\fP. If no alias is specified, the contents of the entire keystore are printed.
.LP
-This command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard
+This command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard
.LP
You cannot specify both \f2\-v\fP and \f2\-rfc\fP.
.TP 3
-\-printcert {\-file cert_file} {\-v} {\-Jjavaoption}
+\-printcert {\-file cert_file | \-sslserver host[:port]} {\-rfc} {\-v} {\-Jjavaoption}
.LP
.LP
-Internet RFC 1421 standard.
+If \f2\-rfc\fP is specified, keytool prints the certificate in PEM mode as defined by the Internet RFC 1421 standard.
.LP
-Note: This option can be used independently of a keystore.
+If the certificate is read from a file or stdin, it may be either binary encoded or in printable encoding format, as defined by the Internet RFC 1421 standard
+.LP
+If the SSL server is behind a firewall, \f2\-J\-Dhttps.proxyHost=proxyhost\fP and \f2\-J\-Dhttps.proxyPort=proxyport\fP can be specified on the command line for proxy tunneling. See the JSSE Reference Guide for more information.
+.LP
+\f3Note\fP: This option can be used independently of a keystore.
.RE
.LP
@@ -604,11 +1098,7 @@
.RS 3
.LP
-Suppose you have used the
-.na
-\f2jarsigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature.
+Suppose you have used the jarsigner(1) tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature.
.LP
One way they can do this is by first importing your public key certificate into their keystore as a "trusted" entry. You can export the certificate and supply it to your clients. As an example, you can copy your certificate to a file named \f2MJ.cer\fP via the following, assuming the entry is aliased by "mykey":
.LP
@@ -675,6 +1165,45 @@
.RE
.LP
+.SS
+Generating Certificates for a typical SSL Server
+.LP
+.RS 3
+
+.LP
+.LP
+Keytool commands to generate keypairs and certificates for three entities, namely, Root CA (root), Intermadiate CA (ca), and SSL server (server) are as follows:
+.LP
+.nf
+\f3
+.fl
+keytool \-keystore root.jks \-genkeypair \-alias root \-ext bc:c
+.fl
+keytool \-keystore ca.jks \-alias ca
+.fl
+keytool \-keystore server.jks \-alias server
+.fl
+
+.fl
+keytool \-keystore root.jks \-alias root \-exportcert > root.pem
+.fl
+
+.fl
+keytool \-keystore ca.jks \-certreq \-alias ca | keytool \-keystore root.jks \-gencert \-alias root \-ext BC=0 > ca.pem
+.fl
+keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem
+.fl
+
+.fl
+keytool \-keystore server.jks \-certreq \-alias server | keytool \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE >server.pem
+.fl
+cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server
+.fl
+\fP
+.fi
+.RE
+
+.LP
.SH "TERMINOLOGY and WARNINGS"
.LP
@@ -757,7 +1286,11 @@
There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
.LP
.LP
-Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in How to Implement a Provider for the Java Cryptography Architecture.
+Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in
+.na
+\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html.
.LP
.LP
Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
@@ -1130,13 +1663,6 @@
OU=CyberTrust, O=Baltimore, C=IE
.TP 2
*
-\f3Alias\fP: gtecybertrustca
-.br
-\f3Owner DN\fP: CN=GTE CyberTrust Root,
-.br
-O=GTE Corporation, C=US
-.TP 2
-*
\f3Alias\fP: gtecybertrust5ca
.br
\f3Owner DN\fP: CN=GTE CyberTrust Root 5,
@@ -1368,7 +1894,7 @@
The \f2\-exportcert\fP command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, if the \f2\-rfc\fP option is specified.
.LP
.LP
-The \f2\-list\fP command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format.
+The \f2\-list\fP command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format.
.LP
.LP
In its printable encoding format, the encoded certificate is bounded at the beginning by
@@ -1575,18 +2101,15 @@
.RS 3
.TP 2
o
-.na
-\f2jar\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html tool documentation
+.LP
+jar(1) tool documentation
.TP 2
o
-.na
-\f2jarsigner\fP @
-.fi
-http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool documentation
+.LP
+jarsigner(1) tool documentation
.TP 2
o
+.LP
the
.na
\f4Security\fP @
@@ -1595,7 +2118,7 @@
.na
\f4Java Tutorial\fP @
.fi
-http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of \f3keytool\fP
+http://java.sun.com/docs/books/tutorial for examples of the use of \f3keytool\fP
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/native2ascii.1 b/jdk/src/solaris/doc/sun/man/man1/native2ascii.1
index 8bb3907..c910141 100644
--- a/jdk/src/solaris/doc/sun/man/man1/native2ascii.1
+++ b/jdk/src/solaris/doc/sun/man/man1/native2ascii.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2002-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH native2ascii 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Created by: Doug Kramer, 19\-Aug\-1996
+."
+.TH native2ascii 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
native2ascii \- Native\-to\-ASCII Converter
.LP
+.RS 3
.LP
.LP
Converts a file with native\-encoded characters (characters which are non\-Latin 1 and non\-Unicode) to one with Unicode\-encoded characters.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -58,6 +59,7 @@
.LP
.LP
+.RS 3
.TP 3
\-reverse
Perform the reverse operation: convert a file with Latin\-1 and/or Unicode encoded characters to one with native\-encoded characters.
@@ -72,7 +74,9 @@
http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html document.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/orbd.1 b/jdk/src/solaris/doc/sun/man/man1/orbd.1
index f64ece1..edb859a 100644
--- a/jdk/src/solaris/doc/sun/man/man1/orbd.1
+++ b/jdk/src/solaris/doc/sun/man/man1/orbd.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2001-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH orbd 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH orbd 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
orbd \- The Object Request Broker Daemon
.LP
.RS 3
@@ -34,7 +33,11 @@
\f3orbd\fP is used to enable clients to transparently locate and invoke persistent objects on servers in the CORBA environment.
.LP
.LP
-\f3See also:\fP \f2Naming Service\fP
+\f3See also:\fP
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.LP
.RE
.SH "SYNOPSIS"
@@ -68,10 +71,14 @@
.LP
.LP
-To access ORBD's Server Manager, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP.
+To access ORBD's Server Manager, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP.
.LP
.LP
-When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to \f2Naming Service\fP.
+When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html.
.LP
.SH "OPTIONS"
.LP
@@ -122,7 +129,7 @@
.RS 3
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
.TP 3
.RE
@@ -131,7 +138,15 @@
.SH "Starting and Stopping the Naming Service"
.LP
.LP
-A Naming Service is a CORBA service that allows CORBA objects to be named by means of binding a name to an object reference. The name binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference.
+A Naming Service is a CORBA service that allows
+.na
+\f2CORBA objects\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object to be named by means of binding a name to an object reference. The
+.na
+\f2name binding\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference.
.LP
.LP
Prior to running a client or a server, you will start ORBD. ORBD includes a persistent Naming Service and a transient Naming Service, both of which are an implementation of the COS Naming Service.
@@ -206,18 +221,26 @@
To stop the naming service, use the relevant operating system command, such as \f2pkill orbd\fP on Solaris, or \f2Ctrl+C\fP in the DOS window in which \f2orbd\fP is running. Note that names registered with the naming service may disappear when the service is terminated if the naming service is transient. The Java IDL naming service will run until it is explicitly stopped.
.LP
.LP
-For more information on the Naming Service included with ORBD, see \f2Naming Service\fP.
+For more information on the Naming Service included with ORBD, see
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html.
.LP
.SH "Server Manager"
.LP
.LP
-To access ORBD's Server Manager and run a persistent server, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly.
+To access ORBD's Server Manager and run a persistent server, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly.
.LP
.SS
Server Manager: an Example
.LP
.LP
-Using the sample tutorial for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application:
+Using the
+.na
+\f2sample tutorial\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application:
.LP
.LP
Start \f2orbd\fP.
@@ -337,11 +360,14 @@
.RS 3
.TP 2
o
-Naming Service
+.na
+\f2Naming Service\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html
.br
.TP 2
o
-servertool
+servertool(1)
.RE
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/pack200.1 b/jdk/src/solaris/doc/sun/man/man1/pack200.1
index 5f310c5..ecda5e3 100644
--- a/jdk/src/solaris/doc/sun/man/man1/pack200.1
+++ b/jdk/src/solaris/doc/sun/man/man1/pack200.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH pack200 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH pack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
pack200 \- JAR Packing tool
.LP
.SH "SYNOPSIS"
@@ -40,6 +39,7 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options.
@@ -49,6 +49,8 @@
.TP 3
JAR\-file
Name of the input file.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -64,11 +66,13 @@
.SS
Typical usage:
.LP
+.RS 3
.LP
.LP
\f2% pack200 myarchive.pack.gz myarchive.jar\fP
.LP
+.RE
.LP
In this example, \f2myarchive.pack.gz\fP is produced using the default \f2pack200\fP settings.
.LP
@@ -176,15 +180,21 @@
.LP
Overrides the default, which preserves the input information, but may cause the transmitted archive to be larger. The possible values are:
.LP
+.RS 3
.TP 3
true
.TP 3
false
In either case, the packer will set the deflation hint accordingly in the output archive, and will not transmit the individual deflation hints of archive elements.
+.RE
+
.LP
+.RS 3
.TP 3
keep
Preserve deflation hints observed in the input JAR. (This is the default.)
+.RE
+
.LP
.RE
.LP
@@ -196,12 +206,15 @@
.LP
The possible values are:
.LP
+.RS 3
.TP 3
latest
The packer will attempt to determine the latest modification time, among all the available entries in the original archive, or the latest modification time of all the available entries in that segment. This single value will be transmitted as part of the segment and applied to all the entries in each segment. This can marginally decrease the transmitted size of the archive at the expense of setting all installed files to a single date.
.TP 3
keep
Preserves modification times observed in the input JAR. (This is the default.)
+.RE
+
.LP
.RE
.LP
@@ -223,6 +236,7 @@
.LP
Overrides the default behavior; i.e., the classfile containing the unknown attribute will be passed through with the specified action. The possible values for actions are:
.LP
+.RS 3
.TP 3
error
The \f2pack200\fP operation as a whole will fail with a suitable explanation.
@@ -232,16 +246,18 @@
.TP 3
pass
Upon encountering this attribute, the entire class will be transmitted as though it is a resource.
+.RE
+
.LP
.RE
.LP
\f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP
.br
- \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
+\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP
.LP
.RS 3
@@ -249,6 +265,7 @@
.LP
With the above four options, the attribute layout can be specified for a class entity, such as Class attribute, Field attribute, Method attribute, and Code attribute. The attribute\-name is the name of the attribute for which the layout or action is being defined. The possible values for action are:
.LP
+.RS 3
.TP 3
some\-layout\-string
The layout language is defined in the JSR 200 specification.
@@ -260,6 +277,8 @@
.TP 3
strip
Upon encountering this attribute, the attribute will be removed from the output. Note: removing VM\-required attributes may cause Class Loader failures.
+.RE
+
.LP
.LP
Example: \f2\-\-class\-attribute=CompilationID=pass\fP will cause the class file containing this attribute to be passed through without further action by the packer.
@@ -367,29 +386,29 @@
.LP
.RS 3
.TP 2
-*
-unpack200 \- JAR Unpacking Tool
+o
+unpack200(1)
.TP 2
-*
-\f2unpack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages
+o
+.na
+\f2Java SE Documentation\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE Documentation
-.TP 2
-*
+o
.na
\f2Java Deployment Guide \- Pack200\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
.TP 2
-*
-\f2jar\fP \- Java Archive Tool
+o
+jar(1) \- Java Archive Tool
.TP 2
-*
-.na
-\f2jarsigner\fP \- JAR Signer tool @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
+o
+jarsigner(1) \- JAR Signer tool
+.TP 2
+o
+\f2attributes(5)\fP man page
.RE
.LP
@@ -401,6 +420,8 @@
This command should not be confused with \f2pack(1)\fP. They are distinctly separate products.
.LP
.LP
-The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.
+The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies.
+.LP
+
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/policytool.1 b/jdk/src/solaris/doc/sun/man/man1/policytool.1
index 6b0f5db..518cac2 100644
--- a/jdk/src/solaris/doc/sun/man/man1/policytool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/policytool.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH policytool 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH policytool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
policytool \- PolicyTool Administration GUI Utility
.LP
\f3policytool\fP reads and writes a plain text policy file based on user input via the utility GUI.
@@ -53,20 +52,14 @@
filename
The file name
.RE
-.RE
-
-.LP
-.SH "DESCRIPTION"
-.LP
+.SH "DESCRIPTION"
.LP
\f3policytool\fP is a GUI that allows users to create and manage policy files. For details, see
.na
\f2the Policytool Users Guide\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html.
-.LP
-.SH "OPTIONS"
-.LP
+http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html.
+.SH "OPTIONS"
.RS 3
.TP 3
file
@@ -93,6 +86,9 @@
http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html
.br
.RE
+.RE
+
+.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/rmic.1 b/jdk/src/solaris/doc/sun/man/man1/rmic.1
index 7686e29..5253a07 100644
--- a/jdk/src/solaris/doc/sun/man/man1/rmic.1
+++ b/jdk/src/solaris/doc/sun/man/man1/rmic.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH rmic 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH rmic 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
rmic \- The Java RMI Compiler
.LP
+.RS 3
.LP
.LP
\f3rmic\fP generates stub, skeleton, and tie classes for remote objects using either the JRMP or IIOP protocols. Also generates OMG IDL.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -83,6 +84,7 @@
.LP
.LP
+.RS 3
.TP 3
\-bootclasspath path
Overrides location of bootstrap class files
@@ -135,6 +137,7 @@
.TP 3
\-g
Enables generation of all debugging information, including local variables. By default, only line number information is generated.
+.LP
.TP 3
\-idl
Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes referenced. IDL provides a purely declarative, programming language\-independent way of specifying an object's API. The IDL is used as a specification for methods and data that can be written in and invoked from any language that provides CORBA bindings. This includes Java and C++ among others. See the
@@ -144,6 +147,7 @@
http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) document for a complete description.
.LP
When the \f2\-idl\fP option is used, other options also include:
+.RS 3
.TP 3
\-always or \-alwaysgenerate
Forces re\-generation even when existing stubs/ties/IDL are newer than the input class.
@@ -151,13 +155,12 @@
\-factory
Uses factory keyword in generated IDL.
.TP 3
-\-idlModule\ fromJavaPackage[.class]\
-toIDLModule
+\-idlModule\ fromJavaPackage[.class]\ toIDLModule
Specifies IDLEntity package mapping. For example:\ \f2\-idlModule foo.bar my::real::idlmod\fP.
.TP 3
-\-idlFile\ fromJavaPackage[.class]\
-toIDLFile
-Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\
+\-idlFile\ fromJavaPackage[.class]\ toIDLFile
+Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\
+.RE
.LP
.TP 3
\-iiop
@@ -183,6 +186,7 @@
.RE
.LP
When the \f2\-iiop\fP option is used, other options also include:
+.RS 3
.TP 3
\-always or \-alwaysgenerate
Forces re\-generation even when existing stubs/ties/IDL are newer than the input class.
@@ -200,7 +204,8 @@
.na
\f2Portable Object Adapter\fP @
.fi
-http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf.
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf.
+.RE
.TP 3
\-J
Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter.
@@ -210,23 +215,29 @@
.TP 3
\-nowarn
Turns off warnings. If used the compiler does not print out any warnings.
+.LP
.TP 3
\-vcompat
Generates stub and skeleton classes compatible with both the 1.1 and 1.2 JRMP stub protocol versions. (This option was the default in releases prior to 5.0.) The generated stub classes will use the 1.1 stub protocol version when loaded in a JDK 1.1 virtual machine and will use the 1.2 stub protocol version when loaded into a 1.2 (or later) virtual machine. The generated skeleton classes will support both 1.1 and 1.2 stub protocol versions. The generated classes are relatively large in order to support both modes of operation.
.TP 3
\-verbose
Causes the compiler and linker to print out messages about what classes are being compiled and what class files are being loaded.
+.LP
.TP 3
\-v1.1
Generates stub and skeleton classes for the 1.1 JRMP stub protocol version only. Note that this option is only useful for generating stub classes that are serialization\-compatible with pre\-existing, statically\-deployed stub classes that were generated by the \f3rmic\fP tool from JDK 1.1 and that cannot be upgraded (and dynamic class loading is not being used).
+.LP
.TP 3
\-v1.2
(default) Generates stub classes for the 1.2 JRMP stub protocol version only. No skeleton classes are generated with this option because skeleton classes are not used with the 1.2 stub protocol version. The generated stub classes will not work if they are loaded into a JDK 1.1 virtual machine.
+.RE
+
.LP
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example,
@@ -241,6 +252,7 @@
\fP
.fi
.RE
+.RE
.LP
.SH "SEE ALSO"
@@ -248,7 +260,11 @@
.LP
.LP
-java, javac, CLASSPATH
+java(1), javac(1),
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/rmid.1 b/jdk/src/solaris/doc/sun/man/man1/rmid.1
index f0a0979..06147c9 100644
--- a/jdk/src/solaris/doc/sun/man/man1/rmid.1
+++ b/jdk/src/solaris/doc/sun/man/man1/rmid.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,20 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH rmid 1 "05 Aug 2006"
-." Generated by html2roff
-.\\" Changed by: Ann Wollrath \- JavaSoft East, 2\-Mar\-2000
-.\\" Changed by: Jen McGinn \- Jini Technology Software, 6\-Mar\-2000
+."
+.TH rmid 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
.LP
-.SH NAME
+.SH "Name"
rmid \- The Java RMI Activation System Daemon
.LP
+.RS 3
.LP
.LP
\f3rmid\fP starts the activation system daemon that allows objects to be registered and activated in a virtual machine (VM).
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -55,7 +55,7 @@
.na
\f2Java RMI Specification\fP @
.fi
-http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and
+http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html and
.na
\f2Activation tutorials\fP @
.fi
@@ -81,10 +81,10 @@
.LP
.RS 3
.TP 2
-*
+o
starts the Activator and an internal registry on the default port, 1098, and
.TP 2
-*
+o
binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry.
.RE
@@ -105,8 +105,7 @@
starts the activation system daemon and a registry on the registry's default port, 1099.
.LP
.SS
-Starting rmid from
-inetd/xinetd
+Starting rmid from inetd/xinetd
.LP
.LP
An alternative to starting \f2rmid\fP from the command line is to configure \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) to start \f2rmid\fP on demand.
@@ -119,13 +118,13 @@
.LP
.RS 3
.TP 2
-*
+o
Output printed to \f2System.err\fP is redirected to a file. This file is located in the directory specified by the \f2java.io.tmpdir\fP system property (typically \f2/var/tmp\fP or \f2/tmp\fP) with the prefix \f2"rmid\-err"\fP and the suffix \f2"tmp"\fP.
.TP 2
-*
+o
The \f2\-port\fP option is disallowed. If this option is specified, \f2rmid\fP will exit with an error message.
.TP 2
-*
+o
The \f2\-log\fP option is required. If this option is not specified, \f2rmid\fP will exit with an error message.
.RE
@@ -137,6 +136,7 @@
.LP
.LP
+.RS 3
.TP 3
\-C<someCommandLineOption>
Specifies an option that is passed as a command\-line argument to each child process (activation group) of \f2rmid\fP when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon:
@@ -168,13 +168,12 @@
\fP
.fi
.TP 3
-
\-J\-Dsun.rmi.activation.execPolicy=<policy>
Specifies the policy that \f2rmid\fP employs to check commands and command\-line options used to launch the VM in which an activation group runs. Please note that this option exists only in Sun's implementation of the Java RMI activation daemon. If this property is not specified on the command line, the result is the same as if \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP were specified. The possible values of \f2<policy>\fP can be \f2default\fP, \f2<policyClassName>\fP, or \f2none\fP:
.LP
.RS 3
.TP 2
-*
+o
\f3default (or if this property is \fP\f4unspecified\fP\f3)\fP
.LP
The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific command\-line options only if \f2rmid\fP has been granted permission to execute those commands and options in the security policy file that \f2rmid\fP uses. Only the default activation group implementation can be used with the \f2default\fP execution policy.
@@ -190,7 +189,8 @@
.LP
The permission \f2com.sun.rmi.rmid.ExecPermission\fP is used to grant \f2rmid\fP permission to execute a command, specified in the group descriptor's \f2CommandEnvironment\fP to launch an activation group. The permission \f2com.sun.rmi.rmid.ExecOptionPermission\fP is used to allow \f2rmid\fP to use command\-line options, specified as properties overrides in the group descriptor or as options in the \f2CommandEnvironment\fP, when launching the activation group.
.LP
-When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources).
+When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources).
+.RS 3
.TP 3
ExecPermission
The \f2ExecPermission\fP class represents permission for \f2rmid\fP to execute a specific \f2command\fP to launch an activation group.
@@ -210,8 +210,7 @@
.LP
For example: "*" or "\-Dfoo.*" or "\-Da.b.c=*" is valid, "*foo" or "\-Da*b" or "ab*" is not.
.TP 3
-Policy file for
-rmid
+Policy file for rmid
When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). It is safe to grant these permissions universally because only \f2rmid\fP checks these permissions.
.LP
An example policy file that grants various execute permissions to \f2rmid\fP is:
@@ -222,13 +221,7 @@
.fl
permission com.sun.rmi.rmid.ExecPermission
.fl
- "/files/apps/java/jdk1.2.2/solaris/bin/java";
-.fl
-
-.fl
- permission com.sun.rmi.rmid.ExecPermission
-.fl
- "/files/apps/java/jdk1.2.2/solaris/bin/java_g";
+ "/files/apps/java/jdk1.7.0/solaris/bin/java";
.fl
.fl
@@ -258,9 +251,9 @@
.fl
\fP
.fi
-The first two permissions granted allow \f2rmid\fP to execute the 1.2.2 version of the \f2java\fP and \f2java_g\fP commands, specified by their explicit path names. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The third permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP.
+The first permission granted allow \f2rmid\fP to execute the 1.7.0 version of the \f2java\fP command, specified by its explicit path name. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The second permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP.
.LP
-The fourth permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups.
+The third permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups.
.LP
To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property needs to be specified on \f2rmid\fP's command line, for example:
.RS 3
@@ -270,10 +263,12 @@
\f2rmid \-J\-Djava.security.policy=rmid.policy\fP
.LP
.RE
+.RE
.TP 2
-*
+o
+.LP
.TP 2
-*
+o
\f4<policyClassName>\fP
.LP
If the default behavior is not flexible enough, an administrator can provide, when starting \f2rmid\fP, the name of a class whose \f2checkExecCommand\fP method is executed in order to check commands to be executed by rmid.
@@ -293,14 +288,16 @@
Before launching an activation group, \f2rmid\fP calls the policy's \f2checkExecCommand\fP method, passing it the activation group descriptor and an array containing the complete command to launch the activation group. If the \f2checkExecCommand\fP throws a \f2SecurityException\fP, \f2rmid\fP will not launch the activation group and an \f2ActivationException\fP will be thrown to the caller attempting to activate the object.
.LP
.TP 2
-*
+o
\f3none\fP
.LP
If the \f2sun.rmi.activation.execPolicy\fP property value is "none", then \f2rmid\fP will not perform any validation of commands to launch activation groups.
.RE
+.LP
.TP 3
\-log dir
Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a directory, \f2log\fP, in the directory in which the \f2rmid\fP command was executed.
+.LP
.TP 3
\-port port
Specifies the port \f2rmid\fP's registry uses. The activation system daemon binds the \f2ActivationSystem\fP, with the name \f2java.rmi.activation.ActivationSystem\fP, in this registry. Thus, the \f2ActivationSystem\fP on the local machine can be obtained using the following \f2Naming.lookup\fP method call:
@@ -320,11 +317,13 @@
.fi
.TP 3
\-stop
-Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098.
+Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098.
+.RE
.SH "ENVIRONMENT VARIABLES"
.LP
.LP
+.RS 3
.TP 3
CLASSPATH
Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example:
@@ -335,6 +334,7 @@
.fl
\fP
.fi
+.RE
.LP
.SH "SEE ALSO"
@@ -342,7 +342,11 @@
.LP
.LP
-rmic, CLASSPATH, java
+rmic(1),
+.na
+\f2CLASSPATH\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath, java(1)
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 b/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1
index 50eff6c..41e1852 100644
--- a/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1
+++ b/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2003-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH rmiregistry 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH rmiregistry 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
rmiregistry \- The Java Remote Object Registry
.LP
+.RS 3
.LP
.LP
The \f3rmiregistry\fP command starts a remote object registry on the specified port on the current host.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -71,24 +72,27 @@
.LP
.LP
+.RS 3
.TP 3
\-J
Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
.LP
-java,
+java(1),
.na
\f2java.rmi.registry.LocateRegistry\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/rmi/registry/locateregistry.html and
+http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html and
.na
\f2java.rmi.Naming\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/rmi/naming.html
+http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/schemagen.1 b/jdk/src/solaris/doc/sun/man/man1/schemagen.1
index 653b9bf..8728bbb 100644
--- a/jdk/src/solaris/doc/sun/man/man1/schemagen.1
+++ b/jdk/src/solaris/doc/sun/man/man1/schemagen.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2005-2006 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
@@ -19,19 +18,18 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH schemagen 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH schemagen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.ad c
-.SH NAME
-schemagen \- Java(TM) Architecture for XML Binding Schema Generator \f3Specification Version:\fP 2.0
+.SH "Name"
+schemagen \- Java(TM) Architecture for XML Binding Schema Generator
+.LP
+.LP
+\f3Specification Version:\fP 2.1
.br
-\f3Reference Implementation (RI) Version:\fP 2.0 ea3
-.br
-.ad l
-
+\f3Implementation Version:\fP 2.1.3
.LP
.SS
Launching schemagen
@@ -43,36 +41,21 @@
The current schema generator can process either Java source files or class files.
.LP
.LP
-We also provide an Ant task to run the schema generator \- see the instructions for using schemagen with Ant.
+We also provide an Ant task to run the schema generator \- see the instructions for
+.na
+\f2using schemagen with Ant\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html.
.LP
.RS 3
.LP
-\f3For Solaris/Linux\fP
-.LP
.nf
\f3
.fl
- % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ...
+% schemagen.sh Foo.java Bar.java ...
.fl
- Note: Writing schema1.xsd
-.fl
-
-.fl
-\fP
-.fi
-
-.LP
-\f3For WindowsNT/2000/XP\fP
-.LP
-.nf
-\f3
-.fl
- > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ...
-.fl
- Note: Writing schema1.xsd
-.fl
-
+Note: Writing schema1.xsd
.fl
\fP
.fi
@@ -107,8 +90,6 @@
.fl
\-help : Display this usage message
.fl
-
-.fl
\fP
.fi
.RE
@@ -119,145 +100,35 @@
Generated Resource Files
.LP
.LP
-The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use the schema generator ant task.
+The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use
+.na
+\f2the schema generator ant task\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html.
.LP
.SH "See Also"
.LP
.RS 3
.TP 2
o
-JAXB 2.0:
-.RS 3
-.TP 2
-*
+Running the schema generator (schemagen): [
.na
-\f2Release Notes\fP @
+\f2command\-line instructions\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html
-.TP 2
-*
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html,
.na
-\f2XJC\fP @
+\f2using the SchemaGen Ant task\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html
-.TP 2
-*
-.na
-\f2XJCTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html
-.TP 2
-*
-.na
-\f2SchemaGen\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html
-.TP 2
-*
-.na
-\f2schemagenTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html
-.TP 2
-*
-.na
-\f2Sample Apps\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/samples.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html
-.RE
+https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html]
.TP 2
o
-JAXB 1.0.x:
-.RS 3
-.TP 2
-*
.na
-\f2Release Notes\fP @
+\f2Java Architecture for XML Binding (JAXB)\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
.RE
-.TP 2
-o
-JAXB RI Extensions:
-.RS 3
-.TP 2
-*
-.na
-\f2Runtime Properties\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html
-.TP 2
-*
-.na
-\f2XJC Customizations\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html
-.TP 2
-*
-.na
-\f2Develop Plugins\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html
-.RE
-.TP 2
-o
-JAXB RI Schema Languages:
-.RS 3
-.TP 2
-*
-.na
-\f2W3C XML Schema\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema
-.TP 2
-*
-.na
-\f2RELAX NG\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng
-.TP 2
-*
-.na
-\f2DTD\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd
-.RE
-.TP 2
-o
-JAXB Community:
-.RS 3
-.TP 2
-*
-.na
-\f2Java.net Homepage\fP @
-.fi
-http://jaxb.dev.java.net
-.TP 2
-*
-.na
-\f2Developer interest list\fP @
-.fi
-https://jaxb.dev.java.net/servlets/ProjectMailingListList
-.TP 2
-*
-.na
-\f2FAQ\fP @
-.fi
-https://jaxb.dev.java.net/faq/index.html
-.RE
-.RE
+
+.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/serialver.1 b/jdk/src/solaris/doc/sun/man/man1/serialver.1
index cd0d169..ec42f16 100644
--- a/jdk/src/solaris/doc/sun/man/man1/serialver.1
+++ b/jdk/src/solaris/doc/sun/man/man1/serialver.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2005-2006 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
@@ -19,19 +18,21 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH serialver 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH serialver 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
serialver \- The Serial Version Command
.LP
+.RS 3
.LP
.LP
The \f3serialver\fP command returns the \f2serialVersionUID\fP.
.LP
+.RE
.SH "SYNOPSIS"
.LP
@@ -47,12 +48,15 @@
.RS 3
.LP
+.RS 3
.TP 3
options
Command\-line options, as specified in this document.
.TP 3
classnames
One or more class names
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -66,17 +70,22 @@
.LP
.LP
+.RS 3
.TP 3
-\-classpath <directories and zip/jar files separated
-by :>
+\-classpath <directories and zip/jar files separated by :>
Set search path for application classes and resources.
+.RE
+
.LP
+.RS 3
.TP 3
\-show
Displays a simple user interface. Enter the full class name and press either the Enter key or the Show button to display the serialVersionUID.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes.
+.RE
+
.LP
.SH "NOTES"
.LP
@@ -110,7 +119,7 @@
.na
\f2java.io.ObjectStreamClass\fP @
.fi
-http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html
+http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html
.LP
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/servertool.1 b/jdk/src/solaris/doc/sun/man/man1/servertool.1
index 34092e5..ba2a937 100644
--- a/jdk/src/solaris/doc/sun/man/man1/servertool.1
+++ b/jdk/src/solaris/doc/sun/man/man1/servertool.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2001-2006 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
@@ -19,17 +18,19 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH servertool 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH servertool 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
servertool \- The Java(TM) IDL Server Tool
.LP
+.RS 3
.LP
-\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server.
+\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server.
+.RE
.SH "SYNOPSIS"
.LP
@@ -63,37 +64,29 @@
.LP
.LP
+.RS 3
.TP 3
\-ORBInitialHost nameserverhost
Specifies the host machine on which the name server is running and listening for incoming requests. The \f2nameserverhost\fP defaults to \f2localhost\fP if this option is not specified. If \f2orbd\fP and \f2servertool\fP are running on different machines, you must specify the name or IP address of the host on which \f2orbd\fP is running.
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java a pplication launcher\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+.RE
+
.LP
.SH "COMMANDS"
.LP
.LP
+.RS 3
.TP 3
-register \-server\ <server\ class\ name>
-\ \-classpath\ <classpath\ to\ server>
-[\ \-applicationName\ <application\ name>
-\-args\ <args\ to\ server>
-\-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM>
-\ ]
+register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ]
Register a new persistent server with the Object Request Broker Daemon (ORBD). If the server is not already registered, it is registered and activated. This command causes an install method to be invoked in the main class of the server identified by the \f2\-server\fP option. The install method must be \f2public static void install(org.omg.CORBA.ORB)\fP. The install method is optional and enables the developer to provide their own server installation behavior (for example, creating database schema).
.TP 3
-unregister
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Unregister a server from the ORBD by using either its server id or its application name. This command causes an uninstall method to be invoked in the main class of the server identified by the \f2\-server\fP option. The uninstall method must be \f2public static void uninstall(org.omg.CORBA.ORB)\fP. The uninstall method is optional and enables the developer to provide their own server uninstall behavior (for example, undoing the behavior of the install method).
.TP 3
-getserverid
-\-applicationName\ <application\ name>
+getserverid \-applicationName\ <application\ name>
Return the server id that corresponds with an application.
.TP 3
list
@@ -105,27 +98,19 @@
listactive
List information about all persistent servers that have been launched by the ORBD and are currently running.
.TP 3
-locate \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-endpointType\ <endpointType>\ ]
+locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ]
Locate the endpoints (ports) of a specific type for all ORBs created by a registered server. If a server is not already running, it is activated. If an endpoint type is not specified, then the plain/non\-protected endpoint associated with each ORB in a server is returned.
.TP 3
-locateperorb
-\-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
-[\-orbid\ <ORB\ name>\ ]
+locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ]
Locate all the endpoints (ports) registered by a specific ORB of registered server. If a server is not already running, then it is activated. If an \f2orbid\fP is not specified, the default value of "" is assigned to the \f2orbid\fP. If any ORBs are created with an \f2orbid\fP of empty string, all ports registered by it are returned.
.TP 3
-orblist \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Lists the ORBId of the ORBs defined on a server. An ORBId is the string name for the ORB created by the server. If the server is not already running, it is activated.
.TP 3
-shutdown \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Shutdown an active server that is registered with ORBD. During execution of this command, the \f2shutdown()\fP method defined in the class specified by either the \f2\-serverid\fP or \f2\-applicationName\fP parameter is also invoked to shutdown the server process appropriately.
.TP 3
-startup \-serverid\ <server\ id\ >\ |
-\-applicationName\ <application\ name>
+startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name>
Startup or activate a server that is registered with ORBD. If the server is not running, this command launches the server. If the server is already running, an error message is returned to the user.
.TP 3
help
@@ -133,11 +118,13 @@
.TP 3
quit
Exit the server tool.
+.RE
+
.LP
.SH "SEE ALSO"
.LP
.LP
-orbd
+orbd(1)
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/tnameserv.1 b/jdk/src/solaris/doc/sun/man/man1/tnameserv.1
index 01c2cb2..6226b55 100644
--- a/jdk/src/solaris/doc/sun/man/man1/tnameserv.1
+++ b/jdk/src/solaris/doc/sun/man/man1/tnameserv.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,18 +18,18 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH tnameserv 1 "06 Aug 2006"
-." Generated by html2man
+."
+.TH tnameserv 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
Java IDL: Transient Naming Service \- \f2tnameserv\fP
.LP
.LP
.LP
-This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its man page or the
+This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its orbd(1) or the
.na
\f2Java IDL Naming Service Included with ORBD\fP @
.fi
@@ -176,13 +175,12 @@
.RS 3
.LP
+.RS 3
.TP 3
\-Joption
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the
-.na
-\f2java application launcher\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine.
+.RE
+
.LP
.RE
.SH "Stopping the Java\ IDL Transient Naming Service"
@@ -204,15 +202,15 @@
.fl
\fP\f4Naming Context\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
plans \fP\f4Personal\fP\f3
.fl
- / \\
+ / \\
.fl
- / \\
+ / \\
.fl
calendar schedule\fP
.fl
diff --git a/jdk/src/solaris/doc/sun/man/man1/unpack200.1 b/jdk/src/solaris/doc/sun/man/man1/unpack200.1
index 300b49a..2fb0e1c 100644
--- a/jdk/src/solaris/doc/sun/man/man1/unpack200.1
+++ b/jdk/src/solaris/doc/sun/man/man1/unpack200.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2004-2006 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
@@ -19,12 +18,12 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH unpack200 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH unpack200 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
-.SH NAME
+.SH "Name"
unpack200 \- JAR Unpacking tool
.LP
.SH "SYNOPSIS"
@@ -40,12 +39,15 @@
.RS 3
.LP
+.RS 3
.TP 3
input\-file
Name of the input file, which can be a pack200 gzip file or a pack200 file. The input could also be JAR file produced by pack200(1) with an effort of 0. In this case the contents of the input file will be copied to the output JAR file with the Pack200 marker.
.TP 3
JAR\-file
Name of the output JAR file.
+.RE
+
.LP
.RE
.SH "DESCRIPTION"
@@ -70,6 +72,7 @@
.SS
Standard Options
.LP
+.RS 3
.LP
.LP
@@ -82,9 +85,11 @@
Sets the deflation to be \f2true\fP, \f2false\fP, or \f2keep\fP on all entries within a JAR file. The default mode is \f2keep\fP. If \f2true\fP or \f2false\fP, overrides the default behavior and sets the deflation mode on all entries within the output JAR file.
.LP
.RE
+.RE
.SS
Non\-Standard Options
.LP
+.RS 3
.LP
.LP
@@ -127,6 +132,7 @@
Specifies a log file to output messages.
.LP
.RE
+.RE
.SH "EXIT STATUS"
.LP
@@ -148,29 +154,29 @@
.LP
.RS 3
.TP 2
-*
-pack200 \- JAR Packing Tool
+o
+pack200(1)
.TP 2
-*
-\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages
+o
+.na
+\f2Java SE Documentation\fP @
+.fi
+http://java.sun.com/javase/6/docs/index.html
.TP 2
-*
-Java SE Documentation
-.TP 2
-*
+o
.na
\f2Java Deployment Guide \- Pack200\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html
.TP 2
-*
-\f2jar\fP \- Java Archive Tool
+o
+jar(1) \- Java Archive Tool
.TP 2
-*
-.na
-\f2jarsigner\fP \- JAR Signer tool @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html
+o
+jarsigner(1) \- JAR Signer tool
+.TP 2
+o
+\f2attributes(5)\fP man page
.RE
.LP
@@ -182,6 +188,8 @@
This command should not be confused with \f2unpack(1)\fP. They are distinctly separate products.
.LP
.LP
-The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.
+The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies.
+.LP
+
.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/wsgen.1 b/jdk/src/solaris/doc/sun/man/man1/wsgen.1
index 3a7b65f..ad54042 100644
--- a/jdk/src/solaris/doc/sun/man/man1/wsgen.1
+++ b/jdk/src/solaris/doc/sun/man/man1/wsgen.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,44 +18,71 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH wsgen 1 "07 Aug 2006"
-." Generated by html2man
-
-.LP
-.SH NAME
-wsgen \- JAX\-WS 2.0 Beta
-.LP
+."
+.TH wsgen 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
+wsgen \- Java(TM) API for XML Web Services (JAX\-WS) 2.0
.RS 3
.LP
.LP
-The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation.
+\f3Specification Version:\fP 2.1
+.br
+\f3Implementation Version:\fP 2.1.1
+.LP
+.LP
+The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation
.LP
.RE
-.SH "SYNOPSIS"
+.SH "Overview"
.LP
+The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint class and generates all the required artifacts for web service deployment, and invocation. JAXWS 2.1.1 RI also provides a wsgen ant task, see
+.na
+\f2Wsgen ant task\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html for details.
+.LP
+.SH "Launching wsgen"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP
+.TP 2
+*
+\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP
+.TP 2
+*
+\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP
+.RE
+.RE
.LP
+.SH "Syntax"
.nf
\f3
.fl
-wsgen [options] <SEI>
+wsgen [options] <SEI>\fP
+.br
+\f3
.fl
\fP
.fi
-
-.LP
-.SH "OPTIONS"
-.LP
.LP
The following table lists the \f2wsgen\fP options.
.br
-
-.LP
-.LP
-Table 1\-1 wsgen Options
-.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
@@ -206,16 +232,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di i+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-wsdl[:protocol]\fP
-.br
+By default \f2wsgen\fP does not generate a WSDL file. This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy. The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include: \f2soap1.1\fP and \f2Xsoap1.2\fP. The default is \f2soap1.1\fP. \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option.
.br
.di
.nr i| \n(dn
@@ -231,8 +256,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy.\ The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include:\ \f2soap1.1\fP and \f2Xsoap1.2\fP.\ The default is \f2soap1.1\fP.\ \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option.
-.br
+Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP
.br
.di
.nr j| \n(dn
@@ -248,28 +272,12 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:port\fP name to be generated in the WSDL. Example, \f2\-portname "{http://mynamespace/}MyPort"\fP
.br
.br
.di
-.nr l| \n(dn
-.nr l- \n(dl
+.nr k| \n(dn
+.nr k- \n(dl
..
.ec \
.35
@@ -278,34 +286,34 @@
.nr 80 0
.nr 38 \w\f3Option\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-classpath <path>\fP
+.nr 38 \w\f4\-classpath <path>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-cp <path>\fP
+.nr 38 \w\f4\-cp <path>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-d <directory>\fP
+.nr 38 \w\f4\-d <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-extension\fP
+.nr 38 \w\f4\-extension\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-help\fP
+.nr 38 \w\f4\-help\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-keep\fP
+.nr 38 \w\f4\-keep\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-r <directory>\fP
+.nr 38 \w\f4\-r <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-s <directory>\fP
+.nr 38 \w\f4\-s <directory>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-verbose\fP
+.nr 38 \w\f4\-verbose\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-version\fP
+.nr 38 \w\f4\-version\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-servicename <name>\fP
+.nr 38 \w\f4\-wsdl[:protocol]\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-portname <name>\fP
+.nr 38 \w\f4\-servicename <name>\fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f4\-portname <name>\fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
-.nr 38 \n(i-
-.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
.if \n(81<\n(38 .nr 81 \n(38
@@ -331,12 +339,12 @@
.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(i-
+.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(j-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(k-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
-.if \n(81<\n(38 .nr 81 \n(38
.35
.nf
.ll \n(34u
@@ -347,7 +355,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 100 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 140 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -370,7 +378,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-classpath <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -386,7 +394,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-cp <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -402,7 +410,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -418,7 +426,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -432,17 +440,17 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help
+\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'Display help
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files
+\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'Keep generated files
.ne \n(e|u+\n(.Vu
.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-r <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -458,7 +466,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -474,7 +482,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -490,7 +498,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -502,22 +510,29 @@
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(i|u+\n(.Vu
-.ne \n(j|u+\n(.Vu
.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
-.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'
+\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
-.nr 37 \n(40u
+.nr 37 \n(41u
.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
+.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -531,7 +546,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-servicename <name>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -542,22 +557,6 @@
.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-portname <name>\fP\h'|\n(41u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
.fc
.nr T. 1
.T# 1
@@ -573,688 +572,34 @@
.rm i+
.rm j+
.rm k+
-.rm l+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-57
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-53
.LP
-.SS
-Ant task
-.LP
-.LP
-An Ant task for the \f2wsgen\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
-.LP
-.nf
-\f3
-.fl
-
-.fl
- <wsgen
-.fl
- sei="..."
-.fl
- destdir="directory for generated class files"
-.fl
- classpath="classpath" | cp="classpath"
-.fl
- resourcedestdir="directory for generated resource files such as WSDLs"
-.fl
- sourcedestdir="directory for generated source files"
-.fl
- keep="true|false"
-.fl
- verbose="true|false"
-.fl
- genwsdl="true|false"
-.fl
- protocol="soap1.1|Xsoap1.2"
-.fl
- servicename="..."
-.fl
- portname="...">
-.fl
- extension="true|false"
-.fl
- <classpath refid="..."/>
-.fl
- </wsgen>
-.fl
-\fP
-.fi
-
-.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
-.nr 34 \n(.lu
-.eo
-.am 81
-.br
-.di a+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Name of the service endpoint implementation class
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place output generated classes
-.br
-.di
-.nr b| \n(dn
-.nr b- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di c+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to find input class files
-.br
-.di
-.nr c| \n(dn
-.nr c- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di d+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used only in conjunction with the \-wsdl option. Specify where to place generated resource files such as WSDLs
-.br
-.di
-.nr d| \n(dn
-.nr d- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di e+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place generated source files
-.br
-.di
-.nr e| \n(dn
-.nr e- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di f+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Output messages about what the compiler is doing
-.br
-.di
-.nr f| \n(dn
-.nr f- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di g+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify that a WSDL file should be generated
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with \f2genwsdl\fP to specify the protocol to use in the \f2wsdl:binding\fP.\ Value values are \f2"soap1.1"\fP or \f2"Xsoap1.2"\fP, default is \f2"soap1.1".\fP\f2"Xsoap1.2"\fP is not standard and can only be used in conjunction with the \-extensions option
-.br
-.br
-.di
-.nr h| \n(dn
-.nr h- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di i+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-wsdl:soap11\fP
-.br
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:service\fP name for the generated WSDL.Example, \f2servicename="{http://mynamespace/}MyService"\fP
-.br
-.br
-.di
-.nr j| \n(dn
-.nr j- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di k+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:portmame\fP name for the generated WSDL. Example, \f2portname="{http://mynamespace/}MyPort"\fP
-.br
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
-.br
-.di
-.nr l| \n(dn
-.nr l- \n(dl
-..
-.ec \
-.35
-.nf
-.ll \n(34u
-.nr 80 0
-.nr 38 \w\f3Attribute\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2sei\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2destdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2classpath\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2cp\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2resourcedestdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2sourcedestdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2keep\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2verbose\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2genwsdl\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2protocol\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2servicename\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2portname\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2extension\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.80
-.rm 80
-.nr 81 0
-.nr 38 \w\f3Description\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wSame as \f2\-classpath\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wKeep generated files
-.if \n(81<\n(38 .nr 81 \n(38
-.81
-.rm 81
-.nr 38 \n(a-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(b-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(c-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(d-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(e-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(g-
-.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 38 \n(k-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 82 0
-.nr 38 \w\f3Command line\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wSEI
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-d\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-classpath\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-cp\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-r\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-s\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-keep\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-verbose\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-wsdl\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-servicename\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-servicename\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-extension\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.82
-.rm 82
-.nr 38 \n(i-
-.if \n(82<\n(38 .nr 82 \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 TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 217 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
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP
-.ne \n(a|u+\n(.Vu
-.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2sei\fP\h'|\n(41u'\h'|\n(42u'SEI
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.a+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(b|u+\n(.Vu
-.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP
-.mk ##
-.nr 31 \n(##
-.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(31u
-.ne \n(c|u+\n(.Vu
-.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2classpath\fP\h'|\n(41u'\h'|\n(42u'\f2\-classpath\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.c+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2cp\fP\h'|\n(41u'Same as \f2\-classpath\fP\h'|\n(42u'\f2\-cp\fP
-.ne \n(d|u+\n(.Vu
-.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2resourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-r\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2sourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-s\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.e+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'Keep generated files\h'|\n(42u'\f2\-keep\fP
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.f+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2genwsdl\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-wsdl\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.g+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2protocol\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.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(42u
-.in +\n(37u
-.i+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2servicename\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.ne \n(j|u+\n(.Vu
-.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP
-.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(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2portname\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.ne \n(k|u+\n(.Vu
-.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.k+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.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+
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-68
-
-.LP
-.LP
-The \f2classpath\fP attribute is a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<classpath>\fP elements. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below:
-.LP
-.nf
-\f3
-.fl
- <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">\fP
-.br
-\f3
-.fl
- <classpath path="jaxws.classpath"/>\fP
-.br
-\f3
-.fl
- </taskdef>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-where \f2jaxws.classpath\fP is a reference to a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools.
-.LP
.SH "Example"
-.LP
-
-.LP
.nf
\f3
.fl
-<wsgen
+\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP
.fl
- resourcedestdir="${wsdl.dir}"
-.fl
- sei="fromjava.server.AddNumbersImpl">
-.fl
- <classpath refid="compile.classpath"/>
-.fl
-</wsgen>
-.fl
-\fP
.fi
-
.LP
-
+This will generate the wrapper classes needed for StockService annotated with @WebService annotation inside \f3stock\fPdirectory.
+.nf
+\f3
+.fl
+\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP
+.fl
+.fi
.LP
-
+This will generate a SOAP 1.1 WSDL and schema for your Java class stock.StockService annotated with @WebService annotation.
+.nf
+\f3
+.fl
+\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP
+.fl
+.fi
+.LP
+Will generate a SOAP 1.2 WSDL.
+.LP
+Note that you do not have to generate WSDL at the development time as JAXWS runtime will automatically generate a WSDL for you when you deploy your service.
diff --git a/jdk/src/solaris/doc/sun/man/man1/wsimport.1 b/jdk/src/solaris/doc/sun/man/man1/wsimport.1
index e6eb668..111d49d 100644
--- a/jdk/src/solaris/doc/sun/man/man1/wsimport.1
+++ b/jdk/src/solaris/doc/sun/man/man1/wsimport.1
@@ -1,4 +1,3 @@
-.'" t
." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
@@ -19,32 +18,19 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH wsimport 1 "07 Aug 2006"
-." Generated by html2man
-
+."
+.TH wsimport 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+.SH "Name"
+wsimport \- Java(TM) API for XML Web Services (JAX\-WS) 2.0
.LP
-.SH NAME
-wsimport \- JAX\-WS 2.0 Beta
-.LP
-.SH "SYNOPSIS"
-.LP
-
-.LP
-.nf
-\f3
-.fl
-wsimport [options] <wsdl>
-.fl
-\fP
-.fi
-
-.LP
-.SH "DESCRIPTION"
-.LP
+\f3Specification Version:\fP 2.1
+.br
+\f3Implementation Version:\fP 2.1.1
+.br
+.SH "Overview"
.LP
The \f2wsimport\fP tool generates JAX\-WS portable artifacts, such as:
-.LP
.RS 3
.TP 2
o
@@ -62,28 +48,46 @@
o
JAXB generated value types (mapped java classes from schema types)
.RE
-
.LP
-.LP
-These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed.
+These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. also provides wsimport ant task, see
+.na
+\f2Wsimport ant task\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html.
.br
.LP
-.LP
-wsimport tool can be launched using the command line script wsimport.sh (Unix) or wsimport.bat(windows). There is also and ant task to import and compile the wsdl, see the details below.
-.br
+.SH "Launching wsimport"
+.RS 3
+.TP 2
+o
+\f3Solaris/Linux\fP
+.RS 3
+.TP 2
+*
+\f2/bin/wsimport.sh \-help\fP
+.RE
+.TP 2
+o
+\f3Windows\fP
+.RS 3
+.TP 2
+*
+\f2\\bin\\wsimport.bat \-help\fP
+.RE
+.RE
.LP
-.SH "OPTIONS"
-.LP
+.SH "Syntax"
+.nf
+\f3
+.fl
+wsimport [options] <wsdl>
+.fl
+\fP
+.fi
.LP
The following table lists the \f2wsimport\fP options.
-.br
-
-.LP
-.LP
-Table 1\-1 wsimport Options
-.LP
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
@@ -145,7 +149,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the XML Entity and URI Resolvers document or see \f3wsimport_catalog\fP sample.
+Pass this option to JAXB schema compiler
.br
.di
.nr c| \n(dn
@@ -161,7 +165,11 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
+Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of
+.na
+\f2catalog\fP @
+.fi
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html and see \f3catalog\fP sample.
.br
.di
.nr d| \n(dn
@@ -169,15 +177,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di e+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-httpproxy:<host>:<port>\fP
+Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
.br
.di
.nr e| \n(dn
@@ -185,15 +193,15 @@
..
.ec \
.eo
-.am 81
+.am 80
.br
.di f+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
+.if \n(.l<\n(80 .ll \n(80u
.in 0
-Specify an HTTP proxy server (port defaults to 8080)
+\f3\-httpproxy:<host>:<port> \fP
.br
.di
.nr f| \n(dn
@@ -209,7 +217,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
+Specify an HTTP proxy server (port defaults to 8080)
.br
.di
.nr g| \n(dn
@@ -225,7 +233,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Specify where to place generated source files
+Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
.br
.di
.nr h| \n(dn
@@ -241,7 +249,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Output messages about what the compiler is doing
+Specify where to place generated source files
.br
.di
.nr i| \n(dn
@@ -257,7 +265,7 @@
.ll \n(34u*1u/3u
.if \n(.l<\n(81 .ll \n(81u
.in 0
-Print version information
+Output messages about what the compiler is doing
.br
.di
.nr j| \n(dn
@@ -265,16 +273,15 @@
..
.ec \
.eo
-.am 80
+.am 81
.br
.di k+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(80 .ll \n(80u
+.if \n(.l<\n(81 .ll \n(81u
.in 0
-\f2\-wsdllocation <location>\fP
-.br
+Print version information
.br
.di
.nr k| \n(dn
@@ -282,53 +289,90 @@
..
.ec \
.eo
-.am 81
+.am 80
.br
.di l+
.35
.ft \n(.f
.ll \n(34u*1u/3u
-.if \n(.l<\n(81 .ll \n(81u
+.if \n(.l<\n(80 .ll \n(80u
.in 0
-\f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP value
-.br
+\f3\-wsdllocation <location>\fP
.br
.di
.nr l| \n(dn
.nr l- \n(dl
..
.ec \
+.eo
+.am 81
+.br
+.di m+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+\f2@WebServiceClient.wsdlLocation\fP value
+.br
+.di
+.nr m| \n(dn
+.nr m- \n(dl
+..
+.ec \
+.eo
+.am 81
+.br
+.di n+
+.35
+.ft \n(.f
+.ll \n(34u*1u/3u
+.if \n(.l<\n(81 .ll \n(81u
+.in 0
+Generate code as per the given JAX\-WS specification version. version 2.0 will generate compliant code for JAX\-WS 2.0 spec.
+.br
+.di
+.nr n| \n(dn
+.nr n- \n(dl
+..
+.ec \
.35
.nf
.ll \n(34u
.nr 80 0
.nr 38 \w\f3Option\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-d <directory>\fP
+.nr 38 \w\f3\-d <directory> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-b <path>\fP
+.nr 38 \w\f3\-b <path> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\-catalog
+.nr 38 \w\f3\-B <jaxbOption>\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-extension\fP
+.nr 38 \w\f3\-catalog\fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-help\fP
+.nr 38 \w\f3\-extension \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-keep\fP
+.nr 38 \w\f3\-help \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-p\fP
+.nr 38 \w\f3\-keep \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-s <directory>\fP
+.nr 38 \w\f3\-p \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-verbose\fP
+.nr 38 \w\f3\-s <directory> \fP
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2\-version\fP
+.nr 38 \w\f3\-verbose \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-version \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-target \fP
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \w\f3\-quiet \fP
.if \n(80<\n(38 .nr 80 \n(38
.80
.rm 80
-.nr 38 \n(e-
+.nr 38 \n(f-
.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(k-
+.nr 38 \n(l-
.if \n(80<\n(38 .nr 80 \n(38
.nr 81 0
.nr 38 \w\f3Description\fP
@@ -337,6 +381,8 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \wKeep generated files
.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \wSuppress wsimport output
+.if \n(81<\n(38 .nr 81 \n(38
.81
.rm 81
.nr 38 \n(a-
@@ -347,7 +393,7 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(d-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
+.nr 38 \n(e-
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(g-
.if \n(81<\n(38 .nr 81 \n(38
@@ -357,7 +403,11 @@
.if \n(81<\n(38 .nr 81 \n(38
.nr 38 \n(j-
.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(l-
+.nr 38 \n(k-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(m-
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 38 \n(n-
.if \n(81<\n(38 .nr 81 \n(38
.35
.nf
@@ -369,7 +419,7 @@
.nr 41 \n(80+(3*\n(38)
.nr 81 +\n(41
.nr TW \n(81
-.if t .if \n(TW>\n(.li .tm Table at line 124 file Input is too wide - \n(TW units
+.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units
.fc
.nr #T 0-1
.nr #a 0-1
@@ -392,7 +442,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -408,7 +458,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-b <path>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -424,7 +474,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\-catalog\h'|\n(41u'
+\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -440,7 +490,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -451,14 +501,30 @@
.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
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help
-.ne \n(e|u+\n(.Vu
+\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
+.sp |\n(##u-1v
+.nr 37 \n(41u
+.in +\n(37u
+.e+
+.in -\n(37u
+.mk 32
+.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'Display help
.ne \n(f|u+\n(.Vu
-.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
+.ne \n(g|u+\n(.Vu
.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
+.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
@@ -468,30 +534,10 @@
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
-.e+
-.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
.f+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files
-.ne \n(g|u+\n(.Vu
-.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2\-p\fP\h'|\n(41u'
-.mk ##
-.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -500,12 +546,16 @@
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'Keep generated files
.ne \n(h|u+\n(.Vu
.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -521,7 +571,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -537,7 +587,7 @@
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u'
+\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
@@ -549,687 +599,54 @@
.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
.ne \n(k|u+\n(.Vu
-.ne \n(l|u+\n(.Vu
.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v)
-.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'
+\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
-.nr 37 \n(40u
+.nr 37 \n(41u
.in +\n(37u
.k+
.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
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
-.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+
-.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-54
-
-.LP
-.LP
-Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the customization documentation.
-.br
-
-.LP
-.SS
-Ant task
-.LP
-.LP
-An Ant task for the \f2wsimport\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
-.br
-
-.LP
-.nf
-\f3
-.fl
- <wsimport \fP
-.br
-\f3
-.fl
- wsdl="..." \fP
-.br
-\f3
-.fl
- destdir="directory for generated class files"\fP
-.br
-\f3
-.fl
- sourcedestdir="directory for generated source files"\fP
-.br
-\f3
-.fl
- keep="true|false"\fP
-.br
-\f3
-.fl
- extension="true|false"\fP
-.br
-\f3
-.fl
- verbose="true|false"\fP
-.br
-\f3
-.fl
- version="true|false"\fP
-.br
-\f3
-.fl
- wsdlLocation="..."\fP
-.br
-\f3
-.fl
- catalog="catalog file"\fP
-.br
-\f3
-.fl
- package="package name"\fP
-.br
-\f3
-.fl
- <binding dir="..." includes="..." />\fP
-.br
-\f3
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.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
-.nr 34 \n(.lu
-.eo
-.am 81
-.br
-.di a+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place output generated classes
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify where to place generated source files, keep is turned on with this option
-.br
-.di
-.nr b| \n(dn
-.nr b- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di c+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Keep generated files, tunred on with sourcedestdir option
-.br
-.di
-.nr c| \n(dn
-.nr c- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di d+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Output messages about what the compiler is doing
-.br
-.di
-.nr d| \n(dn
-.nr d- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di e+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify external JAX\-WS or JAXB binding files
-.br
-.di
-.nr e| \n(dn
-.nr e- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di f+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
-.br
-.di
-.nr f| \n(dn
-.nr f- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di g+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2wsdllocation\fP
-.br
-.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/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-The wsdl URI passed thru this option will be used to set the value of \f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP annotation elements on the generated SEI and Service interface
-.br
-.br
-.di
-.nr h| \n(dn
-.nr h- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di i+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-wsdllocation\fP
-.br
-.br
-.di
-.nr i| \n(dn
-.nr i- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di j+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2catalog\fP
-.br
-.br
-.di
-.nr j| \n(dn
-.nr j- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di k+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample.
-.br
-.di
-.nr k| \n(dn
-.nr k- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di l+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-catalog\fP
-.br
-.br
-.di
-.nr l| \n(dn
-.nr l- \n(dl
-..
-.ec \
-.eo
-.am 80
-.br
-.di m+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(80 .ll \n(80u
-.in 0
-\f2package\fP
-.br
-.br
-.di
-.nr m| \n(dn
-.nr m- \n(dl
-..
-.ec \
-.eo
-.am 81
-.br
-.di n+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(81 .ll \n(81u
-.in 0
-Specifies the target package
-.br
-.di
-.nr n| \n(dn
-.nr n- \n(dl
-..
-.ec \
-.eo
-.am 82
-.br
-.di o+
-.35
-.ft \n(.f
-.ll \n(34u*1u/4u
-.if \n(.l<\n(82 .ll \n(82u
-.in 0
-\f2\-p\fP
-.br
-.br
-.di
-.nr o| \n(dn
-.nr o- \n(dl
-..
-.ec \
-.35
-.nf
-.ll \n(34u
-.nr 80 0
-.nr 38 \w\f3Attribute\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2wsdl\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2destdir\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \wsourcedestdir
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2keep\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2verbose\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2binding\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \w\f2extension\fP
-.if \n(80<\n(38 .nr 80 \n(38
-.80
-.rm 80
-.nr 38 \n(g-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(j-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 38 \n(m-
-.if \n(80<\n(38 .nr 80 \n(38
-.nr 81 0
-.nr 38 \w\f3Description\fP
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \wWSDL file
-.if \n(81<\n(38 .nr 81 \n(38
-.81
-.rm 81
-.nr 38 \n(a-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(b-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(c-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(d-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(e-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(f-
-.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(k-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 38 \n(n-
-.if \n(81<\n(38 .nr 81 \n(38
-.nr 82 0
-.nr 38 \w\f3Command line\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \wWSDL
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-d\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-s\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-keep\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-verbose\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-b\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \w\f2\-extension\fP
-.if \n(82<\n(38 .nr 82 \n(38
-.82
-.rm 82
-.nr 38 \n(i-
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \n(l-
-.if \n(82<\n(38 .nr 82 \n(38
-.nr 38 \n(o-
-.if \n(82<\n(38 .nr 82 \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 TW \n(82
-.if t .if \n(TW>\n(.li .tm Table at line 261 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
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2wsdl\fP\h'|\n(41u'WSDL file\h'|\n(42u'WSDL
-.ne \n(a|u+\n(.Vu
-.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.a+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(b|u+\n(.Vu
-.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'sourcedestdir\h'|\n(41u'\h'|\n(42u'\f2\-s\fP
-.mk ##
-.nr 31 \n(##
-.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(31u
-.ne \n(c|u+\n(.Vu
-.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'\h'|\n(42u'\f2\-keep\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.c+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ne \n(d|u+\n(.Vu
-.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2binding\fP\h'|\n(41u'\h'|\n(42u'\f2\-b\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.in +\n(37u
-.e+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u'
-.br
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(41u
-.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
-.ne \n(h|u+\n(.Vu
-.ne \n(i|u+\n(.Vu
-.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
-.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
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(40u
-.in +\n(37u
-.g+
-.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
-.h+
-.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
-.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
.ne \n(l|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)
-.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
-.nr 31 \n(.f
-.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
-.mk ##
-.nr 31 \n(##
-.sp |\n(##u-1v
-.nr 37 \n(40u
-.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(41u
-.in +\n(37u
-.k+
-.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
-.l+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
-.sp |\n(31u
.ne \n(m|u+\n(.Vu
-.ne \n(n|u+\n(.Vu
-.ne \n(o|u+\n(.Vu
+.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v)
.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v)
-.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
-.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v)
-.ta \n(80u \n(81u \n(82u
+.ta \n(80u \n(81u
.nr 31 \n(.f
.nr 35 1m
-\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'
+\&\h'|\n(40u'\h'|\n(41u'
.mk ##
.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(40u
.in +\n(37u
+.l+
+.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
.m+
.in -\n(37u
.mk 32
.if \n(32>\n(31 .nr 31 \n(32
+.sp |\n(31u
+.ne \n(n|u+\n(.Vu
+.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v)
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u'
+.mk ##
+.nr 31 \n(##
.sp |\n(##u-1v
.nr 37 \n(41u
.in +\n(37u
@@ -1237,14 +654,11 @@
.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
-.o+
-.in -\n(37u
-.mk 32
-.if \n(32>\n(31 .nr 31 \n(32
.sp |\n(31u
+.ta \n(80u \n(81u
+.nr 31 \n(.f
+.nr 35 1m
+\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'Suppress wsimport output
.fc
.nr T. 1
.T# 1
@@ -1263,137 +677,23 @@
.rm l+
.rm m+
.rm n+
-.rm o+
.TE
-.if \n-(b.=0 .nr c. \n(.c-\n(d.-63
-
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-66
.LP
-.LP
-The \f2binding\fP attributes is like a
+Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the
.na
-\f2path\-like structure\fP @
+\f2customization documentation\fP @
.fi
-http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<binding>\fP elements, respectively. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below:
+https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html.
.LP
+.SH "Example"
.nf
\f3
.fl
- <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">\fP
-.br
-\f3
+\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP
.fl
- <classpath path="jaxws.classpath"/>\fP
-.br
-\f3
-.fl
- </taskdef>
-.fl
-\fP
.fi
-
.LP
-.LP
-where \f2jaxws.classpath\fP is a reference to a
-.na
-\f2path\-like structure\fP @
-.fi
-http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools.
-.LP
-.SH "Examples"
-.LP
-.nf
-\f3
-.fl
- <wsimport\fP
+This will generate the Java artifacts and compile them by importing the \f2http://stockquote.xyz/quote?wsdl\fP.
.br
-\f3
-.fl
- \fP\f4destdir\fP\f3="${build.classes.home}"\fP
-.br
-\f3
-.fl
- debug="true"\fP
-.br
-\f3
-.fl
- wsdl="AddNumbers.wsdl"\fP
-.br
-\f3
-.fl
- binding="custom.xml"/>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The above example generates client\-side artifacts for \f2AddNumbers.wsdl\fP, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory using the \f2custom.xml\fP customization file. The classpath used is \f2xyz.jar\fP and compiles with debug information on.
-.LP
-.nf
-\f3
-.fl
- <wsimport\fP
-.br
-\f3
-.fl
- keep="true"\fP
-.br
-\f3
-.fl
- sourcedestdir="${source.dir}"\fP
-.br
-\f3
-.fl
- \fP\f4destdir\fP\f3="${build.classes.home}"\fP
-.br
-\f3
-.fl
- wsdl="AddNumbers.wsdl">\fP
-.br
-\f3
-.fl
- <binding dir="${basedir}/etc" includes="custom.xml"/>\fP
-.br
-\f3
-.fl
- </wsimport>
-.fl
-\fP
-.fi
-
-.LP
-.LP
-The above example generates portable artifacts for \f2AddNumbers.wsdl\fP, stores \f2.java\fP files in the \f2${source.dir}\fP directory, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory.
-.LP
-.SH "Notes"
-.LP
-.LP
-Summary of Changed and Removed wsimport ant attributes:
-.LP
-\f3base\fP replaced by \f3destdir\fP
-.br
-
-.LP
-.br
-
-.LP
-\f3sourceBase\fP is replaced by \f3sourcedestdir\fP
-.br
-
-.LP
-.br
-
-.LP
-\f3wsdlFile\fP is replaced by \f3wsdl\fP
-.br
-.br
-\f3httpProxy\fP is removed. Use ant's setproxy task instead for proxy configuration.
-.br
-.br
-\f3version\fP is removed
-.br
-
-.LP
-
-.LP
diff --git a/jdk/src/solaris/doc/sun/man/man1/xjc.1 b/jdk/src/solaris/doc/sun/man/man1/xjc.1
index bf04ce6..1770bd0 100644
--- a/jdk/src/solaris/doc/sun/man/man1/xjc.1
+++ b/jdk/src/solaris/doc/sun/man/man1/xjc.1
@@ -1,5 +1,4 @@
-.'" t
-." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+." Copyright 2005-2006 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
@@ -19,52 +18,38 @@
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
-." `
-.TH xjc 1 "07 Aug 2006"
-." Generated by html2man
+."
+.TH xjc 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
.LP
.ad c
-.SH NAME
+.SH "Name"
xjc \- Java(TM) Architecture for XML Binding
.br
-Binding Compiler \f3Specification Version:\fP 2.0
+Binding Compiler
+.LP
+\f3Specification Version:\fP 2.1
.br
-\f3Reference Implementation (RI) Version:\fP 2.0 ea3
-.br
-.ad l
+\f3Reference Implementation (RI) Version:\fP 2.1.3 .ad l
.LP
.SH "Launching xjc"
.LP
.LP
-The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for using xjc with Ant.
-.LP
-.RS 3
-
-.LP
-\f3For Solaris/Linux\fP
+The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for
+.na
+\f2using the XJC Ant task\fP @
+.fi
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html.
.LP
.RS 3
.LP
.LP
-\f2% /path/to/jaxb/bin/xjc.sh \-help\fP
+\f2% xjc \-help\fP
.LP
.RE
-\f3For WindowsNT/2000/XP\fP
-.LP
-.RS 3
-
-.LP
-.LP
-\f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP
-.LP
-.RE
-.RE
-.RS 3
-
-.LP
\f3Output\fP
.LP
.RS 3
@@ -83,7 +68,9 @@
.fl
Compatibility Rules and App E.2 from the JAXB Spec
.fl
- \-b <file> : specify external bindings files (each <file> must have its own \-b)
+ \-b <file/dir> : specify external bindings files (each <file> must have its own \-b)
+.fl
+ If a directory is given, **/*.xjb is searched
.fl
\-d <dir> : generated files will go into this directory
.fl
@@ -103,6 +90,10 @@
.fl
\-npa : suppress generation of package level annotations (**/package\-info.java)
.fl
+ \-no\-header : suppress generation of a file header with timestamp
+.fl
+ \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features.
+.fl
\-xmlschema : treat input as W3C XML Schema (default)
.fl
\-relaxng : treat input as RELAX NG (experimental,unsupported)
@@ -126,37 +117,6 @@
.RE
.LP
-.RE
-.RS 3
-
-.LP
-\f3Execute the jaxb\-xjc.jar JAR File\fP
-.LP
-.RS 3
-
-.LP
-.LP
-If all else fails, you should be able to execute the \f2jaxb\-xjc.jar\fP file:
-.LP
-.RS 3
-
-.LP
-.RS 3
-.TP 3
-For Solaris/Linux:
-\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP
-.TP 3
-For Windows:
-\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP
-.RE
-
-.LP
-.RE
-.LP
-This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set the JVM parameters.
-.LP
-.RE
-.RE
.SH "OPTIONS"
.LP
@@ -167,10 +127,10 @@
By default, the XJC binding compiler performs strict validation of the source schema before processing it. Use this option to disable strict schema validation. This does not mean that the binding compiler will not perform any validation, it simply means that it will perform less\-strict validation.
.TP 3
\-extension
-By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions.
+By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions
.TP 3
\-b <file>
-Specify one or more external binding files to process. (Each binding file must have it's own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files:
+Specify one or more external binding files to process. (Each binding file must have its own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files:
.RS 3
.LP
@@ -204,8 +164,14 @@
\-npa
Supress the generation of package level annotations into **/package\-info.java. Using this switch causes the generated code to internalize those annotations into the other generated classes.
.TP 3
+\-no\-header
+Supress the generation of a file header comment that includes some note and timestamp. Using this makes the generated code more diff\-friendly.
+.TP 3
+\-target 2.0
+Avoid generating code that relies on any JAXB 2.1 features. This will allow the generated code to run with JAXB 2.0 runtime (such as JavaSE 6.)
+.TP 3
\-xmlschema
-treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema.
+Treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema.
.TP 3
\-relaxng
Treat input schemas as RELAX NG (experimental, unsupported). Support for RELAX NG schemas is provided as a JAXB Vendor Extension.
@@ -220,10 +186,10 @@
Treat input as WSDL and compile schemas inside it (experimental,unsupported).
.TP 3
\-quiet
-Suppress compiler output, such as progress information and warnings..
+Suppress compiler output, such as progress information and warnings.
.TP 3
\-verbose
-Be extra verbose, such as printing informational messages or displaying stack traces upon some errors..
+Be extra verbose, such as printing informational messages or displaying stack traces upon some errors.
.TP 3
\-help
Display a brief summary of the compiler switches.
@@ -301,138 +267,24 @@
.RS 3
.TP 2
o
-JAXB 2.0:
-.RS 3
-.TP 2
-*
+Running the binding compiler (XJC): [
.na
-\f2Release Notes\fP @
+\f2command\-line instructions\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html
-.TP 2
-*
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html,
.na
-\f2XJC\fP @
+\f2using the XJC Ant task\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html
-.TP 2
-*
-.na
-\f2XJCTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html
-.TP 2
-*
-.na
-\f2SchemaGen\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html
-.TP 2
-*
-.na
-\f2schemagenTask\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html
-.TP 2
-*
-.na
-\f2Sample Apps\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/samples.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html
-.RE
+https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html]
.TP 2
o
-JAXB 1.0.x:
-.RS 3
-.TP 2
-*
.na
-\f2Release Notes\fP @
+\f2Java Architecture for XML Binding (JAXB)\fP @
.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html
-.TP 2
-*
-.na
-\f2Changelog\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html
+http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html
.RE
-.TP 2
-o
-JAXB RI Extensions:
-.RS 3
-.TP 2
-*
-.na
-\f2Runtime Properties\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html
-.TP 2
-*
-.na
-\f2XJC Customizations\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html
-.TP 2
-*
-.na
-\f2Develop Plugins\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html
-.RE
-.TP 2
-o
-JAXB RI Schema Languages:
-.RS 3
-.TP 2
-*
-.na
-\f2W3C XML Schema\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema
-.TP 2
-*
-.na
-\f2RELAX NG\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng
-.TP 2
-*
-.na
-\f2DTD\fP @
-.fi
-http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd
-.RE
-.TP 2
-o
-JAXB Community:
-.RS 3
-.TP 2
-*
-.na
-\f2Java.net Homepage\fP @
-.fi
-http://jaxb.dev.java.net
-.TP 2
-*
-.na
-\f2Developer interest list\fP @
-.fi
-https://jaxb.dev.java.net/servlets/ProjectMailingListList
-.TP 2
-*
-.na
-\f2FAQ\fP @
-.fi
-https://jaxb.dev.java.net/faq/index.html
-.RE
-.RE
+
+.LP
.LP
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
index d1f8c93..5ec0af0 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
@@ -475,49 +475,40 @@
// get an OVERLAPPED structure (from the cache or allocate)
overlapped = ioCache.add(result);
- // synchronize on result to allow this thread handle the case
- // where the read completes immediately.
- synchronized (result) {
- int n = read0(handle, numBufs, readBufferArray, overlapped);
- if (n == IOStatus.UNAVAILABLE) {
- // I/O is pending
- pending = true;
- return;
- }
- // read completed immediately:
- // 1. update buffer position
- // 2. reset read flag
- // 3. release waiters
- if (n == 0) {
- n = -1;
- } else {
- updateBuffers(n);
- }
+ // initiate read
+ int n = read0(handle, numBufs, readBufferArray, overlapped);
+ if (n == IOStatus.UNAVAILABLE) {
+ // I/O is pending
+ pending = true;
+ return;
+ }
+ if (n == IOStatus.EOF) {
+ // input shutdown
enableReading();
-
if (scatteringRead) {
- result.setResult((V)Long.valueOf(n));
+ result.setResult((V)Long.valueOf(-1L));
} else {
- result.setResult((V)Integer.valueOf(n));
+ result.setResult((V)Integer.valueOf(-1));
}
+ } else {
+ throw new InternalError("Read completed immediately");
}
} catch (Throwable x) {
- // failed to initiate read:
- // 1. reset read flag
- // 2. free resources
- // 3. release waiters
+ // failed to initiate read
+ // reset read flag before releasing waiters
enableReading();
- if (overlapped != 0L)
- ioCache.remove(overlapped);
if (x instanceof ClosedChannelException)
x = new AsynchronousCloseException();
if (!(x instanceof IOException))
x = new IOException(x);
result.setFailure(x);
} finally {
- if (prepared && !pending) {
- // return direct buffer(s) to cache if substituted
- releaseBuffers();
+ // release resources if I/O not pending
+ if (!pending) {
+ if (overlapped != 0L)
+ ioCache.remove(overlapped);
+ if (prepared)
+ releaseBuffers();
}
end();
}
@@ -721,7 +712,6 @@
@Override
@SuppressWarnings("unchecked")
public void run() {
- int n = -1;
long overlapped = 0L;
boolean prepared = false;
boolean pending = false;
@@ -736,56 +726,34 @@
// get an OVERLAPPED structure (from the cache or allocate)
overlapped = ioCache.add(result);
-
- // synchronize on result to allow this thread handle the case
- // where the read completes immediately.
- synchronized (result) {
- n = write0(handle, numBufs, writeBufferArray, overlapped);
- if (n == IOStatus.UNAVAILABLE) {
- // I/O is pending
- pending = true;
- return;
- }
-
- enableWriting();
-
- if (n == IOStatus.EOF) {
- // special case for shutdown output
- shutdown = true;
- throw new ClosedChannelException();
- }
-
- // write completed immediately:
- // 1. enable writing
- // 2. update buffer position
- // 3. release waiters
- updateBuffers(n);
-
- // result is a Long or Integer
- if (gatheringWrite) {
- result.setResult((V)Long.valueOf(n));
- } else {
- result.setResult((V)Integer.valueOf(n));
- }
+ int n = write0(handle, numBufs, writeBufferArray, overlapped);
+ if (n == IOStatus.UNAVAILABLE) {
+ // I/O is pending
+ pending = true;
+ return;
}
+ if (n == IOStatus.EOF) {
+ // special case for shutdown output
+ shutdown = true;
+ throw new ClosedChannelException();
+ }
+ // write completed immediately
+ throw new InternalError("Write completed immediately");
} catch (Throwable x) {
+ // write failed. Enable writing before releasing waiters.
enableWriting();
-
- // failed to initiate read:
if (!shutdown && (x instanceof ClosedChannelException))
x = new AsynchronousCloseException();
if (!(x instanceof IOException))
x = new IOException(x);
result.setFailure(x);
-
- // release resources
- if (overlapped != 0L)
- ioCache.remove(overlapped);
-
} finally {
- if (prepared && !pending) {
- // return direct buffer(s) to cache if substituted
- releaseBuffers();
+ // release resources if I/O not pending
+ if (!pending) {
+ if (overlapped != 0L)
+ ioCache.remove(overlapped);
+ if (prepared)
+ releaseBuffers();
}
end();
}
diff --git a/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c b/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
index 97c49f6..c9a1972 100644
--- a/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
+++ b/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c
@@ -157,14 +157,13 @@
WSABUF* lpWsaBuf = (WSABUF*) jlong_to_ptr(address);
OVERLAPPED* lpOverlapped = (OVERLAPPED*) jlong_to_ptr(ov);
BOOL res;
- DWORD nread = 0;
DWORD flags = 0;
ZeroMemory((PVOID)lpOverlapped, sizeof(OVERLAPPED));
res = WSARecv(s,
lpWsaBuf,
(DWORD)count,
- &nread,
+ NULL,
&flags,
lpOverlapped,
NULL);
@@ -175,17 +174,12 @@
return IOS_UNAVAILABLE;
}
if (error == WSAESHUTDOWN) {
- return 0; // input shutdown
+ return IOS_EOF; // input shutdown
}
JNU_ThrowIOExceptionWithLastError(env, "WSARecv failed");
return IOS_THROWN;
}
- if (nread == 0) {
- // Handle graceful close or bytes not yet available cases
- // via completion port notification.
- return IOS_UNAVAILABLE;
- }
- return (jint)nread;
+ return IOS_UNAVAILABLE;
}
JNIEXPORT jint JNICALL
@@ -196,13 +190,12 @@
WSABUF* lpWsaBuf = (WSABUF*) jlong_to_ptr(address);
OVERLAPPED* lpOverlapped = (OVERLAPPED*) jlong_to_ptr(ov);
BOOL res;
- DWORD nwritten;
ZeroMemory((PVOID)lpOverlapped, sizeof(OVERLAPPED));
res = WSASend(s,
lpWsaBuf,
(DWORD)count,
- &nwritten,
+ NULL,
0,
lpOverlapped,
NULL);
@@ -218,5 +211,5 @@
JNU_ThrowIOExceptionWithLastError(env, "WSASend failed");
return IOS_THROWN;
}
- return (jint)nwritten;
+ return IOS_UNAVAILABLE;
}
diff --git a/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java b/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java
index 56dd2dd..5e039e7 100644
--- a/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java
+++ b/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java
@@ -27,6 +27,7 @@
* @summary Verifies that (0, 0) is the upper-left corner of the page, not
* the upper-left corner adjusted for the margins.
* @author dpm
+ * @run main/manual EdgeTest
*/
import java.awt.*;
@@ -43,7 +44,9 @@
}
);
f.setVisible(true);
- PrintJob pj = getToolkit().getPrintJob(f, "EdgeTest", null);
+ JobAttributes job = new JobAttributes();
+ job.setDialog(JobAttributes.DialogType.NONE);
+ PrintJob pj = getToolkit().getPrintJob(f, "EdgeTest", job, null);
if (pj != null) {
Graphics g = pj.getGraphics();
Dimension d = pj.getPageDimension();
diff --git a/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java b/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java
index 1f64d4f..c0d837d 100644
--- a/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java
+++ b/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java
@@ -44,7 +44,10 @@
public MultipleEndFrame() {
super("MultipleEnd");
setVisible(true);
- PrintJob pj = getToolkit().getPrintJob(this, "MuiltipleEnd", null);
+
+ JobAttributes job = new JobAttributes();
+ job.setDialog(JobAttributes.DialogType.NONE);
+ PrintJob pj = getToolkit().getPrintJob(this, "MultipleEnd", job, null);
if (pj != null) {
pj.end();
pj.end();
diff --git a/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java
new file mode 100644
index 0000000..f33a21c
--- /dev/null
+++ b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6362683
+ * @summary Collation should work.
+ * @run main/manual Collate2DPrintingTest
+ */
+import java.awt.*;
+import java.awt.event.*;
+import java.awt.print.*;
+import javax.print.attribute.standard.*;
+import javax.print.attribute.*;
+import javax.print.*;
+import java.io.*;
+
+public class Collate2DPrintingTest
+ extends Frame implements Doc, Printable, ActionListener {
+
+ Button print2D = new Button("2D Print");
+ Button printMerlin = new Button("PrintService");
+ PrinterJob pj = PrinterJob.getPrinterJob();
+ PrintService defService = null;
+ HashPrintRequestAttributeSet prSet = new HashPrintRequestAttributeSet();
+
+ public Collate2DPrintingTest() {
+
+ Panel butPanel = new Panel();
+ butPanel.add(print2D);
+ butPanel.add(printMerlin);
+ print2D.addActionListener(this);
+ printMerlin.addActionListener(this);
+ addWindowListener (new WindowAdapter() {
+ public void windowClosing (WindowEvent e) {
+ dispose();
+ }
+ });
+ add("South", butPanel);
+
+ defService = PrintServiceLookup.lookupDefaultPrintService();
+ PrintService[] pservice;
+ if (defService == null) {
+ pservice = PrintServiceLookup.lookupPrintServices(null, null);
+ if (pservice.length == 0) {
+ throw new RuntimeException("No printer found. TEST ABORTED");
+ }
+ defService = pservice[0];
+ }
+ prSet.add(SheetCollate.COLLATED);
+ prSet.add(new Copies(2));
+ pj.setPrintable(Collate2DPrintingTest.this);
+ setSize(300, 200);
+ setVisible(true);
+ }
+
+
+ public int print(Graphics g, PageFormat pf, int pageIndex)
+ throws PrinterException {
+ g.drawString("Page: " + pageIndex, 100, 100);
+ if (pageIndex == 2) {
+ return Printable.NO_SUCH_PAGE;
+ } else {
+ return Printable.PAGE_EXISTS;
+ }
+ }
+
+ public void actionPerformed (ActionEvent ae) {
+ try {
+ if (ae.getSource() == print2D) {
+ if (pj.printDialog(prSet)) {
+ pj.print(prSet);
+ }
+ } else {
+ DocPrintJob pj = defService.createPrintJob();
+ pj.print(this, prSet);
+ }
+ System.out.println ("DONE");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public DocAttributeSet getAttributes() {
+ return null;
+ }
+
+ public DocFlavor getDocFlavor() {
+ DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
+ return flavor;
+ }
+
+ public Object getPrintData() {
+ return this;
+ }
+
+ public Reader getReaderForText() {
+ return null;
+ }
+
+ public InputStream getStreamForBytes() {
+ return null;
+ }
+
+ public static void main( String[] args) {
+
+ String[] instructions =
+ {
+ "You must have a printer available to perform this test",
+ "The print result should be collated."
+ };
+ Sysout.createDialog( );
+ Sysout.printInstructions( instructions );
+
+ new Collate2DPrintingTest();
+ }
+}
+
+
+class Sysout {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions( String[] instructions )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ dialog.printInstructions( instructions );
+ dialog.setVisible(true);
+ println( "Any messages for the tester will display here." );
+ }
+
+ public static void createDialog( )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ String[] defInstr = { "Instructions will appear here. ", "" } ;
+ dialog.printInstructions( defInstr );
+ dialog.setVisible(true);
+ println( "Any messages for the tester will display here." );
+ }
+
+
+ public static void printInstructions( String[] instructions )
+ {
+ dialog.printInstructions( instructions );
+ }
+
+
+ public static void println( String messageIn )
+ {
+ dialog.displayMessage( messageIn );
+ }
+
+}// Sysout class
+
+/**
+ This is part of the standard test machinery. It provides a place for the
+ test instructions to be displayed, and a place for interactive messages
+ to the user to be displayed.
+ To have the test instructions displayed, see Sysout.
+ To have a message to the user be displayed, see Sysout.
+ Do not call anything in this dialog directly.
+ */
+class TestDialog extends Dialog {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog( Frame frame, String name )
+ {
+ super( frame, name );
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+ add( "North", instructionsText );
+
+ messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+ add("Center", messageText);
+
+ pack();
+
+ setVisible(true);
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions( String[] instructions )
+ {
+ //Clear out any current instructions
+ instructionsText.setText( "" );
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for( int i=0; i < instructions.length; i++ )
+ {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[ i ];
+ while( remainingStr.length() > 0 )
+ {
+ //if longer than max then chop off first max chars to print
+ if( remainingStr.length() >= maxStringLength )
+ {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf( ' ', maxStringLength - 1 );
+
+ if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring( 0, posOfSpace + 1 );
+ remainingStr = remainingStr.substring( posOfSpace + 1 );
+ }
+ //else just print
+ else
+ {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append( printStr + "\n" );
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage( String messageIn )
+ {
+ messageText.append( messageIn + "\n" );
+ }
+
+ }// TestDialog class
diff --git a/jdk/test/java/awt/print/PrinterJob/PrtException.java b/jdk/test/java/awt/print/PrinterJob/PrtException.java
new file mode 100644
index 0000000..f4cfdb5
--- /dev/null
+++ b/jdk/test/java/awt/print/PrinterJob/PrtException.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+/*
+ @test
+ @bug 4429544
+ @summary This test should not throw a printer exception. Test has been modified to correspond with the behavior of 1.5 and above.
+ @run main PrtException
+*/
+
+import java.awt.*;
+import java.awt.print.*;
+import javax.print.*;
+
+public class PrtException implements Printable {
+ PrinterJob pj;
+
+ public PrtException() {
+
+ try{
+ PrintService[] svc;
+ PrintService defService = PrintServiceLookup.lookupDefaultPrintService();
+ if (defService == null) {
+ svc = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
+ if (svc.length == 0) {
+ throw new RuntimeException("Printer is required for this test. TEST ABORTED");
+ }
+ defService = svc[0];
+ }
+
+ System.out.println("PrintService found : "+defService);
+ pj = PrinterJob.getPrinterJob();;
+ pj.setPrintService(defService);
+ //pj.setPrintable(this); // commenting this line should not result in PrinterException
+ pj.print();
+ } catch(PrinterException e ) {
+ e.printStackTrace();
+ throw new RuntimeException(" PrinterException should not be thrown. TEST FAILED");
+ }
+ System.out.println("TEST PASSED");
+ }
+
+
+ public int print(Graphics g,PageFormat pf,int pageIndex) {
+ Graphics2D g2= (Graphics2D)g;
+ if(pageIndex>=1){
+ return Printable.NO_SUCH_PAGE;
+ }
+ g2.translate(pf.getImageableX(), pf.getImageableY());
+ g2.setColor(Color.black);
+ g2.drawString("Hello world.", 10, 10);
+
+ return Printable.PAGE_EXISTS;
+ }
+
+ public static void main(String arg[]) {
+ PrtException sp = new PrtException();
+ }
+}
diff --git a/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java
new file mode 100644
index 0000000..8e6fe1a
--- /dev/null
+++ b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @bug 6829503
+ * @summary 1) Test Console and DeleteOnExitHook can be initialized
+ * while shutdown is in progress
+ * 2) Test if files that are added by the application shutdown
+ * hook are deleted on exit during shutdown
+ */
+import java.io.*;
+public class ShutdownHooks {
+ private static File file;
+ public static void main(String[] args) throws Exception {
+ if (args.length != 2) {
+ throw new IllegalArgumentException("Usage: ShutdownHooks <dir> <filename>");
+ }
+
+ // Add a shutdown hook
+ Runtime.getRuntime().addShutdownHook(new Cleaner());
+
+ File dir = new File(args[0]);
+ file = new File(dir, args[1]);
+ // write to file
+ System.out.println("writing to "+ file);
+ PrintWriter pw = new PrintWriter(file);
+ pw.println("Shutdown begins");
+ pw.close();
+ }
+
+ public static class Cleaner extends Thread {
+ public void run() {
+ // register the Console's shutdown hook while the application
+ // shutdown hook is running
+ Console cons = System.console();
+ // register the DeleteOnExitHook while the application
+ // shutdown hook is running
+ file.deleteOnExit();
+ try {
+ PrintWriter pw = new PrintWriter(file);
+ pw.println("file is being deleted");
+ pw.close();
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+}
diff --git a/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh
new file mode 100644
index 0000000..a064209
--- /dev/null
+++ b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+#
+# Copyright 2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+
+# @test
+# @bug 6829503
+# @summary 1) Test Console and DeleteOnExitHook can be initialized
+# while shutdown is in progress
+# 2) Test if files that are added by the application shutdown
+# hook are deleted on exit during shutdown
+#
+# @build ShutdownHooks
+# @run shell ShutdownHooks.sh
+
+if [ "${TESTJAVA}" = "" ]
+then
+ echo "TESTJAVA not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+FILENAME=fileToBeDeleted
+rm -f ${TESTCLASSES}/${FILENAME}
+
+# create the file to be deleted on exit
+echo "testing shutdown" > ${TESTCLASSES}/${FILENAME}
+
+${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath ${TESTCLASSES} ShutdownHooks ${TESTCLASSES} $FILENAME
+if [ $? != 0 ] ; then
+ echo "Test Failed"; exit 1
+fi
+
+if [ -f ${TESTCLASSES}/${FILENAME} ]; then
+ echo "Test Failed: ${TESTCLASSES}/${FILENAME} not deleted"; exit 2
+fi
+echo "ShutdownHooks test passed.";
diff --git a/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java b/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java
new file mode 100644
index 0000000..d3426ba
--- /dev/null
+++ b/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2008-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @bug 6834246
+ * @summary Stress test connections through the loopback interface
+ */
+
+import java.nio.ByteBuffer;
+import java.net.*;
+import java.nio.channels.*;
+import java.util.Random;
+import java.io.IOException;
+
+public class StressLoopback {
+ static final Random rand = new Random();
+
+ public static void main(String[] args) throws Exception {
+ // setup listener
+ AsynchronousServerSocketChannel listener =
+ AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(0));
+ int port =((InetSocketAddress)(listener.getLocalAddress())).getPort();
+ InetAddress lh = InetAddress.getLocalHost();
+ SocketAddress remote = new InetSocketAddress(lh, port);
+
+ // create sources and sinks
+ int count = 2 + rand.nextInt(9);
+ Source[] source = new Source[count];
+ Sink[] sink = new Sink[count];
+ for (int i=0; i<count; i++) {
+ AsynchronousSocketChannel ch = AsynchronousSocketChannel.open();
+ ch.connect(remote).get();
+ source[i] = new Source(ch);
+ sink[i] = new Sink(listener.accept().get());
+ }
+
+ // start the sinks and sources
+ for (int i=0; i<count; i++) {
+ sink[i].start();
+ source[i].start();
+ }
+
+ // let the test run for a while
+ Thread.sleep(20*1000);
+
+ // wait until everyone is done
+ boolean failed = false;
+ long total = 0L;
+ for (int i=0; i<count; i++) {
+ long nwrote = source[i].finish();
+ long nread = sink[i].finish();
+ if (nread != nwrote)
+ failed = true;
+ System.out.format("%d -> %d (%s)\n",
+ nwrote, nread, (failed) ? "FAIL" : "PASS");
+ total += nwrote;
+ }
+ if (failed)
+ throw new RuntimeException("Test failed - see log for details");
+ System.out.format("Total sent %d MB\n", total / (1024L * 1024L));
+ }
+
+ /**
+ * Writes bytes to a channel until "done". When done the channel is closed.
+ */
+ static class Source {
+ private final AsynchronousByteChannel channel;
+ private final ByteBuffer sentBuffer;
+ private volatile long bytesSent;
+ private volatile boolean finished;
+
+ Source(AsynchronousByteChannel channel) {
+ this.channel = channel;
+ int size = 1024 + rand.nextInt(10000);
+ this.sentBuffer = (rand.nextBoolean()) ?
+ ByteBuffer.allocateDirect(size) : ByteBuffer.allocate(size);
+ }
+
+ void start() {
+ sentBuffer.position(0);
+ sentBuffer.limit(sentBuffer.capacity());
+ channel.write(sentBuffer, null, new CompletionHandler<Integer,Void> () {
+ public void completed(Integer nwrote, Void att) {
+ bytesSent += nwrote;
+ if (finished) {
+ closeUnchecked(channel);
+ } else {
+ sentBuffer.position(0);
+ sentBuffer.limit(sentBuffer.capacity());
+ channel.write(sentBuffer, null, this);
+ }
+ }
+ public void failed(Throwable exc, Void att) {
+ exc.printStackTrace();
+ closeUnchecked(channel);
+ }
+ public void cancelled(Void att) {
+ }
+ });
+ }
+
+ long finish() {
+ finished = true;
+ waitUntilClosed(channel);
+ return bytesSent;
+ }
+ }
+
+ /**
+ * Read bytes from a channel until EOF is received.
+ */
+ static class Sink {
+ private final AsynchronousByteChannel channel;
+ private final ByteBuffer readBuffer;
+ private volatile long bytesRead;
+
+ Sink(AsynchronousByteChannel channel) {
+ this.channel = channel;
+ int size = 1024 + rand.nextInt(10000);
+ this.readBuffer = (rand.nextBoolean()) ?
+ ByteBuffer.allocateDirect(size) : ByteBuffer.allocate(size);
+ }
+
+ void start() {
+ channel.read(readBuffer, null, new CompletionHandler<Integer,Void> () {
+ public void completed(Integer nread, Void att) {
+ if (nread < 0) {
+ closeUnchecked(channel);
+ } else {
+ bytesRead += nread;
+ readBuffer.clear();
+ channel.read(readBuffer, null, this);
+ }
+ }
+ public void failed(Throwable exc, Void att) {
+ exc.printStackTrace();
+ closeUnchecked(channel);
+ }
+ public void cancelled(Void att) {
+ }
+ });
+ }
+
+ long finish() {
+ waitUntilClosed(channel);
+ return bytesRead;
+ }
+ }
+
+ static void waitUntilClosed(Channel c) {
+ while (c.isOpen()) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException ignore) { }
+ }
+ }
+
+ static void closeUnchecked(Channel c) {
+ try {
+ c.close();
+ } catch (IOException ignore) { }
+ }
+}
diff --git a/jdk/test/javax/print/CheckDupFlavor.java b/jdk/test/javax/print/CheckDupFlavor.java
index 5317e50..db52def 100644
--- a/jdk/test/javax/print/CheckDupFlavor.java
+++ b/jdk/test/javax/print/CheckDupFlavor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2004-2009 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
@@ -35,17 +35,19 @@
public class CheckDupFlavor {
public static void main(String[] args){
- PrintService pservice =
- PrintServiceLookup.lookupDefaultPrintService();
-
- if (pservice == null) {
- System.out.println("No default PrintService found. Test ABORTED.");
- return;
+ PrintService defService = PrintServiceLookup.lookupDefaultPrintService();
+ PrintService[] pservice;
+ if (defService == null) {
+ pservice = PrintServiceLookup.lookupPrintServices(null, null);
+ if (pservice.length == 0) {
+ throw new RuntimeException("No printer found. TEST ABORTED");
+ }
+ defService = pservice[0];
}
- System.out.println("Default service = "+pservice);
+ System.out.println("PrintService = "+defService);
- DocFlavor[] flavors = pservice.getSupportedDocFlavors();
+ DocFlavor[] flavors = defService.getSupportedDocFlavors();
if (flavors==null) {
System.out.println("No flavors supported. Test PASSED.");
return;
@@ -54,13 +56,13 @@
ArrayList flavorList = new ArrayList();
for (int i=0; i<flavors.length; i++) {
- if (flavors[i] == null) {
- throw new RuntimeException("Null flavor. Test FAILED.");
- } else if (flavorList.contains(flavors[i])) {
- throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED.");
- } else {
- flavorList.add(flavors[i]);
- }
+ if (flavors[i] == null) {
+ throw new RuntimeException("Null flavor. Test FAILED.");
+ } else if (flavorList.contains(flavors[i])) {
+ throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED.");
+ } else {
+ flavorList.add(flavors[i]);
+ }
}
System.out.println("No duplicate found. Test PASSED.");
}
diff --git a/jdk/test/javax/print/LookupServices.java b/jdk/test/javax/print/LookupServices.java
new file mode 100644
index 0000000..200f0c6
--- /dev/null
+++ b/jdk/test/javax/print/LookupServices.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4510477 6520186
+ * @summary No crash with HP OfficeJet 600 installed.
+ * @run main LookupServices
+*/
+
+import javax.print.attribute.*;
+import javax.print.*;
+
+public class LookupServices {
+ public static void main (String [] args) {
+
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ HashPrintRequestAttributeSet prSet = null;
+
+ PrintService[] serv = PrintServiceLookup.lookupPrintServices(flavor, null);
+ System.out.println("default "+PrintServiceLookup.lookupDefaultPrintService());
+ if (serv.length==0) {
+ System.out.println("no PrintService supports GIF");
+ return;
+ }
+
+ System.out.println("Selected print service: "+ serv[0]);
+ }
+
+}
diff --git a/jdk/test/javax/print/TestRaceCond.java b/jdk/test/javax/print/TestRaceCond.java
index 9a97a24..b9cc52c 100644
--- a/jdk/test/javax/print/TestRaceCond.java
+++ b/jdk/test/javax/print/TestRaceCond.java
@@ -43,6 +43,10 @@
PrintService[] pservs = PrintServiceLookup.lookupPrintServices(null, null);
PrintService pserv2 = PrintServiceLookup.lookupDefaultPrintService();
+ if ((pserv1 == null) || (pserv2==null)) {
+ return;
+ }
+
if (pserv1.hashCode() != pserv2.hashCode()) {
throw new RuntimeException("Different hashCodes for equal print "
+ "services: " + pserv1.hashCode() + " "
diff --git a/jdk/test/javax/print/attribute/Chroma.java b/jdk/test/javax/print/attribute/Chroma.java
new file mode 100644
index 0000000..a1d8055
--- /dev/null
+++ b/jdk/test/javax/print/attribute/Chroma.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+/*
+ * @test 1.3 01/05/11
+ * @bug 4456750
+ * @summary Test for supported chromaticity values with null DocFlavor.
+ * No exception should be thrown.
+ * @run main Chroma
+*/
+
+// Chroma.java
+import java.io.*;
+
+import javax.print.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+
+public class Chroma {
+
+ public static void main(String args[]) {
+
+ StreamPrintServiceFactory []fact =
+ StreamPrintServiceFactory.lookupStreamPrintServiceFactories(
+ DocFlavor.SERVICE_FORMATTED.PRINTABLE,
+ DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());
+
+ if (fact.length != 0) {
+ OutputStream out = new ByteArrayOutputStream();
+ StreamPrintService sps = fact[0].getPrintService(out);
+ checkChroma(sps);
+ }
+
+ PrintService defSvc = PrintServiceLookup.lookupDefaultPrintService();
+ if (defSvc != null) {
+ checkChroma(defSvc);
+ }
+
+ }
+
+ static void checkChroma(PrintService svc) {
+ if (svc.isAttributeCategorySupported(Chromaticity.class)) {
+ svc.getSupportedAttributeValues(Chromaticity.class,null,null);
+ }
+ }
+
+}
diff --git a/jdk/test/javax/print/attribute/ChromaticityValues.java b/jdk/test/javax/print/attribute/ChromaticityValues.java
new file mode 100644
index 0000000..a145b73
--- /dev/null
+++ b/jdk/test/javax/print/attribute/ChromaticityValues.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+/*
+ * @test
+ * @bug 4446106
+ * @summary Test for chromaticity values.
+ * @run main ChromaticityValues
+*/
+
+
+
+import javax.print.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+import java.util.ArrayList;
+
+public class ChromaticityValues {
+
+ public static void main(String args[]) {
+ System.out.println("=======================================================================");
+ System.out.println("INSTRUCTIONS: This test is only for WINDOWS platform. ");
+ System.out.println("You should have a printer configured as your default printer in your system.");
+ System.out.println("=======================================================================");
+
+ String os=System.getProperty("os.name").toLowerCase();
+
+ if (!(os.indexOf("win")>=0)) {
+ System.out.println("Not a Windows System. TEST ABORTED");
+ return;
+ }
+
+ PrintService pservice = PrintServiceLookup.lookupDefaultPrintService();
+ if (pservice == null) {
+ throw new RuntimeException("A printer is required for this test.");
+ }
+
+ System.out.println("Default Service is "+pservice);
+ ColorSupported psa = (ColorSupported)pservice.getAttribute(ColorSupported.class);
+ ArrayList cValues = new ArrayList();
+
+ if (pservice.isAttributeCategorySupported(Chromaticity.class)) {
+ Chromaticity[] values =(Chromaticity[])
+ (pservice.getSupportedAttributeValues(Chromaticity.class, DocFlavor.SERVICE_FORMATTED.PAGEABLE, null));
+ if ((values != null) && (values.length > 0)) {
+ for (int i=0; i<values.length; i++) {
+ cValues.add(values[i]);
+ }
+ } else {
+ System.out.println("Chromaticity value is unknown. TEST ABORTED");
+ return;
+ }
+
+ } else {
+ System.out.println("Chromaticity is not supported. TEST ABORTED");
+ return;
+
+ }
+
+ if (psa != null) {
+ if (psa.equals(ColorSupported.SUPPORTED)) {
+ if (cValues.size() < 2) {
+ throw new RuntimeException("ColorSupported is supported, values for Chromaticity should be monochrome and color.");
+ }
+ } else {
+ if ((cValues.size() != 1) ||
+ (!cValues.contains(Chromaticity.MONOCHROME))) {
+ throw new RuntimeException("ColorSupported is not supported, values for Chromaticity should only be monochrome.");
+ }
+ }
+ } else { // ColorSupported unknown
+ if (!cValues.contains(Chromaticity.COLOR)) {
+ throw new RuntimeException("ColorSupported is unknown, values for Chromaticity should at least include color.");
+ }
+
+ }
+ }
+}
diff --git a/jdk/test/javax/print/attribute/GetCopiesSupported.java b/jdk/test/javax/print/attribute/GetCopiesSupported.java
new file mode 100644
index 0000000..011aebe
--- /dev/null
+++ b/jdk/test/javax/print/attribute/GetCopiesSupported.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+/*
+ @test
+ @bug 4463280
+ @summary No ClassCastException should occur.
+ @run main GetCopiesSupported
+*/
+
+import javax.print.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+
+public class GetCopiesSupported {
+
+ public static void main(String args[]) {
+ PrintService service = PrintServiceLookup.lookupDefaultPrintService();
+ PrintService[] pservice;
+ if (service == null) {
+ pservice = PrintServiceLookup.lookupPrintServices(null, null);
+ if (pservice.length == 0) {
+ throw new RuntimeException("No printer found. TEST ABORTED");
+ }
+ service = pservice[0];
+ }
+
+ if (service != null) {
+ CopiesSupported c = (CopiesSupported)
+ service.getSupportedAttributeValues(Copies.class,
+ null, null);
+
+ System.out.println("CopiesSupported : "+c);
+ }
+ }
+
+
+}
diff --git a/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java b/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java
index a90f79d..f03eac5 100644
--- a/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java
+++ b/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2007-2009 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
@@ -37,26 +37,26 @@
public static void main(String args[]) {
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
- PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
- if (!(ps.isDocFlavorSupported(flavor))) {
- System.out.println("unsupported flavor :" + flavor);
- return;
- }
- Copies c = new Copies(1);
- PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
- aset.add(c);
- boolean suppVal = ps.isAttributeValueSupported(c, flavor, null);
- AttributeSet us = ps.getUnsupportedAttributes(flavor, aset);
- if (suppVal || us == null) {
- throw new RuntimeException("Copies should be unsupported value");
- }
+ PrintService[] ps = PrintServiceLookup.lookupPrintServices(flavor, null);
+ if (ps.length > 0) {
+ System.out.println("found PrintService: "+ps[0]);
+ Copies c = new Copies(1);
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ aset.add(c);
+ boolean suppVal = ps[0].isAttributeValueSupported(c, flavor, null);
+ AttributeSet us = ps[0].getUnsupportedAttributes(flavor, aset);
+ if (suppVal || us == null) {
+ throw new RuntimeException("Copies should be unsupported value");
+ }
- Object value = ps.getSupportedAttributeValues(Copies.class, flavor, null);
+ Object value = ps[0].getSupportedAttributeValues(Copies.class,
+ flavor, null);
- //Copies Supported
- if(value instanceof CopiesSupported) {
- throw new RuntimeException("Copies should have no supported values.");
- }
+ //Copies Supported
+ if(value instanceof CopiesSupported) {
+ throw new RuntimeException("Copies should have no supported values.");
+ }
+ }
}
}
diff --git a/jdk/test/javax/print/attribute/SidesPageRangesTest.java b/jdk/test/javax/print/attribute/SidesPageRangesTest.java
new file mode 100644
index 0000000..cf48761
--- /dev/null
+++ b/jdk/test/javax/print/attribute/SidesPageRangesTest.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2003-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+/*
+ * @test
+ * @bug 4903366
+ * @summary No crash should occur.
+ * @run main SidesPageRangesTest
+*/
+import java.awt.*;
+import javax.print.*;
+import javax.print.attribute.standard.*;
+import javax.print.attribute.*;
+import java.io.*;
+import java.util.Locale;
+import java.net.URL;
+
+public class SidesPageRangesTest {
+ /**
+ * Constructor
+ */
+ public SidesPageRangesTest() {
+ super();
+ }
+ /**
+ * Starts the application.
+ */
+ public static void main(java.lang.String[] args) {
+ SidesPageRangesTest pd = new SidesPageRangesTest();
+ PrintService defService = null;
+ DocFlavor flavors[] = null;
+ PrintService[] pservice;
+ defService = PrintServiceLookup.lookupDefaultPrintService();
+ if (defService == null) {
+ pservice = PrintServiceLookup.lookupPrintServices(null, null);
+ if (pservice.length == 0) {
+ throw new RuntimeException("Printer is required for this test. TEST ABORTED");
+ }
+ defService = pservice[0];
+ }
+ System.out.println("Default Print Service "+defService);
+
+
+ if (defService.isAttributeCategorySupported(PageRanges.class)) {
+ System.out.println("\nPageRanges Attribute category is supported");
+ } else {
+ System.out.println("\nPageRanges Attribute category is not supported. terminating...");
+ System.exit(1);
+ }
+
+ flavors = defService.getSupportedDocFlavors();
+ System.out.println("\nGetting Supported values for PageRanges for each supported DocFlavor");
+ System.out.println("===============================================================\n");
+ for (int y = 0; y < flavors.length; y ++) {
+ System.out.println("\n\n");
+
+ System.out.println("Doc Flavor: "+flavors[y]);
+ System.out.println("-----------------------------");
+
+ Object vals = defService.getSupportedAttributeValues(PageRanges.class, flavors[y], null);
+ if (vals == null) {
+ System.out.println("No supported values for PageRanges for this doc flavor. ");
+ }
+
+ PageRanges[] pr = null;
+ if (vals instanceof PageRanges[]) {
+ pr = (PageRanges[]) vals;
+ for (int x = 0; x < pr.length; x ++) {
+ System.out.println("\nSupported Value "+pr[x]);
+ System.out.println("is "+pr[x]+" value supported? "+defService.isAttributeValueSupported(pr[x], flavors[y], null));
+
+ if (!defService.isAttributeValueSupported(pr[x], flavors[y], null)) {
+ throw new RuntimeException("PageRanges contradicts getSupportedAttributeValues");
+ }
+ }
+ } else if (vals instanceof PageRanges) {
+ System.out.println(vals);
+ System.out.println("is "+vals+" value supported? "+defService.isAttributeValueSupported((javax.print.attribute.Attribute)vals, flavors[y], null));
+ if (!defService.isAttributeValueSupported((javax.print.attribute.Attribute)vals, flavors[y], null)) {
+ throw new RuntimeException("PageRanges contradicts getSupportedAttributeValues");
+ }
+ }
+
+ // SIDES test
+ vals = defService.getSupportedAttributeValues(Sides.class, flavors[y], null);
+ if (vals == null) {
+ System.out.println("No supported values for Sides for this doc flavor. ");
+ }
+
+ Sides[] s = null;
+ if (vals instanceof Sides[]) {
+ s = (Sides[]) vals;
+ for (int x = 0; x < s.length; x ++) {
+ System.out.println("\nSupported Value "+s[x]);
+ System.out.println("is "+s[x]+" value supported? "+defService.isAttributeValueSupported(s[x], flavors[y], null));
+ if (!defService.isAttributeValueSupported(s[x], flavors[y], null)) {
+ throw new RuntimeException("Sides contradicts getSupportedAttributeValues");
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/jdk/test/javax/print/attribute/SupportedPrintableAreas.java b/jdk/test/javax/print/attribute/SupportedPrintableAreas.java
new file mode 100644
index 0000000..472a6f4
--- /dev/null
+++ b/jdk/test/javax/print/attribute/SupportedPrintableAreas.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2003-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4762773 6289206 6324049 6362765
+ * @summary Tests that get non-null return list of printable areas.
+ * @run main SupportedPrintableAreas
+ */
+
+
+import javax.print.*;
+import javax.print.event.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+
+public class SupportedPrintableAreas {
+
+ public static void main(String[] args) {
+ PrintService[] svc;
+ PrintService printer = PrintServiceLookup.lookupDefaultPrintService();
+ if (printer == null) {
+ svc = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
+ if (svc.length == 0) {
+ throw new RuntimeException("Printer is required for this test. TEST ABORTED");
+ }
+ printer = svc[0];
+ }
+ System.out.println("PrintService found : "+printer);
+
+ if (!printer.isAttributeCategorySupported(MediaPrintableArea.class)) {
+ return;
+ }
+ Object value = printer.getSupportedAttributeValues(
+ MediaPrintableArea.class, null, null);
+ if (!value.getClass().isArray()) {
+ throw new RuntimeException("unexpected value");
+ }
+
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ value = printer.getSupportedAttributeValues(
+ MediaPrintableArea.class, null, aset);
+ if (!value.getClass().isArray()) {
+ throw new RuntimeException("unexpected value");
+ }
+
+ Media media = (Media)printer.getDefaultAttributeValue(Media.class);
+ aset.add(media);
+ value = printer.getSupportedAttributeValues(
+ MediaPrintableArea.class, null, aset);
+ if (!value.getClass().isArray()) {
+ throw new RuntimeException("unexpected value");
+ }
+
+ // test for 6289206
+ aset.add(MediaTray.MANUAL);
+ value = printer.getSupportedAttributeValues(
+ MediaPrintableArea.class, null, aset);
+ if ((value != null) && !value.getClass().isArray()) {
+ throw new RuntimeException("unexpected value");
+ }
+ }
+}
diff --git a/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java
new file mode 100644
index 0000000..b87807b
--- /dev/null
+++ b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright 2001-2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4468109
+ * @summary Test for printing AUTOSENSE DocFlavor. No exception should be thrown.
+ * @run main PrintAutoSenseData
+*/
+
+import java.io.*;
+import javax.print.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+import java.net.URL;
+
+public class PrintAutoSenseData
+{
+ private DocFlavor flavor = DocFlavor.URL.AUTOSENSE; //represents the docflavor.
+ private PrintService[] service = PrintServiceLookup.lookupPrintServices(flavor, null);
+
+
+ public PrintAutoSenseData()
+ {
+ if (service.length == 0)
+ {
+ System.out.println("No print service available...");
+ return;
+ }
+
+ System.out.println("selected PrintService: " + this.service[0]);
+ if (service[0].isDocFlavorSupported(flavor)) {
+ System.out.println("DocFlavor.URL.AUTOSENSE supported");
+ } else {
+ System.out.println("DocFlavor.URL.AUTOSENSE not supported. Testing aborted !!");
+ return;
+ }
+
+ DocPrintJob job = service[0].createPrintJob();
+ this.print();
+ }
+
+ // The print method prints sample file with DocFlavor.URL.AUTOSENSE.
+ void print()
+ {
+ String fileName = "./sample.txt";
+ DocPrintJob job = service[0].createPrintJob();
+
+ // The representation class is a URL.
+ System.out.println("printing " + fileName + " using doc flavor: " + this.flavor);
+ System.out.println("Rep. class name: " + this.flavor.getRepresentationClassName() + " MimeType: " + this.flavor.getMimeType());
+
+ Doc doc = new URLDoc(fileName, this.flavor);
+ HashPrintRequestAttributeSet prSet =
+ new HashPrintRequestAttributeSet();
+ prSet.add(new Destination(new File("./dest.prn").toURI()));
+ //print the document.
+ try {
+ job.print(doc, prSet);
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) {
+ new PrintAutoSenseData();
+ }
+
+}
+
+/* This class is for reading autosense data with URL representation class */
+
+class URLDoc implements Doc
+{
+ protected String fileName = null;
+ protected DocFlavor flavor = null;
+ protected Object printData = null;
+ protected InputStream instream = null;
+
+ public URLDoc(String filename, DocFlavor docFlavor)
+ {
+ this.fileName = filename;
+ this.flavor = docFlavor;
+ }
+
+ public DocFlavor getDocFlavor() {
+ return DocFlavor.URL.AUTOSENSE;
+ }
+
+ public DocAttributeSet getAttributes()
+ {
+ HashDocAttributeSet hset = new HashDocAttributeSet();
+ return hset;
+ }
+
+ public Object getPrintData()
+ {
+ if ( this.printData == null )
+ {
+ this.printData = URLDoc.class.getResource(this.fileName);
+ System.out.println("getPrintData(): " + this.printData);
+ }
+ return this.printData;
+ }
+
+ public Reader getReaderForText()
+ {
+ return null;
+ }
+
+ public InputStream getStreamForBytes()
+ {
+ System.out.println("getStreamForBytes(): " + this.printData);
+ try
+ {
+ if ( (this.printData != null) && (this.printData instanceof URL) )
+ {
+ this.instream = ((URL)this.printData).openStream();
+ }
+ if (this.instream == null)
+ {
+ URL url = URLDoc.class.getResource(this.fileName);
+ this.instream = url.openStream();
+ }
+ }
+ catch ( IOException ie )
+ {
+ System.out.println("URLDoc: exception: " + ie.toString());
+ }
+ return this.instream;
+ }
+}
diff --git a/jdk/test/sun/pisces/StrokeShapeTest.java b/jdk/test/sun/pisces/StrokeShapeTest.java
new file mode 100644
index 0000000..d92c1d3
--- /dev/null
+++ b/jdk/test/sun/pisces/StrokeShapeTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+import java.awt.*;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.GeneralPath;
+import java.awt.image.BufferedImage;
+import java.io.File;
+
+import javax.imageio.ImageIO;
+
+/**
+ * @author chrisn@google.com (Chris Nokleberg)
+ * @author yamauchi@google.com (Hiroshi Yamauchi)
+ */
+public class StrokeShapeTest {
+ public static void main(String[] args) throws Exception {
+ BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
+ Graphics2D g = image.createGraphics();
+ g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+ g.setPaint(Color.WHITE);
+ g.fill(new Rectangle(image.getWidth(), image.getHeight()));
+ g.translate(25, 100);
+
+ Stroke stroke = new BasicStroke(200, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
+ Shape shape = new Polygon(new int[] {0, 1500, 0}, new int[] {750, 0, -750}, 3);
+
+ g.scale(.1, .1);
+ g.setPaint(Color.BLACK);
+ g.setStroke(stroke);
+ g.draw(shape);
+ g.setPaint(Color.RED);
+ g.fill(stroke.createStrokedShape(shape));
+
+ // To visually check it
+ //ImageIO.write(image, "PNG", new File(args[0]));
+
+ boolean blackPixelFound = false;
+ outer:
+ for (int x = 0; x < 200; ++x) {
+ for (int y = 0; y < 200; ++y) {
+ if (image.getRGB(x, y) == Color.BLACK.getRGB()) {
+ blackPixelFound = true;
+ break outer;
+ }
+ }
+ }
+ if (blackPixelFound) {
+ throw new RuntimeException("The shape hasn't been filled in red.");
+ }
+ }
+}
diff --git a/langtools/.hgtags b/langtools/.hgtags
index 241f51c..b87461d 100644
--- a/langtools/.hgtags
+++ b/langtools/.hgtags
@@ -31,3 +31,4 @@
197a7f881937d406a01214aa9ded49c073f7d380 jdk7-b54
7394a8694cedea574c7dbd38de87f4cbe0e27b8a jdk7-b55
825f23a4f262eb06cfc94406140f3bfecb17ffe8 jdk7-b56
+4030cc469205bbd517ca629fb170afb81760bbc5 jdk7-b57
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java b/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java
index 562c387..b4bdc77 100644
--- a/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Opcode.java
@@ -226,7 +226,7 @@
INVOKESPECIAL(0xb7, CPREF_W),
INVOKESTATIC(0xb8, CPREF_W),
INVOKEINTERFACE(0xb9, CPREF_W_UBYTE_ZERO),
- // unused 0xba
+ INVOKEDYNAMIC(0xba, CPREF_W_UBYTE_ZERO),
NEW(0xbb, CPREF_W),
NEWARRAY(0xbc, ATYPE),
ANEWARRAY(0xbd, CPREF_W),
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java b/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java
index a16101f..0b2316c 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java
@@ -119,6 +119,8 @@
public final Type stringBuilderType;
public final Type cloneableType;
public final Type serializableType;
+ public final Type methodHandleType;
+ public final Type invokeDynamicType;
public final Type throwableType;
public final Type errorType;
public final Type illegalArgumentExceptionType;
@@ -289,6 +291,24 @@
}
}
+ public void synthesizeMHTypeIfMissing(final Type type) {
+ final Completer completer = type.tsym.completer;
+ if (completer != null) {
+ type.tsym.completer = new Completer() {
+ public void complete(Symbol sym) throws CompletionFailure {
+ try {
+ completer.complete(sym);
+ } catch (CompletionFailure e) {
+ sym.flags_field |= (PUBLIC | ABSTRACT);
+ ((ClassType) sym.type).supertype_field = objectType;
+ // do not bother to create MH.type if not visibly declared
+ // this sym just accumulates invoke(...) methods
+ }
+ }
+ };
+ }
+ }
+
public void synthesizeBoxTypeIfMissing(final Type type) {
ClassSymbol sym = reader.enterClass(boxedName[type.tag]);
final Completer completer = sym.completer;
@@ -405,6 +425,8 @@
cloneableType = enterClass("java.lang.Cloneable");
throwableType = enterClass("java.lang.Throwable");
serializableType = enterClass("java.io.Serializable");
+ methodHandleType = enterClass("java.dyn.MethodHandle");
+ invokeDynamicType = enterClass("java.dyn.InvokeDynamic");
errorType = enterClass("java.lang.Error");
illegalArgumentExceptionType = enterClass("java.lang.IllegalArgumentException");
exceptionType = enterClass("java.lang.Exception");
@@ -441,6 +463,8 @@
synthesizeEmptyInterfaceIfMissing(cloneableType);
synthesizeEmptyInterfaceIfMissing(serializableType);
+ synthesizeMHTypeIfMissing(methodHandleType);
+ synthesizeMHTypeIfMissing(invokeDynamicType);
synthesizeBoxTypeIfMissing(doubleType);
synthesizeBoxTypeIfMissing(floatType);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
index a920623..2ea19c5 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
@@ -118,6 +118,7 @@
relax = (options.get("-retrofit") != null ||
options.get("-relax") != null);
useBeforeDeclarationWarning = options.get("useBeforeDeclarationWarning") != null;
+ allowInvokedynamic = options.get("invokedynamic") != null;
}
/** Switch: relax some constraints for retrofit mode.
@@ -149,6 +150,10 @@
*/
boolean allowAnonOuterThis;
+ /** Switch: allow invokedynamic syntax
+ */
+ boolean allowInvokedynamic;
+
/**
* Switch: warn about use of variable before declaration?
* RFE: 6425594
@@ -438,14 +443,22 @@
}
/** Attribute a type argument list, returning a list of types.
+ * Caller is responsible for calling checkRefTypes.
*/
- List<Type> attribTypes(List<JCExpression> trees, Env<AttrContext> env) {
+ List<Type> attribAnyTypes(List<JCExpression> trees, Env<AttrContext> env) {
ListBuffer<Type> argtypes = new ListBuffer<Type>();
for (List<JCExpression> l = trees; l.nonEmpty(); l = l.tail)
- argtypes.append(chk.checkRefType(l.head.pos(), attribType(l.head, env)));
+ argtypes.append(attribType(l.head, env));
return argtypes.toList();
}
+ /** Attribute a type argument list, returning a list of types.
+ * Check that all the types are references.
+ */
+ List<Type> attribTypes(List<JCExpression> trees, Env<AttrContext> env) {
+ List<Type> types = attribAnyTypes(trees, env);
+ return chk.checkRefTypes(trees, types);
+ }
/**
* Attribute type variables (of generic classes or methods).
@@ -1194,6 +1207,7 @@
// The types of the actual method type arguments.
List<Type> typeargtypes = null;
+ boolean typeargtypesNonRefOK = false;
Name methName = TreeInfo.name(tree.meth);
@@ -1281,7 +1295,7 @@
// Otherwise, we are seeing a regular method call.
// Attribute the arguments, yielding list of argument types, ...
argtypes = attribArgs(tree.args, localEnv);
- typeargtypes = attribTypes(tree.typeargs, localEnv);
+ typeargtypes = attribAnyTypes(tree.typeargs, localEnv);
// ... and attribute the method using as a prototype a methodtype
// whose formal argument types is exactly the list of actual
@@ -1318,6 +1332,20 @@
restype.tsym);
}
+ // as a special case, MethodHandle.<T>invoke(abc) and InvokeDynamic.<T>foo(abc)
+ // has type <T>, and T can be a primitive type.
+ if (tree.meth.getTag() == JCTree.SELECT && !typeargtypes.isEmpty()) {
+ Type selt = ((JCFieldAccess) tree.meth).selected.type;
+ if ((selt == syms.methodHandleType && methName == names.invoke) || selt == syms.invokeDynamicType) {
+ assert types.isSameType(restype, typeargtypes.head) : mtype;
+ typeargtypesNonRefOK = true;
+ }
+ }
+
+ if (!typeargtypesNonRefOK) {
+ chk.checkRefTypes(tree.typeargs, typeargtypes);
+ }
+
// Check that value of resulting type is admissible in the
// current context. Also, capture the return type
result = check(tree, capture(restype), VAL, pkind, pt);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
index 0f9f8d9..402f310 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
@@ -207,6 +207,12 @@
* @param found The type that was found.
*/
Type typeTagError(DiagnosticPosition pos, Object required, Object found) {
+ // this error used to be raised by the parser,
+ // but has been delayed to this point:
+ if (found instanceof Type && ((Type)found).tag == VOID) {
+ log.error(pos, "illegal.start.of.type");
+ return syms.errType;
+ }
log.error(pos, "type.found.req", found, required);
return types.createErrorType(found instanceof Type ? (Type)found : syms.errType);
}
@@ -547,6 +553,20 @@
}
}
+ /** Check that each type is a reference type, i.e. a class, interface or array type
+ * or a type variable.
+ * @param trees Original trees, used for error reporting.
+ * @param types The types to be checked.
+ */
+ List<Type> checkRefTypes(List<JCExpression> trees, List<Type> types) {
+ List<JCExpression> tl = trees;
+ for (List<Type> l = types; l.nonEmpty(); l = l.tail) {
+ l.head = checkRefType(tl.head.pos(), l.head);
+ tl = tl.tail;
+ }
+ return types;
+ }
+
/** Check that type is a null or reference type.
* @param pos Position to be used for error reporting.
* @param t The type to be checked.
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
index ca49088..c73bf17 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
@@ -67,6 +67,7 @@
JCDiagnostic.Factory diags;
public final boolean boxingEnabled; // = source.allowBoxing();
public final boolean varargsEnabled; // = source.allowVarargs();
+ public final boolean allowInvokedynamic; // = options.get("invokedynamic");
private final boolean debugResolve;
public static Resolve instance(Context context) {
@@ -104,6 +105,7 @@
varargsEnabled = source.allowVarargs();
Options options = Options.instance(context);
debugResolve = options.get("debugresolve") != null;
+ allowInvokedynamic = options.get("invokedynamic") != null;
}
/** error symbols, which are returned when resolution fails
@@ -881,6 +883,79 @@
return bestSoFar;
}
+ /** Find or create an implicit method of exactly the given type (after erasure).
+ * Searches in a side table, not the main scope of the site.
+ * This emulates the lookup process required by JSR 292 in JVM.
+ * @param env The current environment.
+ * @param site The original type from where the selection
+ * takes place.
+ * @param name The method's name.
+ * @param argtypes The method's value arguments.
+ * @param typeargtypes The method's type arguments
+ */
+ Symbol findImplicitMethod(Env<AttrContext> env,
+ Type site,
+ Name name,
+ List<Type> argtypes,
+ List<Type> typeargtypes) {
+ assert allowInvokedynamic;
+ assert site == syms.invokeDynamicType || (site == syms.methodHandleType && name == names.invoke);
+ ClassSymbol c = (ClassSymbol) site.tsym;
+ Scope implicit = c.members().next;
+ if (implicit == null) {
+ c.members().next = implicit = new Scope(c);
+ }
+ Type restype;
+ if (typeargtypes.isEmpty()) {
+ restype = syms.objectType;
+ } else {
+ restype = typeargtypes.head;
+ if (!typeargtypes.tail.isEmpty())
+ return methodNotFound;
+ }
+ List<Type> paramtypes = Type.map(argtypes, implicitArgType);
+ MethodType mtype = new MethodType(paramtypes,
+ restype,
+ List.<Type>nil(),
+ syms.methodClass);
+ int flags = PUBLIC | ABSTRACT;
+ if (site == syms.invokeDynamicType) flags |= STATIC;
+ Symbol m = null;
+ for (Scope.Entry e = implicit.lookup(name);
+ e.scope != null;
+ e = e.next()) {
+ Symbol sym = e.sym;
+ assert sym.kind == MTH;
+ if (types.isSameType(mtype, sym.type)
+ && (sym.flags() & STATIC) == (flags & STATIC)) {
+ m = sym;
+ break;
+ }
+ }
+ if (m == null) {
+ // create the desired method
+ m = new MethodSymbol(flags, name, mtype, c);
+ implicit.enter(m);
+ }
+ assert argumentsAcceptable(argtypes, types.memberType(site, m).getParameterTypes(),
+ false, false, Warner.noWarnings);
+ assert null != instantiate(env, site, m, argtypes, typeargtypes, false, false, Warner.noWarnings);
+ return m;
+ }
+ //where
+ Mapping implicitArgType = new Mapping ("implicitArgType") {
+ public Type apply(Type t) { return implicitArgType(t); }
+ };
+ Type implicitArgType(Type argType) {
+ argType = types.erasure(argType);
+ if (argType.tag == BOT)
+ // nulls type as the marker type Null (which has no instances)
+ // TO DO: figure out how to access java.lang.Null safely, else throw nice error
+ //argType = types.boxedClass(syms.botType).type;
+ argType = types.boxedClass(syms.voidType).type; // REMOVE
+ return argType;
+ }
+
/** Load toplevel or member class with given fully qualified name and
* verify that it is accessible.
* @param env The current environment.
@@ -1265,6 +1340,14 @@
methodResolutionCache.put(steps.head, sym);
steps = steps.tail;
}
+ if (sym.kind >= AMBIGUOUS &&
+ allowInvokedynamic &&
+ (site == syms.invokeDynamicType ||
+ site == syms.methodHandleType && name == names.invoke)) {
+ // lookup failed; supply an exactly-typed implicit method
+ sym = findImplicitMethod(env, site, name, argtypes, typeargtypes);
+ env.info.varArgs = false;
+ }
if (sym.kind >= AMBIGUOUS) {//if nothing is found return the 'first' error
MethodResolutionPhase errPhase =
firstErroneousResolutionPhase();
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
index 72a186e..3100c2a 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
@@ -225,7 +225,7 @@
invokespecial = 183,
invokestatic = 184,
invokeinterface = 185,
- // ___unused___ = 186,
+ invokedynamic = 186,
new_ = 187,
newarray = 188,
anewarray = 189,
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
index 263ca3c..c9e68cf 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
@@ -2309,6 +2309,7 @@
String binaryName = fileManager.inferBinaryName(currentLoc, fo);
String simpleName = binaryName.substring(binaryName.lastIndexOf(".") + 1);
if (SourceVersion.isIdentifier(simpleName) ||
+ fo.getKind() == JavaFileObject.Kind.CLASS ||
simpleName.equals("package-info"))
includeClassFile(p, fo);
break;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
index 1816291..67fc168 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
@@ -456,6 +456,19 @@
state.push(mtype.getReturnType());
}
+ /** Emit an invokedynamic instruction.
+ */
+ public void emitInvokedynamic(int desc, Type mtype) {
+ // N.B. this format is under consideration by the JSR 292 EG
+ int argsize = width(mtype.getParameterTypes());
+ emitop(invokedynamic);
+ if (!alive) return;
+ emit2(desc);
+ emit2(0);
+ state.pop(argsize);
+ state.push(mtype.getReturnType());
+ }
+
/** Emit an opcode with no operand field.
*/
public void emitop0(int op) {
@@ -2156,7 +2169,7 @@
mnem[invokespecial] = "invokespecial";
mnem[invokestatic] = "invokestatic";
mnem[invokeinterface] = "invokeinterface";
- // mnem[___unused___] = "___unused___";
+ mnem[invokedynamic] = "invokedynamic";
mnem[new_] = "new_";
mnem[newarray] = "newarray";
mnem[anewarray] = "anewarray";
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java
index 94f46d4..7180cf6 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java
@@ -119,6 +119,7 @@
: options.get("-g:vars") != null;
genCrt = options.get("-Xjcov") != null;
debugCode = options.get("debugcode") != null;
+ allowInvokedynamic = options.get("invokedynamic") != null;
generateIproxies =
target.requiresIproxy() ||
@@ -155,6 +156,7 @@
private final boolean varDebugInfo;
private final boolean genCrt;
private final boolean debugCode;
+ private final boolean allowInvokedynamic;
/** Default limit of (approximate) size of finalizer to inline.
* Zero means always use jsr. 100 or greater means never use
@@ -2140,6 +2142,9 @@
}
result = items.
makeImmediateItem(sym.type, ((VarSymbol) sym).getConstValue());
+ } else if (allowInvokedynamic && sym.kind == MTH && ssym == syms.invokeDynamicType.tsym) {
+ base.drop();
+ result = items.makeDynamicItem(sym);
} else {
if (!accessSuper)
sym = binaryQualifier(sym, tree.selected.type);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java
index 8f18c7a..0cc968f 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java
@@ -139,6 +139,13 @@
return new StaticItem(member);
}
+ /** Make an item representing a dynamically invoked method.
+ * @param member The represented symbol.
+ */
+ Item makeDynamicItem(Symbol member) {
+ return new DynamicItem(member);
+ }
+
/** Make an item representing an instance variable or method.
* @param member The represented symbol.
* @param nonvirtual Is the reference not virtual? (true for constructors
@@ -457,6 +464,38 @@
}
}
+ /** An item representing a dynamic call site.
+ */
+ class DynamicItem extends StaticItem {
+ DynamicItem(Symbol member) {
+ super(member);
+ assert member.owner == syms.invokeDynamicType.tsym;
+ }
+
+ Item load() {
+ assert false;
+ return null;
+ }
+
+ void store() {
+ assert false;
+ }
+
+ Item invoke() {
+ // assert target.hasNativeInvokeDynamic();
+ MethodType mtype = (MethodType)member.erasure(types);
+ int rescode = Code.typecode(mtype.restype);
+ ClassFile.NameAndType descr = new ClassFile.NameAndType(member.name, mtype);
+ code.emitInvokedynamic(pool.put(descr), mtype);
+ return stackItem[rescode];
+ }
+
+ public String toString() {
+ return "dynamic(" + member + ")";
+ }
+ }
+
+
/** An item representing an instance variable or method.
*/
class MemberItem extends Item {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java
index b447b7e..f3828fd 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Target.java
@@ -253,6 +253,12 @@
return compareTo(JDK1_5) >= 0;
}
+ /** Does the VM support an invokedynamic instruction?
+ */
+ public boolean hasInvokedynamic() {
+ return compareTo(JDK1_7) >= 0;
+ }
+
/** Although we may not have support for class literals, should we
* avoid initializing the class that the literal refers to?
* See 4468823
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java
index 0ae7cd1..57b0219 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/main/Main.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/Main.java
@@ -268,14 +268,19 @@
}
return null;
} else {
- options.put("-target", source.requiredTarget().name);
+ target = source.requiredTarget();
+ options.put("-target", target.name);
}
} else {
if (targetString == null && !source.allowGenerics()) {
- options.put("-target", Target.JDK1_4.name);
+ target = Target.JDK1_4;
+ options.put("-target", target.name);
}
}
}
+ if (target.hasInvokedynamic()) {
+ options.put("invokedynamic", "invokedynamic");
+ }
return filenames.toList();
}
// where
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
index e366871..312db12 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
@@ -1034,7 +1034,13 @@
return illegal(pos);
}
} else {
- return illegal();
+ // Support the corner case of myMethodHandle.<void>invoke() by passing
+ // a void type (like other primitive types) to the next phase.
+ // The error will be reported in Attr.attribTypes or Attr.visitApply.
+ JCPrimitiveTypeTree ti = to(F.at(pos).TypeIdent(TypeTags.VOID));
+ S.nextToken();
+ return ti;
+ //return illegal();
}
break;
default:
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java b/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java
index 15020bf..ad556a9 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java
@@ -317,7 +317,7 @@
/** Read next character in character or string literal and copy into sbuf.
*/
- private void scanLitChar() {
+ private void scanLitChar(boolean forBytecodeName) {
if (ch == '\\') {
if (buf[bp+1] == '\\' && unicodeConversionBp != bp) {
bp++;
@@ -357,6 +357,18 @@
putChar('\"'); scanChar(); break;
case '\\':
putChar('\\'); scanChar(); break;
+ case '|': case ',': case '?': case '%':
+ case '^': case '_': case '{': case '}':
+ case '!': case '-': case '=':
+ if (forBytecodeName) {
+ // Accept escape sequences for dangerous bytecode chars.
+ // This is illegal in normal Java string or character literals.
+ // Note that the escape sequence itself is passed through.
+ putChar('\\'); putChar(ch); scanChar();
+ } else {
+ lexError(bp, "illegal.esc.char");
+ }
+ break;
default:
lexError(bp, "illegal.esc.char");
}
@@ -365,6 +377,24 @@
putChar(ch); scanChar();
}
}
+ private void scanLitChar() {
+ scanLitChar(false);
+ }
+
+ /** Read next character in an exotic name #"foo"
+ */
+ private void scanBytecodeNameChar() {
+ switch (ch) {
+ // reject any "dangerous" char which is illegal somewhere in the JVM spec
+ // cf. http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm
+ case '/': case '.': case ';': // illegal everywhere
+ case '<': case '>': // illegal in methods, dangerous in classes
+ case '[': // illegal in classes
+ lexError(bp, "illegal.bytecode.ident.char", String.valueOf((int)ch));
+ break;
+ }
+ scanLitChar(true);
+ }
/** Read fractional part of hexadecimal floating point number.
*/
@@ -915,6 +945,26 @@
lexError(pos, "unclosed.str.lit");
}
return;
+ case '#':
+ scanChar();
+ if (ch == '\"') {
+ scanChar();
+ if (ch == '\"')
+ lexError(pos, "empty.bytecode.ident");
+ while (ch != '\"' && ch != CR && ch != LF && bp < buflen) {
+ scanBytecodeNameChar();
+ }
+ if (ch == '\"') {
+ name = names.fromChars(sbuf, 0, sp);
+ token = IDENTIFIER; // even if #"int" or #"do"
+ scanChar();
+ } else {
+ lexError(pos, "unclosed.bytecode.ident");
+ }
+ } else {
+ lexError("illegal.char", String.valueOf((int)'#'));
+ }
+ return;
default:
if (isSpecial(ch)) {
scanOperator();
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
index ea8f2d2..6bce5c5 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
@@ -144,6 +144,8 @@
compiler.err.else.without.if=\
''else'' without ''if''
+compiler.err.empty.bytecode.ident=\
+ empty bytecode identifier
compiler.err.empty.char.lit=\
empty character literal
compiler.err.encl.class.required=\
@@ -186,6 +188,8 @@
compiler.err.icls.cant.have.static.decl=\
inner classes cannot have static declarations
+compiler.err.illegal.bytecode.ident.char=\
+ illegal bytecode identifier character: \\{0}
compiler.err.illegal.char=\
illegal character: \\{0}
compiler.err.illegal.char.for.encoding=\
@@ -445,6 +449,8 @@
compiler.err.types.incompatible.diff.ret=\
types {0} and {1} are incompatible; both define {2}, but with unrelated return types
+compiler.err.unclosed.bytecode.ident=\
+ unclosed bytecode identifier
compiler.err.unclosed.char.lit=\
unclosed character literal
compiler.err.unclosed.comment=\
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/Names.java b/langtools/src/share/classes/com/sun/tools/javac/util/Names.java
index 663ff82..86d3e51 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/util/Names.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/Names.java
@@ -73,6 +73,8 @@
public final Name java_io_Serializable;
public final Name serialVersionUID;
public final Name java_lang_Enum;
+ public final Name java_dyn_MethodHandle;
+ public final Name java_dyn_InvokeDynamic;
public final Name package_info;
public final Name ConstantValue;
public final Name LineNumberTable;
@@ -111,6 +113,7 @@
public final Name value;
public final Name getMessage;
public final Name getClass;
+ public final Name invoke;
public final Name TYPE;
public final Name FIELD;
public final Name METHOD;
@@ -175,6 +178,8 @@
java_lang_Cloneable = fromString("java.lang.Cloneable");
java_io_Serializable = fromString("java.io.Serializable");
java_lang_Enum = fromString("java.lang.Enum");
+ java_dyn_MethodHandle = fromString("java.dyn.MethodHandle");
+ java_dyn_InvokeDynamic = fromString("java.dyn.InvokeDynamic");
package_info = fromString("package-info");
serialVersionUID = fromString("serialVersionUID");
ConstantValue = fromString("ConstantValue");
@@ -216,6 +221,7 @@
value = fromString("value");
getMessage = fromString("getMessage");
getClass = fromString("getClass");
+ invoke = fromString("invoke");
TYPE = fromString("TYPE");
FIELD = fromString("FIELD");
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
index af5476e..b8710d4 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
@@ -339,7 +339,7 @@
cp = name.codePointAt(k);
if ((cc == '/' && !Character.isJavaIdentifierStart(cp))
|| (cp != '/' && !Character.isJavaIdentifierPart(cp))) {
- return "\"" + name + "\"";
+ return "\"" + addEscapes(name) + "\"";
}
cc = cp;
}
@@ -347,6 +347,33 @@
return name;
}
+ /* If name requires escapes, put them in, so it can be a string body. */
+ private static String addEscapes(String name) {
+ String esc = "\\\"\n\t";
+ String rep = "\\\"nt";
+ StringBuilder buf = null;
+ int nextk = 0;
+ int len = name.length();
+ for (int k = 0; k < len; k++) {
+ char cp = name.charAt(k);
+ int n = esc.indexOf(cp);
+ if (n >= 0) {
+ if (buf == null)
+ buf = new StringBuilder(len * 2);
+ if (nextk < k)
+ buf.append(name, nextk, k);
+ buf.append('\\');
+ buf.append(rep.charAt(n));
+ nextk = k+1;
+ }
+ }
+ if (buf == null)
+ return name;
+ if (nextk < len)
+ buf.append(name, nextk, len);
+ return buf.toString();
+ }
+
private ClassWriter classWriter;
private Options options;
}
diff --git a/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java b/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java
index 5f693e7..2d7d3c2 100644
--- a/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java
+++ b/langtools/src/share/classes/sun/tools/javap/JavapPrinter.java
@@ -475,6 +475,13 @@
return 5;
}
+ case opc_invokedynamic: {
+ int index = getUShort(pc+1);
+ out.print("\t#"+index+"; //");
+ PrintConstant(index);
+ return 5;
+ }
+
case opc_multianewarray: {
int index = getUShort(pc+1), dimensions=getUbyte(pc+3);
out.print("\t#"+index+", "+dimensions+"; //");
diff --git a/langtools/src/share/classes/sun/tools/javap/RuntimeConstants.java b/langtools/src/share/classes/sun/tools/javap/RuntimeConstants.java
index 0ca2caf..b9085ec 100644
--- a/langtools/src/share/classes/sun/tools/javap/RuntimeConstants.java
+++ b/langtools/src/share/classes/sun/tools/javap/RuntimeConstants.java
@@ -318,7 +318,7 @@
public static final int opc_invokespecial = 183;
public static final int opc_invokestatic = 184;
public static final int opc_invokeinterface = 185;
-// public static final int opc_xxxunusedxxx = 186;
+ public static final int opc_invokedynamic = 186;
public static final int opc_new = 187;
public static final int opc_newarray = 188;
public static final int opc_anewarray = 189;
@@ -549,7 +549,7 @@
"invokespecial", // was "invokenonvirtual",
"invokestatic",
"invokeinterface",
- "bytecode 186", //"xxxunusedxxx",
+ "invokedynamic",
"new",
"newarray",
"anewarray",
diff --git a/langtools/test/tools/javac/meth/InvokeDyn.java b/langtools/test/tools/javac/meth/InvokeDyn.java
new file mode 100644
index 0000000..3a4a631
--- /dev/null
+++ b/langtools/test/tools/javac/meth/InvokeDyn.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6754038
+ * @summary Generate call sites for method handle
+ * @author jrose
+ *
+ * @library ..
+ * @compile -source 7 -target 7 InvokeDyn.java
+ */
+//No: @run main/othervm -XX:+EnableInvokeDynamic meth.InvokeDyn
+
+/*
+ * Standalone testing:
+ * <code>
+ * $ cd $MY_REPO_DIR/langtools
+ * $ (cd make; make)
+ * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/meth/InvokeDyn.java
+ * $ javap -c -classpath dist meth.InvokeDyn
+ * </code>
+ */
+
+package meth;
+
+import java.dyn.InvokeDynamic;
+
+public class InvokeDyn {
+ void test() {
+ Object x = "hello";
+ InvokeDynamic.greet(x, "world", 123);
+ InvokeDynamic.greet(x, "mundus", 456);
+ InvokeDynamic.greet(x, "kosmos", 789);
+ InvokeDynamic.<String>cogitate(10.11121, 3.14);
+ InvokeDynamic.<void>#"yow: what I mean to say is, please treat this one specially"(null);
+ InvokeDynamic.<int>invoke("goodbye");
+ }
+}
diff --git a/langtools/test/tools/javac/meth/InvokeMH.java b/langtools/test/tools/javac/meth/InvokeMH.java
new file mode 100644
index 0000000..cfd4ab3
--- /dev/null
+++ b/langtools/test/tools/javac/meth/InvokeMH.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6754038
+ * @summary Generate call sites for method handle
+ * @author jrose
+ *
+ * @compile -source 7 -target 7 InvokeMH.java
+ */
+
+/*
+ * Standalone testing:
+ * <code>
+ * $ cd $MY_REPO_DIR/langtools
+ * $ (cd make; make)
+ * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/meth/InvokeMH.java
+ * $ javap -c -classpath dist meth.InvokeMH
+ * </code>
+ */
+
+package meth;
+
+import java.dyn.MethodHandle;
+
+public class InvokeMH {
+ void test(MethodHandle mh_SiO,
+ MethodHandle mh_vS,
+ MethodHandle mh_vi,
+ MethodHandle mh_vv) {
+ Object o; String s; int i; // for return type testing
+
+ // next five must have sig = (String,int)Object
+ mh_SiO.invoke("world", 123);
+ mh_SiO.invoke("mundus", 456);
+ Object k = "kosmos";
+ mh_SiO.invoke((String)k, 789);
+ o = mh_SiO.invoke((String)null, 000);
+ o = mh_SiO.<Object>invoke("arda", -123);
+
+ // sig = ()String
+ s = mh_vS.<String>invoke();
+
+ // sig = ()int
+ i = mh_vi.<int>invoke();
+ o = mh_vi.<int>invoke();
+ //s = mh_vi.<int>invoke(); //BAD
+ mh_vi.<int>invoke();
+
+ // sig = ()void
+ //o = mh_vv.<void>invoke(); //BAD
+ mh_vv.<void>invoke();
+ }
+}
diff --git a/langtools/test/tools/javac/meth/MakeNegTests.sh b/langtools/test/tools/javac/meth/MakeNegTests.sh
new file mode 100644
index 0000000..587fa76
--- /dev/null
+++ b/langtools/test/tools/javac/meth/MakeNegTests.sh
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+#
+# Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+# @test
+# @bug 6754038
+# @summary Verify correct rejection of strongly typed return values
+# @run shell MakeNegTests.sh
+
+default_template=InvokeMH.java
+javacflags='-source 7 -target 7'
+# the rest of this file is a generic "//BAD"-line tester
+
+: ${TESTSRC=.} ${TESTCLASSES=.}
+javac="${TESTJAVA+${TESTJAVA}/bin/}javac"
+
+verbose=false quiet=false
+
+main() {
+ case "${@-}" in
+ *.java*)
+ for template in "$@"; do
+ expand_and_test "$template"
+ done;;
+ *) expand_and_test "${TESTSRC}/$default_template";;
+ esac
+}
+
+expand_and_test() {
+ template=$1
+ expand "$@"
+ testneg "$@"
+}
+
+expand() {
+ template=$1
+ badlines=` grep -n < "$template" '//BAD' `
+ badcount=` echo "$badlines" | wc -l `
+ [ $badcount -gt 0 ] || { echo "No negative test cases in $template"; exit 1; }
+ $quiet || echo "Expanding $badcount negative test cases from $template:"
+ $quiet || echo "$badlines"
+ badnums=` echo "$badlines" | sed 's/:.*//' `
+ casestem=` getcasestem "$template" `
+ tclassname=` basename "$template" .java `
+ rm -f "$casestem"*.java
+ for badnum in $badnums; do
+ casefile="$casestem"${badnum}.java
+ cclassname=` basename "$casefile" .java `
+ sed < "$template" > "$casefile" "
+ s|@compile|@compile/fail|
+ / @[a-z]/s|@|##|
+ ${badnum}s:^ *[/*]*: :
+ s/${tclassname}/${cclassname}/g
+ "
+ $verbose && diff -u "$template" "$casefile"
+ done
+}
+
+getcasestem() {
+ echo "$1" | sed 's/\.java$//;s/_BAD[0-9]*$//;s/$/_BAD/'
+}
+
+testneg() {
+ template=$1
+ for casefile in ` getcasestem "$template" `*.java; do
+ $quiet || echo -------- $javac $javacflags "$casefile"
+ $javac $javacflags "$casefile" > "$casefile".errlog 2>&1 && {
+ echo "*** Compilation unexpectedly succeeded: $casefile"
+ exit 1
+ }
+ $quiet || echo "Compilation failed as expected"
+ $quiet || head ` $verbose || echo -3 ` < "$casefile".errlog
+ rm "$casefile".errlog
+ done
+}
+
+main "$@"
diff --git a/langtools/test/tools/javac/quid/MakeNegTests.sh b/langtools/test/tools/javac/quid/MakeNegTests.sh
new file mode 100644
index 0000000..16fc724
--- /dev/null
+++ b/langtools/test/tools/javac/quid/MakeNegTests.sh
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+#
+# Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+# @test
+# @bug 6746458
+# @summary Verify correct rejection of illegal quoted identifiers.
+# @run shell MakeNegTests.sh
+
+default_template=QuotedIdent.java
+# the rest of this file is a generic "//BAD"-line tester
+
+: ${TESTSRC=.} ${TESTCLASSES=.}
+javac="${TESTJAVA+${TESTJAVA}/bin/}javac"
+
+verbose=false quiet=false
+
+main() {
+ case "${@-}" in
+ *.java*)
+ for template in "$@"; do
+ expand_and_test "$template"
+ done;;
+ *) expand_and_test "${TESTSRC}/$default_template";;
+ esac
+}
+
+expand_and_test() {
+ template=$1
+ expand "$@"
+ testneg "$@"
+}
+
+expand() {
+ template=$1
+ badlines=` grep -n < "$template" '//BAD' `
+ badcount=` echo "$badlines" | wc -l `
+ [ $badcount -gt 0 ] || { echo "No negative test cases in $template"; exit 1; }
+ $quiet || echo "Expanding $badcount negative test cases from $template:"
+ $quiet || echo "$badlines"
+ badnums=` echo "$badlines" | sed 's/:.*//' `
+ casestem=` getcasestem "$template" `
+ tclassname=` basename "$template" .java `
+ rm "$casestem"*.java
+ for badnum in $badnums; do
+ casefile="$casestem"${badnum}.java
+ cclassname=` basename "$casefile" .java `
+ sed < "$template" > "$casefile" "
+ s|@compile|@compile/fail|
+ / @[a-z]/s|@|##|
+ ${badnum}s:^ *[/*]*: :
+ s/${tclassname}/${cclassname}/g
+ "
+ $verbose && diff -u "$template" "$casefile"
+ done
+}
+
+getcasestem() {
+ echo "$1" | sed 's/\.java$//;s/_BAD[0-9]*$//;s/$/_BAD/'
+}
+
+testneg() {
+ template=$1
+ for casefile in ` getcasestem "$template" `*.java; do
+ $quiet || echo -------- $javac "$casefile"
+ $javac "$casefile" > "$casefile".errlog 2>&1 && {
+ echo "*** Compilation unexpectedly succeeded: $casefile"
+ exit 1
+ }
+ $quiet || echo "Compilation failed as expected"
+ $quiet || head ` $verbose || echo -3 ` < "$casefile".errlog
+ rm "$casefile".errlog
+ done
+}
+
+main "$@"
diff --git a/langtools/test/tools/javac/quid/QuotedIdent.java b/langtools/test/tools/javac/quid/QuotedIdent.java
new file mode 100644
index 0000000..10e34db
--- /dev/null
+++ b/langtools/test/tools/javac/quid/QuotedIdent.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6746458
+ * @summary Verify correct lexing of quoted identifiers.
+ * @author jrose
+ *
+ * @library ..
+ * @run main quid.QuotedIdent
+ */
+
+/*
+ * Standalone testing:
+ * <code>
+ * $ cd $MY_REPO_DIR/langtools
+ * $ (cd make; make)
+ * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
+ * $ java -version # should print 1.6 or later
+ * $ java -cp dist quid.QuotedIdent
+ * </code>
+ */
+
+package quid;
+
+public class QuotedIdent {
+ static void check(int testid, String have, String expect)
+ throws RuntimeException {
+ if ((have == null && have != expect) ||
+ (have != null && !have.equals(expect))) {
+ String msg =
+ "TEST " + testid + ": HAVE \"" +
+ have + "\" EXPECT \"" + expect + "\"";
+ System.out.println("StringConversion: " + msg);
+ throw new RuntimeException(msg);
+ }
+ }
+
+ // negative tests:
+ //static class #"" { } //BAD empty ident name
+ //static class #"<foo>" { } //BAD bad char in ident name
+ /*static class /*(//BAD ident name interrupted by newline) #"jump:
+ " { } /* uncomment previous line to attempt class w/ bad name */
+
+ static class #"int" extends Number {
+ final int #"int";
+ #"int"(int #"int") {
+ this.#"int" = #"int";
+ }
+ static #"int" valueOf(int #"int") {
+ return new #"int"(#"int");
+ }
+ public int intValue() { return #"int"; }
+ public long longValue() { return #"int"; }
+ public float floatValue() { return #"int"; }
+ public double doubleValue() { return #"int"; }
+ public String toString() { return String.valueOf(#"int"); }
+ }
+
+ class #"*86" {
+ String #"555-1212"() { return "[*86.555-1212]"; }
+ }
+ static#"*86"#"MAKE-*86"() { // note close spacing
+ return new QuotedIdent().new#"*86"();
+ }
+
+ static String bar() { return "[bar]"; }
+
+ public static void main(String[] args) throws Exception {
+ String s;
+
+ String #"sticky \' wicket" = "wicked ' stick";
+ s = #"sticky ' wicket";
+ check(11, s, "wicked \' stick");
+ check(12, #"s", s);
+ check(13, #"\163", s);
+
+ s = #"QuotedIdent".bar();
+ check(21, s, "[bar]");
+
+ s = #"int".valueOf(123).toString();
+ check(22, s, "123");
+
+ s = #"MAKE-*86"().#"555-1212"();
+ check(23, s, "[*86.555-1212]");
+
+ class#"{{{inmost}}}" { }
+ s = new#"{{{inmost}}}"().getClass().getName();
+ if (!s.endsWith("{{{inmost}}}"))
+ check(24, s, "should end with \"{{{inmost}}}\"");
+
+ s = #"Yog-Shoggoth".#"(nameless ululation)";
+ check(25, s, "Tekeli-li!");
+
+ s = #"int".class.getName();
+ check(31, s, QuotedIdent.class.getName()+"$int");
+
+ Class x86 = Class.forName(QuotedIdent.class.getName()+"$*86");
+ if (x86 != #"*86".class)
+ check(32, "reflected "+x86, "static "+#"*86".class);
+
+ s = (String) x86.getDeclaredMethod("555-1212").invoke(#"MAKE-*86"());
+ check(31, s, "[*86.555-1212]");
+
+ System.out.println("OK");
+ }
+}
+
+interface #"Yog-Shoggoth" {
+ final String #"(nameless ululation)" = "Tekeli-li!";
+}
diff --git a/langtools/test/tools/javac/quid/QuotedIdent2.java b/langtools/test/tools/javac/quid/QuotedIdent2.java
new file mode 100644
index 0000000..2df94cd
--- /dev/null
+++ b/langtools/test/tools/javac/quid/QuotedIdent2.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2008 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6746458
+ * @summary Verify correct separate compilation of classes with extended identifiers.
+ * @author jrose
+ *
+ * @library ..
+ * @run main quid.QuotedIdent2
+ */
+/*
+ * Standalone testing:
+ * <code>
+ * $ cd $MY_REPO_DIR/langtools
+ * $ (cd make; make)
+ * $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
+ * $ ./dist/bootstrap/bin/javac -d dist -cp dist test/tools/javac/quid/QuotedIdent2.java
+ * $ java -version # should print 1.6 or later
+ * $ java -cp dist QuotedIdent2
+ * </code>
+ */
+
+package quid;
+
+import quid.QuotedIdent.*;
+import quid.QuotedIdent.#"*86";
+import static quid.QuotedIdent.#"MAKE-*86";
+
+public class QuotedIdent2 {
+ static void check(int testid, String have, String expect)
+ throws RuntimeException {
+ QuotedIdent.check(testid, have, expect);
+ }
+
+ public static void main(String[] args) throws Exception {
+ String s;
+
+ s = #"int".valueOf(123).toString();
+ check(22, s, "123");
+
+ s = #"MAKE-*86"().#"555-1212"();
+ check(23, s, "[*86.555-1212]");
+
+ s = #"Yog-Shoggoth".#"(nameless ululation)";
+ check(25, s, "Tekeli-li!");
+
+ s = QuotedIdent.#"int".class.getName();
+ check(31, s, QuotedIdent.class.getName()+"$int");
+
+ Class x86 = Class.forName(QuotedIdent.class.getName()+"$*86");
+ if (x86 != #"*86".class)
+ check(32, "reflected "+x86, "static "+#"*86".class);
+
+ s = (String) x86.getDeclaredMethod("555-1212").invoke(QuotedIdent.#"MAKE-*86"());
+ check(31, s, "[*86.555-1212]");
+
+ System.out.println("OK");
+ }
+}