OpenJDK / jdk / jdk
changeset 2717:b968ebaa0975
Merge
author | duke |
---|---|
date | Wed, 05 Jul 2017 16:52:46 +0200 |
parents | 2d7afc04121f 149fb3688ccd |
children | 2ef0a00b501a |
files | jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c |
diffstat | 258 files changed, 60374 insertions(+), 36492 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags-top-repo Mon May 04 22:13:54 2009 -0700 +++ b/.hgtags-top-repo Wed Jul 05 16:52:46 2017 +0200 @@ -31,3 +31,4 @@ 2ef382b1bbd58a68e668391c6145a4b2066c5b96 jdk7-b54 aea0ace7a1e43619800931d42bbf69c579361c2d jdk7-b55 ba12117a5e6c918578d6b2a8c693232a33289024 jdk7-b56 +ffd09e767dfa6d21466183a400f72cf62d53297f jdk7-b57
--- a/corba/.hgtags Mon May 04 22:13:54 2009 -0700 +++ b/corba/.hgtags Wed Jul 05 16:52:46 2017 +0200 @@ -31,3 +31,4 @@ 8130ac858d6789d5853d23044ba4a992afda574a jdk7-b54 7a869f16ba83060c34b77620406cfa89d1cd7084 jdk7-b55 553a664b807bb3a3c93f3b5a3c20ff0a90e08371 jdk7-b56 +972c6157fae57850694675da82fd58a17930db0a jdk7-b57
--- a/corba/make/com/sun/corba/se/sources/Makefile Mon May 04 22:13:54 2009 -0700 +++ b/corba/make/com/sun/corba/se/sources/Makefile Wed Jul 05 16:52:46 2017 +0200 @@ -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 #
--- a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java Wed Jul 05 16:52:46 2017 +0200 @@ -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++)
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl Wed Jul 05 16:52:46 2017 +0200 @@ -1,14 +1,38 @@ +/* + * 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 2.3 IDL +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"
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl Wed Jul 05 16:52:46 2017 +0200 @@ -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> ";"
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp Mon May 04 22:13:54 2009 -0700 +++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp Wed Jul 05 16:52:46 2017 +0200 @@ -1,3 +1,28 @@ +# +# 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 #
--- a/hotspot/.hgtags Mon May 04 22:13:54 2009 -0700 +++ b/hotspot/.hgtags Wed Jul 05 16:52:46 2017 +0200 @@ -31,3 +31,4 @@ fafab5d5349c7c066d677538db67a1ee0fb33bd2 jdk7-b54 f8e839c086152da70d6ec5913ba6f9f509282e8d jdk7-b55 a3fd9e40ff2e854f6169eb6d09d491a28634d04f jdk7-b56 +f4cbf78110c726919f46b59a3b054c54c7e889b4 jdk7-b57
--- a/jdk/.hgtags Mon May 04 22:13:54 2009 -0700 +++ b/jdk/.hgtags Wed Jul 05 16:52:46 2017 +0200 @@ -31,3 +31,4 @@ d1c43d1f5676a24ba86221ac7cad5694f3a9afda jdk7-b54 522bb5aa17e0c0cff00b1ed7d1b51bc4db2cfef9 jdk7-b55 7fd3bc37afe36f8f6165ba679db1229716db822a jdk7-b56 +d5a1223e961891564de25c39fba6f2442d0fb045 jdk7-b57
--- a/jdk/make/docs/CORE_PKGS.gmk Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/docs/CORE_PKGS.gmk Wed Jul 05 16:52:46 2017 +0200 @@ -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.* \
--- a/jdk/make/java/Makefile Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/java/Makefile Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/java/dyn/Makefile Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/make/sun/awt/FILES_c_unix.gmk Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/sun/awt/FILES_c_unix.gmk Wed Jul 05 16:52:46 2017 +0200 @@ -125,7 +125,6 @@ FourByteAbgrPre.c \ BufferedMaskBlit.c \ BufferedRenderPipe.c \ - RenderBuffer.c \ ShapeSpanIterator.c \ SpanClipRenderer.c \ awt_ImageRep.c \
--- a/jdk/make/sun/awt/FILES_c_windows.gmk Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/sun/awt/FILES_c_windows.gmk Wed Jul 05 16:52:46 2017 +0200 @@ -70,7 +70,6 @@ FourByteAbgrPre.c \ BufferedMaskBlit.c \ BufferedRenderPipe.c \ - RenderBuffer.c \ ShapeSpanIterator.c \ SpanClipRenderer.c \ SurfaceData.c \
--- a/jdk/make/sun/awt/mapfile-vers Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/sun/awt/mapfile-vers Wed Jul 05 16:52:46 2017 +0200 @@ -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;
--- a/jdk/make/sun/awt/mapfile-vers-linux Mon May 04 22:13:54 2009 -0700 +++ b/jdk/make/sun/awt/mapfile-vers-linux Wed Jul 05 16:52:46 2017 +0200 @@ -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;
--- a/jdk/src/linux/doc/man/appletviewer.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/appletviewer.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/src/linux/doc/man/apt.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/apt.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/src/linux/doc/man/extcheck.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/extcheck.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/src/linux/doc/man/idlj.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/idlj.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/src/linux/doc/man/ja/appletviewer.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/appletviewer.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 ブラウザの外でアプレットを実行させます。 +.LP +.RE +.SH "形式" .LP .LP .LP -\f3appletviewer\fP ޥɤ Web ֥饦γǥץåȤ¹Ԥޤ +\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... .LP -.SH "" +.SH "説明" .LP .LP .LP -\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... +\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、 +.na +\f2「アプレットビューアのタグ」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。 .LP -.SH "ǽ" +.LP +\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。 +.LP +.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 - -.na -\f2AppletViewer Tags\fPפȤƤ -.LP -.LP -\f3:\fP \f3appletviewer\fP ϡRFC2396 ǵꤵ줿˽ä沽줿 URL ɬפȤޤݡȤΤϡ沽줿 URL Ǥե̾ˤĤƤϡRFC2396 ˻ꤵ줿ˡ沽Ƥɬפޤ -.LP -.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
--- a/jdk/src/linux/doc/man/ja/apt.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/apt.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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
--- a/jdk/src/linux/doc/man/ja/extcheck.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/extcheck.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 -\f3extcheck\fP ϡåȤ jar եȸߥȡ뤵Ƥĥǽ jar ե֤ΥСζФޤ +.SH "説明" .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 -åɤƱͤˡǥСֹӤޤ .LP -礬Фʤ硢ɤ -.I 0 Ǥ +\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。 .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) +.LP +\f3extcheck\fP ユーティリティーは、\f2targetfile.jar\fP ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされているすべての Jar ファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。 +.LP +.LP +競合が検出されない場合のリターンコードは \f20\fP です。 +.LP +.LP +拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。\f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。 +.LP +.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 +
--- a/jdk/src/linux/doc/man/ja/idlj.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/idlj.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 +.RS 3 + +.LP +\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。 +.RE +.SH "形式" +.LP + +.LP .nf -idlj 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 -fclient My.idl +\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。 +.LP +.SH "説明" +.LP + +.LP +IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。 バインディングの詳細は、 +.na +\f2OMG IDL to Java Language Mapping Specification\fP @ .fi -.ft 1 -.RE +http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。 +.SS +クライアントバインディングおよびサーバーバインディングの発行 .LP -饤¦ΥХǥˤϡ¦Υȥ -ޤƤޤեФƥ¦ΥХǥ -ˤϡΤ褦˻ꤷޤ +.RS 3 + .LP -.RS -.ft 3 -.nf -idlj -fserver My.idl +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 -.ft 1 -.RE +http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html を拡張するストリームベースのスケルトンで、スケルトンが実装する IDL インタフェースに関連付けられている \f2InvokeHandler\fP インタフェースとオペレーションインタフェースを実装します。 .LP -¦ΥХǥˤϡ饤¦ΥХǥΤۤ -˥ȥޤƤޤϤ٤ơPOA (Ѿǥ) -饹Ǥ饤¦ȥ¦ξΥХǥ -ˤϡʲޥɤΤɤ餫ѤƤ -.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 ϡ -.na -\f2org.omg.PortableServer.Servant\fP -.fi -(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) -ĥ륹ȥ١ΥȥǤꡢΥȥ -IDL ե˴Ϣ -.BR InvokeHandler -եȥڥ졼եޤ .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 -ȯԤ줿եߤΥǥ쥯ȥʳΥǥ쥯ȥ¸ϡ -Τ褦˥ѥƤӽФƤ +.RE +.SS +発行されたファイルの代替位置の指定 .LP -.RS -.ft 3 -.nf -idlj -td /altdir My.idl -.fi -.ft 1 -.RE -.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 -ȥ̾դΥѥȤƻѤޤǥեȤϼΤȤǤ +.TP 3 +\-td dir +出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。 +.TP 3 +\-tieName xxx%yyy +このパターンに従って Tie に名前が付けられます。デフォルトは、次のとおりです。 +.RS 3 +.TP 2 +o +\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP) +.TP 2 +o +\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP)) +.RE +.TP 3 +\-verbose +冗長モードになります。 +.TP 3 +\-version +バージョン情報を表示して終了します。 +.RE + .LP -.RS -.TP 2 -\(bu POA 쥯饹 -( -.BR \-fserver -ޤ -.BR \-fall -) ξ硢%POA -.TP 2 -\(bu -.BR \-oldImplBase -饹 ( -.BR \-oldImplBase -ӡ -.BR \-fserver -ޤ -.BR \-fall -) ξ硢_%ImplBase -.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 -.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
--- a/jdk/src/linux/doc/man/ja/jar.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/jar.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 +Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。 +.RE + +.LP +.RE +.SH "説明" +.LP + +.LP +\f3jar\fP ツールは、複数のファイルを 1 つの JAR アーカイブファイルに結合します。 \f3jar\fP は、ZIP および +.na +\f2ZLIB\fP @ .fi - (http://www.gzip.org/zlib/) -ǹԤޤ - -.B jar -ġμŪϡĤ -Java -ץåȤ䥢ץꥱ -1 -ĤΥ֤礹뤳ȤǤ -ץåȤ䥢ץꥱΥݡͥȡȤ -饹ե롢ɤʤɤñΥ֤ -ޤȤȡ֥饦Τ褦 -Java -Ȥ˥ɤȤˡ٤ -HTTP -ȥǺѤߤޤݡͥȤȤ -³ɬפޤ -ˤɻ֤ṳ̂Ǥޤ -ޤ -.B jar -ϥեΰ̤ԤΤǡɤ®ˤʤޤ -ˡեθġΥȥФƥץåȤκԤ -̾ǤΤǡβǤޤ -.B jar -ġιʸϡ -.I tar -ޥɤιʸȤۤƱǤ -.B jar -֤ϡ̤Ƥ뤫ɤˤ餺 -饹ѥ +http://www.gzip.org/zlib/ 圧縮形式をベースにした、汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\f3jar\fP はファイルを圧縮するので、ダウンロード時間も短くなります。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。 +.LP +複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% jar cf myFile.jar *.class +.fl +\fP .fi - (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) -ȥȤƻѤǤޤ +.RE + .LP -ʣΥե jar ե礹ɸŪʻȤϼΤȤǤ +この例では、現在のディレクトリにあるクラス (.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 -.RS -.ft 3 -.nf -% jar cf myFile.jar *.class -.fi -.ft 1 -.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 - -.na -JAR file specificationפȤƤ -.LP -¸Υޥ˥եȥե˳Ǽ줿 -.I name : value -ڥ JAR ե˴ޤɬפˤϡΥեΤ褦 \f2\-m\fP ץȤäƻꤷޤ +既存のマニフェストファイル内に格納された \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 +マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。 +.LP +JAR ファイルからファイルを抽出する場合は、\f2x\fP を使用します。 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% jar xf myFile.jar +.fl +\fP +.fi +.RE + +.LP +.LP +jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% jar xf myFile.jar foo bar +.fl +\fP +.fi +.RE + +.LP +.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 +.LP +この例では、\f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリに挿入されます。 +.br +.br +このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。 +.br +.br +ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して標準出力に出力し、続いて標準入力から \f2dir2\fP に抽出します (両方の \f2jar\fP コマンドから \f2\-f\fP オプションを省く)。 次に例を示します。 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% (cd dir1; jar c .) | (cd dir2; jar x) +.fl +\fP +.fi +.RE + +.LP +.LP +\f2jar\fP を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、「 +.na +\f2Java Tutorial\fP @ +.fi +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 -manifest RFC822 -.SM ASCII -˴ŤƥȷѤ뤿ᡢmanifest եƤ -ñɽӽǤޤ +上のコマンドは、\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 -jar ե뤫եФϡ -.I x -Ѥޤޤ +コマンド行で、\f3m\fP と \f3f\fP の文字は、\f2manifest\fP と \f2jarfile\fP の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。 +.RS 3 + .LP -.RS 5 -% jar xf myFile.jar +.nf +\f3 +.fl +jar cmf myManifestFile myFile.jar *.class +.fl +\fP +.fi .RE +デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。\f4\-m\fP オプションの使用例については、「Java Tutorial」 にある「 +.na +\f2JAR Files\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar/」コースを参照してください。 .LP -jar ե뤫̤ΥեФϡ -Υե̾ꤷޤ -.LP -.RS 5 -% jar xf myFile.jar foo bar -.RE -.LP -JDK ΥС 1.3 顢jar 桼ƥƥ -.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 -° -ꤹɬפޤ -.LP -.RS 5 -% jar i main.jar -.RE -.LP -Ǥϡ -.I INDEX.LIST -ե뤬 -.I main.jar - -.I META-INF ǥ쥯ȥɲäޤ -ץꥱΥ饹ǤϡΥե˳Ǽ줿 -Ѥơ饹Υɤ®ޤ -ǥåե˰־Ǽˡξܺ٤ϡ -JarIndex ͡פȤƤ -.br -.br -ǥ쥯ȥԡˤϡޤ -.I dir1 -Υե̤ɸϤ˽Ϥ³ɸϤ -.I dir2 -Фޤ (ξ -.I jar -ޥɤ -.I \-f -ץʤ)ޤ -.LP -.RS 5 -% (cd dir1; jar c .) | (cd dir2; jar x) -.RE -.LP -.I jar -Ȥä JAR ե JAR եޥ˥եȤ륳ޥɥץǧˤϡפȤƤޤ -.fi -http://java.sun.com/docs/books/tutorial/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 -.fi -http://java.sun.com/docs/books/tutorial/jar/ -ˤ -.na - -.I JAR Files -ץȤƤ .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 -% jar cf my.jar @classes.list -.RE +.SH "コマンド行引数ファイル" .LP -եϥѥǤޤХѥҤ줿ե -٤ƤΥե̾ϡϤ줿ѥФŪǤϤʤ -ߤκȥǥ쥯ȥŪȤʤޤޤ + .LP -.RS 5 -% jar @path1/classes.list -.RE -.SH "" -ǥ쥯ȥΥե٤ƥ֤ɲäޤ -(֤Ǥ¸ߤϡƤޤ) -ܺ٤ ( -.I \-v -ץ) -ǽʤɡ -Υե˴ؤƾܤޤ -.RS +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 -.nf -% ls -1.au Animator.class monkey.jpg -2.au Wave.class spacemusic.au -3.au at_work.gif -.LP -% jar cvf bundle.jar * -added manifest -adding: 1.au(in = 2324) (out= 67)(deflated 97%) -adding: 2.au(in = 6970) (out= 90)(deflated 98%) -adding: 3.au(in = 11616) (out= 108)(deflated 99%) -adding: Animator.class(in = 2266) (out= 66)(deflated 97%) -adding: Wave.class(in = 3778) (out= 81)(deflated 97%) -adding: at_work.gif(in = 6621) (out= 89)(deflated 98%) -adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%) -adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%) -\f1 +.fl +% find \fP\f3.\fP \-name '*.class' \-print > classes.list +.fl .fi .RE -ǥե롢ӥ饹ѤΥ֥ǥ쥯ȥ꤬ -Ǥ¸ߤ硢ñ -.B jar -ե˷Ǥޤ -.RS + +.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 .nf -% ls -F +\f3 +.fl +% jar @path1/classes.list +.fl +\fP +.fi +.RE + +.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%) +.fl +\fP +.fi +.RE + +.LP +すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。 +.RS 3 + +.LP +.nf +\f3 +.fl +% ls \-F +.fl audio/ classes/ images/ +.fl +.fl % jar cvf bundle.jar audio classes images +.fl added manifest +.fl adding: audio/(in = 0) (out= 0)(stored 0%) +.fl adding: audio/1.au(in = 2324) (out= 67)(deflated 97%) +.fl adding: audio/2.au(in = 6970) (out= 90)(deflated 98%) +.fl adding: audio/3.au(in = 11616) (out= 108)(deflated 99%) +.fl adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%) +.fl adding: classes/(in = 0) (out= 0)(stored 0%) +.fl adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%) +.fl adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%) +.fl adding: images/(in = 0) (out= 0)(stored 0%) +.fl adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%) +.fl adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%) +.fl -% ls -F +.fl +% ls \-F +.fl audio/ bundle.jar classes/ images/ +.fl +\fP .fi -\f1 .RE -Ǥϡ -.I t -ץꤷơjar եΥȥ̾ɽޤ -.RS + +.LP +JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。 +.RS 3 + +.LP +.nf \f3 -.nf +.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 +.br + +.LP +\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、 +.nf +\f3 +.fl +Class\-Path: buy.jar sell.jar +.fl +\fP +.fi + +.LP +\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。 +.nf +\f3 +.fl +% jar i main.jar +.fl +\fP +.fi + +.LP +\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 .RE -.LP -.I -i -ץѤСץꥱΥ饹 -ɤ߹ߤ®Ǥޤ -.LP -.RS 5 -% jar i main.jar -.RE -.LP -.I INDEX.LIST -ե뤬 -.I META-INF -ǥ쥯ȥɲäޤ -η̡ץꥱΥ饹ˤäƥ饹ޤ -θԤȤˡŬڤ jar ե뤬ɤޤ -.SH "Ϣ" +.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 +.na +\f2「Jar インデックス」\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index - -.na - -.I The JarIndex Spec - +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex .br .LP +.na +\f2「Jar チュートリアル」\fP @ .fi -http://java.sun.com/docs/books/tutorial/jar - -.na - -.I Jar Tutorial - -(Java եȥ Web ) +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
--- a/jdk/src/linux/doc/man/ja/jarsigner.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/jarsigner.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 -.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 եν̾ȴڤ +.SH "形式" .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 -.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 .nf -.ft 3 - 1.1 ǡ - 1.1 ǡ ١ ݥꥷ -JAR ١ 1.2 ե -ե ǥ ȥ˥ ǥ Ϳ -Υ ƥƥ ݡȤ ƥƥ/ ø - 뿮Ǥ ̾ø - 륢ǥ Ϳ - ƥƥ(4) +\f3 +.fl +\fP\f3jarsigner\fP [ options ] jar\-file alias +.fl +\f3jarsigner\fP \-verify [ options ] jar\-file +.fl +.fi -̾դ ٤ƤΥɤ -JAR x x x Ϳ - ǥեȤ - ø - -̾Τʤ ٤ƤΥɤ -JAR x x x Ϳ - ǥեȤ - ø +.LP +.SH "説明" +.LP -̾դ ٤ƤΥɤ -JAR x x Ϳ - ǥեȤ - ø +.LP +.LP +\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。 +.LP +.RS 3 +.TP 3 +1. +Java ARchive (JAR) ファイルに署名を付ける +.TP 3 +2. +署名付き JAR ファイルの署名と整合性を検証する +.RE -̾դ ٤ƤΥɤ -JAR / x x Ϳ - ʤ ǥեȤ - ø (3) +.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 -̾դ ٤ƤΥɤ -JAR / x Ϳ - ʤ ǥեȤ - ø (1,3) - -̾դ ٤ƤΥɤ -JAR x Ϳ - ǥեȤ - øȥݥꥷ - ե - Ϳ - ø - -̾դ ٤ƤΥɤ -JAR / Ϳ - Ǥ ǥեȤ - øȥݥꥷ - ե - Ϳ - ø (2) - -̾դ ٤Ƥ -JAR / x x ø - Ǥ -̾դ ٤Ƥ -JAR / x ø (1) - Ǥ -̾դ ٤Ƥ -JAR / x ø (1) - Ǥ -.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 " +ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。 また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。 .LP -ȥΤ٤ƤΥȥϡդΡ̾פ𤷤ƥޤ .LP -.B jarsigner -Ȥä JAR ե˽̾դȤϡ̾ɬפ -ޤ७ȥȥ̾ꤹɬפޤȤСϡ -working ǥ쥯ȥ -.B mystore -Ȥ̾Υȥ˴ޤޤ̾ -.B duke -˴Ϣդ줿Ȥäơ -.BR MyJARFile.jar -Ȥ̾ JAR ե˽̾դޤϥեϻꤵƤʤ -Τǡ -.BR MyJARFile.jar -Ͻ̾դ JAR եˤäƾޤ +\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。 .LP -.ft 3 -.nf -jarsigner -keystore /working/mystore -storepass - myspass -keypass dukekeypasswd MyJARFile.jar duke -.fi -.ft 1 .LP -ȥϥѥɤݸƤΤǡȥΥѥ (Ǥ -.BR myspass -) ꤹɬפޤޥɹԤǥȥΥѥɤꤷʤäϡѥɤϤޤƱͤˡ⥭ȥǥѥɤˤäݸƤΤǡΥѥ (Ǥ -.BR dukekeypasswd -) ꤹɬפޤޥɹԤΥѥɤꤷƤ餺ΥѥȤȥΥѥɤȰäƤϡΥѥɤϤޤ +\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 -.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool " +.RS 3 + .LP -.B jarsigner -ˤϡѤ륭ȥ̾Ⱦꤹ -.I -keystore -ץޤȥϡǥեȤǤϥ桼Υۡǥ쥯ȥ -.I .keystore -Ȥ̾Υե˳Ǽޤ桼Υۡǥ쥯ȥϡ -.I user.home -ƥץѥƥˤäƷޤޤ .LP -.I \-keystore -ץϥȥ -.I KeyStore.load -åɤϤޤ -URL Ȥ NONE ꤵ줿ϡNULL ȥब -.I KeyStore.load -åɤϤޤȥϡɥȡǥХˤʤɡ -ե١Ǥʤϡ -.I NONE -ꤷƤ +\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 +.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 + +.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 -.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool " +.RS 3 + .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 +\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP +.fi -ȥμϡץХ١ǤŪˤϡ -.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 -եȥåɤȤȤǡޤޤʥץХۤʤ֥ספΥȥ -ǤޤȥΥפϡȥγǼȥǡ -ӥȥȥȥΤδݸ뤿˻Ȥ -르ꥺޤۤʤ륿פΥȥμˤϡߤ˸ߴ -ޤkeytooljarsigner 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 +.RE +.SS +サポートされるアルゴリズム .LP -: ȥפλǤϡʸȾʸ϶̤ޤȤСJKSפȡjksפƱΤȤߤʤޤ +.RS 3 + .LP -ƥġǥǥեȰʳΥȥμѤˤϡιԤѹ -̤ΥȥΥפꤷޤ -ȤСpkcs12 ȸƤФ륿פΥȥμƤ -ץХѥåѤˤϡιԤΤ褦ѹޤ .LP -.B keystore.type=pkcs12 +デフォルトでは、\f3jarsigner\fP は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。 .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ȤƤ +.RS 3 +.TP 2 +o +SHA\-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) +.TP 2 +o +MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム +.RE + .LP +.LP +具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は MD5withRSA アルゴリズムを使って JAR ファイルに署名を付けます。 +.LP +.LP +これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。 +.LP +.RE .SS -ݡȤ륢르ꥺ +署名付き JAR ファイル .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 ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。 +.LP +.RS 3 .TP 2 -\(bu -SHA-1 ȥ르ꥺȤä DSA (ǥ̾르ꥺ) +o +.SF 拡張子の付いた署名ファイル .TP 2 -\(bu -MD5 ȥ르ꥺȤä RSA 르ꥺ +o +.DSA 拡張子の付いた署名ブロックファイル +.RE + .LP -Ūˤϡ̾Ԥθ DSA Ǥ硢 -.B jarsigner -ϡSHA1withDSAץ르ꥺȤä JAR ե˽̾դ褦Ȥޤ̾Ԥ - RSA Ǥ硢 -.B jarsigner -ϡMD5withRSAץ르ꥺȤä JAR ե˽̾դޤ .LP -ΥǥեȤν̾르ꥺϡ\f2\-sigalg\fP ץȤäƥС饤ɤǤޤ +これら 2 つのファイルのベースファイル名は、\f2\-sigFile\fP オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。 .LP +.nf +\f3 +.fl + \-sigFile MKSIGN +.fl +\fP +.fi + +.LP +.LP +この場合、ファイル名はそれぞれ MKSIGN.SF と MKSIGN.DSA になります。 +.LP +.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 +o +ファイル名 +.TP 2 +o +使われているダイジェストアルゴリズム (SHA) の名前 +.TP 2 +o +SHA ダイジェストの値 +.RE + +.LP +.LP +マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。 +.LP +.LP +署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。 +.LP +.RE +\f3署名ブロック (.DSA) ファイル\fP +.LP +.RS 3 + +.LP +.LP +.SF ファイルには署名が付けられ、署名は .DSA ファイルに置かれます。.DSA ファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。 +.LP +.RE +.RE .SS -̾դ 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 -ǥ쥯ȥ֤ۤʤޤ -.TP 2 -\(bu -.B .SF -ĥҤդ̾ե -.TP 2 -\(bu -.B .DSA -ĥҤդ֥̾åե .LP - 2 ĤΥեΥ١ե̾ϡ -.I -sigFile -ץͤޤȤСΤ褦˥ץꤷȤޤ -.LP -.B -sigFile MKSIGN -.LP -ξ硢ե̾Ϥ줾 -.B MKSIGN.SF - -.BR MKSIGN.DSA -ˤʤޤ -.LP -ޥɹԤ -.I -sigfile -ץλ꤬ʤ硢 -.B .SF -ե -.B .DSA -եΥ١ե̾ϡޥɹԤǻꤵ줿̾Ƭ 8 ʸ -٤ʸѴΤˤʤޤ̾ 8 ʸ̤ξϡ̾ -ΤޤȤޤ̾ˡ̾ե̾˻ѤǤʤʸޤޤ -Ƥϡʸ (_) ֤ƥե̾ޤ -ѤǤʸϡե٥åȡ (_)ϥեǤ -.LP -̾ (\f3.SF\f1) ե -.LP -̾ե ( -.B .SF -ե) ϡ -.B jar -ġ줿 JAR ե˾˴ޤޤޥ˥եȥեȻƤޤĤޤꡢޥ˥եȥեƱ͡ -.B .SF -եˤϡJAR ե˴ޤޤƤ륽ե뤴Ȥˡ 3 ĤιԤޤ -.TP 2 -\(bu -ե̾ -.TP 2 -\(bu -ȤƤȥ르ꥺ (SHA) ̾ -.TP 2 -\(bu -SHA Ȥ -.LP -ޥ˥եȥեǤϡSHA ȤͤϡեΥХʥǡ -Υ (ϥå) Ǥ -.B .SF -եǤϡեΥȤͤϡޥ˥եȥեγ -եб 3 ԤΥϥåǤ -.LP -̾եˤϡǥեȤǥޥ˥եȥեΤΥϥåޤޤƤޤ -ҤΡJAR եθڡפ褦ˡΥإå¸ߤˤäƸڤ -ŬǽˤʤäƤޤ -.LP -֥̾å (\f3.DSA\f1) ե -.LP -.B .SF -եˤϽ̾դ졢̾ -.B .DSA -ե֤ޤ -.B .DSA -եˤϡȥξޤϾϢ沽줿Ǵޤޤ -ޤޤϾϢϡ̾˻Ȥ줿б -ǧڤޤ -.LP -.SS -̾ॹ -.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 +.RE .SS -JAR եθ +JAR ファイルの検証 .LP -.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool " +.RS 3 + .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 -ե˥ȥijƥեɤ߹ߤޤɤ߹˥ե -Ȥ̤ޥ˥եȥγե -ȤӤޤ2 ĤΥȤƱǤʤФʤ餺Ǥʤ -ϸڤԤޤ -.LP -ڥץǤʤ餫νʸڥ顼ȯ硢ڥץ -ߤ졢ƥ㳰ޤ줿ƥ㳰ϡ -.BR jarsigner -åɽޤ -.LP -.SS -1 Ĥ JAR եоݤȤʣν̾ -.LP -.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " -.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 +\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することもできます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。 +.TP 3 +\-storepass password +キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。署名を付けるときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。 .LP -: ƥȤŪȤ硢ޤϰݾ㤵줿ƥǼ¹Ԥ -ʳϡޥɹԤ䥹ץȤǥѥɤꤷʤǤޤ -password ץץȤǥѥɤϤȡϤѥɤ졢 -Τޤ̤ɽޤΤᡢϤˤۤΥ桼ϡ -ѥɤʤ褦դƤ -.RE -.TP -.B -keypass password -ޥɹԤǻꤵ줿̾б륭ȥȥݸ -˻Ȥѥɤꤷޤ -.B jarsigner -Ȥä JAR ե˽̾դȤϡѥɤɬפǤޥɹԤ -ѥɤꤵƤ餺ɬפʥѥɤȥΥѥɤȰۤʤ -ϡѥɤϤޤ -.RS +注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。 +.TP 3 +\-keypass password +コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。 .LP -: ƥȤŪȤ硢ޤϰǤ뤳Ȥ狼äƤ륷ƥ -¹ԤʳϡޥɹԤ䥹ץȤǥѥɤꤷʤǤ -ޤpassword ץץȤǥѥɤϤȡϤѥɤ -졢Τޤ̤ɽޤΤᡢϤˤۤΥ桼ϡ -ѥɤʤ褦դƤ -.RE -.TP -.B -sigfile file -SF ե .DSA ե˻Ȥ١ե̾ꤷޤ -ȤСfile DUKESIGN ꤹȡ .SF ե -.DSA ե̾ϡ줾 DUKESIGN.SF DUKESIGN.DSA ˤʤޤ -Υեϡ̾դ JAR ե META-INF ǥ쥯ȥ֤ޤ -.RS +注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。 +.TP 3 +\-sigfile file +.SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。たとえば、\f2file\fP に DUKESIGN を指定すると、生成される .SF ファイルと .DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 これらのファイルは、署名付き JAR ファイルの META\-INF ディレクトリに置かれます。 .LP -.I file -˻ѤǤʸϡa-zA-Z0-9_-פǤĤޤꡢʸ -ӥϥեѤǤޤ: -.B .SF - -.B .DSA -Υե̾ǤϡʸϤ٤ʸѴޤ +\f2file\fP に使用できる文字は「a\-zA\-Z0\-9_\-」です。つまり、文字、数字、下線、およびハイフンだけを使用できます。注:.SF および .DSA のファイル名では、小文字はすべて大文字に変換されます。 .LP -ޥɹԤ -.I -sigfile -ץꤷʤä硢 -.B .SF -ե -.B .DSA -եΥ١ե̾ϡޥɹԤǻꤵ줿̾Ƭ 8 ʸ -٤ʸѴΤˤʤޤ̾ 8 ʸ̤ξϡ̾ -ΤޤȤޤ̾ˡ̾ե̾˻ѤǤʤʸޤޤƤ -ϡʸ (_) ֤ƥե̾ޤ +コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。 .TP 3 -\-sigalg algorithm +\-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 եν̾˻Ѥ̩ȸߴΤΤǤʤФʤޤΥץꤷʤä硢̩Υפ˱ SHA1withDSAMD5withRSA Τ줫Ѥޤꤵ줿르ꥺμץХŪ˥ȡ뤵Ƥ뤫뤤ϥ桼Τ褦ʥץХ -.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 եˤäƾޤ +コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。 +.TP 3 +\-verify +コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。JAR ファイルへの署名は行われません。 検証が成功すると、「jar が検証されました。」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar は署名されていません。(署名が見つからないか、構文解析できません)」というメッセージが表示されます。 +.LP +署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。 +.LP +検証についての詳細は、「JAR ファイルの検証」を参照してください。 +.TP 3 +\-certs +コマンド行で、\f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者の証明書情報も出力されます。証明書情報には次のものが含まれます。 +.RS 3 +.TP 2 +o +署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前 +.TP 2 +o +証明書が X.509 証明書 (つまり、\f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名 .RE -.TP -.B -verify -ޥɹԤǤΥץꤵƤϡꤵ줿 JAR ե뤬 -ڤޤJAR եؤν̾ϹԤޤڤȡ -jar verifiedפȤåɽޤ̾Ƥʤ JAR ե롢 -ޤϥݡȤƤʤ르ꥺ (RSA ץХȡ뤵Ƥʤ - RSA ʤ) Ȥäƽ̾줿 JAR եڤ褦Ȥȡ -jar is unsigned. (signatures missing or not parsable)פȤåɽޤ -.RS .LP -̾դ JAR եϡ -.B jarsigner -ޤ JDK 1.1 -.B javakey -ġ롢뤤ϤξȤäƸڤǤޤ +キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。 +.RS 3 +.TP 2 +o +署名者に該当するキーストアエントリの別名。 この別名は括弧で囲まれます。ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。 +.RE +.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 եθڡפȤƤ +デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します。 +.LP +詳細は、「JAR ファイルの検証」を参照してください。 +.LP +\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP +.TP 3 +\-protected +\f2true\fP または \f2false\fP のいずれか。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。 .RE -.TP -.B -certs -ޥɹԤǡ -.I -verify - -.I -verbose -ץȤȤˤΥץꤵƤϡJAR եγƽ̾ -ξϤޤˤϼΤΤޤޤޤ -.RS -.TP 2 -\(bu -̾Ԥθ ( -.B .DSA -ե˳Ǽ줿) μ̾ -.TP 2 -\(bu - X.509 (Ūˤ -.I java.security.cert.X509Certificate -Υ) Ǥϡ̾Ԥμ̾ +.RS 3 +.TP 3 +\-provider provider\-class\-name +サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。 .LP -ȥγǧԤޤޥɹԤǥȥͤꤵƤʤ -硢ǥեȤΥȥե뤬С줬ǧޤ̾Ԥ -ξȥΥȥȰפϡξɽ -ޤ -.TP 2 -\(bu -̾Ԥ˳륭ȥȥ̾̾ϳ̤ǰϤޤޤ -ȥǤϤʤ 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 -.LP -ǥեȤǤϡŬԤˡޥ˥եȥեΤΥϥåޤإå -ɲäޤإå¸ߤϡJAR եθڻˡޤإå -Υϥå夬ޥ˥եȥեΤΥϥåȼºݤ˰פ뤫ɤǧ -ޤϥå夬פ硢ڤϼμ˿ʤߤޤϥå夬 -ʤϡΨŪˤˡȤäƸڤԤޤŪˤϡ -.B .SF -եγƥեΥϥå夬ޥ˥եȥե -б륻ΥϥåȰפ뤫ɤǧޤ -.LP -ܺ٤ϡJAR եθڡפȤƤ -.LP -ΥץϡƥȤԤˤǤʳˤϻѤʤ -ΥץѤȡͭפʺŬԤʤʤޤ -.TP -.B -protected -\f2true\fP\f2false\fP Τ줫 PIN ʤɤݸ줿ǧڥѥ𤷤ƥѥɤꤹɬפˤϡͤ \f2true\fP ꤷƤ -.RE -.TP -.B \-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 ϡץХ˻Ѥ̾ΥեåǤܺ٤ˤĤƤϡ +Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP という形式になります。 ここで「\f2TokenName\fP」は、プロバイダインスタンスが構成された名前の接尾辞です。 詳細は +.na +\f2構成属性の表\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS - -.na -\f2configuration attributes table\fPפȤƤȤСΥޥɤϡ̾եå \f2SmartCard\fP PKCS#11 ȥץХƤɽޤ +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 ϡ +タイムスタンプを生成するため、\f2jarsigner\fP は +.na +\f2RFC 3161\fP @ .fi -http://www.ietf.org/rfc/rfc3161.txt - -.na -\f2RFC 3161\fPפǵꤵ줿 TSP (Time\-Stamp Protocol) Ȥä TSA ̿ޤȡTSA ֤줿ॹץȡ̾ȤȤ˽֥̾åե˳Ǽޤ +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 " +.RS 3 + .LP -˼Τϡ̾դ JAR եڤ̾ͭ JAR ե뤬 -ѤƤʤȤǧ뤿ΥޥǤ .LP -.ft 3 +次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが改変されていないことを確認するためのコマンド例です。 +.LP .nf -jarsigner \-verify sbundle.jar +\f3 +.fl + jarsigner \-verify sbundle.jar +.fl +\fP .fi -.ft 1 + .LP -ڤȡΤ褦ʥåɽޤ .LP -.ft 3 +検証が成功すると、次のようなメッセージが表示されます。 +.LP .nf -jar verified. +\f3 +.fl + jar が検証されました。 +.fl +\fP .fi -.ft 1 + .LP -ڤʤäϡ顼åɽޤ .LP -.I -verbose -ץȤȡ¿ξɽޤ˼Τϡ -.I -verbose -ץꤷ -.B jarsigner -μ¹ȤνϷ̤Ǥ +というメッセージが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。 .LP -.ft 3 +.LP +\f2\-verbose\fP オプションを使うと、より多くの情報が表示されます。次に示すのは、\f2\-verbose\fP オプションを指定した \f3jarsigner\fP の実行例とその出力結果です。 +.LP .nf -jarsigner -verify -verbose sbundle.jar +\f3 +.fl + jarsigner \-verify \-verbose sbundle.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 - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.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 + 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 - 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 .SS -Ȥä +証明書情報を使った検証 .LP -.IX "jarsigner" "Verification with Certificate Information" "\fLjarsigner\fP \(em JAR signing and verification tool " +.LP +検証時に、\f2\-verify\fP と \f2\-verbose\fP オプションに加えて \f2\-certs\fP オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されます。 これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合には、括弧で囲まれた署名者のキーストア別名が含まれます。次に例を示します。 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl -ڻˡ -.I -verify - -.I -verbose -ץ˲ä -.I -certs -ץꤷϡJAR եγƽ̾ԤξϤ -ˤϡΥס̾Ԥμ̾ (X.509 ξ)ӡ -JAR եθξȥȥθξȰפ -ˤϡ̤ǰϤޤ줿̾ԤΥȥ̾ޤޤޤȤСΤ褦 -Ϥޤ +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + +.fl + s = 署名が検証されました。 +.fl + m = エントリがマニフェスト内にリストされます。 +.fl + k = 1 つ以上の証明書がキーストアで検出されました。 +.fl + +.fl + jar が検証されました。 +.fl +\fP +.fi + .LP -.ft 3 +.LP +署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されません。その場合には、証明書のタイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の場合は、次のように表示されます。 +.LP .nf - jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar +\f3 +.fl + PGP, (bob) +.fl +\fP +.fi - 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF - 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF - 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA - 208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF - 1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA -smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class - - X.509, CN=Test Group, OU=Java Software, O=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) - - s = signature was verified - m = entry is listed in manifest - k = at least one certificate was found in keystore - -jar verified. -.fi -.ft 1 -.LP -̾Ԥξ X.509 Ǥʤϡ̾ɽ줺 -פ̾ɽޤȤС PGP ǡ̾ bob -ϡΤ褦ɽޤ -.LP -.ft 3 -.nf -PGP, (bob) -.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
--- a/jdk/src/linux/doc/man/ja/java.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/java.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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" +.RS 3 +.TP 2 +o +形式 +.TP 2 +o +説明 +.TP 2 +o +オプション +.TP 2 +o +関連項目 +.RE + .LP -.B java -ġϡJava ץꥱưޤ -.B java -ġϡJava Runtime Environment ưȡꤵ줿饹ɤΥ饹 -.B main -åɤƤӽФ Java ץꥱưޤ +.SH "形式" .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 -.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 ե뤬٤ƤΥ桼饹ΥȤʤ뤿ᡢ¾Υ桼饹ѥ̵뤵ޤ -.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 + \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ] +.fl +.fi + +.LP +.RS 3 + +.LP +.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 +.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 -嵭ΰ̣ϡС 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 -ɸ४ץ˴ؤɽƽλޤ +デフォルトでは、コマンド行オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。\f3\-jar\fP オプションを指定した場合、コマンド行オプション以外の最初の引数が、アプリケーションのクラスファイルとリソースファイルを含む \f3JAR\fP アーカイブの名前になります。 この場合、マニフェストの \f3Main\-Class\fP ヘッダーで指定されたクラスが起動クラスになります。 .LP -.SS "ɸ४ץ" .LP -.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter" +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 -.B \-Xint -ץѥ⡼ɤưޤͥƥ֥ɤؤΥѥ -̵ˤʤꡢ٤ƤΥХȥɤץˤäƼ¹Ԥޤ -Java HotSpot VM Ŭѥˤäѥեޥ -ϡΥ⡼ɤǤϼ¸ޤ +\-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 -.B \-Xbatch -Хå饦ɥѥ̵ˤޤ -̾VM ǤϥåɤХå饦ɥȤƥѥ뤷ޤ -ΤȤХå饦ɥѥ뤬λޤǤϡ -ץ⡼ɤǥåɤ¹Ԥޤ -.B \-Xbatch -ե饰ѤȡХå饦ɥѥ뤬 -̵ˤʤ뤿ᡢ٤ƤΥåɤΥѥϴλޤ -ե饦ɤΥȤƽޤ +\-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 -.B \-Xbootclasspath: bootclasspath -֡ȥ饹եõᡢǥ쥯ȥꡢJAR ֡ ZIP -֤ǶڤäꥹȤꤷޤꤵ줿ѥ -¸ߤ֡ȥ饹եϡJDK ˴ޤޤ -֡ȥ饹ե˻Ȥޤ -: rt.jar Υ饹ŪǤΥץ -Ѥ륢ץꥱʤǤ -ȡJava Runtime Environment -Хʥꥳɥ饤ȿˤʤ뤳Ȥޤ +\-verbose .TP 3 -.B \-Xbootclasspath/a:path -ǥեȤΥ֡ȥȥåץ饹ѥɲäǥ쥯ȥꡢ -.SM JAR -֡ -.SM ZIP -֤ΥѥǶڤäƻꤷޤ +\-verbose:class +クラスがロードされるたびにクラスに関する情報を表示します。 .TP 3 -.B \-Xbootclasspath/p:path -ǥեȤΥ֡ȥȥåץ饹ѥɲä -ǥ쥯ȥꡢ -.SM JAR -֡ -.SM ZIP -֤ΥѥǶڤäƻꤷޤ -: Υץ -.B rt.jar -Υ饹С饤 -ŪǻѤ륢ץꥱϻꤷʤǤ -ꤹȡJava Runtime Environment -Хʥꥳɥ饤ȿˤʤ뤳Ȥޤ +\-verbose:gc +ガベージコレクションイベントが発生するたびに報告します。 .TP 3 -.B \-Xcheck:jni -Java Native Interface (JNI) ǽФ -ɲåå¹ԤޤäˡJava ۥޥ (JVM) -JNI ˡJNI ǽϤ -ѥӼ¹ԴĶǡڤޤ -̵ʥǡФ硢ͥƥ֥ɤ -꤬ȽǤJava ۥޥ -̿Ūʥ顼ǽλޤ -ΥץѤȡ -ѥեޥ㲼ޤ +\-verbose:jni +ネイティブメソッドの使用およびその他の Java Native Interface (JNI) アクティビティーに関する情報を報告します。 .TP 3 -.B \-Xfuture -̩ʥ饹եθ¹Ԥޤ̸ߴݻ -뤿ᡢJDK Virtual Machine Ǽ¹ԤǥեȤ -ϡJDK եȥ 1.1.x СǼ¹Ԥ븡 -̩ǤϤޤ -.B \-Xfuture -ե饰Ѥȡ饹ե -ͤ˽Τˤ뤿Ρ˸̩ʥ饹ե -ͭˤʤޤȯԤɤȯݤˤϡΥե饰 -Ѥ侩ޤJava ץꥱưġ -ΥǤϡ긷̩ʸǥեȤˤʤ뤫Ǥ +\-version +バージョン情報を表示して終了します。 .TP 3 -.B \-Xnoclassgc -饹Υ١쥯̵ˤޤ -ΥץѤȡɺѤߥ饹꤬뤳Ȥʤʤ뤿ᡢŪʥ̤礷ޤξ硢ץꥱˤäƤ OutOfMemoryError ǽޤ +\-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 -.BI \-Xincgc -륬١쥯ͭˤޤ -륬١쥯ϡǥեȤǤ -̵ꤵƤޤͭˤȥץμ¹ -١쥯ˤߤɤޤ -륬١쥯ϡˤäƤϥץƱ -¹ԤޤƱ˼¹ԤƤ֤ϡץѲǽ -ץåǽϤޤ +\-showversion +バージョン情報を表示して続行します。 .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פȤƤ +\-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 -.RS 5 .nf -\-Xms6291456 -\-Xms6144k -\-Xms6m +\f3 +.fl + \-Xms6291456 +.fl + \-Xms6144k +.fl + \-Xms6m +.fl + +.fl +\fP .fi .RE .TP 3 -.B \-Xmxn -ƥסκ祵Хñ̤ǻꤷޤ -ꤹͤϡ2M ХȤ礭 1024 ܿǤʤФʤޤ -ʸ -.B k -ޤ -.B K -դ K Хȡʸ -.B m -ޤ -.B M -դ M ХȤɽޤ -ǥեͤϡ¹Ի˥ƥ˴Ťޤܺ٤ˤĤƤϡHotSpot ErgonomicsפȤƤ +\-Xmxn +メモリー割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。 メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください。 .br -: +例: +.RS 3 + .LP -.RS 5 .nf -\-Xmx83886080 -\-Xmx81920k -\-Xmx80m +\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 -Solaris 7 Solaris 8 SPARC ץåȥեξ硢ͤξ¤Ϥ褽 4000m 饪Сإåɤ̤ΤǤꡢSolaris 2.6 x86 ץåȥեξ 2000m 饪Сإåɤ̤ΤǤ -Linux ץåȥեξξ¤ϡ褽 -2000m 饪Сإåɤ̤ΤǤ .TP 3 -.BI \-Xprof -¹ΥץΥץեץեǡ -ɸϤޤΥץϡץ೫ȯΩ -桼ƥƥȤƤΤǡֲưƥǤλѤ -ŪȤΤǤϤޤ -.TP 3 -\-Xrs -Java ۥޥ (JVM) ˤ륪ڥ졼ƥƥॷʥ -餷ޤ +\-Xrs +Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの使用を減らします。 .LP -ΥǤϥåȥեåǽɲä졢 -Java ץꥱ֤˥åȥǤ褦ˤʤޤ -εǽˤꡢJVM ۾ェλǤ⡢åȥ -åץ (ǡ١³Ĥ롢ʤ) -¹ԤǤ褦ˤʤޤ +以前のリリースでは、Java アプリケーションを秩序正しくシャットダウンするためのシャットダウンフック機能が追加されました。この機能により、JVM が突然終了した場合でも、シャットダウン時にユーザークリーンアップコード (データベース接続のクローズなど) を実行できるようになりました。 .LP -Sun JVM ϡʥåư۾ JVM λ -Ф륷åȥեåޤJVM ϡSIGHUPSIGINTSIGTERM -Ѥƥåȥեåμ¹ԤϤޤ +Sun の JVM は、シグナルをキャッチすることによって、JVM の異常終了のためのシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、および SIGTERM を使用して、シャットダウンフックの実行を開始します。 .LP -JVM ǤϡƱͤεѤơ1.2 ΥǥХåѤ -åɥåǽƤޤSun JVM ϡ -SIGQUIT Ѥƥåɥפ¹Ԥޤ +JVM は、デバッグの目的でスレッドスタックをダンプするという、1.2 より前からある機能を実現するためにも、同様の機構を使用します。Sun の JVM は、スレッドダンプを実行するために SIGQUIT を使用します。 .LP -JVM Ȥ߹ץꥱϡSIGINT SIGTERM Τ褦 -ʥˤ˥ȥåפɬפޤΤ褦ʾ硢JVM -ʥϥɥȤδ֤˴Ĥȯǽޤ -Τ褦ʴĤ뤿ˡ\-Xrs ޥɹԥץ -ѤǤޤ -Sun JVM \-Xrs ѤȡSIGINTSIGTERMSIGHUP - SIGQUIT Υʥޥ JVM ˤäѹ줺 -ΥʥΥʥϥɥϥȡ뤵ޤ +JVM を埋め込んでいるアプリケーションが SIGINT や SIGTERM などのシグナルを頻繁にトラップする必要があると、JVM そのもののシグナルハンドラの処理に支障が出る可能性があります。\f3\-Xrs\fP コマンド行オプションを使用すると、この問題に対処できます。Sun の JVM に対して \f3\-Xrs\fP を使用すると、SIGINT、SIGTERM、SIGHUP、および SIGQUIT に対するシグナルマスクは JVM によって変更されず、これらのシグナルに対するシグナルハンドラはインストールされません。 .LP -\-Xrs ꤹ뤳Ȥˤäơƶ 2 Ĥޤ +\f3\-Xrs\fP を指定した場合、次の 2 つの影響があります。 .RS 3 .TP 2 -* -SIGQUIT åɥפϻѤǤޤ +o +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 -ʳΥʥѤޤ +o +シャットダウンフック処理の実行は、JVM が終了しようとしている時点で System.exit() を呼び出すなどして、ユーザーコード側で行う必要がある +.RE +.TP 3 +\-Xssn +スレッドのスタックサイズを設定します。 +.TP 3 +\-XX:+UseAltSigs +VM ではデフォルトで \f2SIGUSR1\fP および \f2SIGUSR2\fP を使用しますが、\f2SIGUSR1\fP および \f2SIGUSR2\fP をシグナル連鎖するアプリケーションと 競合する場合があります。\f2\-XX:+UseAltSigs\fP オプションは、VM にデフォルトとして \f2SIGUSR1\fP と \f2SIGUSR2\fP 以外のシグナルを使用させます。 +.RE + .LP -.SH "" +.RE +.SH "注" .LP .LP -\f3\-version:\fP\f2release\fP ޥɹԥץǤϡɤʤʣ˥ꤷƤ⤫ޤޤŪʥθ¤줿֥åȤѤǤŬڤʥݥꥷɽǤ뤿ᡢΥ֥åȤΤߤ˥ݡȤޤΥݥꥷ˼ޤ +\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 -* +o +.na +\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 +.TP 2 +o .na -\f2The Java Extensions Framework\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/javase/6/docs/technotes/guides/security/index.html - -.na -\f2Security Features\fP -.TP 2 -* -.fi -http://java.sun.com/docs/hotspot/VMOptions.html - -.na -\f2HotSpot VM Specific Options\fP +http://java.sun.com/docs/hotspot/VMOptions.html .RE .LP
--- a/jdk/src/linux/doc/man/ja/javac.1 Mon May 04 22:13:54 2009 -0700 +++ b/jdk/src/linux/doc/man/ja/javac.1 Wed Jul 05 16:52:46 2017 +0200 @@ -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 -¸ߤʤѥ (classpathsourcepath ʤ) ǥ쥯ȥˤĤƷٹ𤷤ޤ +存在しないパス (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